Integracja Rockwell FactoryTalk Optix
  • 24 Jun 2024
  • 5 Minuty do przeczytania
  • Współtwórcy

Integracja Rockwell FactoryTalk Optix


Streszczenie artykułu

Cel

Niniejszy przewodnik przedstawia krok po kroku sposób integracji aplikacji Tulip z oprogramowaniem wizualizacyjnym FactoryTalk Optix HMI firmy Rockwell Automation.

Aplikacje Tulip można w pełni zintegrować z interfejsami HMI FactoryTalk Optix, co oznacza, że aplikacja Tulip może działać bezpośrednio w FactoryTalk Optix i możliwa jest dwukierunkowa komunikacja między platformami oprogramowania. Pozwala to operatorowi na dostęp do aplikacji Tulip bezpośrednio w interfejsie HMI, jednocześnie umożliwiając aplikacji Tulip dostęp do wszystkich istotnych danych z maszyny i interfejsu HMI.

Przypadek użycia

Mamy demonstrację tej integracji przedstawioną w naszym Tulip Experience Center (TEC) dla przypadku użycia Bioreactor eBR. W tym przykładzie dane maszyny na żywo, otwarte alarmy i bieżący ekran Optix są wysyłane z FTOptix HMI do Tulip za pomocą OPC UA. Wszystkie te dane pojawiają się w Tulip jako Tulip Machine, które mogą być następnie używane w aplikacjach, automatyzacjach lub wyzwalaczach maszyn w celu zapewnienia logiki opartej na tych danych. Tulip Connectors służą do wysyłania wartości zadanych z powrotem do maszyny, a także do kontrolowania, który ekran jest wyświetlany w Optix HMI.

Jak

Uruchamianie aplikacji Tulip w FactoryTalk Optix

Aplikacje Tulip mogą być uruchamiane bezpośrednio w FactoryTalk Optix przy użyciu funkcji iframe. Optix umożliwia użytkownikowi osadzenie przeglądarki internetowej bezpośrednio w HMI, która jest następnie używana do uruchamiania Tulip.

  1. Dodaj przeglądarkę internetową do interfejsu HMI Optix, klikając prawym przyciskiem myszy UI > New > Contents > Web Browser.image.png
  2. Wybierz przeglądarkę internetową i wyświetl kartę Właściwości po prawej stronie ekranu.

image.png

  1. Ustaw adres URL na https://<your-instance>.tulip.co/player?appId=<your-app-id>.

Identyfikator aplikacji można znaleźć, otwierając żądaną aplikację w instancji Tulip, a następnie wyświetlając adres URL wyświetlany w przeglądarce. Adres URL będzie miał format https://<your-instance>.tulip.co/w/<your-app-id>/process/.....

Jeśli nie chcesz uruchamiać określonej aplikacji, możesz ustawić adres URL na https://<your-instance>.tulip.co/player.

Wysyłanie danych z Optix do Tulip

Istnieje kilka protokołów, które mogą być używane do wysyłania danych między Tulip i Optix.

Dane mogą być wysyłane do Tulip z Optix za pomocą OPC UA. Optix hostuje serwer OPC UA, podczas gdy Tulip może wykorzystać funkcjonalność klienta OPC-UA do odbierania tych danych do maszyny Tulip. Jeśli nie wiesz, jak utworzyć i edytować Tulip Machine, zapoznaj się z .....

  1. Kliknij prawym przyciskiem myszy folder OPC-UA w Optix, a następnie wybierz Nowy > Serwer OPC UA.image.png
  2. Wybierz serwer OPC UA i wyświetl zakładkę Properties po prawej stronie ekranu.
  3. Wprowadź adres URL punktu końcowego opc.tcp://localhost:59100, a następnie skonfiguruj żądane węzły, użytkowników i zabezpieczenia. Jeśli potrzebujesz pomocy w konfiguracji, skorzystaj z Centrum pomocy FTOptix.

image.png

Metoda 1: Korzystanie z hosta łącznika urządzenia brzegowego

  1. Skonfiguruj urządzenie Tulip Edge Device i podłącz je do tej samej sieci co HMI.
  2. Przejdź do https://<your-instance>.tulip.co/machine_data_sources. Stronę tę można również znaleźć, przechodząc do Shop Floor > Machines, a następnie wybierając Data Sources z panelu po lewej stronie.
  3. Wybierz przycisk "Utwórz źródło danych maszyny". Wypełnij następujące pola: Nazwa: <żądana nazwa źródła danych> Działa na: <twoje urządzenie brzegowe> Typ: OPC UA Agent URL: <adres IP interfejsu HMI>
  4. Wypełnij opcje zabezpieczeń, aby dopasować je do tych z serwera OPC UA w Optix.
  5. Wybierz "Test", aby zweryfikować połączenie, a następnie "Zapisz".
  6. Aby połączyć źródło danych Optix z maszyną w Tulip, zapoznaj się z sekcją Jak dodać i skonfigurować maszyny.

Metoda 2: Korzystanie z lokalnego hosta konektora (OPCH)

  1. Skonfiguruj OPCH na interfejsie HMI. Instrukcje dotyczące konfigurowania lokalnego hosta konektorów (OPCH) można znaleźć w sekcji Przegląd lokalnych host ów konektorów.
  2. Przejdź do https://<your-instance>.tulip.co/machine_data_sources. Tę stronę można również znaleźć, przechodząc do Shop Floor > Machines, a następnie wybierając Data Sources z panelu po lewej stronie.
  3. Wybierz przycisk "Utwórz źródło danych maszyny". Wypełnij następujące pola: Name: <żądana nazwa źródła danych> Runs on: <your OPCH> Type: OPC UA Agent URL: <adres IP interfejsu HMI>
  4. Wypełnij opcje zabezpieczeń, aby dopasować je do tych z serwera OPC UA w Optix.
  5. Wybierz "Test", aby zweryfikować połączenie, a następnie "Zapisz".
  6. Aby połączyć źródło danych Optix z maszyną w Tulip, zapoznaj się z sekcją Jak dodać i skonfigurować maszyny.

Wysyłanie danych z Tulip do Optix

  1. Kliknij prawym przyciskiem myszy folder NetLogic, a następnie wybierz New > Runtime NetLogic. Użyj poniższego skryptu do hostowania serwera HTTP REST. @(Embed)(https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/RESTServer(1).cs){height="320" width="640"}
  2. Zmień linie 869-1000 dla swojego przypadku użycia. Obecnie jest on skonfigurowany do odbierania wywołań PUT w ścieżkach /targetValues i /screen. Otrzymane wartości są przechowywane w ref_<nazwa_zmiennej>, na przykład ref_TargetPressure.

Poniższy kod służy do odbierania wywołań PUT i przekazywania ich do aliasów w Optix.

Linie 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. W systemie Optix należy wybrać serwer REST Netlogic, a następnie wyświetlić panel Właściwości po prawej stronie. Aliasy przypisane w kodzie dla serwera REST można przypisać do zmiennych w Optix. Na przykład na poniższym obrazku `ref_TargetTemperature` jest przypisane do zmiennej Optix `cfg_TargetTemperature`.![image.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/image%28639%29.png){height="" width=""}
2. W instancji Tulip przejdź do Apps > Connectors.
3. Wybierz przycisk "Utwórz konektor".
4. Utwórz niestandardowe połączenie typu HTTP.
5. Szczegóły połączenia powinny być zgodne z następującymi: **Running on:** `<twoje urządzenie brzegowe lub OPCH>` **Host:** `<adres IP HMI>` **Port:** `<port przypisany do serwera REST w Optix>` - *Na powyższym obrazku używamy portu 8081*.
6. Wybierz "Test", aby zweryfikować połączenie, a następnie "Save".
7. Utwórz funkcję i ustaw następujące parametry: **Typ:** PUT **Path:** Powinno to odpowiadać temu, co ustawiłeś w kodzie jako ścieżkę. Zgodnie z poprzednim przykładem jest to `/targetValues` lub `/screen`.
8. Dodaj wszystkie odpowiednie parametry do treści żądania:![image.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/image%28640%29.png){height="" width=""}


Jeśli potrzebujesz pomocy przy tworzeniu funkcji konektora w Tulip, zapoznaj się z sekcją [Jak skonfigurować konektor](/r230/docs/how-to-configure-a-connector).


## Podsumowanie


Dwukierunkowa komunikacja między aplikacją Tulip i Optix HMI została skonfigurowana, umożliwiając swobodne przesyłanie danych między nimi. W naszej demonstracji tej integracji używamy OPC UA do wysyłania danych maszyny na żywo, wszelkich otwartych alarmów i bieżącego ekranu Optix do Tulip. Używamy serwera REST do wysyłania wartości docelowych dla maszyny wraz z ekranem, na który chcemy przełączyć aplikację Optix. Umożliwia nam to monitorowanie i kontrolowanie maszyny, a także samej aplikacji Optix za pomocą wyzwalaczy w naszej aplikacji Tulip.


Jeśli jesteś zainteresowany kontrolowaniem ekranu Optix z Tulip, zapoznaj się z poniższym kodem Runtime NetLogic. Powinien on zostać umieszczony bezpośrednio w oknie MainWindow (typ) i będzie musiał zostać zmieniony, aby pasował do nazw twojego programu ładującego panele i ekranów. @(Embed)(https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/MainWindowRuntimeLogic.cs){height="320" width="640"}


Czy ten artykuł był pomocny?