Интеграция Rockwell FactoryTalk Optix
  • 24 Jun 2024
  • 5 Минуты для чтения
  • Авторы

Интеграция Rockwell FactoryTalk Optix


Вводный текст

Назначение

В этом руководстве пошагово описана интеграция Tulip с ПО визуализации ЧМИ FactoryTalk Optix компании Rockwell Automation.

Приложения Tulip могут быть полностью интегрированы в ЧМИ FactoryTalk Optix, то есть приложение Tulip может работать непосредственно в FactoryTalk Optix, и между программными платформами возможна двунаправленная связь. Это позволяет оператору иметь доступ к Tulip непосредственно в своем HMI, в то же время предоставляя Tulip доступ ко всем соответствующим данным из машины и HMI.

Пример использования

В нашем Центре опыта Tulip (TEC) представлена демонстрация этой интеграции на примере биореактора eBR. В этом примере данные машины в реальном времени, открытые аварийные сигналы и текущий экран Optix отправляются из ЧМИ FTOptix в Tulip с помощью OPC UA. Все эти данные появляются в Tulip как Tulip Machine, которые затем можно использовать в приложениях, в автоматике или в машинных триггерах для обеспечения логики на основе этих данных. Коннекторы Tulip используются для отправки заданных значений обратно на машину, а также для управления экраном, отображаемым в Optix HMI.

Как

Запуск Tulip в FactoryTalk Optix

Приложения Tulip можно запускать непосредственно в FactoryTalk Optix с помощью функции iframe. Optix позволяет пользователю встроить веб-браузер непосредственно в свой HMI, который затем используется для запуска Tulip.

  1. Добавьте веб-браузер в свой HMI Optix, щелкнув правой кнопкой мыши UI > New > Contents > Web Browser.image.png
  2. Выберите веб-браузер и откройте вкладку "Свойства" в правой части экрана.

image.png

  1. Установите URL-адрес https://<ваше обстоятельство>.tulip.co/player?appId=<ваше приложение-ид>.

Идентификатор приложения можно узнать, открыв нужное приложение в экземпляре Tulip и просмотрев URL, отображаемый в браузере. URL будет иметь формат https://<ваш инстанс>.tulip.co/w/<ваш app-id>/process/.....

Если вы не хотите запускать определенное приложение, вы можете задать URL-адрес в виде https://<ваше обстоятельство>.tulip.co/player.

Отправка данных из Optix в Tulip

Существует несколько протоколов, которые можно использовать для отправки данных между Tulip и Optix.

Данные могут быть отправлены в Tulip из Optix с помощью OPC UA. Optix размещает сервер OPC UA, а Tulip может использовать функцию клиента OPC-UA для получения этих данных на машине Tulip. Если вы не знаете, как создавать и редактировать Tulip Machine, обратитесь к .....

  1. Щелкните правой кнопкой мыши папку OPC-UA в Optix, затем выберите Новый > Сервер OPC UA.image.png
  2. Выберите сервер OPC UA и откройте вкладку "Свойства" в правой части экрана.
  3. Введите URL конечной точки opc.tcp://localhost:59100, затем настройте необходимые узлы, пользователей и безопасность. Обратитесь к справочному центру FTOptix, если вам нужна помощь в настройке.

image.png

Метод 1: Использование узла коннектора пограничного устройства

  1. Настройте устройство Tulip Edge Device и подключите его к той же сети, что и HMI.
  2. Перейдите на страницу https://<ваш объект>.tulip.co/machine_data_sources. Эту страницу также можно найти, перейдя в Shop Floor > Machines, затем выбрав Data Sources на левой боковой панели.
  3. Выберите кнопку "Создать источник данных машины". Заполните следующие поля: Имя: <желаемое имя источника данных> Работает на: <вашем Edge Device> Тип: OPC UA Agent URL: <IP-адрес HMI>.
  4. Заполните параметры безопасности, чтобы они соответствовали параметрам сервера OPC UA в Optix.
  5. Выберите 'Test', чтобы проверить соединение, а затем 'Save'.
  6. См. раздел " Как добавлять и настраивать машины ", чтобы подключить источник данных Optix к машине в Tulip.

Метод 2: Использование хоста коннектора на месте (OPCH)

  1. Настройте OPCH на HMI. Инструкции по настройке узла коннектора на месте (OPCH) см. в разделе Обзор узлов коннекторов на месте.
  2. Перейдите на страницу https://<ваш объект>.tulip.co/machine_data_sources. Эту страницу также можно найти, перейдя в Shop Floor > Machines, а затем выбрав Data Sources на левой боковой панели.
  3. Выберите кнопку "Создать источник данных машины". Заполните следующие поля: Имя: <желаемое имя источника данных> Работает на: <вашем OPCH> Тип: OPC UA Agent URL: <IP-адрес HMI>.
  4. Заполните параметры безопасности, чтобы они соответствовали параметрам сервера OPC UA в Optix.
  5. Выберите 'Test', чтобы проверить соединение, а затем 'Save'.
  6. См. раздел " Как добавлять и настраивать машины ", чтобы подключить источник данных Optix к машине в Tulip.

Отправка данных из Tulip в Optix

  1. Щелкните правой кнопкой мыши папку NetLogic, затем выберите New > Runtime NetLogic. Используйте приведенный ниже сценарий для размещения HTTP REST-сервера. @(Embed)(https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/RESTServer(1).cs){height="320" width="640"}
  2. Измените строки 869-1000 в соответствии с вашим сценарием использования. В настоящее время сервер настроен на прием вызовов PUT по путям /targetValues и /screen. Полученные значения сохраняются в ref_<имя переменной>, например ref_TargetPressure.

Приведенный ниже код используется для приема вызовов PUT и передачи их алиасам в Optix.

Строки 924 - 955:``` case "PUT": switch (e.Path) { case "screen": // http://localhost:8081/screen byte[] payloadraw = (byte[])e.Data; string payload = System.Text.Encoding.UTF8.GetString(payloadraw, 0, payloadraw.Length); string screen = JObject.Parse(payload)["screen"].ToString();

                       ((IUAVariable)LogicObject.GetAlias("refScreenToShow")).Value = screen; res = 1; break; case "targetValues": // http://localhost:8081/targetValues payloadraw = (byte[])e.Data; payload = System.Text.Encoding.UTF8.GetString(payloadraw, 0, payloadraw.Length); Log.Warning(payload); int targetPressure = int.Parse(JObject.Parse(payload)["targetPressure"].ToString()); int targetTemperature = int.Parse(JObject.Parse(payload)["targetTemperature"].ToString()); float targetpH = float.Parse(JObject.Parse(payload)["targetpH"].ToString()); int targetDO = int.Parse(JObject.Parse(payload)["targetDO"].ToString()); ((IUAVariable)LogicObject.GetAlias("ref_TargetPressure")).Value = targetPressure; ((IUAVariable)LogicObject.GetAlias("ref_TargetTemperature")).Value = targetTemperature; ((IUAVariable)LogicObject.GetAlias("ref_TargetpH")).Value = targetpH; ((IUAVariable)LogicObject.GetAlias("ref_TargetDO")).Value = targetDO; res = 1; break; default: break; } break;


1. В Optix выберите REST-сервер Netlogic, а затем просмотрите панель свойств с правой стороны. Псевдонимы, назначенные в коде для REST-сервера, могут быть назначены переменным в Optix. Например, на изображении ниже `ref_TargetTemperature` назначается переменной Optix `cfg_TargetTemperature`.![image.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/image%28639%29.png){height="" width=""}
2. В экземпляре Tulip перейдите в раздел Apps > Connectors.
3. Выберите кнопку "Создать коннектор".
4. Создайте пользовательский коннектор с типом HTTP.
5. Детали соединения должны соответствовать следующим параметрам: **Running on:** `<ваше пограничное устройство или OPCH>` **Host:** `<IP-адрес HMI>` **Port:** `<порт, назначенный REST-серверу в Optix>` - *На изображении выше мы используем порт 8081*.
6. Выберите 'Test' для проверки соединения, затем 'Save'.
7. Создайте функцию и задайте следующие параметры: **Тип:** PUT **Path:** Путь должен соответствовать тому, что вы указали в коде. В предыдущем примере это будет `/targetValues` или `/screen`.
8. Добавьте все необходимые параметры в тело запроса:![image.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/image%28640%29.png){height="" width=""}


Если вам нужна помощь в создании функций коннектора в Tulip, обратитесь к разделу " [Как настроить коннектор](/r230/docs/how-to-configure-a-connector)".


## Резюме


Теперь между вашим приложением Tulip и Optix HMI установлена двунаправленная связь, позволяющая свободно передавать данные между ними. В нашей демонстрации этой интеграции мы используем OPC UA для отправки в Tulip данных о машине в реальном времени, всех открытых сигналов тревоги и текущего экрана Optix. Мы используем REST-сервер для отправки целевых значений для машины, а также экрана, на который мы хотим переключить приложение Optix. Это позволяет нам контролировать и управлять машиной, а также самим приложением Optix с помощью триггеров в нашем приложении Tulip.


Если вы заинтересованы в управлении экраном Optix из Tulip, обратитесь к приведенному ниже коду Runtime NetLogic. Он должен быть помещен непосредственно в MainWindow (тип) и должен быть изменен в соответствии с именами вашего Panel Loader и экранов. @(Embed)(https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/MainWindowRuntimeLogic.cs){height="320" width="640"}


Была ли эта статья полезной?