Настройка обмена с другими устройствами

Поддерживаемые протоколы

Панели СП210 поддерживают следующие протоколы обмена с другими устройствами:

Протоколы обмена, поддерживаемые панелями СП210 по COM-порту

Протокол

Режим

Комментарий

Modbus RTU

Master/Slave

 

Modbus ASCII

Master

 

Пользовательский протокол

Master/Slave

Пользовательский протокол обмена реализуется с помощью макросов

Mitsubishi

Master

Поддерживаются линейки:

  • FX (FX0, FX1, FX1S/3S, FX0N/1N/2N, FX3SA-14MR-CM, FX2);

  • FX3 (FX3U, FX3G FX3GA);

  • FX5U;

  • Q/L;

  • Q02H (Q02, Q02H, L02).

Для линеек FX, FX3, FX5 поддерживается только режим контроля четности EVEN

Протоколы обмена, поддерживаемые панелями СП210 расширенных модификаций по интерфейсу Ethernet

Протокол

Режим

Комментарий

Modbus TCP

Master/Slave

 

CODESYS Symbolic

Client

 

OPC UA

Client/Server

 В режиме Client поддерживается только подключение к контроллерам, программируемым в среде CODESYS V3.5

Siemens

Master

Поддерживаются модели:

  • S7-200 smart;

  • S7-300;

  • S7-1200, S-1500;

  • Logo.

Драйвер Logo использует протокол Modbus и позволяет обращаться напрямую к областям памяти контроллеров (I, Q, M и т. д.). Остальные драйвера используют специфичные для Siemens способы обмена (например, PUT/GET для S7-1200 и S7-1500)

Mitsubishi

Master

Поддерживаются линейки:

  • Q/L;

  • FX5U (протокол SLMP).

Delta

Master

Поддерживаются модели AS228T/P/R-A и AS218TX/PX/RX-A. Драйвер использует протокол Modbus и позволяет обращаться напрямую к областям памяти контроллеров (X, Y, D и т. д.)

OMRON

Master

Драйвер протокола FINS

Beckhoff ADS

Master

 

MQTT

Client

 

Общий принцип настройки обмена

В рамках обмена c другими устройствами панель может функционировать в двух режимах:

  • master (client) – в этом режиме панель является инициатором обмена, отправляя запросы на чтение и запись данных другим устройствам;

  • slave (server) – в этом режиме панель обрабатывает запросы, полученные от других устройств.

Панели базовой модификации (-Б) имеют только один коммуникационный интерфейс – COM-порт. Панели расширенной модификации (-Р) имеют два COM-порта (кроме СП210-05-Р) и интерфейс Ethernet.

Для каждого COM-порта может использоваться:

  • только один протокол обмена;

  • только один режим работы (master или slave);

  • только одно сочетание сетевых настроек (скорости, режима контроля чётности и т. д.).

У панели СП210-05-Р интерфейс RS-485/RS-232 обозначается как COM2. У остальных панелей интерфейс RS-485/RS-232 (1) обозначается как COM1, и интерфейс RS-485/RS-232 (2) как COM2.

Примечание
У панелей базовой модификации (-Б) интерфейс RS-232 обозначается как COM1, а интерфейс RS-485 – как COM2.

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

Общий принцип настройки обмена:

  • в меню Файл – Настройки проекта – Устройства отображаются все интерфейсы панели;

    Graphic
    Настройки проекта, вкладка Устройства
  • для каждого интерфейса могут быть добавлены опрашиваемые slave-устройства (если панель работает в режиме Master/Client) или выбрана работа в режиме Slave/Server;

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

  • в настройках графических элементов указываются адреса битов/регистров опрашиваемых устройств (для режима Master/Client) или самой панели (для режима Slave/Server).

Особенности:

  • настройка протокола MQTT выполняется в меню Инструменты – VNC и MQTT;

  • настройка обмена со сканером штрих кодов выполняется в меню Файл – Настройки проекта – Сканер штрихкодов;
  • реализация пользовательского протокола выполняется с помощью макросов;

  • обмен по протоколу Modbus может быть реализован с помощью макросов;

  • в макросах поддерживается доступ к переменным, опрос которых организован по протоколам CODESYS Symbolic и OPC UA.

Настройка обмена по протоколу Modbus

Modbus RTU/ASCII Master

В пределах COM-порта может быть добавлено до 32 компонентов Modbus RTU Master или Modbus ASCII Master. Каждый компонент соответствует одному опрашиваемому slave-устройству. У всех устройств должны совпадать настройки COM-порта: скорость обмена, контроль четности, количество бит данных и количество стоп бит. Название и адрес каждого устройства должны быть уникальными.

В таблице ниже описаны настройки компонентов Modbus RTU Master и Modbus ASCII Master.

Настройка компонентов Modbus RTU Master и Modbus ASCII Master

Параметр

Описание

Основные настройки

Graphic
Основные настройки опроса slave-устройства в режиме Modbus RTU Master

Название

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

Интерфейс

Данная настройка носит информационный характер. Фактически панель отправляет настроенные запросы сразу по обоим интерфейсам COM-порта – и по RS-485, и по RS-232

Скорость обмена

Возможные значения: 4800/9600/19200/38400/57600/115200

Контроль четности

Возможные значения:

  • None – проверка четности не выполняется;

  • Even – проверка на четность;

  • Odd – проверка на нечетность.

Кол-во бит данных

Для протокола Modbus RTU должно использоваться значение 8, для протокола Modbus ASCII – 7

Кол-во стоп-бит

Возможные значения: 1 или 2

Адрес устройства

Адрес опрашиваемого устройства. Значение 0 соответствует адресу широковещательного запроса

Таймаут ответа

Время ожидания ответа от slave-устройства в мс (не более 32767). Значение 0 соответствует минимально возможному времени ожидания

Кол-во попыток

Общее количество попыток отправки запроса в том случае, если на него не был получен ответ от slave-устройства. После указанного количества попыток происходит отправка следующего запроса

Задержка опроса

Задержка между получением ответа от slave-устройства и отправкой следующего запроса в мс (не более 32767; 0 – задержка отсутствует). Соответствует параметру turnaround delay из спецификации протокола Modbus

Интервал конца пакета

Интервал отсутствия новых байт, по которому определяется факт получения полного пакета данных в мс (не более 32767; 0 – используется значение из спецификации протокола Modbus). Соответствует параметру inter-frame delay из спецификации протокола Modbus. Используется только для Modbus RTU, для Modbus ASCII конец пакета определяется по стоп-символам

Макс. кол-во регистров в запросе чтения

Максимальное количество регистров в групповом запросе чтения. Применительно к битам это значение домножается на 16

