Upload
alexandr-pupena
View
177
Download
8
Embed Size (px)
Citation preview
Построение распределенных систем автоматизации
на базе Modicon M340/TSX Premium
Modbus в UNITY [email protected] (учебный центр Модикон-Киев)
Автор: Александр Пупена www.asu.in.ua
Учебный центр Модикон-Киев NET Modbus UNITY 1
M340 и Premium как Modbus Server
Учебный центр Модикон-Киев NET Modbus UNITY 2
- CPU TSX Premium имеют встроенный UNI-TE Server и Modbus Server : обработка запросов автоматически на уровне операционной системы
- CPU M340 имеют встроенный Modbus Server: обработка запросов автоматически на уровне операционной системы
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 заголовок.
SEND_REQ - UNI-TE Request ACTION_GENERIC_OBJECT (16#9F)
Учебный центр Модикон-Киев NET Modbus UNITY 13
SEND_REQ - UNI-TE Response ACTION_GENERIC_OBJECT (16#9F)
Учебный центр Модикон-Киев NET Modbus UNITY 14
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 запроса
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 штуки
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
Пример 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)
Пример 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”
Пример 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