Библиотека paModbus

Библиотека paModbus содержит функциональные блоки для обмена по протоколам Modbus – блоки Modbus Master и Modbus Slave, а также блоки команд чтения и записи.

Для добавления библиотеки paModbus в проект следует:

  1. Перейти в меню Окна/Проекты. В появившемся окне отобразится текущий проект и добавленные библиотеки.

    Graphic
    Добавление библиотеки paModbus в проект
  2. Нажать кнопку Открыть и перейти в папку с файлами библиотеки, которую необходимо добавить. Затем в выпадающем списке выбрать тип файла Библиотека Полигон 2 (*.ll2)
    Graphic
    Добавление библиотеки paModbus в проект
  3. В окне появится файл библиотеки с расширением .ll2. Необходимо выбрать его и нажать Открыть.

    Graphic
    Добавление библиотеки paModbus в проект

    Добавленная библиотека отобразится в окне Проекты.

Modbus RTU

Блок Modbus RTU Master

Блок Modbus RTU Master обеспечивает работу Master-устройства по протоколу Modbus RTU.

Так как работа блока занимает значительное время, его можно разместить только в Фоне.

Назначение входов и выходов Modbus RTU Master
ЭлементОписание
Входы
cnc

Связь с блоком COM-порта (210-RS485, 210-RS232)

enbl

Разрешение работы

tmp

Время (в мс) между получением ответа от Slave-устройства и началом опроса следующего (константный)

wait

Время (в мс), в течение которого Master ожидает ответа Slave устройства (константный)

bo

Входы для связи с блоками записи (циклический)

Выходы
itr

Связь с блоками чтения

sts

Статус работы:

0 – есть связь;

>0 – нет связи или Slave не отвечает (в младшем байте: 1 –Slave не отвечает, 2 –неверная контрольная сумма)

Команды, подключенные к блоку Master, опрашиваются последовательно с периодичностью tmp. Выключенные команды (вход enb блока команды, равный 0) пропускаются.

Внимание
Для правильной инициализации необходимо разместить в программе блок Master после блоков записи (см. свойства блоков Порядок).

Чтение осуществляется циклически, запись – по изменению.

Graphic
Блок Modbus RTU Master

Блок Modbus RTU Slave

Блок Modbus RTU Slave обеспечивает работу Slave-устройства по протоколу Modbus RTU.

Так как работа блока занимает значительное время, его можно разместить только в Фоне.

Назначение входов и выходов Modbus RTU Slave
ЭлементОписание
Входы
cnc

Связь с блоком COM-порта (210-RS485, 210-RS232)

enbl

Разрешение работы

tmp

Периодичность обработки запросов, мс (константный)

wait

Время ожидания запроса от Master, мс (константный)

bo

Входы для связи с блоками записи (циклический)

Выходы
itr

Связь с блоками чтения

sts

Не используется

Slave обрабатывает команды, полученные от Master, с периодичностью tmp. Если при обработке команды не обнаружен соответствующий блок команды, то Slave посылает мастеру соответствующую ошибку:

  • 0x80 | команда – нет блока с соответствующим кодом команды, код команды – в блоке не определен запрашиваемый адрес (например, при опросе Holding Register команда 0х03, тогда ошибка: 0x80 | 0x03 = 0x83);

  • 0x23 – неверная контрольная сумма.

Graphic
Блок

Modbus TCP

Блок Modbus TCP Master

Блок Modbus TCP Master обеспечивает работу Master-устройства по протоколу Modbus TCP.

Так как работа блока занимает значительное время, его можно разместить только в Фоне.

Назначение входов и выходов Modbus TCP Master
ЭлементОписание
Входы
cnc

Связь с блоком TcpIpClA

enbl

Разрешение работы

tmp

Время (в мс) между получением ответа от Slave-устройства и началом опроса следующего (константный)

wait

Время (в мс), в течение которого Master ожидает ответа Slave устройства (константный)

