Intégration de Rockwell FactoryTalk Optix
  • 24 Jun 2024
  • 6 Minutes à lire
  • Contributeurs

Intégration de Rockwell FactoryTalk Optix


Résumé de l’article

Objectif

Ce guide explique étape par étape comment intégrer Tulip avec le logiciel de visualisation FactoryTalk Optix HMI de Rockwell Automation.

Les applications Tulip peuvent être complètement intégrées dans les IHM FactoryTalk Optix, ce qui signifie qu'une application Tulip peut fonctionner directement dans FactoryTalk Optix et qu'une communication bidirectionnelle entre les plateformes logicielles est possible. Cela permet à l'opérateur d'avoir accès à Tulip directement dans son IHM, tout en permettant à Tulip d'accéder à toutes les données pertinentes de la machine et de l'IHM.

Cas d'utilisation

Nous avons une démonstration de cette intégration dans notre Tulip Experience Center (TEC) pour un cas d'utilisation de Bioreactor eBR. Dans cet exemple, les données de la machine, les alarmes ouvertes et l'écran actuel d'Optix sont envoyés de l'IHM FTOptix à Tulip en utilisant OPC UA. Ces données apparaissent dans Tulip comme une machine Tulip, qui peut ensuite être utilisée dans les applications, dans les automatismes ou avec les déclencheurs de machines pour fournir une logique basée sur ces données. Les connecteurs Tulip sont utilisés pour renvoyer les valeurs de consigne à la machine, ainsi que pour contrôler l'écran affiché dans l'IHM Optix.

Comment faire

Exécuter Tulip dans FactoryTalk Optix

Les applications Tulip peuvent être exécutées directement dans FactoryTalk Optix en utilisant la fonctionnalité iframe. Optix permet aux utilisateurs d'intégrer un navigateur web directement dans leur IHM, qui est alors utilisé pour faire fonctionner Tulip.

  1. Ajoutez un navigateur web dans votre HMI Optix en faisant un clic droit sur UI > New > Contents > Web Browser.image.png
  2. Sélectionnez le navigateur Web et affichez l'onglet Propriétés sur le côté droit de l'écran.

image.png

  1. Définissez l'URL comme suit : https://<votre-instance>.tulip.co/player?appId=<votre-app-id>.

L'identifiant de l'application peut être trouvé en ouvrant l'application souhaitée dans votre instance de Tulip, puis en visualisant l'URL affichée dans votre navigateur. L'URL suivra le format https://<votre-instance>.tulip.co/w/<votre-app-id>/processus/....

Si vous ne souhaitez pas lancer une application spécifique, vous pouvez définir l'URL comme étant https://<votre-instance>.tulip.co/player.

Envoyer des données d'Optix à Tulip

Plusieurs protocoles peuvent être utilisés pour envoyer des données entre Tulip et Optix.

Les données peuvent être envoyées à Tulip depuis Optix en utilisant OPC UA. Optix héberge un serveur OPC UA, tandis que Tulip peut utiliser sa fonctionnalité Client OPC-UA pour recevoir ces données dans une machine Tulip. Si vous n'êtes pas familier avec la création et l'édition d'une machine Tulip, veuillez vous référer à .....

  1. Cliquez avec le bouton droit de la souris sur le dossier OPC-UA dans Optix et sélectionnez Nouveau > Serveur OPC UA.image.png
  2. Sélectionnez le serveur OPC UA et affichez l'onglet Propriétés sur le côté droit de l'écran.
  3. Saisissez l'URL du point de terminaison ( opc.tcp://localhost:59100 ), puis configurez les nœuds, les utilisateurs et la sécurité de votre choix. Consultez le centre d'aide de FTOptix si vous avez besoin d'aide pour la configuration.

image.png

Méthode 1 : Utilisation d'un dispositif Edge Connector Host

  1. Configurez votre appareil Tulip Edge et connectez-le au même réseau que l'IHM.
  2. Naviguez vers https://<votre-instance>.tulip.co/machine_data_sources. Cette page peut également être trouvée en naviguant vers Shop Floor > Machines puis en sélectionnant Data Sources (Sources de données) dans le panneau latéral gauche.
  3. Sélectionnez le bouton "Créer une source de données machine". Remplissez les champs suivants : Nom : <nom souhaité pour la source de données> S'exécute sur : <votre dispositif Edge> Type : Agent OPC UA URL : <adresse IP de l'IHM>
  4. Remplissez les options de sécurité pour qu'elles correspondent à celles du serveur OPC UA dans Optix.
  5. Sélectionnez "Test" pour vérifier la connexion, puis "Enregistrer".
  6. Reportez-vous à Comment ajouter et configurer des machines pour connecter la source de données Optix à une machine dans Tulip.

