<< Click to Display Table of Contents >> Navigation: API MasterSCADA 4D > Функции, ФБ, Протоколы на С++ > API для ФБ и протоколов > Разработка протоколов |
В MasterSCADA 4D протоколы условно можно разделить на два типа:
1. Протокол не содержит модулей ввода-вывода, каналы добавляются непосредственно в протокол. Протокол служит для получения данных с одного устройства (или с резервируемых устройств). Пример такого протокола - OPC UA. В текущей документации такие элементы будем называть Простыми протоколами.
2. В протокол могут быть добавлены модули ввода-вывода, в которые добавляются каналы. В задаче протокола может опрашиваться несколько устройств. Пример - Modbus TCP. В текущей документации такие элементы будем называть Протоколы с модулями.
При работе с протоколами важно учитывать, что входной канал - это канал, откуда от устройства принимается информация, а выходной канал - это канал, откуда в устройство отправляются данные.
Наглядная схема потока данных в протоколе:
В случае простого протокола применяется идея наследования от класса, схожая с функциональными блоками:
Однако в отличие от ФБ, есть дополнительные методы Create, что в базовом классе не выполняют никаких действий. Они необходимы для создания модулей, каналов и параметров протокола.
Модули - способ организации и группировки нескольких каналов и параметров.
Каналы - способ организации и группировки нескольких параметров. Каналы могут быть с доступом Input (получаем данные от устройства), Output (передаем данные в устройство), InOut (возможен и прием, и передача данных). В зависимости от доступа канал содержит разный набор параметров.
Параметры - изменяемое значение. Могут быть доступны для чтения, записи или чтения/записи. Имена параметров каналов могут быть: Вход или Выход.
Схема отношений модулей, каналов и параметров:
Важно! Экземпляры классов каналов и параметров могут быть созданы без наследования, а вот в случае модулей класс является абстрактным с обязательным для переопределения методом создания каналов.
Смотрите также: