4.1.4.3. Modbus

 
Модуль
Описание
Коммуникационный модуль для опроса данных по протоколу Modbus TCP
Коммуникационный модуль для опроса данных по протоколу Modbus RTU
Коммуникационный модуль для передачи данных по протоколу Modbus TCP
Коммуникационный модуль для передачи данных по протоколу Modbus RTU
 

Адресное пространство

Адресное пространство протокола Modbus представляет собой 4 сегмента памяти.
 
Сегмент
Описание
Размер
Чтение/Запись
Discrete Inputs
дискретные входы
одиночный бит
чтение
Coils
ячейки
одиночный бит
чтение и запись
Input Registers
входные регистры
16-битное слово
чтение
Holding Registers
регистры хранения
16-битное слово
чтение и запись
 
Доступ к элементам каждого сегмента осуществляется с помощью 16-битной адресации. При такой адресации, каждый из четырех сегментов может вмещать до 65536 элементов (адресов).
 

Типы данных

Для работы с данными в рамках протокола Modbus реализованы протокольные типы данных:
 
Протокольный тип
Тип
значения
Направление передачи
Описание
TS
bool
Slave → Master
Телесигнализация
TC
bool
Master → Slave
Телеуправление
TM2
int2/uint2
Slave → Master
Телеизмерение
TMF4
float
Slave → Master
Телеизмерение
TMC
int4/uint4
Slave → Master
Телесчет
TMF8
double
Slave → Master
Телеизмерение
TM2_TIME
int2/uint2
Slave → Master
Телеизмерение c меткой времени
TMF4_TIME
float
Slave → Master
Телеизмерение c меткой времени
TMC_TIME
int4/uint4
Slave → Master
Телесчет c меткой времени
TMF8_TIME
double
Slave → Master
Телеизмерение c меткой времени
TR2
int2/uint2
Master → Slave
Телерегулирование
TRF4
float
Master → Slave
Телерегулирование
TR4
int4/uint4
Master → Slave
Телерегулирование
STR
string
Slave → Master
Телеизмерение
STR-COMMAND
string
Master → Slave
Телерегулирование
 
Чтобы выбрать протокольный тип для работы с определенным сегментом памяти воспользуйтесь таблицей ниже.
 
Cегмент
Допустимые протокольные типы
Discrete Inputs
TS
Coils
TS, TC
Input Registers
TS, TM2, TMF4, TMC, TM2_TIME, TMF4_TIME, TMC_TIME, STR
Holding Registers
TS, TC, TM2, TMF4, TMC, TMF8, TM2_TIME, TMF4_TIME, TMC_TIME, TMF8_TIME, TR2, TRF4, TR4, STR, STR-COMMAND
 
Протокольный тип данных, указанный для сигнала, должен быть согласован с типом данных сигнала в соответствии с таблицей ниже. Если типы данных будут не согласованы, то сигнал не будет принят на обслуживание модулем.
 
Протокольный тип
Тип в Astra.Server
int1
uint1
int2
uint2
int4
uint4
int8
uint8
float
double
string
bool
TS
 
 
 
 
 
 
 
 
 
 
 
да
 
 
 
 
 
 
 
 
 
 
 
да
TM2
 
 
да
да*
да
да*
да
да*
да
да
 
 
TMF4
 
 
 
 
 
 
 
 
да
да
 
 
TMC
 
 
 
 
да
да*
да
да*
 
 
 
 
TM2_TIME
 
 
да
да*
да
да*
да
да*
 
 
 
 
TMF4_TIME
 
 
 
 
 
 
 
 
да
да
 
 
TMC_TIME
 
 
 
 
да
да*
да
да*
 
 
 
 
TR2
 
 
да
да*
 
 
 
 
 
 
 
 
TRF4
 
 
 
 
 
 
 
 
да
 
 
 
TR4
 
 
 
 
да
да*
 
 
 
 
 
 
STR
 
 
 
 
 
 
 
 
 
 
да
 
STR-COMMAND
 
 
 
 
 
 
 
 
 
 
да
 
 
Где да* — выполняется, если тип данных беззнаковый, иначе сигнал не принимается на обслуживание.
 
Если необходим мониторинг на стороне подчиненной станции однобитовых управляющих команд (телеуправление, протокольный тип TC), то в дереве сигналов следует создать сигнал типа bool, который будет носителем информации о поступающих командах.
 

Поддерживаемые функции

 
Стандартные функции протокола Modbus приведены в таблице:
 
Код функции
Название
Действие
Сегмент
01 (0x01)
Read Coils
Чтение состояния дискретных выводов
Coils
02 (0x02)
Read Discrete Inputs
Чтение состояния дискретных вводов
Discrete Inputs
03 (0x03)
Read Holding Registers
Чтение регистров хранения
Holding Registers
04 (0x04)
Read Input Registers
Чтение входных регистров
Input Registers
05 (0x05)
Write Single Coil
Запись одного дискретного вывода
Coils
06 (0x06)
Write Single Register
Запись одного регистра хранения
Holding Registers
16 (0x10)
Write Multiple registers
Запись нескольких регистров хранения
Holding Registers
20 (0x14)
Read File Record
Чтение данных из файла
Files