MENU
    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;
    Plain text
    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"}
    Plain text

    Czy ten artykuł był pomocny?