Метод конфигурации сервера OPC UA S7-1200
Метод конфигурации сервера OPC UA S7-1200

1 Обзор метода сервера OPC UA S7-1200

Метод OPC UA представляет собой реализацию «удаленного вызова процедур» и обеспечивает эффективный механизм взаимодействия между различными узлами связи. Этот механизм предоставляет значения подтверждения задания и обратной связи, поэтому пользователям больше не нужно программировать механизм установления связи.

В целом методы OPC UA работают аналогично функциональным блокам, защищенным ноу-хау, в системе выполнения, которые вызываются внешними клиентами OPC UA. Клиенты OPC UA «отслеживают» только определенные входы и выходы. Содержимое функциональных блоков, методов или алгоритмов не видно клиентам OPC UA. Клиент OPC UA получает обратную связь об успешном выполнении со значением, возвращаемым функциональным блоком (методом), или сообщение об ошибке, если выполнение было неудачным.

Начиная с версии V4.5 прошивки ЦП S7-1200 и начиная с версии V17 TIA Portal, метод сервера OPC UA может быть реализован посредством программирования инструкций. Инструкция метода сервера OPC UA показана на рисунке 1.

Рисунок 1. Инструкции по методу сервера OPC UA

Программирование инструкций, вызов программы и процесс выполнения после вызова клиентом метода сервера OPC UA показаны на рисунке 2.

Рисунок 2. Процесс программирования, вызова и выполнения

Клиент OPC UA вызывает методы сервера на сервере OPC UA.

Серверу OPC UA в S7-1200 необходимо обмениваться информацией с клиентом OPC UA и инструкциями метода сервера OPC UA S7-1200 соответственно. Интерактивная информация включает в себя команды, статус и параметры ввода/вывода серверных методов и т. д.

Чтобы S7-1200 реализовал функцию метода сервера OPC UA, ее необходимо запрограммировать в блоке FB. В FB используйте несколько фонов или экземпляров параметров для последовательного вызова инструкций OPC_UA_ServerMethodPre и OPC_UA_ServerMethodPost. Между двумя вышеупомянутыми инструкциями напишите некоторые функции или алгоритмы, которые необходимо реализовать. Определите входные и выходные параметры метода сервера в статических переменных блока FB. OPC_UA_ServerMethodPre используется для запроса сервера OPC UA, вызвал ли клиент OPC UA метод сервера. Если метод был вызван и метод сервера имеет входные и выходные параметры, метод сервера получает входные параметры из входных данных клиента. Используйте команду уведомления параметра OPC_UA_ServerMethodPost, чтобы уведомить метод сервера OPC UA о том, завершен ли вызов. Если пользовательская программа была выполнена успешно, сервер OPC UA уведомляется об этом посредством соответствующих параметров. Сервер OPC UA отправляет выходные параметры метода клиенту OPC UA.

Записанный блок FB метода сервера OPC UA необходимо вызывать в OB программы. Один и тот же FB метода сервера может вызываться несколько раз в OB программы; его также можно вызывать в OB разных методов сервера; Количество экземплярных блоков данных FB-блока серверного метода, вызываемого в OB программы, является количеством серверных методов.

Использование и ограничения функций сервера OPC UA S7-1200:

⑴Инструкции OPC_UA_ServerMethodPre и OPC_UA_ServerMethodPost можно вызывать только в блоке FB, и экземпляр может выбирать несколько фонов или экземпляров параметров.

⑵OPC_UA_ServerMethodPre и OPC_UA_ServerMethodPost необходимо вызывать по порядку: сначала OPC_UA_ServerMethodPre, затем OPC_UA_ServerMethodPost.

⑶ Не изменяйте имя блока фоновых данных, созданного путем вызова инструкций OPC_UA_ServerMethodPre и OPC_UA_ServerMethodPost в блоке FB.

⑷Если метод сервера OPC UA содержит параметры ввода/вывода, имена входных и выходных параметров должны быть строго определены в соответствии с UAMethod_InParameters и UAMethod_OutParameters и не изменять их.

⑸Типы данных входных и выходных параметров метода сервера OPC UA могут использовать STRUCT или UDT (определяемый пользователем тип данных ПЛК).

⑹ Типы данных, которые можно использовать для определения входных и выходных параметров метода, см. в граничных условиях, показанных в таблице 1.

Таблица 1. Граничные условия

Типы данных SIMATIC

