№3 Modbus SCADA<->PLC

ЛАБОРАТОРНА РОБОТА3.

 

Використання шини MODBUS RTU для зв’язку SCADA програм з ПЛК.

 

ЧАСТИНА 1.

 

Тривалість: 1 акад. година (0.5 пари).

Мета: Навчитись створювати конфігурацію SCADA-програм для роботи з мережами, основаними на асинхронних послідовних інтерфейсах на прикладі MODBUS RTU і SCADA VijeoCitect в режимі точка-точка.

 

Лабораторна установка.

Лабораторна робота виконується на робочих місцях 2-5, 7-10. Одна бригада – два робочі місця.

Апаратне забезпечення. Лабораторна установка складається з комп’ютера підключеного до термінального порту ПЛК Twido за допомогою адаптера-перетворювача інтерфейсів RS-232 <-> RS-485. Схема установки показана на рис.3.1.
Програмне забезпечення. На комп’ютері використовується SCADA-програма VijeoCitect. На ПЛК написана програма, яка змінює значення змінних відповідно до варіанту. З’єднання ПЛК та ПК реалізується за допомогою MODBUS RTU, де ПЛК являється Slave, а драйвер для I/O Server VijeoCitect являється Master.

Загальна постановка задачі. Ціль роботи – реалізувати поставлену задачу, оформлену у вигляді схеми інформаційних потоків. Ця задача передбачає обмін даними між SCADA програмою VijeoCitect (вірніше його I/O Server) та TSX Twido.

У лабораторній роботі використовується класичний підхід, де SCADA являється Клієнтом, тобто ініціює обмін. Для MODBUS RTU Клієнт завжди виконується на вузлі з правами Ведучого, тому драйвер MODBUS RTU для VijeoCitect повинен реалізовувати протокол MODBUS Master. Налаштування I/O Server та драйверів MODBUS в інструментальному середовищі VijeoCitect описані в додатку 3.1.

Для такого з’єднання адаптер-перетворювач може працювати в режимі управління трансмітером з боку контролера .
Деталізований опис постановки задачі. В лабораторній роботі необхідно реалізувати задачу, показану на схемі інформаційних потоків (рис.3.2).

Коротка характеристика інформаційних потоків (за номерами):

1)     Клієнтською стороною для цього потоку (так як і для інших двох) є SCADA, отже умовно можна сказати, що починається він саме з IOServer1. Даний потік реалізовує зчитування даних для змінних Var1, Var2, Var3 1 раз/5с. Для Var1 джерелом буде W1 (вибирається відповідно до варіанту), для Var2 -  W2, Var3 -  W3. Реалізується потік сервісом MODBUS запитів (у MODBUS RTU інших сервісів не існує). Продовження потоку йде через термінальний порт Port1 ПЛК. На цьому портові ПЛК являється MODBUS Slave з адресою 1 (залежить від робочого місця). Потік закінчується змінними, з вказівкою серверної частини потоку (круг).

2)     Другий потік повинен реалізувати запис вихідного значення змінної Var4 в змінну  W3, при його зміні в Citect.

3)     Третій потік повинен реалізувати запис вихідного значення змінної Var5 в W4, при зміні його значення в Citect.  

 

Послідовність виконання роботи.

 

1)      Зібрати лабораторну установку.  

1)      Завантажити Vijeo Citect Explorer. Створити I/O Server, Board, Port, Device та VariableTags відповідно до завдання (схема інформаційних потоків) та наступної таблиці:

Параметр

робоче місце

2

3

4

5

7

8

9

10

Адреса Slave

2

3

4

5

7

8

9

10

бітова швидкість

19200

19200

19200

19200

9600

9600

9600

9600

паритет

парн

парн

парн

парн

непар

непар

непар

непар

стоп біт

1

1

1

1

1

1

1

1

адреса  регістру W1

123

68

34

176

34

11

67

95

адреса  регістру W2

124

69

35

177

35

12

68

96

адреса  регістру W3

125

70

36

178

36

13

69

97

адреса  регістру W4

2

3

4

5

7

8

9

10

 

 

 

 

 

 

 

 

 

 

 

2)      В Graphics Builder створити сторінку з елементами для відображення (Var1, Var2, Var3) та вводу змінних (Var4, Var5).

3)      Запустити виконавчу систему Vijeo Citect, попередньо налаштувавши правильні параметри запуску (Tools-> Computer Setup Wizard). Оцінити орієнтовну швидкість відновлення змінних, та занотувати.  

4)      Активізувати кеш та змінити час відновлення кешу на 5 с. Перезапустити виконавчу систему, оцінити орієнтовну швидкість відновлення змінної та занотувати.

Оформлення роботи.

До захисту готовляться всі занотовані результати з поясненнями.

 

Перевірка виконання роботи та питання до захисту.

Викладачем вибірково перевіряється виконання всіх пунктів роботи та занотовані результати. Кожен результат студент повинен пояснити. У випадку виникнення помилок або запитань щодо проведення певного пункту, цей пункт необхідно буде повторити.

1.      Ким як правило є база даних реального часу SCADA при з’єднанні її з контролером по MODBUS RTU: клієнтом чи сервером? Скільки клієнтських та серверних прикладних процесів може функціонувати в одній мережі MODBUS RTU?

2.      Яким чином на схемі можуть показуватися клієнтські та серверні частини інформаційних потоків? Покажіть та прокоментуйте шлях всіх потоків на робочій схемі до лабораторної роботи .

3.      Розкажіть про відмінність в реалізації адресного простору серверів MODBUS.

 

ЧАСТИНА 2.

Тривалість: 1 акад.година (0.5 пари).

Мета: Навчитись створювати конфігурацію SCADA для роботи з MODBUS RTU в шинних топологіях; отримати навички аналізу мережного обміну з використанням програм сканерів.

 

Лабораторна установка.

 

Лабораторна робота виконується на робочих місцях 7-9. В ній одночасно приймають участь студенти всіх бригад підгрупи. 

Апаратне забезпечення.  Схема установки показана на рис.3.3.

 
 

ПЛК7, ПЛК8, ПЛК9 – контролери Twido LMDA20DTK.

КП1, КП2, КП3 – коробка підключення TSX P ACC01.

Програмне забезпечення. На комп’ютері РС8 використовується SCADA-програма VijeoCitect, на РС7 та РС9 програма-сканер СОМ-порта compt.exe. З’єднання ПЛК та РС7 реалізується за допомогою MODBUS RTU, де ПЛК 7,8,9 являються Slave, а драйвер для I/O Server VijeoCitect являється Master.

Загальна постановка задачі. Ціль роботи – реалізувати поставлену задачу, оформлену у вигляді схеми інформаційних потоків, та за допомогою програми-сканера проаналізувати роботу мережі. Ця задача передбачає обмін даними між SCADA програмою VijeoCitect (вірніше його I/O Server) та декількома TSX Twido.

У лабораторній роботі SCADA являється Клієнтом, тому драйвер MODBUS RTU для VijeoCitect повинен реалізовувати протокол MODBUS Master. ПЛК являються Веденими.

Враховуючи мультиточкове з’єднання через спеціальні коробки TSX P ACC01, адаптер-перетворювач повинен працювати в режимі управління трансмітером з боку RS-232 (див. Додаток 3.2). Крім того, необхідно вірно налаштувати опції VijeoCitect, для управління сигналом RTS. 
Деталізований опис постановки задачі. Необхідно реалізувати наступну схему інформаційних потоків (рис.3.4):
 

Коротка характеристика інформаційних потоків (за номерами):

Характеристика інформаційних потоків співпадає з ЧАСТИНОЮ 1 даної лабораторної роботи:

- потоки 1,2,3 аналогічно робочому місцю 8;

- потік 4 аналогічно як  потік 1 для роб. місця 7;

- потік 5 аналогічно як потік 1 для роб. місця 9.

 

Послідовність виконання роботи.

 1)        Зібрати лабораторну установку.

1)        Запустити на виконання Citect Explorer і створити проект, відповідно до завдання, якщо змінні по вузлам (в десятковому форматі):

