Opc сервер овен подключить плк100 по ethernet

Обновлено: 06.07.2024


Технология OPC получила широкое распространение в промышленной автоматизации. В последние годы все более актуальной становится ее современная версия – OPC UA (Unified Architecture). В данной статье описываются преимущества новой технологии и ее использование в приборах компании ОВЕН.

Первая версия стандарта OPC была опубликована консорциумом OPC Foundation в 1996 году. Целью стандарта являлось создание унифицированного интерфейса для подключения устройств автоматизации к SCADA-системам. В то время в отрасли было относительно немного открытых промышленных протоколов, из-за чего большинство компаний разрабатывали собственные решения. Это, в свою очередь, затрудняло процесс интеграции приборов в SCADA-системы: разработчикам SCADA приходилось либо создавать и поддерживать множество коммуникационных драйверов, либо производители приборов были вынуждены разрабатывать драйвер для каждой SCADA, к которой предполагалось подключать их устройства.

Стандарт OPC основан на технологии OLE (Object Linking and Embedding), разработанной компанией Microsoft для ОС Windows. Аббревиатура «OPC» означает OLE for Process Control (OLE для управления процессами). В стандарте описывается интерфейс обмена данными между OPC-клиентом (SCADA-системой) и OPC-сервером. OPC-сервер – это специализированное программное обеспечение, установленное на ПК, которое опрашивает подключенные устройства по промышленным протоколам и предоставляет SCADA-системе доступ к данным этих устройств. Таким образом, производителям оборудования достаточно однократно разработать свой OPC-сервер, чтобы обеспечить возможность подключения оборудования к любой SCADA-системе, поддерживающей технологию OPC. Сейчас эту технологию поддерживает практически каждая SCADA-система.

Структурная схема (Owen OPC, CODESYS OPC)

Рис. 1. Структурная схема сети с использованием интерфейса OPC DA

Контроллеры ОВЕН, программируемые в среде CODESYS, могут подключаться к SCADA-системам через CODESYS OPC Server, который входит в дистрибутив CODESYS. Процесс настройки обмена предельно прост – пользователь добавляет в проект компонент Символьная конфигурация и помечает галочками переменные, которые должны быть доступны в SCADA.
Стандарт OPC оказал существенное влияние на рынок промышленной автоматизации. Но с развитием технологий стали проявляться некоторые его недостатки.

  • Привязка к технологиям Microsoft (OLE, DCOM и т.д.) сделала фактически невозможным использование OPC на других ОС. Увеличение аппаратных характеристик ПЛК привело к желанию запускать OPC-сервера прямо на них – но поскольку большая часть контроллеров использует ОС на базе Linux, то это желание было неосуществимо.
  • Сложность настройки связи OPC-сервера с OPC-клиентом, который запущен на другом ПК. Такой вариант подключения требует настройки службы DCOM, что в большинстве случаев является довольно сложной задачей.
  • Отсутствие средств информационной безопасности. В период создания стандарта OPC большинство систем были локальными, и аспекты, связанные с удаленным доступом и обеспечением его защиты, практически не рассматривались.

Современная версия стандарта – OPC UA

Недостатки классической технологии OPC (исходной редакции OPC DA) привели к необходимости разработки нового стандарта. Он получил название OPC UA (OPC Unified Architecture). Первая версия нового стандарта была представлена в 2006 году, и с тех пор он постоянно развивается и дополняется.
Ключевыми особенностями нового стандарта являются:

  • Кроссплатформенность – OPC UA не использует проприетарных технологий, клиент и сервер могут быть запущены на устройствах с любыми ОС. В связи с этим аббревиатура OPC с введением нового стандарта стала расшифровываться как «Open Platform Communications».
  • Безопасность – подключение к серверу может быть защищено логином/паролем и требовать использования сертификатов.
  • Удаленный доступ – сервер и клиент могут располагаться в разных сетях и быть связаны через Интернет с использование VPN и т. д.
  • Функциональность – в рамках стандарта описан набор информационных моделей для работы с данными – доступ к оперативным данным, чтение архивов, передача тревог и событий и т. д. Большинство этих моделей были разработаны еще для классического OPC, но в рамках OPC UA для всех них используется единообразный механизм адресации и доступа к данным.
  • Удобство настройки – OPC UA-клиент при подключении к серверу считывает информацию о доступных параметрах и предоставляет ее пользователю. Соответственно, программисту не требуется добавлять и настраивать каждый параметр отдельно, а только отметить параметры, которые нужно использовать.
    Принципиальным преимуществом нового стандарта по сравнению с классическим OPC является снятие с OPC-сервера роли шлюза между устройствами автоматизации, использующими промышленные протоколы, и SCADA-системами. Фактически OPC UA сам представляет собой промышленный протокол, который применяется для обмена данными на среднем (контроллеры, панели оператора, модули ввода-вывода и т. д.) и верхнем (SCADA, облачные сервисы) уровнях системы автоматизации (рис. 2).