Пример: значение 120 означает, что за один запрос может быть считано не более 120 регистров или не более 1920 бит

Макс. кол-во регистров в запросе записи

Максимальное количество регистров в групповом запросе записи.

Применительно к битам это значение домножается на 16

Пример: значение 120 означает, что за один запрос может быть записано не более 120 регистров или не более 1920 бит

Дополнительные настройки

Graphic
Дополнительные настройки опроса slave-устройства в режиме Modbus RTU Master

Код функции для записи одного регистра

Код функции Modbus, используемой для записи значения, занимающего один регистр (типа Word):

Да (0x10) – Write Multiple Registers;

Нет (0x06) – Write Single Register.

Влияет на все варианты опроса (через элементы, через функциональную область/функциональную кнопку и через макросы)

Проверка CRC

В случае установки значения Вкл. драйвер Modbus выполняет проверку контрольной суммы в полученных пакетах. Значение настройки Порядок байт в CRC определяет порядок байт в запросах панели

Порядок байт в CRC

Данный параметр обрабатывается только в том случае, если параметр Проверка CRC имеет значение Вкл., и определяет порядок байт в контрольной сумме:

  • По спецификации – младшим байтом вперед;

  • Инвертированный – старшим байтом вперед.

Порядок байт/регистров

Порядок байт и регистров для числовых и строковых типов данных. Влияет только на опрос через элементы

Примечание

После получения ответа от slave‑устройства панель формирует следующий запрос с учётом параметра Задержка опроса. Задержка необходима для перехода COM‑порта slave‑устройства из режима передачи в режим приёма. Значение параметра подбирается опытным путём.

Примечание

В Modbus RTU окончание пакета определяется по интервалу отсутствия новых байт, заданному в спецификации.

Однако некоторые slave‑устройства могут делать более длинные паузы между байтами. Для корректного обмена с такими устройствами используется параметр Интервал конца пакета. Его значение подбирается опытным путём.

Примечание

В спецификации Modbus указано, что порядок байт в контрольной сумме – младшим байтом вперед. Некоторые slave-устройства могут отступать от спецификации, и для корректного обмена с ними используются параметры Проверка CRC и Порядок байт в CRC.

Примечание

Спецификация Modbus не определяет порядок регистров при передаче параметров; порядок байт стандартизирован (старшим байтом вперед), но некоторые slave-устройства могут отступать от спецификации. Для корректной интерпретации данных, считываемых или записываемых в такие устройства, используются настройки группы Порядок байт/регистров.

Modbus TCP Master

В пределах интерфейса Ethernet может быть добавлено до 50 компонентов c различными протоколами, каждый из которых соответствует одному опрашиваемому slave-устройству.

В таблице ниже описаны настройки компонента Modbus TCP Master. Отсутствующие в таблице параметры унаследованы от компонента Modbus RTU Master и не используются.

Настройка компонента Modbus TCP Master

Параметр

Описание

Основные настройки

Graphic
Основные настройки опроса slave-устройства в режиме Modbus TCP Master

Название

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

IP-адрес

IP-адрес slave-устройства

Порт

TCP-порт slave-устройства

Адрес устройства

Адрес (Unit ID) опрашиваемого устройства. Обычно используется только при опросе приборов, подключенных через шлюз Modbus TCP/Modbus RTU. Некоторые slave-устройства не обрабатывают значение этого параметра, а некоторые требуют, чтобы он имел конкретное значение (например, 255, 0, 1 или другое)

Таймаут ответа

Время ожидания ответа от slave-устройства в мс (не более 32767). Значение 0 соответствует минимально возможному времени ожидания

Кол-во попыток

Общее количество попыток отправки запроса в том случае, если на него не был получен ответ от slave-устройства. После указанного количества попыток происходит отправка следующего запроса

Задержка опроса

Задержка между получением ответа от slave-устройства и отправкой следующего запроса в мс (не более 32767; 0 – задержка отсутствует). Соответствует параметру turnaround delay из спецификации протокола Modbus

Макс. кол-во регистров в запросе чтения

Максимальное количество регистров в групповом запросе чтения. Применительно к битам это значение умножается на 16

Пример: значение 120 означает, что за один запрос может быть считано не более 120 регистров или не более 1920 бит

Макс. кол-во регистров в запросе записи

Максимальное количество регистров в групповом запросе записи.

Применительно к битам это значение умножается на 16

Пример: значение 120 означает, что за один запрос может быть записано не более 120 регистров или не более 1920 бит

Экспорт статуса связи

В случае установки галочки указывается адрес первого из 4 регистров, используемых для диагностики связи с данным slave-устройством. Например, для PSW100:

  • PSW100 – кол-во запросов, на которые был получен корректный ответ;

  • PSW101 – общее кол-во ошибок обмена;

  • PSW102 – кол-во запросов, на которые не был получен ответ;

  • PSW103 – кол-во запросов, на которые был получен ответ с кодом ошибки Modbus

Управление опросом

В случае установки галочки указывается адрес бита, который будет использоваться для управления опросом данного slave-устройства:

  • TRUE – отключить опрос;

  • FALSE – возобновить опрос

Дополнительные настройки

Код функции для записи одного регистра

Код функции Modbus, используемой для записи значения, занимающего один регистр (типа Word):

0x10 – Write Multiple Registers;

0x06 – Write Single Register.

Влияет на все варианты опроса (через элементы, через функциональную область/функциональную кнопку и через макросы)

Порядок байт/регистров

Порядок байт и регистров для числовых и строковых типов данных. Влияет только на опрос через элементы

Modbus Master – способы настройки обмена

Для панели, работающей в режиме Modbus Master, предусмотрено три способа настройки обмена:

  1. Опрос через элементы

  2. Опрос через функциональную область (действие Копирование данных)

  3. Опрос через функциональную область (действие Вызов макроса)

Способы настройки обмена в режиме Modbus Master

 

Элементы

Копирование данных

Макросы

Сложность настройки

очень низкая

низкая

средняя

Установка периода опроса

отсутствует

имеется

имеется

Настройка количества бит/регистров в групповом запросе

отсутствует

имеется

имеется

Управление опросом

только на уровне всего устройства

на уровне отдельных запросов

на уровне отдельных запросов

Настройка порядка байт/регистров

через меню Дополнительные настройки

вручную

вручную

 

1. Опрос через элементы

В настройках любого динамизируемого параметра графического элемента можно указать slave-устройство и идентификатор области памяти Modbus.

Graphic
Цифровой ввод

Если этот параметр используется только для отображения (например, бит элемента Индикатор), то он формирует запрос циклический запрос чтения.

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

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

