Showing posts with label opc-ua. Show all posts
Showing posts with label opc-ua. Show all posts

November 6, 2020

Агент данных OPC UA

Настроим агент данных на трансляцию данных из OPC UA сервера. Одновременно оставим без изменения трансляцию из ADS переменных. Пусть ADS работает параллельно с OPC UA. Активируйте конфигурацию каждый раз, когда изменяете что-либо в схеме агента. Он перезапустится с новой схемой автоматически.

ПКМ по пустому месту → Add Gate (OpcUaDevice). В окне `Properties` ввести в поле`Url` адрес своего OPC UA сервера: opc.tcp://192.168.1.100:4840. Добавьте канал подписчика: Add Channel (Subscriber), стрелка вниз 🡇.

Теперь открываем окно `Target Browser`, закладка `OpcUa`, добавляем OPC UA сервер контроллера, выбираем необходимые объекты-переменные и тащим их на "подписчика".

Возможно понадобится донастроить переменные подписчика. В моем случае Агент добавил мусор в имя переменной ns=4;s=MAIN.nCounter. Исправляется в окне `Properties`, поле `URN` и превращается в MAIN.nCounter. Ниже в примере исправлена только одна переменная-символ:

>>> {"Timestamp":"2020-11-06T11:48:08.151","GroupName":"_MQTT Broker_28","MAIN.nCounter":-1946,"ns=4;s=MAIN.rCounter":784486.0}
>>> {"Timestamp":"2020-11-06T11:48:09.150","GroupName":"_MQTT Broker_28","MAIN.nCounter":-1846,"ns=4;s=MAIN.rCounter":784586.0}
>>> {"Timestamp":"2020-11-06T11:48:10.150","GroupName":"_MQTT Broker_28","MAIN.nCounter":-1746,"ns=4;s=MAIN.rCounter":784686.0}

May 24, 2016

Облачный коплер EK9160

Теперь в станок можно установить коплер EK9160, который будет автоматически собирать сигналы и регулярно жаловаться в облако на фрезеровщика Федора, когда тот в очередной раз запорет фрезу. В конце же месяца региональный менеджер выведет на "плазму" тренд аналитики и все поймет.

  • Он тупой (я про коплер) и без мастер-контроллера во главе, зато умеет собирать сигналы и отдавать данные сразу в облако. Программированию коплер не поддается.
  • Легко конфигурируется сам и предоставляет доступ к своим модулям на шине через веб-страничку.
  • Существует возможностью сохранять и восстанавливать настройки модуля из локального файла.
  • Поддерживает EL, EP и другие подчиненные модули шины EtherCAT.
  • Отзывчивый и быстрый, со свичом для организации ромашки (сосиски, daisy chain) из роутеров.
  • Есть физическая переключалка для простой настройки IP-адреса.
  • На борту установлена микро-SD карта объемом 2 гигабайта. Сюда коплер складывает данные, когда облако не доступно.
  • Батарейки входят в комплект. Благодаря чему, всегда тикают часы реального времени (RTC). Синхронизация происходит через протокол SNTP. Питание ему все равно необходимо: батарейка подпитывает только часы.
  • К коплеру можно подключить коммуникационные модули (например, CAN и/или PROFIBUS) и построить гетерогенную сеть.
  • Push-технология избавляет от входящих подключений — это позволяет безопасно и удобно интегрировать коплер в существующую сетевую инфраструктуру. Достаточно просто подключить его к локальной сети с выходом в интернет.

Еще раз — этот коплер независим (standalone). Ему не нужны мастера и другие контроллеры. Именно поэтому его очень удобно встраивать в отдельно стоящие станки, исполнительные механизмы и другие объекты.

April 5, 2016

TwinCAT интернет вещей

30 марта продукт-манагер Деймон Томпсон (Daymon Thompson) провел очередной вебинар на тему "'эффективного и стандартизированного доступа к облачным технологиями", и как это вообще будет в TwinCAT. И, если кратко — TwinCAT великолепный инструмент с большими возможности и сумасшедшим набором инструментов для контроля и управления промышленным оборудованием, а теперь там еще и IoT-протоколы будут.

Затем бла-бла-бла и к 12 странице начинается рассказ про сервер предприятия и SCADA-систему, которая:
+ Хорошая безопасность
-- Высокая стоимость.
-- Требует высококвалифицированного персонала.
-- Сложен в обслуживании.
-- Плохо масштабируется.

