Версия драйвера 3.5.12.40
Для работы сервера протокола МЭК 60870-5-101 необходимо к устройству Mega12_60870_5_101 подключить Mega12_60870_5_101_KP_Unbalanced. В настройках соотнесения выбрать Вкл.2 (всегда в задаче цикла шины), для постоянного выполнения программы драйвера.
Чтение данных осуществляется блоками. Для каждого типа количество адресов имеет разное значение. Первый блок читается командой Interrogated by general interrogation, следующий - Interrogated by interrogation group 1, далее - Interrogated by interrogation group 2 и т.д.
В драйвере предусмотрено два типа переменных на каждый тип данных сервера – это входные и выходные переменные. Данные, передаваемые от сервера МЭК 60870-5-101 в программу CoDeSys имеют обозначение *InIEC, а передаваемые из программы CoDeSys в сервер МЭК 60870-5-101 - *ToIEC. Таким образом, данные читаются и пишутся в два набора переменных, которые пользователь может совместить в программе CoDeSys.
Драйвер протокола МЭК 60870-5-101 самостоятельно отслеживает изменения переменных *ToIEC и отправляет изменения на клиент. Изменения отслеживаются по всем типам переменных и отправляются блоками данных ASDU. Таким образом, изменение одной переменной приводит к передаче одного блока данных. Для исключения постоянной передачи изменений вещественных чисел рекомендуется в программе пользователя производить фильтрацию вещественных значений, передаваемых в драйвер МЭК60870-5-101.
Настройка последовательного порта осуществляется во вкладке «Конфигурация» драйвера Mega12_60870_5_101_KP_Unbalanced.
Версия драйвера 3.5.12.41
Добавление драйвера в проект программы.Для работы драйвера протокола МЭК 60870-5-101 в проект программы контроллера необходимо добавить устройство Mega12_60870_5_101, которое устанавливается в репозиторий устройств с помощью файла Mega12NW_IEC101.devdesc.xml.
Для добавления сервера (КП - контролируемого пункта) протокола МЭК 60870-5-101 в проект программы контроллера необходимо устройство Mega12NW_IEC101_Slave добавить в свободный слот драйвера Mega12_60870_5_101 (Рисунок 3.7.9.1). Всего доступно четыре слота, то есть четыре последовательный порта.
Рисунок 3.7.9.1 – Добавление сервера протокола МЭК 60870-5-101
Во вкладке «Конфигурация» можно задать настройки порта и некоторые конфигурационные параметры КП.
Mega12NW_IEC101_Slave устанавливается в репозиторий устройств с помощью файла Mega12NW-IEC101_Slave_v3.5.12.41.devdesc.xml.
Добавление параметров и изменение количества переменных сервера.
Для добавления параметров и/или изменения количества переменных необходимо отредактировать XML-файл устройства Mega12NW-IEC101_Slave_ _vX.X.X.X.devdesc.xml.
Добавление параметров выполняется в специальной области XML-файла, которая обозначена как «START OF USER AREA FOR PARAMETER DECLARATION» (см. Рис.3.7.9.2). По умолчанию в этой секции уже активированы два параметра — SINGLE POINT и SINGLE POINT CP56.
Рисунок 3.7.9.2 - Область редактирования параметров
Чтобы добавить новый параметр, нужно найти его в закомментированном списке доступных параметров. Каждый параметр в этом списке начинается с тега <Parameter ParameterId... и заканчивается </Parameter>. Для активации выбранного параметра необходимо убрать окружающие его комментарии, то есть удалить символы <!-- перед началом и --> после конца описания. Важно убедиться, что после раскомментирования параметр остаётся в корректном XML-формате.
Если какой-то из параметров больше не нужен, его можно отключить, закомментировав аналогичным образом — добавив <!-- перед его объявлением и --> в конце. При этом нужно следить, чтобы внутри самого параметра не осталось лишних символов комментариев, так как это может нарушить структуру файла.
После внесения изменений рекомендуется проверить, что XML-файл остаётся валидным и все параметры оформлены правильно.
Настройка количества переменных выполняется в области «START OF USER AREA FOR EDITING NUMBER OF VARIABLES» (см. Рис. 3.7.9.3). Каждая переменная в файле заключена между тегами <Component> и </Component>. По умолчанию для каждого параметра доступна одна активная переменная. Дополнительно в коде предусмотрено ещё по 9 закомментированных переменных — они отмечены символами <!-- в начале и --> в конце.
Рисунок 3.7.9.3 – Область редактирования переменных
Чтобы добавить новые переменные, можно либо раскомментировать готовые заготовки, удалив эти символы, либо вручную скопировать существующий блок <Component>...</Component> и вставить его в конец списка. В обоих случаях важно проверить, чтобы у каждой переменной были указаны:
Остальные параметры внутри блока НЕ менять. После внесения изменений нужно убедиться, что структура XML осталась правильной — все теги должны быть закрыты, а лишние символы комментариев удалены.
ВАЖНО! Для корректной работы драйвера каждый параметр должен содержать минимум одну активную (не закомментированную) переменную. Удаление всех переменных параметра приведёт к некорректной работе системы.
После внесения изменений в XML-файл необходимо обновить устройство в репозитории устройств CoDeSys и в дереве устройств проекта.
Привязка параметров к драйверу.
Для корректной работы драйвера IEC101 Slave в проекте CoDeSys необходимо использовать исключительно типы структур, предоставляемые библиотекой Mega12NW_IEC_101_104_library. Эта библиотека содержит предопределенные структуры данных (см. Рис. 3.7.9.4), которые полностью соответствуют переменным, объявленным в XML-файле конфигурации устройства. Важно понимать, что данные структуры содержат не только пользовательские поля, но и скрытые служебные параметры, необходимые для штатной работы драйвера.
При настройке проекта категорически запрещается создавать собственные структуры данных для работы с драйвером. Самодельные типы не будут содержать технических полей, требуемых для внутренней логики работы системы, что приведет к некорректному функционированию или полной неработоспособности драйвера.
Рисунок 3.7.9.4 – Список предустановленных структур
Предположим, что для проекта необходимо создать переменную для передачи одноэлементной информации (SINGLE POINT). Для этого в области объявления переменных нужно создать экземпляр структуры (см. Рис. 3.7.9.5), назвав его «my_sp1» и присвоив соответствующий тип данных SinglePoint, используя шаблон из библиотеки Mega12NW_IEC_101_104_library (см. Рис. 3.7.9.4).
Рисунок 3.7.9.5 – Объявление экземпляра структуры
После создания экземпляра структуры необходимо настроить его основные параметры: задать уникальный адрес, начальное значение сигнала, показатель качества данных и пр.
Для передачи данных структуры «my_sp1» в драйвер требуется выполнить её привязку в конфигурации драйвера:
Рисунок 3.7.9.6 – Привязка переменной

Рисунок 3.7.9.7 – Соотнесенная переменная my_sp1