Примечание
Если в настройках slave-устройства указан адрес 0 (широковещательный адрес), то данное устройство может быть выбрано только в элементах, не формирующих запросы чтения (например, в элементе Переключатель).
Области памяти Modbus

ID области памяти Modbus

Функция, используемая в запросе чтения

Функция, используемая в запросе записи

0x

0x01 (Read Coils)

0x05 (Write Single Coil)

1x

0x02 (Read Discrete Inputs)

-

3x

0x04 (Read Input Registers)

-

4x

0x03 (Read Holding Registers)

0x06 (Write Single Register)

0x10 (Write Multiple Registers)

Для параметров, занимающих один регистра (типа Word), используемая функция зависит от настройки устройства Код функции для записи одного регистра

Для «битовых» элементов (Индикатор, Переключатель и т. д.) поддерживается привязка бита регистра (в стиле 4xR.B и 3xR.B, где R – адрес регистра, B – номер его бита).

В случае чтения элемент формирует запрос на чтение регистра и извлекает из него указанный бит.

В случае записи элемент считывает значение регистра, меняет в нем значение указанного бита и записывает его обратно.

Запросы на чтение отправляются циклически.

Период их отправки зависит от «нагруженности» экрана панели. Для «пустого» проекта с элементом, формирующим запрос на чтение одного регистра, период отправки по протоколу Modbus RTU/ASCII составляет 50 мс, по протоколу Modbus TCP – 15 мс. Запросы формируются только в том случае, если в данный момент на дисплее панели открыт экран, на котором размещен данный элемент (независимо от видимости/невидимости данного элемента). Запросы, настроенные в меню Настройка тревог и Выборка данных, отправляются независимо от открытого экрана.

Запросы на запись отправляются однократно в момент изменения значения.

Панель оптимизирует операции чтения, объединяя их в групповые запросы. Если разница между адресами «соседних» регистров не превышает 5, то они будут объединены в групповой запрос.

Например, если к элементам привязаны адреса 4x0, 4x5 и 4x10 – то панель сформирует один групповой запрос на чтение 11 регистров, начиная с адреса 0. Если к элементам привязаны адреса 4x0, 4x6 и 4x12, то панель сформирует 3 отдельных запроса. Максимальное количество считываемых регистров в одном запросе ограничено значением параметра Макс. кол-во регистров в запросе чтения (не более 120). Применительно к битам значение этого параметра умножается на 16.

Если разница между адресами «соседних» бит не превышает 65, то они будут объединены в групповой запрос.

Если к элементам привязаны адреса 0x0, 0x65 и 0x130, то панель сформирует один групповой запрос на чтение 131 бита, начиная с адреса 0. Если к элементам привязаны адреса 0x0, 0x66 и 0x132, то панель сформирует 3 отдельных запроса.

В некоторых случаях автоматическое формирование групповых запросов является неудобным, потому что в их состав могут войти адреса регистров, которые отсутствуют в slave-устройстве. В ответ на такой запрос будет отправлен ответ с кодом ошибки 0x02 (ILLEGAL DATA ADDRESS). Если регистр элемента не должен включаться в состав группового запроса, то в его настройках нужно установить галочку Дин. адр. и указать адрес регистра, который не используется в проекте панели (т. е. регистра, значение которого всегда равно 0). В этом случае для чтения данного параметра будет формироваться отдельный Modbus-запрос, который будет отправляться два раза подряд.

Некоторые графические элементы формируют Modbus-запросы особым образом – например, значения, отображаемые в Таблице данных, считываются несколькими запросами, в рамках каждого из которых считывается не более 16 регистров.

Опрос через элементы имеет следующие ограничения:

  • нельзя настроить период опроса;

  • нельзя настроить циклическую запись данных;

  • отсутствует возможность детальной настройки групповых запросов;

  • отсутствует возможность использовать считанные данные в проекте панели. В ряде случаев требуется обработать считанные данные в макросе или сделать их доступными для master-устройства, подключённого к другому интерфейсу панели (например, панель в режиме Modbus RTU Master опрашивает модули ввода-вывода, и должна предоставить доступ к этим данным контроллеру, для которого она работает в режиме Modbus TCP Slave).

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

2. Опрос через функциональную область (действие Копирование данных)

В элементе Функциональная область можно настроить действие Копирование данных, которое обеспечивает копирование заданного количества битов/регистров с адреса источника по адресу назначения.

Варианты настройки копирования данных
Адрес источникаАдрес назначенияВыполняемая операция
Биты/регистры slave-устройстваБиты/регистры панелиЧтение битов/регистров slave-устройств
Биты/регистры панелиБиты/регистры slave-устройстваЗапись битов/регистров slave-устройства
Биты/регистры первого slave-устройстваБиты/регистры второго slave-устройстваЧтение битов/регистров первого slave-устройства и их запись в биты/регистры второго slave-устройства
Биты/регистры панелиБиты/регистры панелиКопирование значений из одних регистров панели в другие, без выполнения Modbus-запросов
Graphic
Настройки действия Копирование данных

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

Graphic
Функциональная область

Минимально возможный период опроса (на примере «пустого» проекта с одним Modbus-запросом на чтение одного регистра):

  • для режима запуска Циклически – 200 мс (Modbus RTU, Modbus ASCII) / 150 мс (Modbus TCP);

  • для режима запуска Непрерывно – 100 мс (Modbus RTU, Modbus ASCII) / 50 мс (Modbus TCP).

С помощью бита управления можно останавливать/возобновлять отправку настроенных в функциональной области запросов. Допустимо использование и других режимов запуска – в этом случае Modbus-запрос будет однократно отправлен при наступлении заданного события (например, при переходе на данный экран).

Максимальное количество считываемых/записывемых регистров в одном запросе ограничено значениями параметров Макс. кол-во регистров в запросе чтения и Макс. кол-во регистров в запросе записи (не более 120). Применительно к битам значение этих параметров умножается на 16.

Действие Копирование данных может быть настроено в элементе Функциональная кнопка. В этом случае Modbus-запрос будет однократно отправлен при нажатии или отпускании кнопки.

3. Опрос через функциональную область (действие Вызов макроса)

В элементе Функциональная область можно настроить действие Вызов макроса. В рамках макроса можно использовать следующие коммуникационные функции для обмена по протоколу Modbus:

  • Read – чтение одного параметра произвольного типа;

  • Reads – чтение одного или нескольких параметров произвольного типа;

  • Write – запись одного параметра произвольного типа;

  • Writes – запись одного или нескольких параметров произвольного типа;

  • WriteF – запись одного параметра типа Float или Double.