Рис. 2. Структурная схема сети с использованием интерфейса OPC UA

Стандарт OPC UA продолжает развиваться. Основными векторами развития стандарта в последние годы являются:

  • Поддержка TSN (стандарта передачи данных в реальном времени в сетях Ethernet) и архитектуры «Издатель/Подписчик» (PubSub), что позволит применять OPC UA в задачах реального времени.
  • Выпуск OPC UA Companion Specifications, которые интегрируют в стандарт модели данных, уже зарекомендовавшие себя в других протоколах и отраслях – например, модели данных протокола МЭК 61850, стандарта MTConnect (доступ к станкам с ЧПУ) и т. д.

Поддержка OPC UA в устройствах ОВЕН

Контроллеры ОВЕН, программируемые в среде CODESYS V3.5 (ПЛК210, ПЛК200, СПК1хх), включают в себя OPC UA сервер. Поддерживается доступ к оперативным данным (DA) и защита подключения к серверу с использованием логинов/паролей и сертификатов. Работа с OPC UA сервером происходит через символьную конфигурацию (как и в случае с CODESYS OPC Server V3) – пользователю достаточно определить переменные проекта, которые будут доступны OPC UA-клиенту.

В будущих версиях CODESYS планируется поддержка доступа к историческим данным (профиль HA), передача тревог и событий (профиль AE), вызов программных модулей (POU) контроллера со стороны клиента. В перспективе ожидается разработка OPC UA-клиента и поддержка архитектуры «Издатель/Подписчик» (PubSub).

Контроллеры ПЛК110-MS4 [М02], программируемые в SoftLogic пакете MasterSCADA 4D, могут использоваться в роли OPC UA-сервера. Кроме того, компания ИнСАТ (разработчик MasterSCADA 4D) поддерживает технологию OPC UA и в других своих продуктах – таких, как SCADA-система MasterSCADA 3.x и OPC-сервер Multi-Protocol MasterOPC Server. В этом ПО поддерживается функционал как OPC UA-клиента, так и OPC UA-сервера. Компания ОВЕН является официальным дистрибьютором программных продуктов компании ИнСАТ.

Облачный сервис OwenCloud поддерживает обмен по OPC UA, выполняя роль сервера. Это позволяет считывать и записывать данные в приборы, подключенные к сервису, через SCADA-системы, панели оператора и другие устройства, имеющие встроенный OPC UA-клиент.

© Автоматизация и Производство, 2021. Все права защищены. Любое использование материалов допускается только с согласия редакции. За достоверность сведений, представленных в журнале, ответственность несут авторы статей.


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

Программы для ПЛК Овен пишутся в CodeSys 2.3, поэтому нужно заранее ее установить. Также нужно установить драйвер USB для самого ПЛК. И то и то можно скачать с официального сайта Овен.

Запускаем CodeSys и создаем новый проект. Программа попросит нас выбрать платформу. Выбираем наш ПЛК 110-30М.


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


Так как сейчас мы никакую программу писать не будем, нужно, чтобы хоть что-то выполнялось. Для этого создаем переменную. Для этого нажимаем SHIFT+F2. Вводим имя переменной "a" и задаем тип "BOOL".


В программу вписываем "a;"


Подключаем ПЛК. Заходим в диспетчер устройств Windows и смотрим, на какой порт подключается наш ПЛК.


