1. Построение распределенных систем автоматизации на базе Modicon M340/TSX Premium Modbus в UNITY se_training@ukr.net (учебный центр Модикон-Киев) Автор: Александр Пупена www.asu.in.ua
Учебный центр Модикон-Киев
NET Modbus UNITY
1
2. M340 и Premium как Modbus Server
Учебный центр Модикон-Киев
NET Modbus UNITY
2
-CPU TSX Premium имеют встроенный UNI-TE Server и Modbus Server : обработка запросов автоматически на уровне операционной системы
-CPU M340 имеют встроенный Modbus Server: обработка запросов автоматически на уровне операционной системы
3. M340 и Premium как Modbus Client
Учебный центр Модикон-Киев
NET Modbus UNITY
3
CPU TSX Premium и M340 поддерживают на уровне операционной системы формирование клиентских функций Modbus: 1, 2, 3, 4, 15 и 16. Их инициация проводится с приложения пользователя функциями READ_VAR и WRITE_VAR.
Остальные функции формируются и обрабатываются программным путем, с использованием функций DATA_EXCH/SEND_REQ(Premium). ОС формирует кадр на основании APDU, сформированного функцией DATA_EXCH, добавляя туда:
- для Modbus RTU/ASCII: № Slave, CRC/LRC;
- для Modbus/TCP: MBAP заголовок.
13. SEND_REQ - UNI-TE Request ACTION_GENERIC_OBJECT (16#9F)
Учебный центр Модикон-Киев
NET Modbus UNITY
13
14. SEND_REQ - UNI-TE Response ACTION_GENERIC_OBJECT (16#9F)
Учебный центр Модикон-Киев
NET Modbus UNITY
14
15. UNI-TE Request 16#9F Modbus Access
Учебный центр Модикон-Киев
NET Modbus UNITY
15
9F
00
Fn
SFn
96
02
00 00
Data Mb Fn
Используется в том числе и для отправки Modbus запросов
Используется для управления доступом, для Modbus не имеет значения
Для Modbus = номеру функции Modbus
Для Modbus = номеру под-функции Modbus, или = 00
Для Modbus = 150 (96h)
Для Modbus = 02
Для Modbus = 00 00
Для Modbus указываются данные Modbus запроса
16. UNI-TE Request 16#9F Modbus Access. Пример чтения Input Registers 34, 35, 36
Учебный центр Модикон-Киев
NET Modbus UNITY
16
9F
00
04
00
96
02
00 00
00 22 00 03
Используется в том числе и для отправки Modbus запросов
Используется для управления доступом, для Modbus не имеет значения
04 – чтение Input Registers
00 - номер под-функции Modbus
Для Modbus = 150 (96h)
Для Modbus = 02
Для Modbus = 00 00
00 22 – начиная с 34, 00 03 – 3 штуки
17. UNI-TE Request 16#9F Modbus Access. Пример чтения Input Registers - ответ
Учебный центр Модикон-Киев
NET Modbus UNITY
17
CF
00
00
04
00 – если UNI-TE запрос обработан без ошибок
00
CF – ответ на UNI-TE запрос
00 – если UNI-TE запрос обработан без ошибок
06 00 01 00 02 00 03
ф-ция Modbus
суб-ф-ция Modbus
остальные поля ответа Modbus
21. Пример READ_VAR/WRITE_VAR
Учебный центр Модикон-Киев
NET Modbus UNITY
21
The master PLC must communicate with salve 6 on Modbus to exchange data
Modbus
Master
Slave
Ad 6
%MW10
%MW19
%MW20
%MW39
%MW50
%MW60
%MW100
%MW109
%MW120
%MW139
READ_VAR
WRITE_VAR
(read management parameters)
(write management parameters)
22. Пример READ_VAR
Учебный центр Модикон-Киев
NET Modbus UNITY
22
Activity bit (bit 0) of management parameters
To convert physical address* to an array of 6 integers
Table to read in slave PLC : %MW100 to %MW109
Type of objects to read : %MW
Table containing the read objects : %MW10 to %MW19
Exchange management table : %MW50 to %MW53
(*) Address “rack.module.channel.node” is always 0.0.0.”slave number”
23. Пример WRITE_VAR
Учебный центр Модикон-Киев
NET Modbus UNITY
23
Activity bit (bit 0) of management parameters
To convert physical address to an array of 6 integers
Destination table in slave PLC %MW120 to %MW139
Table to write : %MW20 to %MW39
Type of objects to write : %MW
Exchange management table : %MW60 to %MW63