Перед началом работы необходимо изменить количество переменных отредактировав файл описания устройства Mega12_OPC_UA_server_vX.X.X_DDMMYY.devdesc.xml. Для этого необходимо изменить количество параметров в специальной области XML-файла, которая обозначена как «START OF USER AREA» (см. Рис.3.7.10.1). Каждый параметр в этом списке начинается с тега <Parameter ParameterId... и заканчивается </Parameter>. По умолчанию доступно 10 активных переменных, ещё 990 переменных закомментировано — они отмечены символами <!-- в начале и --> в конце.
Рисунок 3.7.10.1 - Область редактирования параметров
Чтобы добавить новые переменные, можно либо раскомментировать готовые заготовки, удалив эти символы, либо вручную скопировать существующий блок <Parameter>...</Parameter> и вставить его в конец списка. В обоих случаях важно проверить, чтобы у каждой переменной были указаны:
Остальные параметры внутри блока НЕ менять. После внесения изменений нужно убедиться, что структура XML осталась правильной — все теги должны быть закрыты, а лишние символы комментариев удалены.
После внесения изменений в XML-файл необходимо обновить устройство в репозитории устройств CoDeSys. Для работы сервера OPC UA в проект программы контроллера необходимо добавить устройство Mega12_OPC_UA_server. В настройках соотнесения выбрать Вкл.2 (всегда в задаче цикла шины), для постоянного выполнения программы драйвера
Следующим шагом для работы с драйвером OPC UA server является добавление библиотеки драйвера в проект CoDeSys. Для этого:
Для добавления тегов в сервер необходимо для каждой переменной создать экземпляр функционального блока UA_Server_newObject из библиотеки Mega_OPC_UA (см. Рис.3.7.10.2) и прописать входные переменные. При исполнении этого ФБ создается структура объекта object и в сервер добавится тег с соответствующими атрибутами.
Рисунок 3.7.10.2 – Объявление экземпляра ФБ
Сервер поддерживает следующие типы данных:
Идентификатор объекта может быть двух типов:
Пример создания объекта переменной с типом данных UINT16 и со строковым типом идентификатора представлен на рисунке 3.7.10.3.
Рисунок 3.7.10.3 – задание атрибутов объекта
В настройках соотнесения устройства Mega12_OPC_UA_server необходимо к каждому каналу привязать соответствующий объект (см. Рис.3.7.10.4).
Рисунок 3.7.10.4 – Привязка объектов
Для записи в переменную необходимо изменить значение элемента объединения object.value (см. Рис.3.7.10.5)
Рисунок 3.7.10.5 – Присвоение значение объекту
Для записи в переменную с типом данных STRING необходимо воспользоваться библиотечной ФБ writeString (см. Рис.3.7.10.6).
Рисунок 3.7.10.6 – Присвоение значения объекту с типом данных string