Как видим внутри ПЛК находится тупо преобразователь USB<->UART. Заходим в CodeSys, нажимаем "Онлайн".


Нажимаем "Параметры связи…".


Нажимаем "New…". Вводим имя "USB", тип устройства выбираем "Serial (RS232)". Нажимаем "Ок".


Теперь щелкаем на порт, и стрелками вверх/вниз выбираем нужный нам порт. В моем случае это COM3. Таким же способом изменяем скорость на 115200.


Теперь все готово для подключения к ПЛК. Нажимаем "Онлайн", убеждаемся что не стоит галочка на "Режим симуляции", и нажимаем подключить. Если в ПЛК нет программы, программа предложит записать новую программу. Пока у нас нет программы, поэтому нажимать "Старт" нет необходимости. Снизу окна увидим наше подключение, "ОНЛАЙН: USB".


Для примера я через конфигурацию ПЛК включил три выхода.



Комментарии 4


По сравнению с Delta, Mitsubishi, Siemens эти плк овен с codesys говно несусветное. Всего одного контроллера овен и пары десятков других нормальных мне хватило, чтобы понять это…


к сожалению у нас только такой плк есть)


По сравнению с Delta, Mitsubishi, Siemens эти плк овен с codesys говно несусветное. Всего одного контроллера овен и пары десятков других нормальных мне хватило, чтобы понять это…

программировал на всех этих плк. самые лучшие митсу(и надежность и простота). овен не говно, если правильно писать программу и знать нюансы, то отлично работает. я на овне столько много проектов сделал, вот прошло уже у некоторых 7-8 лет, а они работают.
дельта, очень неудобна в написании программы для подключения доп оборудования, много нюансов. Её я бы поставил последней.
сименс надежны, есть свои заморочки. 1.митсу, 2.сименс, 3.овен, 4. дельта. Это лично мой опыт пользования.

ОВЕН ОВЕН ПЛК100-24.К-L – моноблочный контроллер с дискретными входами/выходами на борту для автоматизации малых систем.

Цена: 16660 ₽ с НДС

Программируемый логический контроллер ОВЕН ПЛК100-24.К-L предназначен для создания систем автоматизированного управления технологическим оборудованием в энергетике, на ж/д транспорте, в различных областях промышленности, жилищно-коммунального и сельского хозяйства, на опасных производственных объектах (например Котлонадзора), подконтрольных органам Ростехнадзора.

Вам будет интересно:

Функционал ОВЕН ПЛК100

Назначение контроллера

  • Создание систем управления малыми и средними объектами.
  • Построение систем диспетчеризации.

Особенности

  • Компактный DIN-реечный корпус.
  • Дискретные входы/выходы на борту.
  • Наличие последовательных портов (RS-485, RS-232) и Ethernet.
  • Расширение количества точек ввода/вывода осуществляется путем подключения внешних модулей ввода/вывода по любому из встроенных интерфейсов.
  • Два варианта питания: 220 В переменного тока и 24 В постоянного тока.

Конкурентные преимущества

Программирование контроллеров

Сервисное программное обеспечение

Программа обновления прошивки (внутреннее ПО) контроллера ОВЕН ПЛК100 и таргет-файлы можно скачать в разделе «Сервисное ПО контроллеров ОВЕН ПЛК100».

Дополнительные утилиты

Для удобства пользователей специалистами компании ОВЕН созданы дополнительные утилиты:

  • EasyWorkPLC – утилита для технолога, позволяющая изменять значения параметров, не изменяя при этом программу контроллера. Работает без CODESYS.
  • PLC_IO – утилита для работы с файловой системой контроллера, например, запись/считывание файлов с ПЛК. Работает без CODESYS.

Подробнее узнать про утилиты и скачать их можно на странице Утилиты EasyWorkPLC и PLC_IO. Ознакомиться с сертификатами можно скачать на странице сертификатов к приборам.

Функциональная схема

Функциональная схема ОВЕН ПЛК100

Поддерживаемые интерфейсы и протоколы

Контроллеры ОВЕН ПЛК позволяют организовать шлюз между приборами с протоколом ОВЕН (RS-485) и промышленными сетями с протоколами Modbus, Modbus TCP, DCON.

