Руководство для новичков по OPC: как написать клиент C # Hello World?

Вот моя ситуация:

У нас есть программное обеспечение, которое используется для мониторинга разработанных солнечных электростанций. Я должен представить OPC как новый способ получения данных от самих физических устройств, поэтому в конечном итоге я попытался узнать об OPC, что до сих пор разочаровывает.

Я установил симулятор Matrikon и с помощью Matrikon explorer вижу, что данные моделируются. Теперь мне нужно создать очень простое доказательство концепции, чтобы я мог подключиться к нему и распечатать что-нибудь с помощью C #. Насколько я понимаю, мне приходится использовать какой-то проприетарный API / SDK. Я всего лишь тестирую вещи, поэтому я не хочу прямо сейчас делать что-то проприетарным способом. Разве OPC не был создан для того, чтобы этого избежать?

Есть ли простая DLL с открытым исходным кодом, которую я могу использовать для подключения к серверу OPC, которая поддерживает DA, HDA и AE, позволяя мне работать, не беспокоясь о поставщиках / SDK?

Чтобы добавить к путанице, я нашел OPC Xi и OPC UA .... и я не нашел учебного пособия с нуля, а это то, что я ищу.


person sergio    schedule 16.08.2013    source источник
comment
Если есть возможность, рекомендую начать использовать OPC UA. Это лучший вариант, рассчитанный на будущее. К сожалению, вам нужно будет инвестировать в коммерческий SDK, чтобы получить подходящую платформу, но он скоро окупится, поскольку они предлагают вам API очень высокого уровня, который избавит вас от множества проблем. Для тестирования вы можете получить бесплатные ознакомительные версии от нескольких поставщиков. Для подключения к OPC DA / AE / HDA вы можете использовать приложения UA Gateway. OPC Xi - это протокол только для .NET (в настоящее время переименованный в OPC .NET).   -  person Jouni Aro    schedule 16.08.2013
comment
у вас есть сервер OPC для ваших устройств? если да, то какая версия OPC?   -  person AndersK    schedule 17.08.2013
comment
Прямо сейчас я только тестирую материал и использую симулятор MatrikonOPC   -  person sergio    schedule 19.08.2013


Ответы (5)


Сначала вам нужно знать, какой OPC вы хотите использовать.

  • Классический OPC DA / HDA и A&E на базе Windows COM / DCOM
  • OPC XML / DA, DA как веб-сервис, но с некоторой ограниченной производительностью.
  • OPC UA, последняя спецификация, позволяющая реализовать его на платформе, отличной от Windows, и объединить DA, HDA и A&E.

После этого вы можете выбрать язык, который хотите использовать, и использовать SDK бесплатно или нет.

Один хороший веб-сайт для OPC: http://www.opcconnect.com/source.php имеет списки наборов инструментов, которые вы можете использовать.

person Camille G.    schedule 19.08.2013
comment
Камилла, я знаю, что мне нужно получить доступ к информации DA / HDA и AE, как я уже сказал. - person sergio; 19.08.2013
comment
OPC UA также обладает функциональностью классических OPC DA / HDA и AE ... И, возможно, было бы интереснее реализовать его, как сказал Йоуни. Я рекомендую вам использовать Unified Automation .NET Server / Client Bundle. Думаю, демо-версия бесплатна: unified-automation.com/downloads/ opc-ua-development.html. Вы должны быть в состоянии написать крошечное доказательство концепции обмена информацией между клиентом и сервером. - person Camille G.; 19.08.2013
comment
тогда позвольте мне попробовать ... Я использую тестовый сервер Matrikon. как вы думаете, мне нужен другой сервер для имитации моих тестовых данных? - person sergio; 19.08.2013
comment
Никогда не пробуйте это. Но попробуйте версию OPC UA, если она есть. OPC UA устраняет все проблемы, с которыми вы можете столкнуться из-за технологии COM / DCOM ... - person Camille G.; 19.08.2013

Я рекомендую вам использовать новейшую разновидность OPC, OPC UA.

Вы можете создать простое приложение HMI на C #, используя следующие бесплатные инструменты:

1. Microsoft Visual Studio Express 2013 для рабочего стола Windows доступна по адресу: http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-for-windows-desktop.

2. Последний источник с этого сайта: https://github.com/convertersystems/opc-ua-samples

С помощью этого набора вы можете: Просматривать серверы OPC UA прямо из среды разработки Visual Studio. Перетащите узлы переменных, чтобы создать подписку на данные. Используйте привязки для анимации свойств элемента управления пользовательского интерфейса на основе значений данных подписки.

Ознакомьтесь с образцом приложения «Рабочая станция».

person Andrew Cullen    schedule 26.02.2014

Предоставляю вам учебное пособие ... но сначала немного информации:

OPC - это все, кроме открытого (с открытым исходным кодом) ... Фонд OPC определил много вещей для стандартизации способов взаимодействия автоматизации, на основе которых вы можете создать свой собственный стек. Будьте осторожны, материал ОГРОМНЫЙ (!). Итак, чтобы немного облегчить рабочую нагрузку, существует множество компаний, предоставляющих вам стеки для разных языков программирования. Matrikon, Prosys, Unified Automation и многие другие.

Однако для подключения к демонстрационному серверу вам необходимо реализовать поставщика, и вам по-прежнему нужен стек, предоставляющий вам базовую функциональность, и чтобы загрузить такой стек, ваша компания должна зарегистрироваться у поставщика. Боюсь, обходного пути нет. Однако были проекты с открытым исходным кодом: http://www.openopcua.org/ никогда не пробовал код, хотя .

НО просто чтобы доказать полезность, проверьте это руководство http://doc.unifiedautomation.com/

И книга, написанная владельцем компании UA (может быть, у вашей компании есть доступ к Springerlink?) http://www.springer.com/computer/information+systems+and+applications/book/978-3-540-68898-3

person AnyOneElse    schedule 19.08.2013

Вы можете загрузить все материалы OPC с OPC Foundation, в частности, вы ищете исходный код OPC .NET API 2.00 Ссылка для скачивания. Он содержит решение, в котором есть библиотеки DLL OPC и образцы клиентов (AE, DA, DX, HDA), чтобы дать вам представление о том, как работает OPC. Этот источник и библиотеки DLL являются основой стандартов OPC. С их помощью вы можете обращаться к любому проприетарному серверу OPC, совместимому со стандартами OPC.

person Corey    schedule 16.08.2013
comment
Но это было бы здорово, но там сказано, что моя компания должна быть членом фонда. это именно то, чего я не хочу прямо сейчас. какой другой способ получить файлы? - person sergio; 19.08.2013

В целях тестирования вы можете использовать клиент OPC UaFx (.Net), NugetPackage которого можно найти здесь: Клиент OPC UaFx в .Net

Несмотря на то, что он проприетарный, но он будет запускать ваше приложение в течение 30 минут, через 30 минут приложение может быть повторно запущено.

person Awais    schedule 08.12.2020