bo

Входы для связи с блоками записи (циклический)

Выходы
itr

Связь с блоками чтения

sts

Статус работы:

0 – есть связь с сервером TCP/IP

>0 – нет связи или Slave не отвечает

Команды, подключенные к блоку Master, опрашиваются последовательно с периодичностью tmp. Выключенные команды (вход enb блока команды, равный 0) пропускаются.

Чтение осуществляется циклически, запись – по изменению.

Graphic
Блок

Блок Modbus TCP Slave

Блок Modbus TCP Slave обеспечивает работу Slave-устройства по протоколу Modbus TCP.

Так как работа блока занимает значительное время, его можно разместить только в Фоне.

Назначение входов и выходов Modbus TCP Slave
ЭлементОписание
Входы (константные)
cnc

Связь с блоком TcpIpSrA

enbl

Разрешение работы

tmp

Периодичность обработки запросов, мс (константный)

wait

Время ожидания запроса от Master, мс (константный)

bo

Входы для связи с блоками записи (циклический)

Выходы
itr

Связь с блоками чтения

sts

Статус работы:

0 – есть связь с Master;

>0 – нет связи или нет запросов от Master

Slave обрабатывает команды, полученные от Master, с периодичностью tmp. Если при обработке команды не обнаружен соответствующий блок команды, то Slave посылает мастеру одну из ошибок:

  • 1 – нет блока с соответствующим кодом команды;

  • 2 – в блоке не определен запрашиваемый адрес.

Graphic
Блок Modbus TCP Slave

Команды чтения

В данном разделе приведено описание блоков библиотеки paModbus, которые реализуют команды протокола Modbus на чтение параметров.

paModbus. Команды чтения

Код функции

Имя функции

Команда

Блоки paModbus

Подключение к Modbus Master

Подключение к Modbus Slave

1 (0x01)

Read Coil Status

Чтение значений из регистров флагов

ModbusCoilIn

ModbusCoilOut

ModbusCoilsOut

2 (0x02)

Read Discrete Inputs

Чтение значений из дискретных входов

ModbusDInputIn

-

3 (0x03)

Read Holding Registers

Чтение значений из регистров хранения

ModbusRegIn

ModbusFltIn

OwenFltIn

ModbusRegOut

ModbusRegsOut

ModbusFltOut

4 (0x04)

Read Input Registers

Чтение значений из регистров ввода

ModbusAInputIn

ModbusFltIn

OwenFltIn

-

Команда чтения флагов 0x01 (ModbusCoilIn)

Блок ModbusCoilIn отправляет команду Modbus для чтения значений из регистров флагов (Coil).

При подключении к блоку Master блок ModbusCoilIn выполняет команду 0x01, при подключении к Slave0x05.

Назначение входов и выходов
ЭлементОписание
Входы
itr

Связь c блоком Modbus Master/Modbus Slave

enb

Разрешение работы (при подключении к Modbus Master)

slv

Адрес ведомого устройства, с которого считывают данные

adr0

Адрес, с которого начинается чтение

Выходы
bi

Указатель на блок, не используется

st

Статус работы (при подключении к Modbus Master):

0 – нет связи;

1 – есть связь, ошибок нет;

>1 – есть связь, код ошибки в старшем байте

o

Результаты чтения (циклический)

Для инициализации следует подключить вход itr к выходу блока Master или Slave и задать верный адрес устройства.

Graphic
Блок

Команда чтения дискретных входов 0x02 (ModbusDInputIn)

Блок ModbusDInputIn отправляет команды Modbus на чтение дискретных входов (Inputs).

При подключении к блоку Master блок ModbusDInputIn выполняет команду 0x02.

Назначение входов и выходов
ЭлементОписание
Входы
itr

Связь c блоком Modbus Master

enb

Разрешение работы

slv

Адрес ведомого устройства, с которого считывают данные

adr0