Пользователь имеет возможность реализовать в среде программирования СODESYS собственный протокол, не поддерживаемый ОВЕН ПЛК. В этом случае он может воспользоваться специальной библиотекой, которая открывает низкоуровневый доступ к последовательным портам ОВЕН ПЛК (библиотека входит в комплект поставки контроллера).

* Для ПЛК100-24 без учета мощности, потребляемой нагрузкой, подключенной к выходным элементам типа К.
**Для хранения файлов и архивов используется Flash-память, специализированная файловая система. Доступный для пользователя объем З Мбайта.
*** Настраивается пользователем, максимальный объем 16 Кбайт.

Модификации

Модификации ОВЕН ПЛК100

Лицензионное ограничение области памяти ввода/вывода

Контроллеры ОВЕН ПЛК выпускаются в двух модификациях по лицензионному ограничению размера области памяти ввода/вывода (т.н. области %I+%Q+%M или области отображения процесса):

  • ОВЕН ПЛК-Х.Х-M – контроллеры с ограничением объема области памяти ввода/вывода до 25 Кбайт;
  • ОВЕН ПЛК-Х.Х-L – контроллеры с лицензионным ограничением объема области памяти ввода/вывода до 360 байт.

Контроллеры ОВЕН ПЛК-Х.Х-L имеют более низкую цену.

ВНИМАНИЕ! Лицензионное ограничение распространяется только на область памяти ввода/вывода (область отображения процесса). Максимальное количество внутренних переменных программы ПЛК не зависит от лицензионного ограничения и определяется только размером доступной оперативной памяти.

Выбор типа лицензии ОВЕН ПЛК

Удобным способом, который позволяет точно проверить, хватит ли доступного объема памяти ввода/вывода, является способ создания проекта. Не приобретая контроллер, но установив на компьютере CoDeSys и Target-файл, вы можете создать проект и в окне PLC_Configuration подключить все необходимые модули. Если памяти достаточно, компиляция проекта пройдет успешно, если же нет – CoDeSys выдаст ошибку. При компиляции будут учтены все особенности, в том числе требования по выравниванию переменных. Для осуществления подобной проверки собственно программу контроллера писать не требуется.

Элементы управления

Светодиодная индикация ОВЕН ПЛК100

– наличия питания;
– работы программы;
– наличия связи со средой программирования CoDeSys;
– состояния дискретных входов;
– состояния дискретных выходов.

Габаритные размеры

Габаритные размеры ОВЕН ПЛК100

Схема подключения

Схема подключения ОВЕН ПЛК100-24.К

Схема подключения ОВЕН ПЛК100-24.К

Схема подключения ОВЕН ПЛК100-24.Р

Схема подключения ОВЕН ПЛК100-24.Р

Схема подключения ОВЕН ПЛК100-220.Р

Схема подключения ОВЕН ПЛК100-220.Р

Схема подключения дискретных входов ПЛК100

Схема подключения дискретных входов ПЛК100

Схемы подключения к ПЛК100 дискретных датчиков с полупроводниковым выходным каскадом

Схемы подключения к ПЛК100 дискретных датчиков с полупроводниковым выходным каскадом

Примечание

Для подключения к ПЛК100-24 датчиков n-p-n по схеме «с общим минусом» рекомендуется использовать дополнительно устройство ОВЕН ПДИМ-8


Эта статья может быть полезна будущим, или нынешним системным интеграторам и другим специалистам в области промышленной автоматизации, которым требуется разработать проект автоматизации с использованием операторских панелей Weintek и необходимо начать, или, так сказать, «зацепиться», используя какой-нибудь пример.

В примере будут использованы две панели Weintek MT8070iE, хотя, это могут быть любые другие модели, главное условие – наличие у одной из них Ethernet. В качестве программируемого логического контроллера будет использован ОВЕН ПЛК 110-60 (далее ПЛК).

Предлагается испытать ПЛК в качестве Modbus-сервера, работающего сразу по двум интерфейсам RS-485 и Ethernet. Одна панель подключена к ПЛК по RS-485 и протоколу Modbus RTU, вторая панель подключена по Ethernet и протоколу Modbus TCP. При этом Modbus-сервер остается один и тот же для обеих панелей. Таким образом, одна панель может зафиксировать изменения регистров сервера, сделанные другой панелью.