Méthode 2 : Utilisation d'un Connecteur Hôte sur site (OPCH)

  1. Configurez un OPCH sur l'IHM. Reportez-vous à Overview of On-Premise Connector Hosts pour obtenir des instructions sur la configuration d'un On-Premise Connector Host (OPCH).
  2. Naviguez jusqu'à https://<votre-instance>.tulip.co/machine_data_sources. Vous pouvez également accéder à cette page en naviguant vers Shop Floor > Machines, puis en sélectionnant Data Sources (Sources de données) dans le panneau latéral gauche.
  3. Sélectionnez le bouton "Créer une source de données machine". Remplissez les champs suivants : Nom : <nom souhaité pour la source de données> Exécute sur : <votre OPCH> Type : Agent OPC UA URL : <adresse IP de l'IHM>
  4. Remplissez les options de sécurité pour qu'elles correspondent à celles du serveur OPC UA dans Optix.
  5. Sélectionnez "Test" pour vérifier la connexion, puis "Enregistrer".
  6. Reportez-vous à Comment ajouter et configurer des machines pour connecter la source de données Optix à une machine dans Tulip.

Envoyer des données de Tulip à Optix

  1. Faites un clic droit sur le dossier NetLogic, puis sélectionnez New > Runtime NetLogic. Utilisez le script ci-dessous pour héberger le serveur HTTP REST. @(Embed)(https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/RESTServer(1).cs){height="320" width="640"}
  2. Modifiez les lignes 869-1000 en fonction de votre cas d'utilisation. Actuellement, il est configuré pour recevoir des appels PUT aux chemins /targetValues et /screen. Les valeurs reçues sont stockées dans ref_<nom de la variable>, par exemple ref_Pression de la cible.

Le code ci-dessous est utilisé pour recevoir les appels PUT et les transmettre aux alias dans Optix.

Lignes 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. Dans Optix, sélectionnez le serveur REST Netlogic, puis affichez le panneau Propriétés sur le côté droit. Les alias attribués dans le code du serveur REST peuvent être affectés à des variables dans Optix. Par exemple, dans l'image ci-dessous, `ref_TargetTemperature` est assigné à la variable Optix `cfg_TargetTemperature`.![image.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/image%28639%29.png){height="" width=""}
2. Dans votre instance Tulip, naviguez vers Apps > Connecteurs.
3. Sélectionnez le bouton 'Create Connector'.
4. Créez un connecteur personnalisé avec le type HTTP.
5. Les détails de la connexion doivent correspondre à ce qui suit : **Running on :** `<your edge device or OPCH>` **Host :** `<IP Address of the HMI>` **Port :** `<port assigned to REST server in Optix>` - *In the image above we are using port 8081*
6. Sélectionnez "Test" pour vérifier la connexion, puis "Save".
7. Créez une fonction et définissez les éléments suivants : **Type :** PUT **Path :** Ce chemin doit correspondre à celui que vous avez défini dans le code. Dans l'exemple précédent, il s'agit de `/targetValues` ou `/screen`.
8. Ajoutez tous les paramètres pertinents au corps de la requête :![image.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/image%28640%29.png){height="" width=""}


Si vous avez besoin d'aide pour créer des fonctions de connecteur dans Tulip, veuillez vous référer à [Comment configurer un connecteur](/r230/docs/how-to-configure-a-connector).


## Résumé


La communication bidirectionnelle a maintenant été établie entre votre application Tulip et l'IHM Optix, vous permettant d'envoyer des données librement entre eux. Dans notre démonstration de cette intégration, nous utilisons OPC UA pour envoyer à Tulip les données de la machine, les alarmes ouvertes et l'écran actuel d'Optix. Nous utilisons le serveur REST pour envoyer des valeurs cibles pour la machine ainsi que l'écran sur lequel nous voulons basculer l'application Optix. Cela nous permet de surveiller et de contrôler la machine, ainsi que l'application Optix elle-même en utilisant des déclencheurs dans notre application Tulip.


Si vous souhaitez contrôler l'écran Optix depuis Tulip, référez-vous au code Runtime NetLogic ci-dessous. Il doit être placé directement dans la fenêtre principale (type) et devra être modifié pour correspondre aux noms de votre Panel Loader et de vos écrans. @(Embed)(https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/MainWindowRuntimeLogic.cs){height="320" width="640"}


Cet article vous a-t-il été utile ?