Адрес, с которого начинается чтение

Выходы
bi

Указатель на блок, не используется

st

Статус работы:

0 – нет связи;

1 – есть связь, ошибок нет;

>1 – есть связь, код ошибки в старшем байте

o

Результаты чтения (циклический)

Для инициализации следует подключить вход itr к выходу блока Master и задать верный адрес устройства.

Graphic
Блок

Команда чтения регистров хранения 0x03 (ModbusRegIn)

Блок ModbusRegIn отправляет команды Modbus на чтение регистров хранения (Holding Registers).

При подключении к блоку Master блок ModbusRegIn выполняет команду 0x03, при подключении к Slave0x06, 0x10.

Назначение входов и выходов
ЭлементОписание
Входы (константные)
itr

Связь c блоком Modbus Master/Modbus Slave

enb

Разрешение работы (при подключении к Modbus Master)

slv

Адрес ведомого устройства, с которого считывают данные

adr0

Адрес, с которого начинается чтение

Выходы
bi

Указатель на блок, не используется

st

Статус работы (при подключении к Modbus Master):

0 – нет связи;

1 – есть связь, ошибок нет;

>1 – есть связь, код ошибки в старшем байте

o

Результаты чтения (циклический)

Для инициализации следует подключить вход itr к выходу блока Master или Slave и задать верный адрес устройства.

Graphic
Блок

Команда чтения входных регистров 0x04 (ModbusAInputIn)

Блок ModbusAInputIn отправляет команды Modbus на чтение регистров ввода (Input Registers).

При подключении к блоку Master блок ModbusAInputIn выполняет команду 0x04.

Назначение входов и выходов
ЭлементОписание
Входы
itr

Связь c блоком Modbus Master

enb

Разрешение работы

slv

Адрес ведомого устройства, с которого считывают данные

adr0

Адрес, с которого начинается чтение

Выходы
bi

Указатель на блок, не используется

st

Статус работы:

0 – нет связи;

1 – есть связь, ошибок нет;

>1 – есть связь, код ошибки в старшем байте

o

Результаты чтения (циклический)

Для инициализации следует подключить вход itr к выходу блока Master и задать верный адрес устройства.

Graphic
Блок

Команда чтения вещественного числа 0x03/0x04 (ModbusFltIn)

Блок ModbusFltIn отправляет команды Modbus на чтение вещественных чисел из регистров хранения (Holding Registers) или регистров ввода (Input Registers). Каждое число занимает два регистра.

При подключении к блоку Master блок ModbusFltIn выполняет команды 0x04 или 0x03, при подключении к блоку Slave0x10 (для регистров хранения).

Назначение входов и выходов
ЭлементОписание
Входы
itr

Связь c блоком Modbus Master/Modbus Slave

enb

Разрешение работы (при подключении к Modbus Master)

slv

Адрес ведомого устройства, с которого считывают данные

adr0

Адрес, с которого начинается чтение

hold/in

Выбор регистров для чтения – регистры хранения/регистры ввода (0/1)

ord_w

Порядок слов в числе – прямой/обратный (0/1)

ord_b

Порядок байт в числе – прямой/обратный (0/1)

Выходы
bi

Указатель на блок, не используется

st

Статус работы (при подключении к Modbus Master):

0 – нет связи;

1 – есть связь, ошибок нет;

>1 – есть связь, код ошибки в старшем байте

o

Результаты чтения (циклический)

Порядок слов и байт
ord_word_b

Порядок байт

0

0

AB CD

0

1

BA DC

1

0

CD AB

1

1

DC BA

Для инициализации следует подключить вход itr к выходу блока Master или Slave и задать верный адрес устройства.

Graphic
Блок

Команда чтения результатов измерения аналогового входа (OwenFltIn)

Блок OwenFltIn отправляет команды Modbus на чтение вещественных чисел из регистров хранения (Holding Registers) или регистров ввода (Input Registers) модулей аналогового ввода ОВЕН МВ210-101.