Выбранный для тестирования ПЛК, судя по маркировке «110-220.60.P-L», имеет напряжение питания 220 Вольт, 24 релейных выхода и 36 дискретных входов. Все модели панелей оператора Weintek имеют напряжение питания 24 Вольта, таким образом, для нашего примера понадобится два источника питания: 220В переменного и 24В постоянного тока.

Детальное описание разъемов можно посмотреть в инструкции по инсталляции MT8070iE. Описание контактов ПЛК в схемах подключения ОВЕН ПЛК 110-60. Принципиальная схема соединений нашего оборудования выглядит так:


HMI-1 и HMI-2 необходимо запитать от блока питания на 24 В, а ПЛК от сети 220В. HMI-1 соединяем с ПЛК с помощью прямого Ethernet-кабеля. HMI-2 COM1 RS-485 соединяем с выводами А1,В1 ПЛК двужильным кабелем.

Чтобы максимально упростить пример, ПЛК будет предоставлять через Modbus-сервер доступ к 16 входам и 16 выходам, а панели оператора будут клиентами этого сервера. Они будут отображать состояние 16 входов ПЛК и предоставлять пользователю возможность включить/выключить каждый из 16 выходов.

Разработка пользовательской программы для ПЛК 110-60 в среде программирования CoDeSys 2.3.


Такой список элементов конфигурации доступен по умолчанию для ПЛК110-60. В нем представлены все физические входы/выходы, доступные пользователю. К этому списку необходимо добавить новый элемент «Modbus-slave» через контекстное меню следующим образом:


Этот модуль будет отвечать за функционирование Modbus-сервера. После создания модуля конфигурации «Modbus-slave», необходимо настроить интерфейсы, через которые будет доступен наш сервер. Для этого добавим к элементу Modbus[FIX] два подэлемента RS-485-1 и TCP. Единица в интерфейсе RS-485 означает номер интерфейса, всего их два, выводы интерфейсов маркированы соответствующим образом – А1,В1 и А2,В2. Каждый добавленный нами интерфейс необходимо настроить во вкладке «Параметры модуля». Для TCP зададим только номер порта, оставим значение по умолчанию (502). Для RS-485 необходимо задать скорость, четность и др. параметры последовательной передачи, в нашем примере будем использовать параметры «115200,N,8,1».


Теперь, когда интерфейсы настроены, необходимо составить карту адресов Modbus-сервера. Адреса регистров назначаются средой автоматически, по мере добавления новых регистров, в соответствующей порядку элементов последовательности. Мы будем использовать только 2-байтовые регистры, что соответствует стандарту Modbus и не вызовет трудностей с расчетом адресов. Так как ПЛК должен предоставлять прямой доступ к 16 входам и 16 выходам через регистры Modbus, будем использовать один регистр для входов и один для выходов. Таким образом, 16-битный регистр входов будет предоставлять информацию о состоянии 16 входов, по одному биту на вход, а 16-битный регистр выходов будет управлять состоянием 16 релейных выходов, по одному биту на реле.

Добавим к модулю Modbus(slave) два элемента «2 byte»:


Теперь, необходимо задать имена регистров Modbus и регистров входов/выходов, чтобы можно было использовать их в программе:


Регистры дискретных входов/выходов имеют размер 8 бит, поэтому для одного 16-битного регистра Modbus понадобится 2 таких регистра.

В итоге получаем следующее:

  1. IN1, IN2 - регистры дискретных входов;
  2. OUT1, OUT2 – регистры дискретных выходов;
  3. MB_IN – регистр Modbus с адресом 1;
  4. MB_OUT – регистр Modbus с адресом 2;

Можно переходить к написанию программы. Перейдем на вкладку “POU” и откроем основной и единственный программный компонент - PLC_PRG. Это и есть главная программа, которая выполняется циклически. Язык программы выбирается во время создания проекта, но его можно поменять в любой момент, создав новый программный компонент с нужным языком. Рассмотрим 2 варианта реализации одного и того же алгоритма, используя языки программирования ST (структурированный текст) и FBD (функциональные блоковые диаграммы). Алгоритм программы очень простой, от нее требуется только связать регистры дискретных входов/выходов с регистрами Modbus.

