4.1.1.2.3.1.3. Типы данных
Модуль Modbus ТСР Master, оперируя данными в соответствии со спецификацией, может предоставлять их в виде следующих типов. Такие типы данных называются протокольными.
Протокольный тип
|
Тип значения
|
Направление передачи
|
Описание
|
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
|
Телерегулирование
|
Как видно из таблицы сигналы по отношению к модулю делятся по направлению передачи на две группы:
входящий сигнал, в который будет записываться полученное значение с подчиненной станции. Направление передачи для сигнала от Slave к Master, где Slave – подчиненная станция, Master – модуль Modbus TCP Master;
исходящий сигнал – сигнал, значение которого при изменении будет передаваться подчиненной станции. Направление передачи для сигнала от Master к Slave.
Модуль позволяет настроить сигналы доставки, которые необходимы для подтверждения доставки исходящих сигналов до подчиненной станции и содержат результат выполнения операции. Значения сигналов доставки представлены в таблице.
Модуль позволяет использовать сегмент адресного пространства Holding Registers для передачи сигналов телеуправления и телесигнализации. Регистр адресного пространства протокола Modbus используется как набор в качестве 16 сигналов телеуправления или телесигнализации. При конфигурировании такого способа доставки сигналов в адресе сигнала указывается номер бита (BitPosition).
Так как элементы адресного пространства Holding Registers и Coils имеют тип доступа на чтение и запись данных, то имеется возможность отправлять сигналы телерегулирования (телеуправления) и получать сигналы телеизмерения (телесчет, телесигнализация) на один регистр памяти. Для этого необходимо создать два сигнала типов – входящий и исходящий. При этом не будет ошибки пересечения адресов. Запись и чтение с одного регистра применяется для проверки полученных данных подчиненной станцией и для проверки текущих значений параметров объекта телерегулирования.
Протокольный тип данных, указанный для сигнала, должен быть согласован с типом данных сигнала в соответствии с таблицей. Если типы данных будут не согласованы, то сигнал не будет принят на обслуживание модулем. Правило пользования таблицей: в первом столбце выбрать тип используемых данных и соотнести ему тип сигнала.
Протокольный тип
|
Тип в Astra.Server
| |||||||||||
int1
|
uint1
|
int2
|
uint2
|
int4
|
uint4
|
int8
|
uint8
|
float
|
double
|
string
|
bool
| |
TS
|
|
|
|
|
|
|
|
|
|
|
|
да
|
TС
|
|
|
|
|
|
|
|
|
|
|
|
да
|
TM2
|
|
|
да
|
да*
|
да
|
да*
|
да
|
да*
|
да
|
да
|
|
|
TMF4
|
|
|
|
|
|
|
|
|
да
|
да
|
|
|
TMC
|
|
|
|
|
да
|
да*
|
да
|
да*
|
|
|
|
|
TMF8
|
|
|
|
|
|
|
|
|
|
да
|
|
|
TM2_TIME
|
|
|
да
|
да*
|
да
|
да*
|
да
|
да*
|
|
|
|
|
TMF4_TIME
|
|
|
|
|
|
|
|
|
да
|
да
|
|
|
TMC_TIME
|
|
|
|
|
да
|
да*
|
да
|
да*
|
|
|
|
|
TMF8_TIME
|
|
|
|
|
|
|
|
|
|
да
|
|
|
TR2
|
|
|
да
|
да*
|
|
|
|
|
|
|
|
|
TRF4
|
|
|
|
|
|
|
|
|
да
|
|
|
|
TR4
|
|
|
|
|
да
|
да*
|
|
|
|
|
|
|
STR
|
|
|
|
|
|
|
|
|
|
|
да
|
|
STR-COMMAND
|
|
|
|
|
|
|
|
|
|
|
да
|
|
Где да* - выполняется, если тип данных беззнаковый, иначе сигнал не принимается на обслуживание. Например, при преобразовании из протокольного типа данных ТМ2 в канонический тип данных uint2 необходимо в адресе сигнала указать "Signed=(False)".