При подключении к блоку Master блок OwenFltIn выполняет команды 0x04 или 0x03.

Назначение входов и выходов
ЭлементОписание
Входы
itr

Связь c блоком Modbus Master

enb

Разрешение работы

slv

Адрес ведомого устройства, с которого считывают данные

adr0

Адрес, с которого начинается чтение

hold/inВыбор регистров для чтения – регистры хранения/регистры ввода (0/1)
Выходы
bi

Указатель на блок, не используется

st

Статус работы:

0 – нет связи;

1 – есть связь, ошибок нет;

>1 – есть связь, ошибка

Циклические выходы
rslt

Отображает результаты измерения

time

Время измерения

stsi

Код ошибки (см. таблицу)

vldi

Бит достоверности:

1 – данные достоверны;

0 – данные не достоверны

msk

Маска кода ошибки (см. таблицу)

Коды ошибок

Код ошибки

Маска

Описание

0хF0

1

Значение заведомо неверно

0xF6

2

Данные не готовы. Необходимо дождаться результатов первого измерения после включения модуля

0xF7

4

Датчик отключен

0хF8

8

Велика температура свободных концов ТП

0хF9

16

Мала температура свободных концов ТП

0хFA

32

Измеренное значение слишком велико

0хFB

64

Измеренное значение слишком мало

0хFC

128

Короткое замыкание датчика

0хFD

256

Обрыв датчика

0хFE

512

Отсутствие связи с АЦП

0хFF

1024

Некорректный калибровочный коэффициент

Для инициализации следует подключить вход itr к выходу блока Master и задать верный адрес устройства.

Graphic
Блок

Команды записи

В данном разделе приведено описание блоков библиотеки paModbus, которые реализуют команды протокола Modbus на запись параметров.

paModbus. Команды записи

Код функции

Имя функции

Команда

Блоки paModbus

 

Подключение к Modbus Master

Подключение к Modbus Slave

5 (0x05)

Write Single Coil

Запись значения в один регистр флага

ModbusCoilOut

ModbusCoilIn

6 (0x06)

Write Single Register

Запись значения в один регистр хранения

ModbusRegOut

ModbusRegIn

15 (0x0F)

Write Multiple Coils

Запись значений в несколько регистров флагов

ModbusCoilsOut

-

16 (0x10)

Write Multiple Registers

Запись значений в несколько регистров хранения

ModbusRegsOut

ModbusFltOut

ModbusRegIn,

ModbusFltIn

Команда записи одного флага 0x05 (ModbusCoilOut)

Блок ModbusCoilOut отправляет команды Modbus на запись в регистр флага (Coil) дискретного вывода.

При подключении к блоку Master блок ModbusCoilOut выполняет команду 0x05, при подключении к Slave0x01.

Для записи 1 в флаг на вход следует подать любое положительное число. Для записи 0 – подать 0.

Назначение входов и выходов ModbusCoilOut
ЭлементОписание
Входы
enb

Разрешение работы (при подключении к Modbus Master)

slv

Адрес ведомого устройства, на который записывают данные

adr0

Адрес, с которого начинается запись

in

Входы записи данных (циклический)

Выходы
bo

Связь c блоком Modbus Master/Modbus Slave

st

Статус работы (при подключении к Modbus Master):

0 – нет связи;

1 – есть связь, ошибок нет;

>1 – есть связь, код ошибки в старшем байте

Для инициализации следует подключить выход bo к входу блока Master или Slave и задать верный адрес устройства.

Graphic
Блок

Команда записи одного регистра хранения 0x06 (ModbusRegOut)

Блок ModbusRegOut отправляет команды Modbus на запись регистра хранения (Holding Register).

При подключении к блоку Master блок ModbusRegOut выполняет команду 0x06, при подключении к Slave0x03.