Одним из аргументов функции является область памяти Modbus, на основании которой определяется код функции, используемой в запросе (см. таблицу).

Вся остальная информация, приведённая в описании действия Копирование данных, актуальна и для обмена через макросы.

Modbus RTU Slave

В пределах COM-порта может быть добавлен только один компонент Modbus RTU Slave, который будет «прослушивать» оба интерфейса этого порта – и RS-485, и RS-232. Панель поддерживает получение широковещательных запросов (отправленных на адрес 0).

Поддерживаются групповые запросы чтения и записи – до 120 регистров / 1920 бит в одном запросе.

В таблице ниже описаны настройки компонента Modbus RTU Slave. Отсутствующие в таблице параметры унаследованы от компонента Modbus RTU Master и не используются.

Описание адресации битов и регистров панели в режиме Slave приведено в разделе.

Настройка компонента Modbus RTU Slave

Параметр

Описание

Основные настройки

Graphic
Настройки панели в режиме Modbus RTU Slave

Название

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

Интерфейс

Данная настройка носит информационный характер. Фактически панель будет «прослушивать» оба интерфейса COM-порта – и RS-485, и RS-232

Скорость обмена

Возможные значения: 4800/9600/19200/38400/57600/115200

Контроль четности

Возможные значения:

  • None – проверка четности не выполняется;

  • Even – проверка на четность;

  • Odd – проверка на нечетность.

Кол-во бит данных

Поддерживается только значение 8

Кол-во стоп-бит

Возможные значения: 1 или 2

Задержка опроса

Задержка между получением запроса от master-устройства и отправкой ответа в мс (не более 32767; 0 – задержка отсутствует).  

Задержка позволяет master-устройству успеть переключить свой COM-порт из режима передачи в режим приема

Адрес

Адрес панели в сети Modbus RTU

Дополнительные настройки

Проверка CRC

В случае установки значения Вкл. драйвер Modbus выполняет проверку контрольной суммы в полученных пакетах. Значение настройки Порядок байт в CRC определяет ожидаемый порядок байт в запросах master-устройства

Порядок байт в CRC

Данный параметр определяет порядок байт в контрольной сумме, который панель ожидает в запросе и который использует в ответе, отправляемому master-устройству:

  • По спецификации – младшим байтом вперед;

  • Инвертированный – старшим байтом вперед.

Значение Инвертированный следует использовать в том случае, если порядок байт контрольной суммы, которое ожидает в ответе master-устройство, отличается от спецификации Modbus

Modbus TCP Slave

В пределах интерфейса Ethernet может быть добавлен компонент Modbus TCP Slave. Панель может одновременно работать в режиме Modbus TCP Master и Modbus TCP Slave, при этом для обоих режимов может использоваться один и тот же номер порта.

Рекомендуемое одновременное количество подключений – не более 64. Фактическое общее количество одновременных подключений ограничено максимальным числом дескрипторов, используемых процессом операционной системы (1024; из них около 40 используется приложением панели).

Поддерживаются групповые запросы чтения и записи – до 120 регистров / 1920 бит в одном запросе.

В таблице ниже описаны настройки компонента Modbus TCP Slave. Отсутствующие в таблице параметры унаследованы от других Modbus-драйверов и не используются.

Настройки компонента Modbus TCP Slave

Параметр

Описание

Основные настройки

Graphic
Настройки панели в режиме Modbus TCP Slave

Название

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

IP-адрес

Значение параметра не используется

Порт

TCP-порт панели, используемый для работы в режиме Modbus TCP Slave

Дополнительные настройки

Адрес устройства

Адрес (Unit ID) панели. Панель отвечает только на запросы с данным Unit ID

Modbus Slave – адресация регистров панели

Если панель работает в режиме Modbus Slave, то для её памяти используется следующая модель адресации:

Адресация памяти панели в режиме Modbus Slave

Область памяти панели

Область памяти Modbus

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

PSB0…9999

Coils 0…9999

0x01 (Read Coils)

0x05 (Write Single Coil)

0x0F (Write Multiple Coils)

PSW0…9999

Holding registers 0…9999

0x03 (Read Holding Registers)

0x06 (Write Single Register)

0x10 (Write Multiple Registers)

PFW0…55535

Holding registers 10000…65535

Прямой доступ по Modbus к системным битам и регистрам панели (области SPSB, SPSW, SPFW) не поддерживается, но он может быть осуществлен косвенно, путём копирования данных через «пользовательские» области памяти (PSB, PSW, PFW) с помощью элемента Функциональная область.

Пользовательский протокол

Режим Пользовательский протокол доступен только для COM-порта и используется для работы по пользовательскому (нестандартному) протоколу обмена. Реализация протокола выполняется в макросе с помощью функций COMSend (отправка данных в COM-порт) и COMReceive (получение данных из COM-порта). См. примеры в пункте.

В компоненте указываются сетевые настройки интерфейса (см. таблицу).

Символьный протокол CODESYS V3

Символьный протокол CODESYS V3 (PLC Handler) используется для обмена с контроллерами, программируемыми в среде CODESYS V3.5. Поддерживается только подключение без использования логина/пароля.

В пределах интерфейса Ethernet может быть добавлено до 50 компонентов c различными протоколами, каждый из которых соответствует одному опрашиваемому устройству.

Graphic
Настройки обмена по символьному протоколу CODESYS V3

В таблице ниже описаны настройки компонента CODESYS V3 (PLC Handler). Отсутствующие в таблице параметры не используются драйвером протокола.

Настройка компонента CODESYS V3 (PLC Handler)

Параметр

Описание

Название

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

IP-адрес

IP-адрес опрашиваемого ПЛК

Порт

Номер порта опрашиваемого ПЛК. В большинстве случаев используется значение по умолчанию – 11740

Протокол

TCP (обеспечивает гарантию доставки пакетов) или UDP (обеспечивает более высокую скорость обмена)

Режим работы

Возможные значения:

  • Обычный – используется один коммуникационный канал, приоритет запросов чтения выше запросов записи;

  • Приоритет команд записи – используется один коммуникационный канал, приоритет запросов записи выше запросов чтения;

  • Двухканальный – используются два коммуникационных канала (для чтения и для записи).

Количество доступных коммуникационных каналов ПЛК определяется параметром MaxChannels компонента CmpChannelServer. В большинстве случаев этот параметр по умолчанию имеет значение 4. При этом подключение к ПЛК из среды CODESYS использует один из коммуникационных каналов. Более подробная информация об этом параметре применительно к контроллерам ОВЕН доступна в документе CODESYS V3.5. Настройка обмена с верхним уровнем

Таймаут ответа

Время ожидания ответа от ПЛК в мс (не более 32767). Значение 0 соответствует минимально возможному времени ожидания