Чуть позже, что лучшим решением будут облачные сервисы (cloud services), которые:
+ Низкая стоимость.
+ Не требуют высококвалифицированного персонала.
+ Просты в обслуживании.
+ Великолепно масштабируются.
+ Хорошая безопасность.

Приводятся примеры публичных/открытых облачных сервисов:


Издатель-подписчик


Вся система крутится вокруг концепции издатель-подписчик: ПЛК — издатель данных; облако предоставляет сервис подключений, называемый "брокер сообщений" (Message Broker); смартфон выступает в роли подписчика, подключающийся к брокеру. Вся это матрешка работает и в обратную строну: смартфон-издатель → брокер сообщений ← ПЛК-подписчик. Причем, с направлением стрелок я не ошибся. Об этом — чуть позже.

Преимущества такой организации:
  • Устройства не нуждаются в информации друг о друге (тип, скорость, конфигурация, и т. п.). Им не нужно знать где они расположены, когда и кто подключится. Все приложения обособлены и существуют сами по себе. Поддерживается высокая степень независимости.
  • Цимес в отсутствии входящих подключений: только исходящие подключения, не нужно настраивать файервол.
  • Использование стандартизированных протоколов MQTT / AMQP обеспечивает высокую производительность.

К 18-й странице начинается рассказ про приватные облачные сервисы (private cloud), которые размещаются на территории одного производства. Здесь видно явное преимущество перед закрытым, локальным SCADA-сервером: отсутствие входящих подключений снимает вопрос о настройке файервола и других сетевых хозяйств.


Группа продуктов TwinCAT IoT


  • Обеспечивает простое подключений для IoT-коммуникаций.
  • Поддерживает несколько облачных сервисов (Microsoft Azure, Amazon AWS) как публичных/открытых, так и приватных.
  • Применение стандартных протоколов MQTT, AMQP, OPC-UA.
  • Использование Push-технологий (Push Technologies) для носимых (мобильных, wearable) устройств.

TF670x IoT Communication — обмен данными подписчик/издатель через MQTT/AMQP. Предоставляет функциональные блоки:
Mqtt_Publish(topic, value)
value Mqtt_Subscribe(topic)

TF671x IoT Functions — готовые функции для обмена с облачными сервисами Microsoft Azure и Amazon AWS.
FB_AzureIoTHubSend()
FB_AzureIoTHubReceive()

TF672x IoT Data Agent — агент связи, позволяющий легко настраивать передаваемые данные без необходимости в программирования. Между слоем агента и TwinCAT-рантаймом используются такие протоколы как ADS и OPC-UA.

TF6730 IoT Communicator — слой на стороне ПЛК для обмена данными со смартфоном. Заявлены Android и iPhone, про Windows Mobile пока ничего не известно.
FB_AppSendAlarm()
FB_AppSendValue()

TF6735 IoT Communication App — приложение устанавливаемое на смартфоне для связи с TF6730.


Глобальная аналитика


ПЛК постоянно, циклически сохраняет данные локально (logger). Даже при условии отправки данных на централизованный сервер, сначала нужно получить к нему доступ.

Периодически необходимо как-то проанализировать собранные данные, иначе зачем мы их храним? В свете новых веяний — предлагается отправлять эти данные в приватное облако. Далее, ничто не мешает собрать данные из приватных облаков с разных заводов и фабрик по всему миру в открытое облако для глобального всемирного анализа данных и для оптимизации производства.

Ну и дальше про то, как все экономится и эффективится. Здравое зерно здесь есть, но вообще это называется облачные технологии, а интернет вещей это что-то другое.


Вопросы-ответы


  • Плохое качество связи, но кажется обещали что MQTT/AMQP сможет работать через SSL/TLS.
  • Применение OPC-UA позволит работать с любыми контроллерами, т. к. протокол независимый, а Бекхофф входит в консорциум.
  • Демонстрация механизма OPC-UA будет в конце апреля 2016 года. Обращаться к локальному представителю.
  • Пока что всё будет сосредоточено на Microsoft Azure и Amazon AWS, и двух протоколах MQTT/AMQP. Затем будет Google Cloud Platform и когда-нибудь что-нибудь еще.
  • Когда?! Второй квартал 2016: где-то в июне — будет IoT MQTT библиотека и возможно что-то еще.


Полный вебинар на английском языке: TwinCAT IoT | Fast and standardised cloud communication.