Назначение входов и выходов ModbusRegOut
ЭлементОписание
Входы
enb

Разрешение работы (при подключении к Modbus Master)

slv

Адрес ведомого устройства, на который записывают данные

adr0

Адрес, с которого начинается запись

in

Входы записи данных (циклический)

Выходы
bo

Связь c блоком Modbus Master/Modbus Slave

st

Статус работы (при подключении к Modbus Master):

0 – нет связи;

1 – есть связь, ошибок нет;

>1 – есть связь, код ошибки в старшем байте

Для инициализации следует подключить выход bo к входу блока Master или Slave и задать верный адрес устройства.

Graphic
Блок

Команда записи нескольких флагов 0x0F (ModbusCoilsOut)

Блок ModbusCoilsOut отправляет команды Modbus на запись нескольких флагов (Coils).

При подключении к блоку Master блок ModbusCoilsOut выполняет команду 0x0F, при подключении к Slave0x01.

Назначение входов и выходов
ЭлементОписание
Входы
enb

Разрешение работы (при подключении к Modbus Master)

slv

Адрес ведомого устройства, на который записывают данные

adr0

Адрес, с которого начинается запись

in

Входы записи данных (циклический)

Выходы
bo

Связь c блоком Modbus Master/Modbus Slave

st

Статус работы (при подключении к Modbus Master):

0 – нет связи;

1 – есть связь, ошибок нет;

>1 – есть связь, код ошибки в старшем байте

Для инициализации следует подключить выход bo к входу блока Master или Slave и задать верный адрес устройства.

Graphic
Блок

Команда записи нескольких регистров хранения 0x10 (ModbusRegsOut)

Блок ModbusRegsOut отправляет команды Modbus на запись нескольких регистров хранения (Holding Registers).

При подключении к блоку Master блок ModbusRegsOut выполняет команду 0x10, при подключении к Slave0x03.

Назначение входов и выходов ModbusRegsOut
ЭлементОписание
Входы
enb

Разрешение работы (при подключении к Modbus Master)

slv

Адрес ведомого устройства, на который записывают данные

adr0

Адрес, с которого начинается запись

in

Входы записи данных (циклический)

Выходы
bo

Связь c блоком Modbus Master/Modbus Slave

st

Статус работы (при подключении к Modbus Master):

0 – нет связи;

1 – есть связь, ошибок нет;

>1 – есть связь, код ошибки в старшем байте

Для инициализации следует подключить выход bo к входу блока Master или Slave и задать верный адрес устройства.

Graphic
Блок

Команда записи вещественного числа 0x10 (ModbusFltOut)

Блок ModbusFltOut отправляет команды Modbus на запись вещественных чисел в регистры хранения (Holding Registers). Каждое число занимает два регистра.

При подключении к блоку Master блок ModbusFltOut выполняет команду 0x10, при подключении к блоку Slave0x03.

Назначение входов и выходов
ЭлементОписание
Входы
enb

Разрешение работы (при подключении к Modbus Master)

slv

Адрес ведомого устройства, на который записывают данные

adr0

Адрес, с которого начинается запись

ord_w

Порядок слов в числе – прямой/обратный (0/1)

ord_b

Порядок байт в числе – прямой/обратный (0/1)

in

Входы записи данных (циклический)

Выходы
bo

Связь c блоком Modbus Master/Modbus Slave

st

Статус работы (при подключении к Modbus Master):

0 – нет связи;

1 – есть связь, ошибок нет;

>1 – есть связь, код ошибки в старшем байте

Порядок слов и байт
ord_word_b

Порядок байт

0

0

AB CD

0

1

BA DC

1

0

CD AB

1

1

DC BA

Для инициализации следует подключить выход bo к входу блока Master или Slave и задать верный адрес устройства.

Graphic
Блок ModbusFltOut

Буфер чтения/записи уставок с плавающей точкой (BufSupFltEx)