Экспорт статуса связи

В случае установки галочки указывается адрес первого из 4 регистров, используемых для диагностики связи с данным ПЛК. Например, для PSW100:

  • PSW100 – кол-во запросов, на которые был получен корректный ответ;

  • PSW101 – общее кол-во ошибок обмена;

  • PSW102 – кол-во запросов, на которые не был получен ответ;

  • PSW103 – кол-во запросов, на которые был получен ответ с кодом ошибки.

Управление опросом

В случае установки галочки указывается адрес бита, который будет использоваться для управления опросом данного ПЛК:

  • TRUE – отключить опрос;

  • FALSE – возобновить опрос.

В проекте CODESYS следует:

  • добавить компонент Символьная конфигурация;

  • выделить в нём галочками нужные переменные (см. ниже информацию о поддерживаемых типах), которые должны быть доступны в проекте панели и определить тип доступа (только чтение, только запись, чтение и запись);

  • сохранить файл проекта и выполнить команду Компиляция;

  • в результате в директории сохранения проекта будет создан файл формата .xml.

Этот файл необходимо импортировать в конфигуратор с помощью кнопки Импорт меток. Импортированные переменные:

Graphic
Кнопка импорта меток
Поддерживаемые типы данных

Тип данных CODESYS

Примечание

BOOL

 

SINT, INT, DINT, LINT

Отдельные биты переменных могут быть привязаны к «битовым» элементам (Индикатор, Переключатель и т. д.) и параметрам (бит видимости, бит управления и т. д.)

USINT, UINT, UDINT, ULINT

BYTE, WORD, DWORD, LWORD

REAL, LREAL

 

DATE, TIME, DT, TOD

Отображаются в виде форматированных строк с IEС-нотацией без префиксов типов:

  • DATE: 2026-01-01;

  • TIME: 49d17h2m47s295ms;

  • DT: 2026-01-01-11:25:00;

  • TOD: 23:59:59.999

STRING

Поддерживается только кодировка ASCII

WSTRING

Не могут быть привязаны к элементам, доступны только в макросах

Массивы

Поддерживаются одно-, двух- и трехмерные массивы

Структуры и функциональные блоки

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

OPC UA Client

В режиме OPC UA Client панель поддерживает только обмен с контроллерами, программируемыми в среде CODESYS V3.5 и способными работать в режиме OPC UA Server. Поддерживается только анонимное подключение без аутентификации и шифрования.

В пределах интерфейса Ethernet может быть добавлено до 50 компонентов c различными протоколами, каждый из которых соответствует одному опрашиваемому устройству.

Graphic
Настройки обмена в режиме OPC UA Client

В таблице ниже описаны настройки компонента OPC UA Client. Отсутствующие в таблице параметры не используются драйвером протокола.

Настройка компонента OPC UA Client

Параметр

Описание

Название

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

IP-адрес

IP-адрес опрашиваемого устройства

Порт

TCP-порт опрашиваемого устройства

Таймаут ответа

Время ожидания ответа от ПЛК в мс (не более 32767). Значение 0 соответствует минимально возможному времени ожидания

Экспорт статуса связи

В случае установки галочки указывается адрес первого из 4 регистров, используемых для диагностики связи с данным ПЛК. Например, для PSW100:

  • PSW100 – кол-во запросов, на которые был получен корректный ответ;

  • PSW101 – общее кол-во ошибок обмена;

  • PSW102 – кол-во запросов, на которые не был получен ответ;

  • PSW103 – кол-во запросов, на которые был получен ответ с кодом ошибки.

Управление опросом

В случае установки галочки указывается адрес бита, который будет использоваться для управления опросом данного ПЛК:

  • TRUE – отключить опрос;

  • FALSE – возобновить опрос.

Принцип настройки обмена и поддерживаемые типы данных совпадают с символьном протоколом CODESYS (с тем уточнением, что в настройках компонента Символьная конфигурация должна быть установлена галочка Поддержка OPC UA).

OPC UA Server

В рамках интерфейса Ethernet может быть добавлен только один компонент OPC UA Server.

В таблице ниже описаны настройки этого компонента.

Настройка компонента OPC UA Server

Параметр

Описание

Основные настройки

Graphic
Настройки обмена в режиме OPC UA Server

Имя сервера

Информационный параметр, не обрабатывается

Адрес сервера

Адрес сервера, который должен быть указан в устройстве-клиенте

Номер порта

Номер порта панели, используемый в режиме OPC UA Server

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

В случае установки галочки появляется возможность указать адреса регистров, в которые будут записаны статус соединения и код ошибки, а также адрес регистра, который будет использоваться для управления сервером

Статус соединения

Возможные значения:

  • 0 – нет активного клиентского подключения;

  • 1 – есть как минимум одно активное клиентское подключение.

Код ошибки соединения

Возможные значения:

  • 0 – нет ошибок;

  • 1 – не удалось установить соединение;

  • 2 – некорректные настройки;

  • 3 – сервер остановлен;

  • 4 – соединение закрыто;

  • 5 – тестирование;

  • 6 – ошибка связи;

  • 7 – неизвестная ошибка.

Управление сервером

Возможные значения:

  • 0 – инициализация (состояние до первой записи в регистр);

  • 1 – запуск сервера;

  • 2 – остановка сервера.

Настройки безопасности

Поддерживаемые точки подключения с соответствующими им алгоритмами шифрования:

  • None – эта точка позволяет организовать подключение без подписи и шифрования;

  • Basic128Rsa15;

  • Basic256;

  • Basic256Sha256;

  • Aes256Sha256RsaPss;

  • Aes128Sha256RsaOaep.

Для каждой из точек подключения выбирается один из режимов безопасности сообщений:

  • Отключить – данная точка подключения не будет доступна;

  • Sign – данная точка подключения будет доступна с использованием цифровой подписи;

  • Sign&Encrypt – данная точка подключения будет доступна с использованием цифровой подписи и одновременным шифрованием сообщений;

  • Sign и Sign&Encrypt – данная точка подключения будет доступна как с использованием цифровой подписи без шифрования сообщений, так и с использованием цифровой подписи и одновременным шифрованием сообщений.

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

Настройки авторизации

Graphic
Настройки авторизации в режиме OPC UA Server

Анонимный доступ

В случае установки галочки допускается анонимное подключение к серверу (без использования логина и пароля). В зависимости от установленных галочек будут доступны сервисы:

  • Browse (просмотр списка тегов);

  • Read (чтение значений тегов);

  • Write (запись значений тегов).

Только для пользователей