·          ПЛК7: W1,W2,W3 відповідно регістри 34,35,36.

·          ПЛК8:W1,W2,W3,W4 відповідно регістри 11,12,13,8.

·          ПЛК9:W1,W2,W3 відповідно регістри 67,68,69.

Звернути увагу,  що система повинна управляти перетворювачем інтерфейсів. При створенні проекту врахувати, що час відновлення змінних повинен дорівнювати 5с.

2)        В Graphics Builder створити сторінку з елементами для відображення та вводу змінних. Запустити виконавчу систему Vijeo Citect. Досягнути позитивного виконання задачі відповідно до рис.3.4.  

3)        На РС7 та РС9 запустити на виконання сканер СОМ-порту compt.exe з такими ж параметрами передачі, що і для системи з MODBUS (RTS в compt.exe повинен бути вимкнений, щоб не вмикати трансмітер перетворювача!).

4)        Проаналізувати отримані дані з compt.exe. Звернути увагу на те, яким чином VijeoCitect проводить опитування регістрів для кожного ПЛК, скільки запитів необхідно для реалізації читання всіх регістрів з всіх ПЛК. Зробити копію екрана з вікном compt.exe, в якому відображаються отримані протягом 1 хв запити. Результати аналізів занотувати.

5)        Збільшити адресу регістру var3 на 10 (наприклад з %MW13 до %MW23). Повторити пункт 3.

6)        Повторювати пункти 3 та 4 потрібно до тих пір, поки для читання регістрів з ПЛК8 не будуть йти по 2 запити. Визначити приблизну максимальну величину різниці між номерами адрес регістрів для реалізації групових запитів в SCADA VijeoCitect для протоколу MODBUS. Результат запишіть.

 

Оформлення роботи.

До захисту готовляться всі занотовані результати з поясненнями.

Перевірка виконання роботи та питання до захисту.

 

Викладачем вибірково перевіряється виконання всіх пунктів роботи та занотовані результати. Кожен результат студент повинен пояснити. У випадку виникнення помилок або запитань щодо проведення певного пункту, цей пункт необхідно буде повторити.

1.      Розкажіть про необхідність використання активної коробки TSX P ACC01. Які правила її підмикання?

2.      В якому режимі повинен працювати адаптер TSX PCX1031 при підключені до шини через коробку TSX P ACC01?

3.      Якими Веденими (адреси) на шині були РС7 та РС9?

4.      Роз’ясніть відмінність понять: Клієнт-Сервер та Ведучий-Ведений.

5.      Чи можливо в MODBUS RTU забезпечити передачу від Slave до Slave? Якщо можливо, то яким чином?

6.      Яким чином в VijeoCitect настроюється управління адаптером-перетворювачем інтерфейсів? Навіщо його настроювати в даній частині лабораторної роботи?

7.      Роз’ясніть результати пунктів 4-6.

 

Додаток 3.1.  Конфігурування VijeoCitect для роботи з MODBUS RTU.

           

          Д.3.1.1. Кластерна система VijeoCitect. Система виконання VijeoCitect складається із клієнтської (наприклад Дисплейні клієнти) та серверної частини. Всі сервери (I/O Server, Alarm Server, Trend Server, Report Server) запускаються в межах визначених кластерів – логічне об’єднання серверів на різних комп’ютерах. Найбільш простий варіант системи - Standalone, тобто коли всі типи серверів знаходяться в межах одного комп’ютеру, а система має один кластер. Саме такий тип використовується в лабораторній роботі. В цьому випадку на одному ПК може знаходитись тільки один основний сервер кожного виду. Тим не менше необхідно створити один кластер, до якого всі сервери будуть прив’язуватись по замовченню. Тобто при створенні серверів в системах такого типу крім його імені нічого вводити не потрібно.   

Д.3.1.2.  Загальні концепції настройки обміну даними вводу/виводу в VijeoCitect.

В VijeoCitect за обмін даними вводу/виводу (база даних реального часу) відповідає I/O Server. Структура комунікацій має наступний вигляд (рис.3.5):

I/O Servers

- Boards

-- Ports

