4.1.1.2.3.3.2. Типы данных

 
Для работы с данными в рамках протокола Modbus реализованы протокольные типы данных. В таблице ниже приведены протокольные типы и показано направление передачи для каждого из них.
 
Протокольный тип
Направление передачи
Описание
TS
Slave → Master
Телесигнализация
TC
Master → Slave
Телеуправление
TM2
Slave → Master
Телеизмерение
TMF4
Slave → Master
Телеизмерение
TMC
Slave → Master
Телесчет
TM2_TIME
Slave → Master
Телеизмерение c меткой времени
TMF4_TIME
Slave → Master
Телеизмерение c меткой времени
TMC_TIME
Slave → Master
Телесчет c меткой времени
TR2
Master → Slave
Телерегулирование
TRF4
Master → Slave
Телерегулирование
TR4
Master → Slave
Телерегулирование
STR
Slave → Master
Телеизмерение
STR-COMMAND
Master → Slave
Телерегулирование
 
В столбце Направление передачи показано, в каких случаях применяется тот или иной протокольный тип. Направление Master → Slave означает, что протокольный тип используется для отправки команд от управляющей станции. Направление Slave → Master — данные передаются от подчиненной станции, в ответ на запрос от управляющей станции.
 
Адресное пространство протокола Modbus представляет собой 4 сегмента памяти (таблицы данных):
Discrete Inputs — дискретные входы. Размер: одиночный бит. Элементы доступны только на чтение;
Coils — ячейки. Размер: одиночный бит. Элементы доступны на чтение и запись;
Input Registers — входные регистры. Размер: 16-битное слово. Элементы доступны только на чтение;
Holding Registers — регистры хранения. Размер: 16-битное слово. Элементы доступны на чтение и запись.
 
Доступ к элементам каждого сегмента осуществляется с помощью 16-битной адресации. При такой адресации, каждый из четырех сегментов может вмещать до 65536 элементов (адресов).
 
Чтобы выбрать протокольный тип для работы с определенным сегментом памяти воспользуйтесь таблицей ниже.
 
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
 
Ставя сигналы на обслуживание модулю Modbus TCP Slave, необходимо учитывать совместимость между протокольными типами и встроенными типами Astra.Server. Таблица совместимости показана ниже.
 
Протокольный тип
Тип в 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, который будет носителем информации о поступающих командах.