В случае установки галочки для подключения к серверу потребуется указать логин и пароль пользователя, имеющего указанный уровень доступа (см. Настройки проекта – Права доступа).

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

  • Browse (просмотр списка тегов);

  • Read (чтение значений тегов);

  • Write (запись значений тегов).

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

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

Graphic
Добавление тегов в режиме OPC UA Server

Нажатие на кнопку Настройки открывает окно настроек сервера (см. таблицу).

Команда Экспорт позволяет выгрузить список тегов в виде файла формата .csv или .xml. Команда Импорт позволяет загрузить файл формата .csv.

Доступные настройки тега:

  • название (может включать символы кириллицы);

  • тип тега – битовый или числовой;

  • устройство, область памяти, адрес, тип данных и формат тега;

  • тип доступа – чтение, запись или чтение и запись. 

Сервер также предоставляет диагностические теги, описанные в спецификации протокола OPC UA.

Ограничения компонента OPC UA Server

Параметр

Значение

Поддерживаемые сервисы

Browse (просмотр списка тегов)

Read (циклическое чтение значений тегов)

Write (запись значений тегов)

Subscription (получение значений тегов по подписке)

Максимальное количество тегов

10 000

Максимальное количество папок

128

Максимальное количество тегов в папке

255

Максимальное количество одновременных подключений

100

Максимальное количество подписок (subscription) в рамках клиентского подключения

64

Минимально возможный интервал предоставления данных

100 мс

Протоколы производителей ПЛК

Настройки протоколов производителей ПЛК (Siemens, Mitsubishi, Omron и т. д.) совпадают с настройками компонентов Modbus RTU/ASCII Master и Modbus TCP Master. Основным отличием является то, что в настройках опрашиваемых параметров указывается не идентификатор области памяти Modbus (который определяет код используемой функции Modbus), а идентификатор области памяти соответствующего контроллера.

Системные биты/регистры диагностики и управления обменом

1. Режим Master: системные биты и регистры диагностики

В случае отсутствия ответа от slave-устройства в течение таймаута или получения ответа с кодом ошибки системный бит SPSB48 кратковременно устанавливается в значение TRUE. Одновременно с этим устанавливается в TRUE системный бит, соответствующий используемому интерфейсу:

  • SPSB49 – интерфейс COM1;

  • SPSB50 – интерфейс COM2;

  • SPSB52 – интерфейс Ethernet.

По переднему фронту бита SPSB48 происходит открытие системного окна 25003 Ошибки обмена.

Если системный регистр SPFW453 имеет значение 0, то перечисленные биты кратковременно устанавливаются в TRUE при каждой ошибке обмена (ошибке таймаута или получения ответа с кодом ошибки). Если системный SPFW453 имеет значение 1, то перечисленные биты кратковременно устанавливаются в TRUE только спустя N последовательных ошибок обмена, где N = равно значению параметра Кол-во попыток, заданного в настройках опроса. Кроме того, в этом случае в системные регистры SPSW205-206 (COM1) и SPSW207-208 (COM2) записывается код ошибки драйвера обмена; эти коды используются разработчиками конфигуратора для отладки.

Для COM-портов доступны следующие параметры диагностики:

Параметры диагностики COM-портов

Параметр / Интерфейс

COM1

COM2

Кол-во запросов, на которые был получен корректный ответ

SPSW44

SPSW48

Кол-во запросов, на которые был получен ответ с кодом ошибки

SPSW45

SPSW49

Кол-во запросов, на которые не был получен ответ

SPSW46

SPSW50

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

SPSW47

SPSW51

Для интерфейса Ethernet аналогичные счетчики могут быть экспортированы в указанные пользователем регистры панели (см. параметр Экспорт статуса связи).

2. Режим Master: управление опросом

Для управления опросом slave-устройств, подключенных к COM-порту, используются системные регистры SPFW400…415 (COM1) и SPFW416…431 (COM2). Для каждого COM-порта выделено 16 регистров; каждый бит этой группы используется для управления опросом slave-устройства с конкретным адресом.

На примере интерфейса COM1:

  • SPFW400.1 – slave-устройство с адресом 1;

  • SPFW400.2 –  slave-устройство с адресом 2;

  • ...

  • SPFW400.15 –  slave-устройство с адресом 15;

  • SPFW401.0 – slave-устройство с адресом 16;

  • ...

  • SPFW415.15 – slave-устройство с адресом 255.

Для определения номера регистра и бита, используемого для управления обменом со slave-устройством с адресом X, можно воспользоваться формулами:

  • Адрес регистра = Offset + (X / 16), где Offset = 400 (COM1) или 416 (COM2)

  • Адрес бита = остаток от деления (X / 16)

Запись в бит управления обменом значения TRUE останавливает опрос данного slave-устройства, запись значения FALSE – возобновляет обмен.

Для интерфейса Ethernet адрес бита управления обменом указывается в настройках slave-устройства в параметре Управление опросом.

3. Настройки интерфейсов

Если требуется обеспечить возможность изменения настроек COM-портов с дисплея панели, можно воспользоваться следующими системными регистрами. Новые значения настроек применяются после перезагрузки панели.

Параметры настроек COM-портов

Параметр / Интерфейс

Возможные значения

COM1

COM2

Адрес опрашиваемого slave-устройства (только для режима Master)

 

SPFW336

SPFW344

Скорость обмена

48 – 4800 бит/c

96 – 9600 бит/с

192 – 19200 бит/c

384 – 38400 бит/c

576 – 57600 бит/c

1152 – 11520 бит/c

1875 – 187500 бит/c

SPFW337

SPFW345

Кол-во бит данных

8 – 8 бит

7 – 7 бит

SPFW338

SPFW346

Кол-во стоп-бит

1 – 1 бит

2 – 2 бита

SPFW339

SPFW347

Режим контроля четности

0 – None

1 – Odd

2 – Even

SPFW340

SPFW348

Задержка отправки

0…32767 мс

SPFW341

SPFW349

Если требуется обеспечить возможность изменения сетевых настроек панели, то следует воспользоваться следующими системными регистрами:

Системные регистры сетевых настроек

Параметр

Оперативные системные регистры сетевых настроек

Энергонезависимые системные регистры сетевых настроек

IP-адрес панели

SPSW258…SPSW261

SPFW318…321

Маска подсети панели

SPSW262…SPSW265

SPFW322…325

IP-адрес шлюза

SPSW266…SPSW269

SPFW326…329

DNS-сервер

SPSW270…SPSW273

SPFW331…334

Каждый параметр представлен группой из 4 регистров, каждый регистр определяет один октет параметра.

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

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

  • записать в регистр SPSW480 значение 1, чтобы избежать включения режима DHCP-клиента;

  • записать нужные сетевые настройки в оперативные системные регистры;

  • записать те же самые настройки в энергонезависимые системные регистры;

  • сгенерировать передний фронт в системном бите SPSB124.

