Opc core components redistributable что это за программа
На днях пришлось крепко повозиться с настройкой вызова удалённого сервера по протоколу OPC DA 2.05a, и эта информация бы очень пригодилась, знай я её заранее.
1. Что такое OPC DA и в частности OPC DA 2.05a
В общем случае OPC — это набор открытых протоколов, регламентирующих взаимодействие между собой различных объектов автоматизации, таких как SCADA-системы, к примеру. OPC DA (Data Access) — это один из таких протоколов, он обеспечивает обмен данными с устройствами или программными компонентами. В моем случае по этому протоколу нужно было периодически забирать данные со SCADA-системы. И самое важное — OPC DA работает на базе технологии COM, так что взаимодействие с OPC сервером по сути сводится к взаимодействию с COM сервером.
2. Какие есть библиотеки
Бинарники от Opc Foundation
Компоненты от Advasol
Библиотека OPCDOTNET
Библиотека от энтузиаста на codeproject.com. Ничего не могу сказать, но именно её код использовал мой предшественник, который реализовал локальное взаимодействие с OPC сервером. Судя по тому, что написано в статье, она как раз для локального взаимодействия и предназначена. Плюсы — доступные исходники, наличие тестового клиента, отсутствие зависимостей.
3. Можно ли написать код без использования библиотек
В принципе, ничего сложного в этом нет, если вы имели опыт взаимодействия с COM/DCOM приложениями. А тем, кто как и я, не особо разбирается в этих технологиях, могу порекомендовать писать код, поглядывая на декомпилированные исходники библиотеки от OPC Foundation. По сути, для взаимодействия с OPC сервером достаточно всего лишь сделать интеропы на необходимые интерфейсы, получить их и дергать методы.
4. Проблемы
— Тестовый клиент не подключается с ошибкой RPC сервер недоступен — проверьте доступность портов, порта номер 135 как минимум (основной порт DCOM).
— Access Denied — придется повозиться с настройкой как сервера, так и клиента. См. ссылки внизу
— CLSID is not registered — проверьте, установлен ли у вас Core Components, возможно их не хватает. Либо проверьте Target Platform сборки, осуществляющей интероп. Может быть, там AnyCPU а должно быть x86.
— CoCreateInstanceEx возвращает валидный COM объект, но при касте его к COM интерфейсам вываливается Access Denied (0x80070001). С этой проблемой я возился полдня. Эта штука происходит, когда для доступа к серверу необходимо указать юзера и пароль. Вы вызываете CoCreateInstanceEx, заполнив перед этим SERVER_INFO, и вам приходит ссылка на объект. Однако следующие вызовы QueryInterface не сохраняют параметров доступа, которые вы указали при получении объекта, и это приводит к Access Denied. Решение — вызвать магическую функцию CoInitializeSecurity, которая установит дефолтные параметры безопасности для COM-вызовов. Код:
При вызове этой функции может случиться ошибка RPC_E_TOO_LATE. Эта ошибка возникает обычно из-за хост-процесса Visual Studio, который неявно вызывает CoInitializeSecurity при старте. Для решения проблемы достаточно отключить использование хост-процесса в настройках проекта.
5. Ссылки по теме
OPC Training Institute — сайт с множеством отлично оформленных статей, которые помогают в случае проблем. Например, как настроить DCOM, какие возможные причины ошибки RPC server is not available итд. Требует регистрации, регистрация бесплатна.
Туториалы по настройке DCOM — еще 1 хорошо оформленный туториал для настройки.
Просто о стандартах OPC DA и OPC UA
OPC (аббр. от англ. Open Platform Communications, ранее англ. OLE for Process Control) – это набор программных технологий, которые предоставляют единый интерфейс для управления различными устройствами и обмена данными. Спецификации OPC были разработаны международной некоммерческой организацией OPC Foundation, которую создали в 1994 году ведущие производители средств промышленной автоматизации. Целью создания OPC было предоставить инженерам универсальный интерфейс для управления различными устройствами.
Реализовав поддержку OPC-клиента, разработчики SCADA систем избавились от необходимости поддерживать сотни драйверов для различных устройств, а производители оборудования, добавив OPC-сервер, обрели уверенность в том, что их продукт может применяться пользователями любых SCADA систем.
Технология OPC включает несколько стандартов, которые описывают набор функций определенного назначения. Текущие стандарты:
OPC DA (Data Access)— наиболее распространённый стандарт. Описывает набор функций обмена данными в реальном времени с ПЛК, РСУ, ЧМИ, ЧПУ и другими устройствами.
OPC HDA (Historical Data Access)предоставляет доступ к уже сохраненным данным и истории.
OPC AE (Alarms & Events)— предоставляет функции уведомления по требованию о различных событиях: аварийные ситуации, действия оператора, информационные сообщения и другие.
OPC Batch— предоставляет функции шагового и рецептурного управления технологическим процессом.
OPC DX (Data eXchange)— предоставляет функции организации обмена данными между OPC-серверами через сеть Ethernet. Основное назначение — создание шлюзов для обмена данными между устройствами и программами разных производителей.
OPC Security— определяет функции организации прав доступа клиентов к данным OPC-сервера.
OPC XML-DA (XML-Data Access)— предоставляет гибкий, управляемый правилами формат обмена данными через XML, SOAP и HTTP.
OPC Complex Data— дополнительные спецификации к OPC DA и XML-DA, которые позволяют серверам работать со сложными типами данных, такими как бинарные структуры и XML-документы.
OPC Commands— набор программных интерфейсов, который позволяет ОРС клиентам и серверам идентифицировать, посылать и контролировать команды, исполняемые в контроллере или модуле ввода-вывода.
OPC UA (Unified Architecture)— последняя по времени выпуска спецификация, которая основана не на технологии Microsoft COM, что предоставляет кроссплатформенную совместимость.
Самое широкое распространение получил стандарт OPC DA, но у него есть существенный недостаток. Во времена его разработки он был построен на современных Windows-технологиях: OLE, ActiveX, COM/DCOM, но с тех пор в отрасли прошли изменения и большое распространение получили другие ОС и технологии. Поэтому технологию OPC сделали платформонезависимой и разработали стандарт OPC UA (Unified Architecture) на открытых кроссплатформенных технологиях.
Применение OPC
Обычно технологию OPC применяют для обмена данными между контроллерами и SCADA системой, но также возможна организация сложных систем на разных уровнях АСУ ТП.
OPC состоит из двух частей: OPC клиента и OPC сервера. ПО OPC сервера через драйверы устройств по полевым шинам опрашивает различные устройства. ПО OPC клиента обычно встроено в SCADA систему и предназначено для получения данных с OPC сервера.
На предприятии можно выделить несколько уровней АСУ:
Нижний уровень — полевые шины (fieldbus) и отдельные контроллеры;
Средний уровень — цеховые сети;
Уровень АСУ ТП — уровень работы систем типа SCADA;
Уровень АСУП — уровень приложений управления ресурсами предприятия, ERP, MES.
Каждый из этих уровней может обслуживаться OPC-сервером, поставляя данные OPC-клиенту на более высоком уровне или соседнему устройству.
Работа OPC DA сервера
OPC DA сервер обеспечивает обмен данными (запись и чтение) между клиентской программой (обычно SCADA системой) и конечными устройствами. Данные в OPC представляют собой переменную Тег с некоторыми свойствами. Переменная может быть любого типа, допустимого в OLE: различные целые и вещественные типы, логический тип, строковый, дата, массивом и т. д. Свойства могут быть обязательными, рекомендуемыми и пользовательскими.
Текущее значение переменной, ее тип и права доступа (чтение и/или запись).
Качество переменнойзависит от выхода измеряемой величины за границы динамического диапазона, отсутствии данных, ошибки связи и других параметров. Обычно принимает значения: хорошее/плохое/неопределенное и дополнительная информация.
Метка временисообщает о времени, когда переменная получила данное значение.
Частота опроса переменной OPC-серверомзадает время обновления значения переменной.
Описание переменной, которое содержит информацию для пользователя о том, что представляет собой эта переменная.
Дополнительно могут быть указаны необязательные свойства: диапазон изменения значения, единица измерения и другие пользовательские параметры.
Для чтения данных из ОРС сервера можно использовать различные режимы:
Синхронный режим: клиент посылает запрос серверу и ждет от него ответ.
Асинхронный режим: клиент отправляет запрос и сразу же переходит к выполнению других задач. Сервер после обработки запроса посылает клиенту уведомление и тот забирает предоставленные данные.
Режим подписки: сервер отсылает клиенту только те теги, которые изменились. Для того, чтобы шум данных не был принят за их изменение, вводится понятие «мертвой зоны», которая слегка превышает максимально возможный размах помехи.
Режим обновления данных: клиент вызывает одновременное чтение всех активных тегов. Активными называются все теги, кроме обозначенных как «пассивные». Такое деление тегов уменьшает загрузку процессора обновлением данных, принимаемых из физического устройства.
Клиент получает данные от ОРС сервера либо из буфера, либо сразу из конечного устройства. Чтение из буфера выполняется быстрее, но данные в нем могут устареть к моменту чтения. ОРС сервер периодически обновляет данные, запрашивая информацию у конечных устройств.
Запись данных в конечное устройство осуществляется в синхронном или асинхронном режимах без промежуточной буферизации. В синхронном режиме клиент осуществляет запись данных и ждет пока не получит подтверждение о выполнении команды от конечного устройства. Этот процесс может занимать много времени, в течении которого клиент находится в ожидании. Асинхронный режим позволяет клиенту отправить запрос серверу и заниматься другими задачами. После окончания записи сервер отправит клиенту уведомление.
Примеры OPC DA сервера
Для примера возьмём SCADA систему Trace Mode 6, в которой реализована функция OPC DA сервера. Trace Mode 6 можно поставить на ПК, либо сразу на контроллер.
SCADA Trace Mode 6 может опрашивать различные модули ввода-вывода и управлять контроллерами по стандартным промышленным протоколам типа: Modbus, МЭК 60870-5-104, HART и другим. Но промышленные протоколы не предназначены для обмена данными между SCADA и ERP, MES системами. Тут придет на помощь стандарт OPC DA, который позволит собрать различные данные с исполнительных модулей SCADA. OPC DA сервер для получения данных с Trace Mode доступен как отдельный модуль, так и в составе модулей OPC МРВ+ или OPC ДокМРВ+.
Также Trace Mode 6 может выступать в качестве OPC клиента и получать данные с OPC DA серверов различных производителей. Например, есть видео урок подключения Trace Mode 6 к NAPOPC DA Server – это OPC DA сервер от компании ICP DAS.
NAPOPC DA Server – это бесплатный OPC DA сервер для опроса модулей ввода-вывода ICP DAS. Его можно установить на ПК, либо прямо контроллеры ICP DAS с ОС:
Windows 10 — XP-9781-IoT
Windows WES — XP-9781-WES7
Windows CE 6.0 — XP-8731-CE6
Windows CE 5.0 — WP-8841-EN
NAPOPC DA Server позволяет опрашивать модули: I-7000, M-7000, ET-7000, I-8K, I-87K и корзины RU-87Pn.
Стандарт OPC UA
OPC UA (Unified Architecture) – это современный стандарт, описывающий передачу данных в промышленных сетях. Он обеспечивает защищенную и надежную коммуникацию между устройствами, являясь при этом аппаратно- и платформо-независимым, что позволяет обеспечить обмен данными между устройствами с разными операционными системами.
Сильными сторонами OPC UA является объектно-ориентированная информационная модель, которая позволяет «просматривать» данные (в стиле web-браузера), и сервис ориентированная архитектура (SOA). Если раньше приходилось использовать несколько OPC серверов: OPC DA для данных в реальном времени, OPC HDA для истории и OPC AE для событий, то теперь все это и многое другое доступно в одном стандарте OPC UA. Вместо дерева тегов, теперь вводится понятие узлов или объектов. Каждый узел включает в себя переменные, методы и другие структуры данных реального объекта.
Обмен данными теперь происходит через бинарные структуры и XML документы. В дополнение к модели клиент/сервер становится доступна модель издатель/подписчик. Также стандарт определяет механизм для поддержки резервирования (если один клиент станет не доступным, то его заменит другой) и быстрого восстановления связи в случае сбоя. Передача данных происходит через транспортный слой TCP, HTTP/SOAP или HTTPS. Вместо механизмов контроля прав доступа Windows, в OPC UA реализована поддержка цифровых сертификатов и возможность шифрования передаваемых данных.
Реализована обратная совместимость с OPC DA через специальную оболочку (wrapper) и proxy-модуль. Для передачи данных через маршрутизаторы и межсетевые экраны OPC DA требовал использовать промежуточное ПО, OPC UA же работает без прослойки. Спецификация OPC UA включает в себя несколько частей, которые описывают логику работы серверов и клиентов. Детальная версия спецификации доступна в стандарте IEC 62541.
Пример OPC UA сервера
Примером OPC UA сервера может стать набор ПО MX-AOPC UA Suite от компании MOXA. В MX-AOPC UA Suite входит 3 программы:
Server – для получения данных с Modbus устройств
Viewer – для просмотра тегов и состояния сервера (Viewer встроен в Server)
Logger – для ведения истории изменения данных, а также интеграции с базами данных и Облачными решениями
В первую очередь MX-AOPC UA Server ориентирован на модули ввода-вывода MOXA, т.к. там реализована функция Active Tag, но также поддерживается подключение сторонних устройств по протоколам Modbus RTU и Modbus TCP. ФункцияActive Tagпозволяет обновлять состояние каналов сразу после их изменения, не дожидаясь команды со стороны сервера.
MX-AOPC UA Logger позволяет отправлять данные в Облако Microsoft Azure и базы данных Microsoft SQL Server, MySQL, Oracle, Microsoft Office 2003 Access или Excel через ODBC.
В MX-AOPC UA реализована защита данных через шифрование ключом Basic128Rsa15 и подтверждение сертификатом X509.
Минусы применения OPC
Конечно у любой хорошей технологии есть свои минусы. Например, разработчики SCADA Trace Mode 6 из компании АдАстра Рисерч Груп, выделяют типовые ошибки в проектировании АСУ ТП.
К ошибкам можно отнести:
Неоправданное применение WEB-технологий в АСУ ТП
Применение протоколов реального времени в телемеханических задачах
Например, вы узнали о хорошей технологии OPC и стремитесь заменить все протоколы нижнего уровня только на OPC. Но конвертация промышленных протоколов Modbus, Profibus и любых других на ПК будет занимать дополнительное время и тратить ресурсы компьютера. Тесты показали, что SCADA система работает в 2 раза быстрее напрямую с промышленными протоколами, чем через промежуточный OPC сервер. Конечно, есть системы где процесс не нужно контролировать в реальном времени, но это нужно учитывать при проектировании АСУ ТП.
К недостаткам также можно отнести сложность настройки OPC сервера и необходимость ручной привязки тысячи тегов. Кроме того, OPC-сервер не всегда поставляется бесплатно и чаще всего на каждый ПК придется покупать отдельную лицензию.
Если система отправляет данные через Интернет в Облако, то наличие слабого шифрования может стать потенциальной уязвимостью и целью для атак хакеров, что ставит под сомнение безопасность всей АСУ ТП.
OPC UA для работы в реальном времени
OPC UA over TSN— для поддержки работы в реальном времени технология OPC UA (вместо модели клиент/сервер) может использовать модель издатель/подписчик совместно с технологией TSN (Time-Sensitive Networking).
Модель клиент/сервер хорошо работает в случае подключения точка-точка, но если устройств становится много, то появляются задержки в обновлении данных. Модель издатель/подписчик обеспечивает связь от одного ко многим и от многих ко многим. Сервер отправляет свои данные в сеть (публикация) и каждый клиент может получить эти данные (подписка).
Технология Ethernet с TSN дополняет существующие средства Ethernet в том, что касается обеспечения качества обслуживания трафика (QoS), включая выделение полосы пропускания, синхронизацию, гарантию низких значений задержки и обеспечения резервирования. Данные, которые передают различные устройства по Ethernet сети, представляют собой потоки. Ethernet коммутаторы с TSN позволяют выделить для каждого потока свою полосу пропускания и обеспечить его передачу в реальном времени. Несколько потоков можно объединить (это называется сетевой конвергенцией) и организовать их передачу по одной сети в режиме реального времени. Получается без технологии TSN по одной Ethernet сети можно передавать только один протокол реального времени, а с TSN несколько.
Объединение технологий OPC UA over TSN позволяет организовать коммуникацию между оборудованием от разных производителей и гарантировать непрерывное получение данных в режиме реального времени.
OPC Foundation планирует использовать OPC UA не только для передачи данных между контроллерами и SCADA системой, но и на полевом уровне от датчиков и IoT устройств к контроллерам, а также от локальных систем в Облако. Для этого планируют разбить стандарт OPC UA на 4 части в зависимости от производительности устройства и необходимых ему возможностей.
Nano Embedded Device Server: подходит для самых маленьких датчиков;
Micro Embedded Device Server: подходит для недорогих ПЛК;
Embedded UA Server: подходит для более мощных ПЛК и пограничных шлюзов;
Standard UA Server: полноценная реализация, поддерживающая все функции.
Classic
The core components contains elements that are critical for all OPC Classic applications to work. The core components should be deployed to all PCs where OPC Classic will be used.
Sample code/ Reference Implementations are provided to OPC Foundation Members as-is for the primary purpose of demonstration and educational purposes. OPC Foundation Members may use the OPC Foundation deliverables for their Product development. (Members are not permitted to distribute OPC Foundation Source code (see OPC Foundation license agreement).
Technical Support
Issues and questions should be reported on the OPC Foundation Community Forum.
Software Lifecycle
When an update occurs the revision number is incremented and prior revisions should be treated as «end-of-life».
Prior revisions are available under the «Archives» tab unless there are security vulnerabilities that were reported to the OPC Foundation.
Reported security vulnerabilities can be found here.
Activities including bug-fixes and feature requests as reported in our Mantis bug-tracking system as described here.
Access: Registered User
Version | Status | Description | Date Posted (YYYY-MM-DD) | Download |
---|---|---|---|---|
2.01.108 | Release | OPC NET RCW (NuGet/ZIP) | 2020-08-06 | Icon |
3.00.108 | Release | OPC Core Components Redistributables (ZIP/MSI/MSM) | 2019-12-20 | Icon |
Version | Status | Description | Date Posted (YYYY-MM-DD) | Download |
---|---|---|---|
3.0.105 | Release | 2012-12-31 | Icon |
OPC Redistributables Agreement of Use
Version 1.3, February 06, 2017, OPC Foundation
The terms and conditions of the Agreement apply to the Software Deliverables including without limitation any OPC Foundation:
for the Software Deliverables, unless OPC Foundation specifies that any other terms accompany such items, in which case the alternate terms specified by OPC Foundation would apply.
BY USING THE SOURCE DELIVERABLES, YOU ACCEPT THE TERMS OF THIS AGREEMENT. IF YOU DO NOT ACCEPT THE TERMS OF THIS AGREEMENT, DO NOT USE THE SOFTWARE DELIVERABLES.
If you comply with this Agreement, you have the rights below.
1. INSTALLATION AND USE RIGHTS.
.
You may install and use any number of copies of the Software Deliverables.
2. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS.
.
Distributable Code. The Software Deliverables contain compiled code that you are permitted to distribute with programs you develop if you comply with the terms below.
3. SCOPE OF LICENSE.
The Software Deliverables are licensed, not sold. This Agreement only gives you some rights to use the Software Deliverables. The OPC Foundation reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this Agreement. In doing so, you must comply with any technical limitations in the Software Deliverables that only allow you to use it in certain ways. You may not:
4. BACKUP COPY.
You may make one backup copy of the Software Deliverables. You may use such copy only to reinstall the Software.
5. DOCUMENTATION.
Any person that has valid access to your computer or internal network may copy and use the documentation related to the Software Deliverables for your internal reference purposes.
6. EXPORT RESTRICTIONS.
The Software Deliverables are subject to United States export laws and regulations. You must comply with all domestic and international export laws and regulations that apply to the Software Deliverables. These laws include restrictions on destinations, end users and end use.
7. SUPPORT SERVICES.
Because you accept the Software3 Deliverables from OPC Foundation “as is,” OPC Foundation may not provide support services for it.
8. ENTIRE AGREEMENT.
This Agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire Agreement for the Software Deliverables and support services.
10. LEGAL EFFECT
This Agreement describes certain legal rights. You may have other rights under the laws of your country. This Agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so.
Скачать бесплатно Rapid SCADA
Rapid SCADA 5
Инсталляционный пакет содержит все необходимые для работы приложения Rapid SCADA, набор основных драйверов и конфигурационную базу данных с готовыми примерами. Перед скачиванием дистрибутива Вам будет предложено заполнить анкету. Скачать…
Пакет драйверов
Пакет дополнительных драйверов для работы с устройствами: Болид С2000, ЛОГИКА СПТ943, СИ ИГЛА, Теплоком ВКТ-7, ЭКСИС ИВТМ-7М, Энергомера CE30X и других. Скачать
Языковой пакет
Переводы Rapid SCADA на различные языки, выполненные нашими пользователями. Включает языки: испанский, китайский, литовский, португальский, турецкий и украинский. Скачать
Пакет изображений
Содержит изображения, созданные сообществом, для использования в проектах SCADA. Скачать
OPC Core Components
Набор компонентов, содержащий общие модули, необходимые для работы приложений с использованием стандарта OPC. Скачать для x64 или x86.
Последнюю версию OPC Core Components можно найти на официальном сайте OPC Foundation.
Скачать коммерческие модули
Плагин Графики Про
Графики Про — это дополнительный плагин для приложения Вебстанция, расширяющий возможности работы с графиками входных каналов: масштабирование, одновременное отображение нескольких графиков, экспорт в форматы PNG и PDF. Скачать…
Плагин Дэшборды
Данный плагин отображает полезные виджеты на дэшбордах: графики, текущие данные и произвольные фреймы, например, изображение с камеры видео-наблюдения. Скачать…
Плагин Гибкий отчёт
Данный плагин позволяет генерировать отчёты в соответствии с пользовательской конфигурацией. С помощью данного плагина Вы можете построить практически любой необходимый отчёт. Пользователю достаточно выбрать период и нажать на кнопку генерации отчёта. Скачать…
Плагин Карты
Плагин отображает состояние и параметры автоматизированных объектов на интерактивных картах. Скачать…
Плагин Уведомления
Плагин формирует уведомления на основе событий по заданным правилам и выводит их на панели уведомлений. Скачать…
Плагин Дополнительные компоненты схем
Данные компоненты делают схемы привлекательными и наглядными для оператора. Скачать…
Модуль автоматического управления
Данный программный модуль позволяет в автоматическом режиме отправлять команды при выполнении определённых условий. Скачать…
Модуль Быстрый шлюз
Модуль предназначен для синхронизации данных между несколькими экземплярами Rapid SCADA. Модуль позволяет организовать работу резервного сервера, а также обеспечивает передачу данных от SCADA, установленных на удалённых объектах, на главную SCADA. Скачать…
Драйвер Modbus Slave
Драйвер обеспечивает взаимодействие с контроллерами по протоколу Modbus в том случае, если сервер является ведомым, а контроллер является ведущим. Также драйвер позволяет предоставить данные из Rapid SCADA сторонним системам. Скачать…
Драйвер Telegram
Драйвер предназначен для рассылки уведомлений пользователям с помощью популярного мессенджера Telegram. Преимуществами использования Telegram является оперативность получения уведомлений, отсутствие платы за использование сервиса и удобство управления группами рассылки. Скачать…
Приложение Автоотчёт
Приложение предназначено для автоматического формирования различных отчётов, их сохранения на диск, а также рассылки по электронной почте. Скачать…