Типы данных OPC UA

BOOL

логическое значение

SINT

Sbyte

INT

INT16

DINT

INT32

USINT

байт

UINT

UINT16

UDINT

UINT32

REAL

с плавающей запятой

LREAL

двойная точностьс плавающей запятой

WSTRING

нить

DINT

Перечисления и все производные типы данных

2 Пример метода сервера OPC UA S7-1200

Далее используются конкретные примеры, чтобы проиллюстрировать, как S7-1200 использует функцию метода сервера OPC UA и на что следует обратить внимание во время использования.

2.1 Цели миссии, используемое оборудование и программное обеспечение

Функция реализации:

1200 служит сервером OPC UA и предоставляет серверные методы посредством программирования инструкций;

UA Expert действует как клиент OPC UA для вызова методов сервера;

Когда переменная B0 равна 1, входные параметры серверного метода передаются в выходные параметры серверного метода;

Когда переменная B0 равна 0, входные и выходные данные метода сервера не передаются и выдается сообщение об ошибке 16#ffffffff.

Аппаратное и программное обеспечение, использованное в примере, показано в Таблице 3:

Таблица 3. Аппаратное и программное обеспечение

TIA Portal

STEP7 Professional V17

Прошивка процессора

CPU1215 DC/DC/DC V4.5.1

OPC UA-клиент

UA Expert V1.5.1

2.2 Конфигурация оборудования

⑴Создайте новый проект и добавьте ЦП CPU1215 DC/DC/DC V4.5. Выполните настройку конфигурации во всплывающем окне «Настройки безопасности ПЛК». В этом примере защита конфиденциальных данных ПЛК отключена; режим связи PG/ПК и HMI настроен на поддержку передачи и безопасной связи PG/ПК, для защиты доступа к ПЛК установлены полные права доступа, как показано на рисунке. Рисунок 3.

Рисунок 3. Настройки безопасности ПЛК

⑵В атрибуте адреса Ethernet в свойствах ЦП добавьте новую подсеть PN/IE_1, установите IP-адрес 192.168.0.125 и установите маску подсети 255.255.255.0. Как показано на рисунке 4.

Рисунок 4. Настройка адреса Ethernet

⑶В процессоре свойство>OPC UA>сервер,Посетите серверсередина,Установите флажок, чтобы активировать OPC UAсервер;В опциях>общепринятыйсередина Установить номер порта,Значение по умолчанию — 4840.,URL-адрес, полученный в результате этой настройки, — OPC.TCP://192.168.0.125:4840.,Как показано на рисунке 5.

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

Рисунок 5. Активируйте сервер OPC UA и установите номер порта

⑷CPUсвойство>Лицензия на выполнение>OPC UA , приобретена лицензия SIMATIC OPC UA S7-1200 базовый, как показано на рисунке 6.

Рисунок 6. Настройка лицензии среды выполнения

2.3 Программирование программного обеспечения

⑴ Добавьте тип данных ПЛК, который используется в качестве типа данных входных и выходных параметров серверного метода, как показано на рисунке 7.

Рисунок 7. Определение типа данных DATA_TYPE

⑵ Добавьте FB1 и назовите его Method_FB, в котором OPC_UA_ServerMethodPre и OPC_UA_ServerMethodPost вызываются последовательно. При создании блока фоновых данных необходимо выбрать несколько фонов. Имена входных и выходных параметров добавленного метода сервера должны быть UAMethod_INParmeters и UAMethod_OUTParameters, а тип данных должен быть созданным типом данных ПЛК «DATA_TYPE». Добавьте промежуточные переменные в область статических переменных, и определение области интерфейса блока FB1 показано на рисунке 8.

Рисунок 8. Определение интерфейса Method_FB

⑶ Программное обеспечение метода сервера OPC UA может использовать программирование LAD, FBD и SCL. В этом примере используется программирование на языке SCL. При программировании оператор CASE OF формирует основную структуру программы. Изменяя значение шага выражения оператора CASE, программа выполняется в разных местах, как показано на рисунке 9.

Рисунок 9. Программирование Method_FB

Функции, реализованные на рисунке 9, подробно описаны ниже:

шаг равен 0: выполнить инструкцию OPC_UA_ServerMethodPre. Если во время выполнения инструкции возникает ошибка, шагу присваивается значение 100, и промежуточная программа не выполняется. Если инструкция выполняется с Done=true и call=true, шагу присвоено значение 1.

