- Wydrukować
Integracja Rockwell FactoryTalk Optix
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.
- Dodaj przeglądarkę internetową do interfejsu HMI Optix, klikając prawym przyciskiem myszy UI > New > Contents > Web Browser.
- Wybierz przeglądarkę internetową i wyświetl kartę Właściwości po prawej stronie ekranu.
- 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 .....
- Kliknij prawym przyciskiem myszy folder OPC-UA w Optix, a następnie wybierz Nowy > Serwer OPC UA.
- Wybierz serwer OPC UA i wyświetl zakładkę Properties po prawej stronie ekranu.
- 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.
Metoda 1: Korzystanie z hosta łącznika urządzenia brzegowego
- Skonfiguruj urządzenie Tulip Edge Device i podłącz je do tej samej sieci co HMI.
- 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. - 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>
- Wypełnij opcje zabezpieczeń, aby dopasować je do tych z serwera OPC UA w Optix.
- Wybierz "Test", aby zweryfikować połączenie, a następnie "Zapisz".
- 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)
- 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.
- 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. - 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>
- Wypełnij opcje zabezpieczeń, aby dopasować je do tych z serwera OPC UA w Optix.
- Wybierz "Test", aby zweryfikować połączenie, a następnie "Zapisz".
- 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
- 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"}
- 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 wref_<nazwa_zmiennej>,
na przykładref_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"}