1. Промислові мережі та інтеграційні
технології
Промислові мережі в
контексті ISO OSI
реєстрація fieldbus_book@ukr.net
автор і лектор: Олександр Пупена (pupena_san@ukr.net)
зворотній зв’язок по курсу: Інтернет-форум АСУ в Україні (www.asu.in.ua)
20.04.2015
NET - Промислові мережі в
контексті OSI. pupena_san@ukr.net
1
2. Багаторівнева архітектура мережі
20.04.2015
NET - Промислові мережі в
контексті OSI. pupena_san@ukr.net
2
Навіщо потрібна багаторівнева архітектура мережі?
• задачі мережного обміну достатньо складні і
вирішуються різними типами програмних та
апаратних засобів, наприклад:
• передачі бітів – апаратні трансивери,
• доставка кадрів – драйвери мережних
карт,
• зв'язок між мережами – спеціальні
маршрутизатори…
• тому ці задачі розділяють на декілька
підзадач, які нерідко вирішуються різними
виробниками технічних та програмних
засобів , наприклад:
• трансивери RS-485 виробляються Texas
Instruments, Maxim Integrated…
• драйвери TCP/IP під ОС Windows
розробляє Microsoft…
Для спрощення розуміння функціонування та
реалізації мережі, її розглядають в контексті
підзадач різних рівнів (layer, шарИ).
У ідеалі потрібну мережу можна б було "зібрати" з
різних реалізацій рівнів в залежності від потреб
(наприклад Modbus RTU, Modbus+, Modbus on TCP/IP),
але на практиці це радше виключення, аніж правило.
3. Приклад: прикладний рівень
20.04.2015
NET - Промислові мережі в
контексті OSI. pupena_san@ukr.net
3
Які рівні можуть бути у мережі?
Прикладний рівень:
• забезпечує взаємодію між прикладними
процесами (програмами)
• визначає функції (сервіси) що надаються
програмі користувача (напр. для Modbus це
читання/запис бітів та регістрів, діагностика…);
• визначає правила взаємодії (протокол) по
якому взаємодіють ці прикладні процеси
(напр. для Modbus протоколу – це Клієнт-Серверна
взаємодія, формат Modbus PDU…)
• визначає програмний інтерфейс що надає
рівень програмі користувача (напр. для Modbus в
M340 – функція Read_Var),
* PDU – Protocol Data Unit
Приклад інтерфейсу прикладного рівня в
M340/Premium для сервісів читання змінних.
• Одна і та сама функція для різних мереж: Modbus
RTU/ASCII, Modbus TCP/IP, CANopen, XWAY-мереж
При користування сервісами прикладного
рівня, всі нижчі від нього рівні слугують йому
неявно від користувача.
4. Приклад: канальний рівень
20.04.2015
NET - Промислові мережі в
контексті OSI. pupena_san@ukr.net
4
Канальний рівень:
• забезпечує доставку PDU* верхніх рівнів до
необхідного пристрою (пристроїв) в тій самій
фізичній мережі
• визначає функції (сервіси) що надаються
верхньому рівню (для Modbus це передача
повідомлення Modbus PDU до необхідного або усім
пристроям з гарантуванням виявлення факту спотворення
контрольною сумою);
• визначає правила взаємодії (протокол) по
якому взаємодіють вузли в мережі (напр. для
Modbus протоколу – це Master-Slave взаємодія, формат
кадру…)
• визначає програмний інтерфейс що
надається верхньому рівню (напр. для Modbus в
VIPA – функції SER_SEND/SER_RCV)
* PDU – Protocol Data Unit
Приклад інтерфейсу прикладного рівня у VIPA для роботи з СОМ-
портом в режимі протоколу Modbus Master: SFC 217 (SER_SND) –
відправка даних через послідовний інтерфейс, SFC 218 (SER_RCV) –
отримання даних через послідовний інтерфейс.
• Функція сама рахує контрольну суму і добавляє в кінець, а також
розмежовує кадри згідно протоколу
• Одна і та сама функція для різних протоколів та послідовних
інтерфейсів
При користування сервісами канального
рівня, фізичний рівень слугує йому неявно
від користувача.
5. Приклад: фізичний рівень
20.04.2015
NET - Промислові мережі в
контексті OSI. pupena_san@ukr.net
5
Фізичний рівень:
• забезпечує передачу/прийом бітової
послідовності пристроям на тій самій лінії
зв'язку
• визначає функції (сервіси) що надає рівень
(напр. для RS-232 передача/прийом символів різного
формату, дуплекс…);
• визначає правила взаємодії (протокол,
фізичний інтерфейс) по якому взаємодіють
ці прикладні програми (напр. для RS-232 це
напруги при лог."0"/"1" відносно сигн. землі,
призначення контактів…)
• визначає програмний інтерфейс що
надається верхнім рівням (напр. для M340
Input_Char, Print_Char…)
* PDU – Protocol Data Unit
Приклад інтерфейсу прикладного рівня у M340 для роботи з СОМ-
портом в cbvdjkmyjve режимі.
• Одна і та сама функція для різних послідовних інтерфейсів
6. Багаторівнева архітектура мережі
20.04.2015
NET - Промислові мережі в
контексті OSI. pupena_san@ukr.net
6
Сервіс рівня – послуга, що надається верхньому рівню від
нижнього: наприклад, для передачі даних певним способом
такому ж рівню іншого вузла
Протокол рівня – це правила, по яким проводиться обмін:
наприклад, правила формування структури повідомлення, порядок
обміну , правила кодування …)
Інтерфейс рівня – набір функцій (об'єктів, методів…) за
допомогою яких верхній рівень може скористуватися сервісами
цього рівня
Що визначається для кожного з рівнів?
7. Модель архітектури мережі ISO OSI
20.04.2015
NET - Промислові мережі в
контексті OSI. pupena_san@ukr.net
7
PHYSICAL (фізичний)
DATA LINK (канальний)
NETWORK (мережний)
TRANSPORT (транспортний)
SESSION
PRESENTATION
APPLICATION (прикладний)
1
2
3
4
5
6
7
біт –> кодований сигнал – > фізичне середовище передачі –>
кодований сигнал –> біт
забезпечує доставку блоку байт потрібним вузлам в цій же мережі;
забезпечує порядок доступу до загального середовища передачі
забезпечує доставку блоку байтів потрібним вузлам у різних
мережах, з'єднаних маршрутизаторами
забезпечує доставку блоку байтів потрібній прикладній програмі на
вузлі
забезпечує обмін даними між прикладними програмами
Обмін даними можливий тільки при сумісності на всіх рівнях!
Яке призначення рівнів моделі ISO OSI?
забезпечує правильне кодування, форматування даних
забезпечує правильну послідовність передачі даних, синхронізацію
процесів і т.д. в межах сеансів зв'язку
8. Моделі OSI vs. IEC 61158 vs. TCP/IP
20.04.2015
NET - Промислові мережі в
контексті OSI. pupena_san@ukr.net
8
vs. (versus) - проти
Які є ще моделі мереж?
9. Формування блоків даних (Data Unit) на рівнях
20.04.2015
NET - Промислові мережі в
контексті OSI. pupena_san@ukr.net
9
Що відбувається на кожному рівні з даними?
10. Блок даних (Data Unit) на кожному з рівнів
20.04.2015
NET - Промислові мережі в
контексті OSI. pupena_san@ukr.net
10
A-PDU (Application Protocol Data Unit), повідомлення (Message)
T-PDU (Transport Protocol Data Unit), транспортний пакет
N-PDU (Network Protocol Data Unit), мережний пакет
L-PDU (Data link Protocol Data Unit), кадр (frame)
Що відбувається на кожному рівні з даними?