----Modems

-----I/O Devices

Тобто в CitectExplorer в розділі Communications створюється I/O Server, в межах якого визначаються логічні або фізичні комунікаційні плати (Boards), на кожній з яких є комунікаційні порти (Ports). При необхідності використання модемів вони налаштовуються в Modems. Порти являють собою виходи на промислову мережу, де знаходяться пристрої, які в VijeoCitect  конфігуруються в розділі I/O Devices.  

Для зв’язку з зовнішніми засобами вводу/виводу в лабораторній роботі не використовується OFS. Обмін по MODBUS RTU проводиться через драйвер протоколу MODBUS.

Для автоматичного конфігурування всіє структури потрібної комунікації бажано спочатку скористатися помічником Express I/O Device Setup, після чого всі інші настройки підрихтувати під задану задачу.  В наступних підпунктах розписано призначення настройок всіх елементів структури комунікації для MODBUS RTU.

Д.3.1.3. Boards.

Board Name – довільне унікальне ім’я плати

Board Type – тип плати, при використанні СОМ-портів вибирається тип COMx

Address ,  I/O Port,   Interrupt, Special Opt - при використанні СОМ-портів залишається

Д.3.1.4. Ports.

PortName - довільне унікальне ім’я порта

Port Number   - номер порта, для COM1=1 для COM2=2 і т.д.

Board Name – ім’я плати

Baud Rate  - швидкість передачі даних (наприклад 9600)

Data Bits – кількість бітів даних в символі , для MODBUS RTU = 8, для MODBUS ASCII = 7.

Stop Bits  - кількість стопових бітів в символі

Parity – тип біту паритету

Special Opt - Спеціальні настройки для порту. Для СОМ портів вони необхідні для настройки поведінки сервісних сигналів RS-232. Нижче наведені опції для настройки поведінки сигналу RTS:

-t: драйвер включить RTS тільки при передачі

-ti: RTS включається тоді, коли достатньо місця в приймальному буфері, щоб отримати вхідні символи, і відключається коли недостатньо.

-to: RTS включається тоді, коли у вихідному буфері є символи для передачі

-tPRE,POST: перед передачею повідомлення драйвер включає RTS на PRE мілісекунд, передає повідомлення, очікує POST мілісекунд перед відключенням RTS.

Д.3.1.5. I/O devices.

Name – довільне унікальне ім’я пристрою (вузла в промисловій мережі)

Number – унікальний номер для пристрою

Address – адреса пристрою на мережі, для MODBUS RTU/ASCII відповідає адресі Веденого

Protocol – тип протоколу, для  MODBUS RTU/ASCII вибирається один із типів MODBUS пристроїв (див. Д.3.1.7)

Port Name – ім’я порту, до якого підключений даний вузол 

Memory – у випадку створення внутрішніх змінних SCADA, вибирається TRUE

Д.3.1.6. Розширені настройки I/O devices

Для розширеної настройки I/O devices існують додаткові поля. Поява додаткових опцій настройки у вкладці I/O devices (і у будь яких інших вікнах настройки) доступна по кнопці "F2".

Серед полів розширеної настройки слід виділити настройки кеша. При відсутності кешування даних, I/O Server при кожному запиті на оновлення даних анімації від Дисплейних клієнтів, будуть проводити обмін з джерелом даних, тобто з I/O Device. Якщо для даного I/O Device буде виділений та налаштований кеш, то Дисплейні клієнти будуть отримувати дані саме з кешу а не безпосередньо з пристрою. Оновлення кешу буде проводитись з періодичністю Cache Time, а.

Cache – для включення кешування виставляється TRUE.

Cache Time – при включеному кешуванні, виставляється період відновлення кешу в мілісекундах (рекомендується не менше 300 мс)

Д.3.1.7. Особливості вибору протоколу MODBUS в I/O devices.

Реалізація MODBUS протоколу може відрізнятися в пристроях різних виробників, наприклад в адресації змінних або в розміщенні бітів в пам’яті і т.д. Крім того адреси змінних (поле Address) пристроїв в інтерфейсі настройки тегів VijeoCitect (Variable Tag) теж відрізняються. Тому в VijeoCitect передбачені декілька типів протоколу MODBUS, які враховують ці особливості. Ці протоколи відрізняються: 

-        номером першого регістру/катушки в пристрої; деякі пристрої (TSX Quantum або Momentum) використовують регістр/катушку з номером 1 як самий перший, а інші (наприклад TSX Premium)  використовують номер 0;

-        яким чином адресується самий перший біт в межах регістру: від 0 до 15, чи від 1 до 16.

-        яким чином задається адреса змінної пристрою в Variable Tag (див. Д.3.1.8);

Для вузлів з адресацією як в TSX Twido, TSX Micro та TSX Premium тип протоколу вибирається MODBUS30.

Д.3.1.8. Конфігурування Variable Tag. Для ідентифікації джерела даних для VariableTag при виборі типу протоколу  MODBUS30 в поле Address вписується адреса в форматі PL7/UNITY (наприклад %MW100).

 

Додаток 3.2.  Коробка підключення TSX P ACC01.

 Реалізація з’єднання контролерів TSX Micro/ TSX Premium/ TSX Twido по мережі MODBUS RTU/ASCII (крім TSX Premium) або UNITELWAY (крім TSX Twido) з використанням термінальних портів можливе з використанням спеціальної коробки TSX P ACC01. Ця коробка гальванічно розв’язує трансивер RS-485 контролера від загальної шини, що дозволяє безпечно реалізовувати шинні топології на відстані до 1000 м (замість 10 м при відсутності розв’язки). Крім того дана коробка дозволяє підмикати адаптери перетворювачі TSX PCX 1031 до загальної шини.

Коробка TSX P ACC01 має бути підключена до джерела живлення 5 В, яке присутнє на вбудованому термінальному порті ПЛК. Порт TER на коробці відповідає порту Port1 (для Twido) або TER (для Premium) на контролері, який живить дану коробку. Винятком є відсутність сигнальної лінії для управління станом трансмітера на перетворювачі з боку RS-485. Тобто перетворювач, який підключається до TSX P ACC01 (наприклад TSX PCX 1031) повинен управлятися зі сторони RS-232 сигналом RTS.

На рис.3.6 показане внутрішнє наповнення коробки: клеми для підключення шинного кабелю, перемикач вибору режиму контролера (S1), перемикач термінатору лінії (S2). S1 задає операційний режим роботи TER-порту, аналогічно перемикачу TER/OTHER стану перетворювача в режимі точка-точка (див. додаток 2.3). Перемикачем S2 виставляється в кінцевих, тобто термінальних коробках. На лабораторній установці перемикачі на всіх коробках S1=S, а S2=OFF (окрім КП1). На рис.3.6 показані S2=ON  в коробках КП1 та КП3, але в лабораторії за коробкою КП3 вправо йдуть інші коробки відгалуження, тому вона не являється термінальною.

Додаток 3.3. Особливості роботи драйверів при реалізації запитів в MODBUS RTU.

Сучасні SCADA при створенні змінних намагаються оптимізувати мережний трафік між базою даних реального часу та ПЛК. Необхідність такої оптимізації розглянемо на прикладі.

Читання змінних %MW5, %MW10 та %MW15 можна реалізувати трьома окремими запитами на читання однієї змінної, або одним запитом на читання 11 змінних, оскільки MODBUS дозволяє робити запити як на одиночне так і на групове читання та запис. При груповому читанні, 8 змінних (16 байт) є лишніми, однак сумарний час транзакцій буде менший порівняно з одиночним. Тому доцільно змінні в пам’яті ПЛК розміщувати по порядку, щоб організувати їх групове читання. Не зважаючи на "дірки" в просторі змінних, драйвер SCADA, як правило, все одно зчитує змінні груповими запитами. Тим не менше, загальноприйнятою мірою для зменшення трафіку та мінімального часу обміну між пристроями є послідовне розміщення мережних змінних в пам’яті контролерів.

 
Оставить комментарии Вы можете здесь http://pupena-san.blogspot.com 
 
 
 
Comments