Vous trouverez ci-joint la documentation relative à la configuration et l'usage du Modbus sous Soprane II.
En pièce jointe, retrouvez cet article au format PDF.
Un logiciel spécifique, dont le nom est SRA.Soprane.Modbus, permet l’échange de données entre le logiciel SOPRANE II et un autre ordinateur par le biais du bus de terrain Modbus.
Ainsi, les résultats d’une analyse peuvent être intégralement transmis : date, heure, flux, mesure ou calibration, concentrations, résultats de calculs.
Les données susceptibles d’être échangées sont stockées dans une table d’adresses. Le protocole de transmission respecte un standard qui consiste à demander ou à transmettre une question, et en réponse la valeur de la variable se trouvant à telle ou telle adresse est transmise.
Vous avez tout simplement à définir une table d’échange définissant les variables que vous souhaitez lire, leur adresse et leur format.
Il est donc nécessaire dans un premier temps de définir la configuration hardware et de déterminer l'adresse d'écriture de chacune des informations.
- Configuration matériel
Le programme de configuration de Soprane II permet de définir la configuration de cette liaison série.
La fenêtre permettant la configuration Modbus n'est visualisée que si l'installation comprend une option Modbus.
Dans cette fenêtre :
- Choisissez le type de bus, c’est-à-dire le protocole de communication pour dialoguer avec le système distant.
- Si vous choisissez Modbus via port série, sélectionnez le port série utilisé. Dans ce cas, le bouton "paramètres" permet la visualisation et la modification des paramètres de transmission (vitesse, nombre de bits, parité, nombre de bits d'arrêt, type de contrôle).
- Si vous choisissez Modbus via TCP/IP, conservez la valeur 502 pour le numéro du port.
- Indiquez un numéro d'esclave pour SOPRANE II.
- Sélectionnez un mode de transmission.
- Faites le choix d'un protocole Modbus/Jbus.
Par défaut, gardez le mode de transmission en mode RTU et l’option Modbus/Jbus décochée.
Validez par le bouton Ok et quittez Soprane Setup en validant la sauvegarde des modifications.
NOTE :
Le logiciel SRA.Soprane.Modbuse est lancé automatiquement après l'initialisation de Windows.
En conséquence, la prise en compte d'une modification des paramètres ne sera effective que lors du redémarrage de Windows.
- Configuration logiciel
Note : Avant d’envisager la configuration, il est préférable d’effectuer quelques analyses depuis Soprane, de créer la table de pics et de sélectionner les calculs s’il y en a. Ainsi, à chaque fin d’analyse, le logiciel SRAMODBUS récupèrera les noms de toutes ces données et la configuration des adresses sera facilitée.
Le logiciel SRAMODBUS permet d'assigner une adresse et un facteur d'échelle pour chaque variable.
Ce logiciel opère en tâche de fond et, en fonctionnement normal, sa fenêtre est masquée.
Si le logiciel SRAMODBUS s’exécute correctement, l’icône SRA Instruments doit être présente dans la zone de notification.
Effectuez un clic-droit sur l’icône et cliquez sur Agrandir. La fenêtre suivante s’ouvre :
Les données sont séparées en 5 niveaux :
- Les variables système de l'analyseur : "Instrument"
- Les variables système de l'analyse : "Échantillons / Étalonnage"
- Les valeurs en relation avec les composants : "Résultats"
- Les valeurs en relation avec le calcul : "Calculs spécifiques"
- Les valeurs en relation avec les entrées analogiques : "Entrées analogiques"
Pour chaque donnée transférée, une adresse et un type de valeur sont attribués et, pour les résultats, un coefficient soumis sous la forme d'un nombre entier (court ou réel).
Ce paramétrage s'effectue directement dans le logiciel MODBUS via l'onglet "Adresses".
Dans un premier temps, il est préférable de tester si la communication est correcte (voir chapitre Test Modbus).
L'onglet "Données brutes" contient toutes les valeurs Modbus dans quatre tables différentes. Deux tables stockent des valeurs discrètes ON/OFF (bobines) et deux valeurs numériques (registres). Les bobines et les registres ont chacun une table en lecture seule et une table en lecture-écriture. Chaque table a 9999 valeurs. Chaque bobine ou contact a un bit et une adresse de données est attribuée entre 0000 et 270E. Chaque registre est de 1 mot = 16 bits = 2 octets et a une adresse de données comprise entre 0000 et 270E.
L'onglet "Communication" contient toutes les transmissions et réceptions Modbus.
b) 1. Variables instrument
Les variables pouvant être utilisées sont :
- Flux sélectionné : Dans le cas d’une application multivoies, cette valeur indique le numéro de la voie analysée correspondant aux résultats affichés.
- Top injection : Cette valeur est définie à 1 chaque fois qu'une analyse est démarrée.
- Type d’analyse : Cette valeur indique le type d'analyse effectuée (0 = blanc, 1 = échantillon, 2 = étalon).
- Alarme : Cette valeur indique les différentes alarmes obtenues lors de l'analyse dans le logiciel SOPRANE II. Elle peut prendre plusieurs valeurs ; ces valeurs sont obtenues selon une combinaison de bits.
- 0 : pas d'alarme
- 1 : chromatographe par défaut
- 2 : cycle arrêté
- 4 : méthode invalide ou inconnue
- 8 : connexion défectueuse avec le chromatographe
- 16 : incapable de traiter les résultats
- 32 : débit d'échantillon par défaut (option)
- 64 : par défaut avec sélecteur de flux ou vanne multi-positions (option)
- Bite de vie : Cette variable est utilisée pour surveiller la transmission. Sa valeur est mise à jour toutes les secondes.
- Statut : Cette variable est utilisée pour surveiller le cycle de Soprane II. Elle peut prendre les valeurs suivantes :
- 0 : En attente
- 1 : Chromatographe prêt
- 2 : En attente de démarrage
- 3 : En attente d'injection (échantillonnage)
- 4 : Analyse en cours
- 5 : Récupération des points
- 6 : Analyse terminée
- 7 : Régénération
- 8 : Traitement d'erreur
- GC Ready : Cette variable permet de connaître l'état du chromatographe. Elle peut prendre les valeurs suivantes :
- 0 : Pas prêt
- 1 : Prêt
- 2 : Défaut
- Démarrer analyse : Cette variable permet de lancer des analyses via SOPRANE II. Elle peut prendre plusieurs valeurs :
- 0 : Aucune analyse demandée, ou cycle arrêté après l'analyse en cours.
- 1 : Lancement d’analyses en mode simple analyse.
- 2 : Lancement d’une seule séquence.
- 3 : Lancement d’analyses en mode automatique.
- 4 : Lancement d’analyses en mode étalonnage.
- Temps d’analyse : Indique à l'instant t, le temps écoulé depuis le début de l'analyse.
- Nb analyses / N° séquence : Cette variable est utilisée pour indiquer le nombre d'analyses demandées dans le cas d'un type de requête d'analyse 1. Pour les autres types, elle indique le numéro de la séquence que l'on veut effectuer. Cette affectation est réalisée dans le logiciel de configuration de SOPRANE II via le menu "Modbus / Séquence d'analyses" :
Notez que si cette variable a la valeur zéro, les analyses ne sont pas lancées ou les analyses sont arrêtées à la fin de l'analyse en cours.
Pour ajouter ces variables :
- Sélectionnez l'analyseur
- Cliquez sur le bouton ajouter du paramètre Instrument
- Dans la fenêtre qui apparaît, sélectionnez la variable, tapez le numéro d'adresse.
Pour lancer des analyses, il suffit de mettre une valeur dans la variable Analyse et Nb analyses / N° séquence. Les analyses sont effectuées tant que la valeur de la variable Analyse n’est pas changée et nulle. Vous pouvez changer à volonté le numéro de la séquence.
b) 2. Variables d’échantillon/étalon
Les variables pouvant être utilisées sont :
- L'année de l'analyse
- Le mois de l'analyse
- Le jour de l'analyse
- L'heure de l'analyse
- Les minutes de l'analyse
- Les secondes de l’analyse
- Les données prêtes : SRAModbus utilise cette variable et la passe à 1 pour indiquer que les résultats de l’analyse sont disponibles. C’est à l’ordinateur distant de la remettre à 0 lorsqu’il a lu ces valeurs.
- L’alarme composants : la valeur de cette variable est décomposée en 16 bits. Si une alarme de Soprane II est déclenchée, le bit correspondant à cette alarme sera actif.
Pour ajouter ces variables le principe est le même que précédemment :
- Sélectionnez l'analyseur
- Sélectionnez "Échantillon" ou "Étalonnage" en cliquant dessus
- Dans la barre de menus, sélectionnez "Adresses / Ajouter"
- Dans la fenêtre qui s’affiche, sélectionnez le nom de la variable, tapez le numéro d’adresse.
b) 3. Variables résultats
SRAMODBUS offre la possibilité de choisir parmi un éventail de 6 valeurs :
- Surface
- Concentration brute
- Concentration normalisée
- Temps de rétention
- Hauteur
Pour ajouter ces variables le principe est le même que précédemment :
- Sélectionnez l'analyseur
- Dans la barre de menus, sélectionnez "Adresses"
- Dans la partie Résultats, cliquer sur Ajouter.
- Dans la fenêtre qui s’affiche, sélectionnez le nom de la variable, tapez le numéro d’adresse et sélectionnez le type (entier court, entier long, réel)
Le coefficient permet de transférer les décimales de la valeur. En effet, les valeurs transmisses avec ce choix de ‘type’ sont toujours des valeurs entières et donc les décimales sont supprimées. Par exemple, si vous voulez avoir deux chiffres après la virgule, l’astuce est de fixer le coefficient à 100. La valeur sera alors multipliée par 100 avant l’envoi et il suffira de diviser par 100 la valeur reçue pour obtenir une valeur avec deux décimales. Attention, la valeur maximale envoyée ne peut pas dépasser 65535 avec le type ‘entier court’ donc il est nécessaire de configurer correctement ce coefficient en fonction de l’unité du composant. Cette valeur maximale peut être modifiée avec la valeur ‘Pleine échelle’ du menu "Configuration" (icône marteau en haut à droite de la fenêtre) (voir chapitre Options Modbus).
b) 4. Variable calcul spécifique
SOPRANE II peut effectuer des calculs post-analytiques. Ces calculs sont, par exemple, la masse molaire, la masse volumique, la densité, les capacités calorifiques, ... Plusieurs jeux de calculs sont utilisables, les calculs pouvant éventuellement être les mêmes mais réalisés dans des conditions de température ou de pression différents.
Si la valeur correspond à un calcul effectué dans Soprane, il est nécessaire de sélectionner la valeur Calcul 1 ou Calcul 2.
Pour ajouter ces variables le principe est le même que précédemment :
- Sélectionnez l'analyseur
- Dans la barre de menus, sélectionnez "Adresses"
- Dans la partie Calcul spécifique, cliquer sur Ajouter.
- Dans la fenêtre qui s’affiche, sélectionnez le nom de la variable, tapez le numéro d’adresse et sélectionnez le type (entier court, entier long, réel) et le coefficient.
Le coefficient permet de transférer les décimales de la valeur. En effet, les valeurs transmisses avec ce choix de ‘type’ sont toujours des valeurs entières et donc les décimales sont supprimées. Par exemple, si vous voulez avoir deux chiffres après la virgule, l’astuce est de fixer le coefficient à 100. La valeur sera alors multipliée par 100 avant l’envoi et il suffira de diviser par 100 la valeur reçue pour obtenir une valeur avec deux décimales. Attention, la valeur maximale envoyée ne peut pas dépasser 65535 avec le type ‘entier court’ donc il est nécessaire de configurer correctement ce coefficient en fonction de l’unité du composant. Cette valeur maximale peut être modifiée avec la valeur ‘Pleine échelle’ du menu "Configuration" (icône marteau en haut à droite de la fenêtre) (voir chapitre Options Modbus).
b) 5. Variable entrée analogique
Pour ajouter ces variables le principe est le même que précédemment :
- Sélectionnez l'analyseur
- Dans la barre de menus, sélectionnez "Adresses"
- Dans la partie Entrée analogique, cliquer sur Ajouter.
- Dans la fenêtre qui apparaît, sélectionnez le nom de l'entrée analogique, le numéro de l'adresse et le coefficient.
Le coefficient permet de transférer les décimales de la valeur. En effet, les valeurs transmisses avec ce choix de ‘type’ sont toujours des valeurs entières et donc les décimales sont supprimées. Par exemple, si vous voulez avoir deux chiffres après la virgule, l’astuce est de fixer le coefficient à 100. La valeur sera alors multipliée par 100 avant l’envoi et il suffira de diviser par 100 la valeur reçue pour obtenir une valeur avec deux décimales. Attention, la valeur maximale envoyée ne peut pas dépasser 65535 avec le type ‘entier court’ donc il est nécessaire de configurer correctement ce coefficient en fonction de l’unité du composant. Cette valeur maximale peut être modifiée avec la valeur ‘Pleine échelle’ du menu "Configuration" (icône marteau en haut à droite de la fenêtre) (voir chapitre Options Modbus).
- Test Modbus
1. Tests de communication
Dans un premier temps, il est préférable de tester si la communication est correcte.
Configurez le paramètre de bit de vie à l’adresse 1 : Sélectionnez l'analyseur, puis cliquez sur le bouton ajouter.
Sélectionnez les paramètres suivants et confirmez avec le bouton de validation.
Depuis l'écran principal de Modbus, cliquez sur "Sauvegarder".
Depuis votre superviseur :
- Vérifiez que la configuration correspond à la configuration définie dans Soprane II : support de communication, adresse IP si mode TCP/IP ou protocole de communication (vitesse, parité) et n° esclave si liaison série.
- Programmez une lecture Modbus de 3 premières adresses en entier (adresse 1, 2 et 3). En effet, dans certains cas, il peut y avoir un décalage d’une adresse et donc en définissant une trame de lecture ainsi, ceci vous permettra de vérifier si les numéros d’adresses correspondent. Il est préférable de prévoir un temps de rafraîchissement assez long (> 100 ms voire toutes les secondes) car les valeurs n’évoluent qu’après chaque analyse et ainsi, cette fonction n’utilise pas trop de ressources au niveau du PC.
Si la lecture est correcte, la configuration des adresses est alors envisageable.
2. Transmission de valeurs
Les résultats des analyses sont envoyés à chaque fin d’analyse. Malheureusement, ceci n’est pas pratique lors des essais de communication. Il existe une possibilité d’envoyer les résultats après chaque retraitement d’analyses. Pour ceci, il est nécessaire de lancer Soprane depuis le menu Exécuter de Windows en saisissant la ligne suivante : "C :\Soprane II\SRA.SOPRANE.exe" InstrumentName /BUS (le chemin Soprane II entre guillemets suivi du nom de l'instrument et du paramètre / BUS)
Ensuite à partir du tableau de résultats de Soprane II, sélectionner plusieurs analyses faites un clic droit et sélectionnez "Traitement par lot", sélectionner la méthode puis l’analyse et valider (voir chapitre Retraitement par lot). Les résultats sont transmis.
Attention, si vous lancez chaque fois Soprane II de cette façon, les résultats seront envoyés à chaque fin d’analyse et aussi à chaque retraitement.
- Options Modbus
Pour accéder aux options Modbus, cliquez sur le marteau en haut à droite de la fenêtre Modbus.
- Nombre de décimales : permet de paramétrer le nombre de décimales à visualiser pour l’affichage de toutes les valeurs de la fenêtre principale du logiciel.
- Pleine échelle : En mode RTU, et si le format des valeurs est d’entier 16 bits il est nécessaire d'indiquer une valeur pleine échelle qui est utilisée pour convertir la donnée en échelle 0-10000 ou 0-65535. Dans ce mode, la valeur représentant le constituant ou le calcul est transmise après avoir été convertie en un nombre dans la gamme 0-10000 ou 0-65535.
Supposons un constituant dont la concentration est 5. La valeur d'échelle programmée est supposée être 20. Nous sélectionnons ici une échelle de 10000, ce qui signifie que 20 devient 10000. La valeur transmise à l'ordinateur hôte sera de 2500.
- Adresse réelle : Si vous avez opté pour une transmission des résultats en mode ASCII (mode Daniel), les valeurs ne sont pas converties. Le logiciel demande alors une adresse de variable réelle. SRAMODBUS considère que toutes les adresses inférieures à cette adresse correspondent à des variables entières (stockées sur 16 bits), et toutes les adresses supérieures correspondent à des variables réelles stockées sur 32 bits.
- Inversion des octets entiers 32 bits : si l’option est cochée, le poids faible et le poids fort des valeurs transmises sous le format entier 32 bits sont inversés.
- Inversion des octets des réels : si l’option est cochée, le poids faible et le poids fort des valeurs transmises sous le format réel sont inversés.
- Délai pour rafraîchissement avant alarme : si les valeurs ne sont pas rafraîchies au bout de ce délai, SRAMODBUS remonte une alarme de non rafraîchissement.
- Délai pour effacement données prêtes : en fin d’analyse, le flag Données prêtes passe à 1. Au bout du délai paramétré, le flag repasse à 0. Si le délai est à 0, cette option n’est pas activée.
- Maître efface données prêtes : si l’option est cochée, c’est au maître de passer le flag Données prêtes à 0. Autrement, lorsque Soprane relance une analyse, le flag repasse automatiquement à 0.