Программа на языке ST:

OUT1 := WORD_TO_SINT(MB_OUT); (*выделяем младший байт регистра MB_OUT и присваиваем регистру OUT1.*)

OUT2 := WORD_TO_SINT(SHR(MB_OUT,8)); (*выделяем старший байт регистра MB_OUT и присваиваем регистру OUT2.*)

MB_IN := IN1 + IN2*256; (*размещаем регистр IN1 в младшем байте регистра MB_IN, а IN2 в старшем.*)

Программа на языке FBD:


Программы идентичны и, как можно видеть, цепи 1,2,3 на языке FBD соответствуют строкам 1,2,3 на языке ST. Единственное отличие в том, что для перемещения старшего байта на место младшего на языке FBD используется функция деления(DIV), а на языке ST используется функция сдвига(SHR). Кстати, если запустить автоматическое преобразование языка из ST в FBD получится та же самая диаграмма, только вместо блока деления DIV будет блок сдвига SHR.

Программа готова. Чтобы загрузить ее, необходимо подключить ПЛК к USB-порту компьютера и установить соответствующий драйвер. Выбираем пункт меню «онлайн/параметры связи» и указываем номер порта, на который установился ПЛК:


После подключения и загрузки программы, можно задать IP-адрес, это потребуется для подключения панели к ПЛК по Ethernet. Для этого воспользуемся ПЛК-браузером:


Командой SetIP зададим IP-адрес, пусть это будет 192.168.0.2. Этот адрес в дальнейшем потребуется указать при создании проекта для панели оператора HMI-1.

Разработка проекта для панели оператора HMI-1.

Для того, чтобы панели Weintek обладали одинаковым функционалом, достаточно сделать один проект для любого из интерфейсов, а для другой панели в уже готовом проекте интерфейс связи поменять. Начнем с проекта для панели с Ethernet. После запуска EasyBuilder и выбора типа панели, сразу же появятся системные настройки, в которых необходимо добавить интерфейс связи:


Во вкладке «Устройства» нажимаем кнопку «Создать» и в параметрах нового устройства задаем следующие настройки:


Здесь надо обратить внимание на «Тип ПЛК», «ПЛК I/F» и «IP», остальные параметры установлены по умолчанию. IP-адрес – адрес ПЛК, который мы задавали в ПЛК-браузере. Порт 502, такой же должен быть в проекте CoDeSys. Нажимаем кнопку “OK” и закрываем окно, связь настроена.

Теперь, для удобства привязки объектов к адресам ПЛК создадим библиотеку адресных меток. Для этого выбираем пункт меню «Библиотека/Адресные ярлыки», появится следующее окно:


Здесь можно вручную создать каждую метку, указав устройство и адрес. Имя метки – это имя, которое будет использоваться во время привязки объекта. В нашем примере мы будем создавать 16 объектов-индикаторов входов и 16 объектов-тумблеров, каждый из этих объектов будет привязываться к одному из битов регистра Modbus, поэтому необходимо создать 32 адресных метки с типом адреса «бит». Привязка к биту 16-битного регистра в EasyBuilder осуществляется заданием типа 16-битного регистра, адреса регистра и номера бита. Адрес регистра и номер бита указываются в одном поле без знаков разделения, номер бита указывается двумя десятичными знаками. В нашем ПЛК регистры типов «3х» (Input registers) и «4х» (Holding Registers) ссылаются на одну область памяти, поэтому для индикаторов состояния дискретных входов можно выбрать и тот и другой тип. Номер регистра входов – 1, адрес нулевого бита будет выглядеть так – «100»(1-первый регистр, 00-нулевой бит), следующий – «101» и т.д., и т.п. Тумблеры необходимо привязывать к регистрам типа «4х», потому что регистры «3х» доступны только для чтения.

Более удобный и быстрый способ редактирования библиотеки меток – создание/редактирование таблицы в формате Excel или CSV. Можно создать пару меток и экспортировать библиотеку в файл, затем этот файл отредактировать в табличном редакторе. Должно получиться примерно следующее:

Читайте также: