У вас вопросы?
У нас ответы:) SamZan.net

ЛАБОРАТОРНА РОБОТА 4

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 28.12.2024

ЛАБОРАТОРНА РОБОТА № 4.

Формування запитів MODBUS RTU.

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

Мета: ознайомитись з принципами функціонування протоколу MODBUS; ознайомитись з роботою адаптера-перетворювача інтерфейсів RS-232<->RS-485.

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

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

Апаратне забезпечення. Лабораторна установка складається з комп’ютера підключеного до термінального порту ПЛК Twido за допомогою адаптера-перетворювача інтерфейсів RS-232 <-> RS-485. Схема установки показана на рис.4.1.

Програмне забезпечення. На комп’ютері використовується    прикладна програма для роботи з COM-портом комп’ютера Compt.exe, а також програма для генерації циклічного перевірочного коду CRC16 – crcdll.exe (знаходиться в папці Compt175). На ПЛК написана програма, яка змінює значення змінних відповідно до варіанту. З’єднання ПЛК та ПК реалізується за допомогою Modbus RTU, де ПЛК являється Slave, а ПК разом з Compt.exe являється Master.

Загальна постановка задачі. Лабораторна бригада реалізовує роботу MODBUS RTU Master, тобто формує запити для Slave (ПЛК) та обробляє його відповіді. Основні функції, можливі помилки та їх коди наведені в додатках 2.1 та 2.2. Контрольну суму необхідно вираховувати за допомогою програми crcdll.exe, яка в аргументах приймає байти кадру в 16-ковому вигляді, які розділені " " (пробілом), а результатом видає 2 байти суми CRC16.

Необхідно врахувати особливості роботи кабелю TSX PCX 1031 та його вплив на роботу Port1 в Twido. Принципи функціонування кабелю описана в додатку 2.3.  

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

  1.  Зібрати лабораторну установку. Запустити на виконання програму Compt.exe на РС.

  1.  Налаштувати COM-порт на роботу з наступними параметрами :

Параметр

робоче місце

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

  1.  Виставити кабель в необхідне положення: Port1 Twido працює в режимі визначеному конфігурацією; перетворювач управляється зі сторони RS-485.
  2.  Сформувати та занотувати запит на читання у Slave 3-х внутрішніх регістрів (%MW), починаючи з вказаного (приведений в таблиці нижче в десятковому форматі)   

Параметр

робоче місце

2

3

4

5

7

8

9

10

номер  регістру

12310

6810

3410

17610

3410

1110

6710

9510

  1.  По сформованому в п.4 запиту визначити контрольну суму CRC16 за допомогою програми crcdll.exe. Занотувати повний формат кадру разом з отриманим CRC16.
  2.  Відправити кадр, визначений в п.5. по мережі за допомогою Compt.exe. Отриману відповідь занотувати. Значення змінних перевести в десятковий формат та занотувати.
  3.  Перевірити, чи вірно отримані дані по стану поля CRC16. Результат проаналізувати та занотувати.
  4.  Відправити той самий запит, що у пункті 6, але при іншому біті паритету (якщо був парний – то при непарному і навпаки). Отриманий результат проаналізувати і занотувати.
  5.  Відправити запит на читання 3-х регістрів, починаючи з 100010. Отриманий результат проаналізувати і занотувати.
  6.  Сформувати запит на запис Slave 2-х  внутрішніх регістрів, починаючи з вказаного (приведений в таблиці нижче в десятковому форматі). Визначити контрольну суму CRC16 за допомогою програми crcdll.exe. Занотувати формат кадру і відправити по мережі. Отриману відповідь проаналізувати та занотувати.

Параметр

робоче місце

2

3

4

5

7

8

9

10

номер  регістру

210

310

410

510

710

810

910

1010

знач. регістр 1

3410

2210

4410

5610

6810

1210

1410

6810

знач. регістр 2

234510

123410

345610

456710

567810

911210

112310

765410

 

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

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

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

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

  1.  Розкажіть про основи функціонування MODBUS Application Protocol. Який формат повідомлення MODBUS PDU?
  2.  Які функції використовуються для доступу до даних процесу?
  3.  Як формуються повідомлення-запити та повідомлення відповіді для читання та запису діапазону вхідних та вихідних регістрів?
  4.  Які ситуації можливі при обробці запиту MODBUS Клієнта? Наведіть приклади відповідей про помилку.
  5.  Прокоментуйте основи функціонування MODBUS RTU/ASCII в контексті моделі OSI. Як пов’язана модель функціонування обміну на прикладному рівні з функціонуванням на канальному?
  6.  Який метод доступу до шини використовується в MODBUS RTU/ASCII на канальному рівні? Як на цьому рівні проводиться контроль за правильністю доставки бітової послідовності?
  7.  Поясніть призначення поля адреси. Чому виникає необхідність в адресації? Чи використовується поле адреси при з’єднані точка-точка в MODBUS RTU?
  8.  В чому відмінність роботи MODBUS RTU та MODBUS ASCII на канальному та фізичному рівні?
  9.  Розкажіть про принципи побудови кадрів для  MODBUS RTU та MODBUS ASCII.
  10.  Які інтерфейси, бітова швидкість та топологія використовується для  MODBUS RTU/ASCII на фізичному рівні? Яким чином вузли можуть підключатися до загальної шини?
  11.  Чим викликана необхідність в управлінні станом передавача адаптера-перетворювача інтерфейсів RS-232 <–> RS-485.
  12.  Якими способами може управлятись стан передавача адаптеру TSX PCX 1031? Як задати кожний із режимів? Коли використовується кожний із них?

Додаток 2.1. Формат функцій MODBUS (MBAP)

Повний список кодів а також специфікацію протоколу можна знайти на офіційному Веб сайті MODBUS-IDA - www.MODBUS.org. В додатку детально розглянуто тільки найбільш вживані функції MODBUS для обміну даними процесу. Номер функції дається в шістнадцятковому форматі. Скорочення в дужках Hi та Lo вказують відповідно на старший та молодший байти. Тобто, якщо для вказівки адреси початкової змінної необхідно двобайтове слово, то значення старшого байта буде передаватись в полі з позначенням Hi, а молодшого – відповідно Lo.

Д.2.1.1. Код функції 0116 − читання статусу Coils (дискретних вихідних бітів). Повідомлення-запит вміщує адресу початкового біту і кількість бітів для читання. Біти нумеруються починаючи з 0. У повідомленні-відповіді кожне значення змінної передається одним бітом, тобто в одному байті пакується статус 8 бітових змінних. Якщо кількість їх не кратно восьми, інші біти в байті заповнюються нулями. Лічильник вміщує кількість байт в полі даних.

Запит:        Відповідь:

Код функції

01

Адреса початкового біту (HI)

0 до FFFF16

Адреса початкового біту (LO)

Кількість біт (HI)

1 до 7D016 (2000)

Кількість біт (LO)

код функції

01

лічильник байт

N

Значення бітів (перші 8 біт)

0 до FF16

Значення бітів (наступні 8 біт)

0 до FF16

...

Значення бітів (N-ні 8 біт)

0 до FF16

Д.2.1.2. Код функції 0216 − читання статусу дискретних входів. Формат даного запиту такий же як попереднього, за винятком поля функції.

Д.2.1.3. Код функції 0316  − читання значення вихідних/внутрішніх регістрів. Повідомлення-запит вміщує адресу початкового вихідного/внутрішнього регістру (двохбайтове слово), і кількість регістрів для читання. Регістри нумеруються починаючи з 0.

Запит:      Відповідь:

код функції

03

Адреса початкового регістру (Hi)

від 0 до FFFF16

Адреса початкового регістру (Lo)

Кількість регістрів (Hi)

від 1 до 7D16 (125)

Кількість регістрів (Lo)

код функції

01

лічильник байт

N*2

Значення 1-го регістру (Hi)

0 до FFFF16

Значення 1-го регістру (Lo)

...

Значення N-го регістру (Hi)

0 до FFFF16

Значення N-го регістру (Lo)

У відповідному повідомленні в полі даних кожний регістр передається двома байтами.

Д.2.1.4. Код функції 0416 −  читання значення вхідних регістрів. Формат даного запиту такий же як попереднього, за винятком поля функції.

Д.2.1.5. Код функції 0F16 − запис декількох вихідних/внутрішніх бітів. В запиті вказується початкова адреса біту, кількість біт для запису, лічильник байтів і безпосередньо значення. В широкомовній передачі біти записуються всім серверам. Розглянемо приклад для встановлення наступних бітових вихідних/внутрішніх змінних:

Байт 1

Байт 2

26

25

24

23

22

21

20

19

--

--

--

--

--

--

28

27

1

1

0

0

1

1

0

1

0

1

В таблиці показана відповідність адреси змінної, починаючи з 19-ї, і значення біту. Для зручності біти розміщені у тому порядку, що і передаються. В другому байті корисні тільки 2 перші біти, значення інших не буде прийнято до уваги, оскільки кількість бітів вказані у кадрі. Запит та відповідь будуть мати такий вигляд:

Запит:      Відповідь:

Функція

0F

Адреса початкового біту (Hi)

00

Адреса початкового біту (Lo)

13

Кількість бітів (Hi)

00

Кількість бітів (Lo)

Лічильник байтів

02

Дані(змінні 19-26)

CD

Дані(змінні 27-28)

01

Функція

0F

Адреса початкового біту (Hi)

00

Адреса початкового біту (Lo)

13

Кількість бітів (Hi)

00

Кількість бітів (Lo)

Д.2.1.6. Код функції 1016 − запис декількох вихідних/внутрішніх регістрів.

Запит:        Відповідь:

Функція

1016

Адреса початкового регістру (Hi)

0 до FFFF16

Адреса початкового регістру (Lo)

Кількість регістрів (Hi)

1 до 007B16 (123)

Кількість регістрів (Lo)

Лічильник байтів

2*N

Дані (1-й регістр Hi)

0 до FFFF16

Дані (1-й регістр Lo)

...

Дані (N-й регістр Hi)

0 до FFFF16

Дані (N-й регістр Lo)

Функція

10

Адреса початкового регістру (Hi)

0 до FFFF16

Адреса початкового регістру Lo

Кількість регістрів (Hi)

1 до 007B16 (123)

Кількість регістрів (Lo)

Додаток 2.2. Повідомлення про помилки MODBUS (MBAP)

Ці повідомлення стосуються всіх типів MODBUS, але першопочатково були визначені для MODBUS Serial (RTU/ASCII).

При запиті Клієнта до Серверу, можуть мати місце наступні ситуації:

  •  якщо Сервер прийняв запит без комунікаційних помилок, і може нормально розпізнати запит, він повертає нормальну відповідь;
  •  якщо Сервер не прийняв запит, відповідь не повертається. Клієнт очікує відповіді протягом певного тайм-ауту;
  •  якщо Ведений (для MODBUS Serial) прийняв кадр, але знайшов комунікаційну помилку (паритет, помилка контрольної суми), то кадр-відповідь не повертається, а Ведучий чекає відповіді на запит протягом певного тайм-ауту;
  •  якщо Сервер прийняв запит без комунікаційної помилки, але не може виконати замовлену функцію (наприклад, читання не існуючих виходів або регістрів),  Сервер повертає повідомлення про помилку і її причини.

Повідомлення про помилку має два поля які відрізняються від полів нормальної відповіді:

ПОЛЕ КОДУ ФУНКЦІЇ: при нормальній відповіді сервер повертає в цьому полі той номер функції, який потребував Клієнт. У всіх кодах функції старший біт встановлений в 0. При поверненні повідомлень про помилку, Сервер встановлює цей біт в 1, по чому Клієнт може ідентифікувати наявність помилки.

ПОЛЕ ДАНИХ: В цьому полі при помилці повертається її код.

Таблиця Д2.1

Список кодів

Код

Назва

Опис

01

ILLEGAL FUNCTION

Прийнятий код функції не може бути оброблений на Сервері

02

ILLEGAL DATA ADDRESS

Адреса даних вказана в запиті не доступна даному Серверу .

03

ILLEGAL DATA VALUE

Величина, вміщена в полі даних запиту являється не допустимою величиною для Серверу .

04

SLAVE DEVICE FAILURE

Невиправна помилка мала місце поки Сервер намагався виконати дію запиту.

05

ACKNOWLEDGE

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

06

SLAVE DEVICE BUSY

Сервер зайнятий обробкою команди, Клієнт повинен повторити запит пізніше.

07

NEGATIVE ACKNOWLEDGE

Невдалий програмний запит (для функцій 13 і 14).

08

MEMORY PARITY ERROR

Сервер хоче читати розширену пам’ять, але знайшов помилку паритету.

 Додаток 2.3. Робота адаптеру перетворювача TSX PCX 1031

Адаптер-перетворювач TSX PCX 1031 (див.рис.4.2) використовується для підключення пристроїв з RS-232C до термінального порту TSX Twido, TSX Micro, TSX Premium, або коробки підключення TSX P ACC01. Управління станом трансмітера RS-485 в адаптері-перетворювачі може управлятись одним із двох способів, які задаються перемикачем: зі сторони RS-232C сигналом RTS (позиція "MULTI"), або зі сторони термінального порту ПЛК (позиція "DIRECT"). Оскільки в стандарті RS-485 немає виділених ресурсів для режиму DIRECT, то він використовується тільки для підключення адаптера безпосередньо до термінального порту ПЛК ,  тобто у випадку з’єднання точка-точка.  

Враховуючи, що TSX PCX 1031 використовується в якості кабелю програмування вищезазначених контролерів, він надає можливість переводити підключений термінальний порт ПЛК в режим програмування. Перемикач кабелю в позиції "TER" переводить підключений порт ПЛК в режим програмування, не залежно від дійсної його конфігурації. Позиція "OTHER" переводить термінальний порт в той режим, який визначається його дійсною конфігурацією.         

Додаток 2.4.  Робота з програмою Compt.

Д1.1.1. Загальні відомості. Дана програма являється утилітою для роботи з COM-портами комп’ютера. Серед її можливостей треба виділити наступні:

  •  відправляти/приймати послідовність символів представлені в 16-ковому або символьному форматі;
  •  налаштування COM-порту на різні параметри передачі/прийому;
  •  управляти потоком даних сигналами RTS та DTR в ручному режимі

Після завантаження, як правило видається помилка доступу до COM-порту, на яку не слід зважати.

Д1.1.2. Основні команди. Якщо програма завантажилась в англомовному варіанті, перейдіть на російськомовний: Options->Language->Russian .

Настройка COM-порту: Настройка->COM-порт

Набрати і відправити послідовність символів: Сообщение->Отправить 

Управління сигналом RTS відбувається за допомогою відповідних кнопок на панелі інструментів: кнопка вверх – увімкнути, кнопка вниз – вимкнути.

Як тільки програма завантажена і налаштований порт, вона прослуховує його і у випадку появи символів, записує їх у вікно "Принято".

  •  

УВАГА! Будь-які дві програми не можуть використовувати один і той же COM-порт одночасно (за певними винятками). Тому перед використанням Compt.exe необхідно закрити всі програми, які доступаються до COM1.

TER/OTHER DIRECT

DE

TER/OTHER MULTI

до  TER порту

до  RS-232

RS-485

RS-232

RTS

CG

G

R

B’

A’

RD

R

B

A

TD

G

Рис.4.2. Режими роботи адаптера перетворювача RS-232<->RS-485 TSX PCX 1031

  

УВАГА! Port1 ПЛК Twido і COM-порт ПК не ізольовані, тому для безпечного з’єднання необхідно підключати перетворювачі при вимкнених ПЛК, з дозволу викладача.

Рис.4.1.

TSX PCX1031

Port1

ПЛК

сом1

PC




1. Какое из нижеперечисленных наименований субъекта Российской Федерации в настоящее время отсутс
2. Реформа системы образования в размере 4985 млн
3. Національний гірничий університет ПРОГРАМА ТА МЕТОДИЧНІ ВКАЗІВКИ до першої вир
4. тема ~ обоснованная совокупность совместно действующих приборов и устройств предназначенных для выполнени
5. реферату- Роль засобів масової комунікації у формуванні екологічної політикиРозділ- Журналістика Роль зас
6. Лабораторна робота 3 ВИПРОБУВАННЯ ПАРОВОЇ КОМПРЕСІЙНОЇ ХОЛОДИЛЬНОЇ УСТАНОВКИ 3
7. Неотложные состояния. Задачи
8. 10 ЗЭМу10 ЗМГ10 ЗМГс10 ЗМГу10 ЗИС10 п
9. Культура Кыргызстана
10. ПРАВИТЕЛЬ РУССКАЯ ПРАВДА И УСТАВНОЕ ЗАКОНОДАТЕЛЬСТВО Выяснившийся из предыдущего общий характер правите
11. Принцип коллегиального рассмотрения дел
12. і Рs ~ 110-хв АТ ~ 160-70 мм
13. Электроснабжение и электрическое оборудование инструментального цеха
14. Арго жаргон.html
15. Технология и организация строительства сооружений коммунального хозяйства
16. Мы влюбляемся нас не любят
17. Мастера психологии Главный редакторЕ.html
18. Методи наукових досліджень
19. Subject of tx lw Крохина Юлия Александровна директор Государственного научноисследовательского института си
20. тематизации изученного; контроля и коррекции знаний умений; практического применения знаний умений