Блок BufSupFltEx представляет собой двунаправленный буфер данных интерфейса. Блок сохраняет данные в бинарном файле на диске контроллера (так же, как блок SaverEx из библиотеки paCore).

Отличие блока BufSupFltEx от блока BufSupEx из библиотеки paCore заключается в том, что он позволяет записывать по протоколу Modbus уставки в формате с плавающей точкой. Пример работы с блоком приведен в разделе.

Поскольку операции файлового ввода/вывода занимают значительное время, данный блок следует размещать только в Фоне.

Назначение входов и выходов BufSupFlt
ЭлементОписание
Входы
inter

Cвязь от интерфейса, к которому принадлежит данный буфер

group

Номер группы (константный)

fnm

Абсолютный путь и имя файла (может быть пустым – задается автоматически), расширение игнорируется. При сохранении данных на внешнем накопителе следует использовать путь, указанный на выходе блока 210-SD-USB из библиотеки paOwenIO (константный)

mask

Не используется

rst

Сброс ошибок записи

wr

Запись на диск

Циклические входы
danЗначение, которое записывается в буфер при czap = 1
czap

Запись значения dan

typ

Тип параметра: AI, AO – вещественное значение (константный)

adr

Адрес параметра (константный)

ini

Значение для инициализации (константный)

min

Минимум, если принятое значение меньше min, то оно игнорируется

max

Максимум, если принятое значение больше max, то оно игнорируется

Выходы
pkt

Подключение к блокам OpcUAClient, UABufSups из библиотеки paOpcUA

next

Имя следующего файла

enb

Запись разрешена

sts

Статус:

0 – после сброса;

1 – записан;

2 – прочитан;

<0 – ошибка

good

Количество удачных записей

bad

Количество ошибок записи

rej

Количество отклоненных записей

Циклические выходы
dan

Значение параметра, полученное по интерфейсу или на вход dan (после проверки на min и max)

chn

Признак изменения, выставляется в 1 на один цикл выполнения программы, если значение dan изменилось

zap

Признак записи, выставляется в 1 на один цикл выполнения программы, если значение с входа dan было записано

Номер группы group используется в качестве Slave ID при подключении к блоку интерфейса Modbus Slave.

Имя файла и путь к нему задается на входе fnm. Имя может быть пустым, тогда имя файла будет выбрано автоматически по индексу блока и файл сохраняется в рабочую директорию контроллера.

Адрес переменной adr зависит от интерфейса, к которому подключен буфер, например, адрес регистра Modbus.

Если файл существует на диске, выходы инициализируются сохраненными значениями. Если файла не существует – выходы инициализируются значениями инициализации ini.

Запись в файл производится при изменении значений на входах dan или по интерфейсу. Если файла на диске не существует и выходы dan приняли значения ini, то можно записать их на диск принудительно с помощью команды wr.

Для сохранности данных одновременно на диске находятся два файла, соответствующие одному архиву. Если контроллер будет перезагружен в момент записи на диск, данные не пропадут, а будут доступны предыдущие значения переменных, записанные в другом файле. При чтении содержимое файла контролируется с помощью контрольной суммы, и только при ее корректности выдается на выходы (поэтому, например, при добавлении новой переменной, значения, записанные в файл, сбросятся на значения ini).

Если при записи файла на диск происходит однократная ошибка, блок пытается переименовать текущий файл и снова произвести запись. Если повторная запись оказывается удачной, то продолжается работа в обычном режиме, а выход bad инкрементируется. Необходимо принять меры по диагностике или замене носителя, поскольку сбои при записи могут быть следствием скорого выхода его из строя.

Файл, на котором произошел сбой, остается на диске под тем же именем с добавленным к нему суффиксом, равным метке времени сбоя (в мс от 1 января 1970 г). Удалять его не следует, чтобы повторно не использовать потенциально сбойный сектор. Если происходит повторный сбой записи, то блок блокируется (выход enb = 0) и больше не производит попыток переименований файлов и записи до тех пор, пока ошибки не будут сброшены фронтом на входе rst.