шаг равен 1: реализовать основную функцию. Когда B0 равно 1, присвойте UAMethod_INParmeters для UAMethod_OUTParameters и присвойте post_result значение 0, когда B0 равно 0, post_result присваивается значение 16#ffffffff. Наконец, post_finished устанавливается в 1, а шагу присваивается значение 2.

Шаг 2: выполнить инструкцию OPC_UA_ServerMethodPost. Если при выполнении инструкции произошла ошибка, значение шага равно 100, а значение post_result — 16#ffffffff; если инструкция завершена и Done=true, post_finished сбрасывается в 0. и значение шага равно 0.

шаг равен 100: при возникновении какой-либо ошибки выполнения инструкции сервера программа выполняется с этой меткой. Если параметр сброс равен 1, post_result присваивается значение 0, шагу присваивается значение 0, и программа возвращается к первой метке. ДЕЛО.

Эту структуру и идеи программирования можно использовать в качестве основы для будущего программирования. Напишите функцию, которую нужно реализовать на шаге 1. Реализованные функции могут выполняться синхронно или асинхронно. Так называемый асинхронный означает, что для выполнения требуется несколько циклов сканирования. Когда выполнение функции завершено, значение шага изменяется, и программа переходит к выполнению оставшихся шагов.

⑷Вызовите записанный FB1 в OB1, чтобы сгенерировать блок фоновых данных и добавить интерфейс сервера в дерево проекта, как показано на рисунке 10.

Рисунок 10. Добавление интерфейса сервера

⑸Добавьте интерфейс сервера OPC UA и перетащите Method_FB_DB влево от элемента OPC UA к интерфейсу сервера, как показано на рисунке 11.

Рисунок 11. Добавление серверных методов в интерфейс сервера

⑹ Скомпилируйте проект и загрузите весь проект в ЦП.

2.4 UA Expert подключается к серверу S7-1200 OPC UA

⑴Откройте клиентское программное обеспечение OPC UA UA EXPERT, добавьте сервер, дважды щелкните «Добавить сервер» на сервере обнаружения, чтобы добавить сервер, введите 192.168.0.125:4840 в URL-адрес, как показано на рисунке 12.

Рисунок 12. Введите URL-адрес для обнаружения серверов

⑵ Поскольку в свойствах ЦП S7-1200 проверена политика безопасности без настроек безопасности, по умолчанию для аутентификации пользователя установлена ​​гостевая аутентификация. Поэтому разверните найденный сервер OPC UA, выберите «Нет-Нет» и выберите «Анонимный», как показано на рисунке. показано на рисунке 13.

Рисунок 13. Выбор сервера без настроек безопасности

⑶ Сервер OPC UA S7-1200. После успешного добавления сервера OPC UA S7-1200 нажмите «Подключиться к серверу» на панели инструментов, как показано в красном поле на рисунке 14.

Рисунок 14. Подключение к серверу

⑷ Перед установкой соединения обе стороны должны проверить сертификат. Поскольку импорт/экспорт соответствующих сертификатов защищенной связи заранее не выполняется, при первом подключении появится диалоговое окно. В диалоговом окне выберите Сертификат доверенного сервера. и снова нажмите «Продолжить», как показано на рисунке 15.

Рисунок 15. Доверие к сертификату сервера

2.5 Вызов методов сервера

⑴В адресе Space(пространство имен)середина Перейти кServerInterfaces>серверинтерфейс_1>Method_FB_DB,Выберите метод сервера,Щелкните правой кнопкой мыши, чтобы позвонить,нравиться Рисунок показано 16.

Рисунок 16. Вызов методов сервера

⑵ Во всплывающем диалоговом окне установите для B0 входного параметра значение false, а для B1 — значение 10. Результат вызова отображается как неудачный, и сообщается об ошибке 16#ffffffff, B1 в выходном параметре по-прежнему равен 0. , а направление входного параметра не реализовано. Выходные параметры передаются, как показано на рисунке 17.

Рисунок 17. Ошибка вызова метода сервера

⑶В диалоговом окне установите для B0 входного параметра значение true, а для B1 — значение 10, нажмите «вызов», и вызов будет успешным. равный входному параметру В1, равному 10, реализуется преобразование входных параметров в выходные, как показано на рисунке 18.

Рисунок 18. Успешный вызов метода сервера

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose