- Stampa
Integrazione di Rockwell FactoryTalk Optix
Scopo
Questa guida illustra passo per passo come integrare Tulip con il software di visualizzazione HMI FactoryTalk Optix di Rockwell Automation.
Le applicazioni Tulip possono essere completamente integrate negli HMI FactoryTalk Optix, il che significa che un'applicazione Tulip può essere eseguita direttamente in FactoryTalk Optix ed è possibile una comunicazione bidirezionale tra le piattaforme software. Ciò consente all'operatore di accedere a Tulip direttamente nel proprio HMI, permettendo al contempo a Tulip di accedere a tutti i dati rilevanti della macchina e dell'HMI.
Caso d'uso
Una dimostrazione di questa integrazione è presente nel nostro Centro di esperienza Tulip (TEC) per un caso d'uso di un bioreattore eBR. In questo esempio, i dati della macchina in tempo reale, gli allarmi aperti e la schermata Optix corrente vengono inviati dall'HMI FTOptix a Tulip utilizzando OPC UA. Tutti questi dati appaiono in Tulip come macchina Tulip, che può essere utilizzata nelle applicazioni, nelle automazioni o con i trigger macchina per fornire una logica basata su tali dati. I connettori Tulip vengono utilizzati per inviare i valori di setpoint alla macchina e per controllare quale schermata viene visualizzata nell'HMI Optix.
Come
Eseguire Tulip in FactoryTalk Optix
Le applicazioni Tulip possono essere eseguite direttamente in FactoryTalk Optix utilizzando la funzionalità iframe. Optix consente all'utente di incorporare un browser web direttamente nel proprio HMI, che viene poi utilizzato per eseguire Tulip.
- Per aggiungere un browser Web all'HMI Optix, fare clic con il pulsante destro del mouse su UI > Nuovo > Contenuto > Browser Web.
- Selezionare il browser Web e visualizzare la scheda Proprietà sul lato destro dello schermo.
- Impostare l'URL su
https://<vostra istanza>.tulip.co/player?appId=<vostro-app-id>.
L'ID dell'applicazione può essere trovato aprendo l'applicazione desiderata nella propria istanza Tulip e visualizzando l'URL visualizzato nel browser. L'URL seguirà il formato https://<vostra istanza>.tulip.co/w/<vostro-app-id>/processo/....
Se non si desidera avviare un'applicazione specifica, è possibile impostare l'URL come https://<tua-instanza>.tulip.co/player
.
Inviare dati da Optix a Tulip
Esistono diversi protocolli che possono essere utilizzati per inviare dati tra Tulip e Optix.
I dati possono essere inviati a Tulip da Optix utilizzando OPC UA. Optix ospita un server OPC UA, mentre Tulip può utilizzare la sua funzionalità di client OPC-UA per ricevere i dati in una macchina Tulip. Se non si ha familiarità con la creazione e la modifica di una macchina Tulip, consultare il sito .....
- Fare clic con il tasto destro del mouse sulla cartella OPC-UA in Optix e selezionare Nuovo > Server OPC UA.
- Selezionare il server OPC UA e visualizzare la scheda Proprietà sul lato destro dello schermo.
- Immettere l'URL dell'endpoint come
opc.tcp://localhost:59100
e configurare i nodi, gli utenti e la sicurezza desiderati. Se si desidera assistenza per la configurazione, consultare il Centro assistenza FTOptix.
Metodo 1: Utilizzo di un dispositivo Edge Connector Host
- Configurare il dispositivo Tulip Edge e collegarlo alla stessa rete dell'HMI.
- Navigare all'indirizzo
https://<tua istanza>.tulip.co/machine_data_sources
. Questa pagina può essere trovata anche navigando in Shop Floor > Machines e selezionando Data Sources dal pannello laterale sinistro. - Selezionare il pulsante "Crea origine dati macchina". Compilare i seguenti campi: Nome:
<nome desiderato dell'origine dati>
Esegue su:<il proprio dispositivo Edge>
Tipo: Agente OPC UA URL:<indirizzo IP dell'HMI>
. - Compilare le opzioni di sicurezza in modo che corrispondano a quelle del server OPC UA di Optix.
- Selezionare 'Test' per verificare la connessione e poi 'Salva'.
- Fare riferimento a Come aggiungere e configurare le macchine per collegare l'origine dati Optix a una macchina in Tulip.
Metodo 2: Utilizzo di un host connettore On-Prem (OPCH)
- Configurare un OPCH sull'HMI. Per istruzioni sull'impostazione di un OPCH (On-Premise Connector Host), consultare la sezione Panoramica degli host connettori On-Premise.
- Accedere a
https://<vostra istanza>.tulip.co/machine_data_sources
. Questa pagina può essere trovata anche navigando in Shop Floor > Machines e selezionando Data Sources dal pannello laterale sinistro. - Selezionare il pulsante "Crea origine dati macchina". Compilare i seguenti campi: Nome:
<nome desiderato dell'origine dati>
Esegue su:<il vostro OPCH>
Tipo: Agente OPC UA URL:<indirizzo IP dell'HMI>
. - Compilare le opzioni di sicurezza in modo che corrispondano a quelle del server OPC UA di Optix.
- Selezionare 'Prova' per verificare la connessione e poi 'Salva'.
- Fare riferimento a Come aggiungere e configurare le macchine per collegare l'origine dati Optix a una macchina in Tulip.
Inviare i dati da Tulip a Optix
- Fare clic con il pulsante destro del mouse sulla cartella NetLogic, quindi selezionare Nuovo > Runtime NetLogic. Utilizzare lo script seguente per ospitare il server REST HTTP. @(Embed)(https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/RESTServer(1).cs){height="320" width="640"}
- Modificare le righe 869-1000 per il proprio caso d'uso. Attualmente, è impostato per ricevere chiamate PUT ai percorsi
/targetValues
e/screen
. I valori ricevuti sono memorizzati inref_<nome variabile>,
per esempioref_TargetPressure
.
Il codice seguente viene utilizzato per ricevere le chiamate PUT e passarle agli alias di Optix.
Linee 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. In Optix, selezionare il server REST Netlogic, quindi visualizzare il pannello Proprietà sul lato destro. Gli alias assegnati nel codice per il server REST possono essere assegnati alle variabili in Optix. Ad esempio, nell'immagine seguente `ref_TargetTemperature` viene assegnato alla variabile Optix `cfg_TargetTemperature`.![image.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/image%28639%29.png){height="" width=""}
2. Nella vostra istanza di Tulip, andate in Applicazioni > Connettori.
3. Selezionare il pulsante "Crea connettore".
4. Creare un connettore personalizzato di tipo HTTP.
5. I dettagli della connessione devono corrispondere a quanto segue: **Esecuzione su:** `<il vostro dispositivo edge o OPCH>` **Host:** `<indirizzo IP dell'HMI>` **Porta:** `<porta assegnata al server REST in Optix>` - *Nell'immagine qui sopra usiamo la porta 8081*
6. Selezionare 'Test' per verificare la connessione e poi 'Salva'.
7. Creare una funzione e impostare quanto segue: **Tipo:** PUT **Percorso:** Questo dovrebbe corrispondere a quello impostato nel codice come percorso. Seguendo l'esempio precedente, è impostato come `/targetValues` o `/screen`.
8. Aggiungere tutti i parametri pertinenti al corpo della richiesta:![image.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/image%28640%29.png){height="" width=""}
Se si ha bisogno di assistenza per la creazione di funzioni di connettore in Tulip, fare riferimento a [Come configurare un connettore](/r230/docs/how-to-configure-a-connector).
## Riepilogo
La comunicazione bidirezionale è stata impostata tra l'applicazione Tulip e Optix HMI, consentendo di inviare liberamente i dati. Nella nostra dimostrazione di questa integrazione, utilizziamo OPC UA per inviare a Tulip i dati della macchina in tempo reale, tutti gli allarmi aperti e la schermata corrente di Optix. Utilizziamo il server REST per inviare i valori target della macchina e la schermata su cui vogliamo commutare l'applicazione Optix. Questo ci permette di monitorare e controllare la macchina e l'applicazione Optix stessa utilizzando i trigger della nostra applicazione Tulip.
Se siete interessati a controllare la schermata Optix da Tulip, fate riferimento al seguente codice Runtime NetLogic. Deve essere inserito direttamente nel tipo MainWindow e dovrà essere modificato per adattarsi ai nomi del caricatore di pannelli e degli schermi. @(Embed)(https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/MainWindowRuntimeLogic.cs){height="320" width="640"}