Внимание
При изменении числа входов блока BufSupFltEx файлы на диске перезаписываются.
Graphic
Буфер чтения/записи уставок с плавающей точкой (BufSupFlt

Диагностика и управление обменом

Практически у каждого блока, который используют для обмена по протоколу Modbus, есть выход статуса работы для диагностики обмена.

Статусы блоков обмена по протоколу Modbus RTU

Блок

Имя переменной

Значение

Описание

Функциональные блоки настройки COM-портов

Порт RS-485

stat

<0

Ошибка

1

Корректная работа

Порт RS-232

stat

<0

Ошибка

1

Корректная работа

Modbus RTU

Modbus RTU Master

sts

0

Корректная работа

1

Slave не отвечает

2

Неверная контрольная сумма

Modbus RTU Slave

sts

-

Не используется

Статусы блоков обмена по протоколу Modbus TCP

Блок

Имя переменной

Значение

Описание

Функциональные блоки настройки TCP-соединений

TcpIpSrA

stat

0

Есть подключения

>0

Нет подключений

TcpIpClA

stat

0

Есть связь с TCP/IP-сервером

>0

Нет связи с TCP/IP-сервером

Modbus TCP

Modbus TCP Master

sts

0

Есть связь с TCP/IP-сервером

>0

Нет связи или Slave не отвечает

Modbus TCP Slave

sts

0

Есть связь с Master

>0

Нет связи или нет запросов от Master

Статусы блоков чтения/записи при подключении к Modbus RTU/TCP Master

Блок

Имя переменной

Значение

Описание

Команды чтения

ModbusCoilIn

st

0

Нет связи

1

Есть связь, нет ошибок

>1

Есть связь, код ошибки в старшем байте

ModbusDInputIn

st

0

Нет связи

1

Есть связь, нет ошибок

>1

Есть связь, код ошибки в старшем байте

ModbusRegIn

st

0

Нет связи

1

Есть связь, нет ошибок

>1

Есть связь, код ошибки в старшем байте

ModbusAInputIn

st

0

Нет связи

1

Есть связь, нет ошибок

>1

Есть связь, код ошибки в старшем байте

ModbusFltIn

st

0

Нет связи

1

Есть связь, нет ошибок

>1

Есть связь, код ошибки в старшем байте

OwenFltIn

st

0

Нет связи

1

Есть связь, нет ошибок

>1

Есть связь, код ошибки в старшем байте

Команды записи

ModbusCoilOut

st

0

Нет связи

1

Есть связь, нет ошибок

>1

Есть связь, код ошибки в старшем байте

ModbusRegOut

st

0

Нет связи

1

Есть связь, нет ошибок

>1

Есть связь, код ошибки в старшем байте

ModbusCoilsOut

st

0

Нет связи

1

Есть связь, нет ошибок

>1

Есть связь, код ошибки в старшем байте

ModbusRegsOut

st

0

Нет связи

1

Есть связь, нет ошибок

>1

Есть связь, код ошибки в старшем байте

ModbusFltOut

st

0

Нет связи

1

Есть связь, нет ошибок

>1

Есть связь, код ошибки в старшем байте

Блоки Modbus RTU Slave, Modbus TCP Slave, Modbus RTU Master и Modbus TCP Master имеют вход enbl для разрешения работы блока. Если задать на входе значение:

  • 1, то блок реализует протокол обмена;

  • 0 – блок не работает, в выходе статуса sts устанавливается 0.

Блоки чтения/записи имеют входы enb для разрешения работы блоков. Вход enb не используется при подключении к блокам Modbus RTU/TCP Slave. Если задать на входе значение:

  • 1, то блок читает/записывает регистры подключенного устройства;

  • 0 – блок не работает, в выходе статуса st при этом устанавливается 0.