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
|
|
|
|
|
|
|
|
|
|
|
|
да
|
TС
|
|
|
|
|
|
|
|
|
|
|
|
да
|
TM2
|
|
|
да
|
да*
|
да
|
да*
|
да
|
да*
|
да
|
да
|
|
|
TMF4
|
|
|
|
|
|
|
|
|
да
|
да
|
|
|
TMC
|
|
|
|
|
да
|
да*
|
да
|
да*
|
|
|
|
|
TM2_TIME
|
|
|
да
|
да*
|
да
|
да*
|
да
|
да*
|
|
|
|
|
TMF4_TIME
|
|
|
|
|
|
|
|
|
да
|
да
|
|
|
TMC_TIME
|
|
|
|
|
да
|
да*
|
да
|
да*
|
|
|
|
|
TR2
|
|
|
да
|
да*
|
|
|
|
|
|
|
|
|
TRF4
|
|
|
|
|
|
|
|
|
да
|
|
|
|
TR4
|
|
|
|
|
да
|
да*
|
|
|
|
|
|
|
STR
|
|
|
|
|
|
|
|
|
|
|
да
|
|
STR-COMMAND
|
|
|
|
|
|
|
|
|
|
|
да
|
|
Где да* — выполняется, если тип данных беззнаковый, иначе сигнал не принимается на обслуживание.
Если необходим мониторинг на стороне подчиненной станции однобитовых управляющих команд (телеуправление, протокольный тип TC), то в дереве сигналов следует создать сигнал типа bool, который будет носителем информации о поступающих командах.
|