Примечание
Системный регистр SPSW480 используется для управления режимом DHCP-клиента (1 – отключить, 0 – включить). Применение значения этого регистра происходит по переднему фронту бита SPSB124

Если требуется обеспечить возможность изменения сетевых настроек опрашиваемых slave-устройств с дисплея панели, то можно воспользоваться следующими системными регистрами:

  • SPFW1-4 – IP-адрес Ethernet устройства 1;

  • SPFW5 – номер порта Ethernet устройства 1;

  • SPFW6-9 – IP-адрес Ethernet устройства 2;

  • SPFW10 – номер порта Ethernet устройства 2;

  • ...

  • SPFW246-259 – IP-адрес Ethernet устройства 50;

  • SPFW250 – номер порта Ethernet устройства 50.

Новые значения настроек применяются после перезагрузки панели.

MQTT

Панели СП210-Р могут работать в режиме MQTT-клиента.

Поддерживаемая версия протокола – 3.1.1.

Для настройки обмена следует подключиться к панели с помощью команды Инструменты – VNC и MQTT. Для подключения нужно указать ID панели (можно выбрать из сохранённых с помощью кнопки «↓») и пароль удалённого подключения (по умолчанию – 12345678).

Нажатие на кнопку Поиск устройств производит поиск панелей в локальной сети. ПК отправляет UDP-пакет на широковещательный адрес сети (порт 3333), в результате чего его получают все панели. Результаты сканирования отображаются в виде таблицы с указанием имени панели, IP-адреса, идентификатора и модификации.

Нажатие на кнопку Тест связи производит проверку связи с панелью (отправку ping-запроса), после чего отображается соответствующее информационное сообщение.

Нажатие на кнопку Подключение осуществляет подключение к панели.

На вкладке MQTT следует указать настройки подключения к MQTT-брокеру: адрес брокера (IP или URL), ID клиента (которое будет использоваться в качестве первого уровня имен топиков – см. информацию далее), имя пользователя/пароль (если они используется в брокере) и QoS (запрашиваемый тип гарантии доставки сообщений).

Graphic
Внешний вид вкладки MQTT
Подключение к брокеру всегда осуществляется по стандартному для протокола MQTT номеру порта – 1883.

Возможные варианты QoS:

  • QoS0 – без гарантий доставки сообщения брокеру. Панель однократно отправляет сообщение и не ждёт подтверждения получения.

  • QoS1 – с гарантией доставки сообщения брокеру и возможностью дублирования сообщения для подписчиков. Панель отправляет сообщение и ждёт подтверждения получения. В случае отсутствия подтверждения панель повторяет отправку сообщения. При получении каждого сообщения брокер пересылает его подписчикам – т. е. одно и то же сообщение может быть продублировано;

  • QoS2 – с гарантией доставки сообщения брокеру и исключением возможности дублирования сообщения для подписчиков.

В таблице Настройки параметров происходит добавление, редактирование и удаление параметров панели, которые будут доступны по MQTT. Кроме того, добавление параметров в эту таблицу происходит при установке галочек Передавать по MQTT или Передавать всё по MQTT в библиотеке переменных на вкладке Пользовательские переменные.

Пользователь может добавить до 500 параметров, при этом параметр может являться массивом.

Настройки параметров, передаваемых по MQTT

Параметр

Описание

Имя

Имя параметра

Устройство

Выбор источника параметра – память панели или одного из опрашиваемых slave-устройств

Тип

Bit (булевское значение) или Word (число или строка)

Добавление

В виде одиночного параметра или массива. Для массива указывается количество объектов (не более 126)

Область памяти

Область памяти, в которой хранится параметр

Начальный адрес

Адрес, начиная с которого размещается значение одиночного параметра или первого параметра массива

Тип данных

Для типа Bit поддерживается только тип данных BOOL. Для типа Word поддерживаются:

  • Целочисленные типы данных: Int16, Uint16, Int32, Uint32, Int64;

  • Типы данных с плавающей точкой: Float, Double;

  • Строковый тип данных: String (кодировка ASCII). Для строкового типа указывается длина строки в байтах

Режим публикации

Возможные варианты:

  • при изменении значения параметра;

  • периодически в случае выполнения условия (см. ниже; недоступно для массивов и для переменных типа Bit);

  • периодически.

Условие

Доступные условия:

  • меньше константы Мин.;

  • больше константы Макс.;

  • в границах диапазона констант Мин. и Макс. (включая значения границ);

  • за границами диапазона констант Мин. и Макс.;

  • не равно константе Мин и константе Макс.

Мин. и Макс.

Константы, используемые в условиях

Период

Интервал публикации в секундах для режимов публикации По условию и Периодически

Примечание

Опциональный комментарий к параметру

При нажатии кнопки Редактировать открывается окно, в котором доступен поиск по списку добавленных параметров, а также экспорт их настроек в виде файла формата .xls или .xlsx.

Команда Импорт позволяет загрузить этот файл.

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

Кнопка Принудительная публикация используется для публикации настроек параметров в топик pub_configlist (см. ниже).

Панель использует 5 топиков. В 3 их них она осуществляет публикацию, а ещё на 2 производит подписку. Топики имеют двухуровневные имена.

Первый уровень представляет собой MQTT-идентификатор, который совпадает со значением параметра ID клиента. Второй уровень определяется типом и назначением топика.

Список MQTT-топиков

Тип

Имя топика

Описание

Публикация

MQTT-идентификатор/pub_configlist

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

Публикация

MQTT-идентификатор/pub_data

Передача значений текущих настроенных тегов

Публикация

MQTT-идентификатор/write_reply

Подтверждение записи в /write_data

Подписка

MQTT-идентификатор/write_data

Топик для записи значений в теги панели

Подписка

MQTT-идентификатор/access_data

Топик для внеочередного запроса значений всех параметров (они будут опубликованы в топик /pub_data)

Payload топиков представляет собой JSON-объекты в кодировке UTF-8. Ниже приведены примеры payload’ов для ситуации, когда в проекте настроено три MQTT-переменные:

  • переменная типа Float, размещенная в памяти панели;

  • массив из 3 переменных типа Word, размещенных в памяти панели;

  • переменная типа Bool, считываемая из slave-устройства, подключенного к панели.

Для всех переменных выбран периодический режим публикации с одинаковым интервалом, поэтому публикация происходит единым «пакетом».

MQTT-идентификатор/pub_configlist

  • Unix – метка времени сообщения в формате Unixtime;

  • Version – версия протокола панели;

  • Configlist – набор устройств.

Каждое устройство содержит следующие параметры:

  • Order_name – имя параметра, заданное в конфигураторе в меню Настройки проекта - Устройства;

  • Order_ID – идентификатор параметра;

  • Order_type – тип параметра.

Пример

{

  "Unix": "1763081721505",

  "Version": "V1.0",

  "Configlist": {

    "Modbus TCP Master": [

      {

        "Order_name": "ModbusBoolVar",

        "Order_ID": "000002",

        "Order_type": "Bool"

      }

    ],

    "Внутренние регистры": [

      {

        "Order_name": "HmiFloatVar",

        "Order_ID": "000000",

        "Order_type": "Float"

      },

      {

        "Order_name": "HmiWordArrayVar[3]",

        "Order_ID": "000001",

        "Order_type": "INT16U"

      }

    ]

  }

}

MQTT-идентификатор/pub_data

  • Unix – метка времени сообщения в формате Unixtime;

  • Version – версия протокола панели;

  • Pub_data – набор устройств.

Каждое устройство содержит названия параметров и соответствующие им значения.

Пример

{

  "Variant": [

    {

      "Unix": "1763085137991",

      "Version": "V1.0",

      "Pub_Data": {

        "Modbus TCP Master": {

          "ModbusBoolVar": 1

        },

        "Внутренние регистры": {

          "HmiFloatVar": 11.22,

          "HmiWordArrayVar[3]": [0, 0, 0]

        }

      }

    }

  ]

}

MQTT-идентификатор/write_data

  • Unix – метка времени сообщения в формате Unixtime (не обрабатывается панелью);

  • Version – версия протокола панели;

  • Write_data – устройство или набор устройств.

Каждое устройство содержит названия параметров и соответствующие им записываемые значения.

Пример записи одного параметра:

Пример

{

  "Unix": "1755237844",

  "Version": "V1.0",

  "Write_Data": {

    "Внутренние регистры": {

      "HmiFloatVar": 22.33

    }

  }

}

Пример записи нескольких параметров:

Пример

{

  "Unix": "1755237844",

  "Version": "V1.0",

  "Write_Data": {

        "Modbus TCP Master": {

          "ModbusBoolVar": 0

        },

        "Внутренние регистры": {

          "HmiFloatVar": 33.44,

          "HmiWordArrayVar[0]": 11,

          "HmiWordArrayVar[1]": 22,

          "HmiWordArrayVar[2]": 33

        }

  }

}

MQTT-идентификатор/write_reply

  • Unix – метка времени сообщения в формате Unixtime;

  • Version – версия протокола панели;

  • Write_reply – устройство или набор устройств.

Каждое устройство содержит названия параметров и соответствующие им статусы:

  • OK – запись прошла успешно;

  • ERROR1 – не удалось записать значения;

  • ERROR2 – переменная с таким именем не найдена;

  • ERROR3 – ошибка обработки запроса.

Пример подтверждения записи нескольких параметров:

Пример

{

  "Unix": "1755237844",

  "Version": "V1.0",

  "Write_Reply": {

    "Modbus TCP (HMI is master)": {

      "ModbusBoolVar": "OK"

    },

    "Внутренние регистры": {

      "HmiFloatVar": "OK",

      "HmiWordArrayVar": "OK"

    }

  }

}

Публикация в этот топик не происходит, если структура объекта, записанного в топик /write_data является некорректной – например, когда значение хотя бы одного параметра задано в некорректном формате:

  • если в качестве разделителя целой и дробной части используется «,» вместо корректного «.»;

  • если значение переменной булевского или числового типа представлено строкой;

  • и т. п.

MQTT-идентификатор/access_data

  • Unix – метка времени сообщения в формате Unixtime (не обрабатывается панелью);

  • Version – версия протокола панели;

  • Content – команда. В данный момент поддерживается только команда alldata – запрос на публикацию всех параметров.

Пример

{

  "Unix": "1755237844",

  "Version": "V1.0",

  "Content": "alldata"

}

Сканер штрихкодов

Панели СП210 поддерживают подключение сканера штрихкодов по интерфейсу RS-232 или USB A. В случае использования интерфейса RS-232 данный COM-порт не должен использоваться в меню Файл – Настройки проекта – Устройства.

Для настройки обмена следует перейти в меню Файл – Настройки проекта – Сканер штрихкодов и установить галочку Включить.

Graphic
Настройки проекта, вкладка Сканер штрихкодов
Сканер штрихкодов

Параметр

Описание

Настройки связи

Тип

COM или USB

Интерфейс

Для типа COM нужно указать номер COM-порта панели и выбрать настройки интерфейса RS-232 (скорость, режим контроля четности, количество бит данных, количество стоп-бит)

Параметры

Размер буфера

Размер приемного буфера в байтах (не более 1024). Может быть задан константой или путём указания адреса регистра

Код старт-символа (HEX)

Код стоп-символа (HEX)

Значения байтов стартового и стопового символа, заданные в HEX константами или путём указания адресов регистров. Могут использоваться совместно или по одному. Панель игнорирует байты полученного пакета, размещенные до старт-символа и после стоп-символа. Если в пакете отсутствует стартовый и/или стоповый символ, то содержимое игнорируется

Управление и диагностика

Бит паузы

Адрес бита, используемого для остановки приема:

  • TRUE – остановить прием данных

  • FALSE – возобновить

Приемный буфер

Адрес начального регистра приемного буфера, в котором будут размещены выделенные из полученного пакета данные. Количество используемых регистров определяется параметром Размер буфера, задаваемого в байтах (см. выше)

Интервал конца пакета

Интервал отсутствия новых байтов, по которому определяется факт получения полного пакета данных в мс (не более 65535)

Регистры диагностики и управления

Адрес первого из 5 регистров, в которые будет записываться диагностическая информация. Предположим, указан регистр PSW0, тогда:

  • 0 – ожидание;

  • 1 – получен новый пакет.

PSW0 – флаг получения нового пакета:

  • 0 – ожидание;

  • 1 – получен новый пакет.

PSW1 – состояние драйвера:

  • 0 – ожидание;

  • 1 – некорректное значение одного из параметров;

  • 2 – пауза (см. бит паузы);

  • 3 – не удалось открыть порт.

PSW2 – количество полученных байт.

PSW3 – при записи значения 1 происходит очистка буфера и обнуление значений регистров диагностики

PSW4 – код статуса:

  • 0 – нет ошибок;

  • 1 – ошибка переполнения буфера;

  • 2 – cтарт-символ не обнаружен;

  • 3 – стоп-символ не обнаружен