PLC - automatisme et iPhone

Les boutons simples

Introduction

Le bouton, interaction avec l'utilisateur pour une commande.
Par principe le titre du bouton est fixe, il réalise toujours la même action. Pour un bouton avec un titre variable, il est préférable d'utiliser un switch, ou un icon représentatif.

Bouton

PLCLink bouton

Code de référence #1 avec "link"

<item id="0">
  <title>Test</title>
  <name>Allumer</name>
  <description>Allumer la lampe</description>
  <IW>ON</IW>
  <affichage>button</affichage>
  <link>http://IP/fichier_de_la_commande?value=1</link>
</item>

La valeur "ON" n'est pas reprise pour la commande, "value=1" elle donc forcé à 1 par la commande. Cette commande est envoyée en mode "GET" vers l'automate.

Vous devez placer des balises conformes en XML donc le signe & est à écrire &amp; dans le lien de "link".

PLCLink bouton

Code de référence #2 avec "wagolink"

<item id="0">
  <title>Test</title>
  <name>Eteindre</name>
  <description>Eteindre la lampe</description>
  <IW>OFF</IW>
  <affichage>button</affichage>
  <wagolink>http://IP_automate/WRITEPI?ADR1=MX0.2&amp;VALUE1=0&amp;FORMAT1=%d</wagolink>
</item>

La valeur "OFF" n'est pas reprise pour la commande, "VALUE1=0" est donc forcé à 0. La présence d'une écriture style : VALUE1=%d permet de passer la valeur du bouton. Cette commande est envoyée en mode POST vers l'automate.

Vous devez placer des balises conformes en XML donc le signe & est à écrire &amp; dans le lien de "link".

Code de référence #3 "ModBus"

<item id="0">
  <title>Test</title>
  <name>Allumer</name>
  <description>Allumer la lampe</description>
  <type>text</type>
  <text>OFF,ON</text>
  <IW>1</IW>
  <affichage>button</affichage>
  <IP>192.168.10.0</IP>
  <unitID>0</unitID>
  <OB>MX0.0</OB>
</item>

La valeur "1" dans "IW" est reprise pour la commande ModBus, donc 1 sera écrit dans MW0.0.

Le titre du bouton est dans <text>, liste indexée par la balise <IW> = 1. C'est aussi La valeur pour le transfert ModBus vers MW0.0.

Code de référence #4 "url" (v1.6.1)

<item id="0">
  <title>Test</title>
  <name>Température ce matin</name>
  <description>Lecture de tempe_matin</description>
  <type>xml</type>
  <text>//tempe_matin</text>
  <affichage>button</affichage>
  <url>http://www.meteorologic.net/webmaster/xml/xml_file_29591.xml</url>
  <IP>192.168.10.0</IP>
  <unitID>0</unitID>
  <OB>MW0</OB>
</item>

Est affiché un bouton dont la valeur est extraite du fichier xml météo sur PARIS. Le bouton affiche cette valeur qui est renvoyée sur la variable Modbus MW0 lors de la commande.

Fonction

Passe une commande via l'URL de la balise <link> ou un formulaire SSI via la balise <wagolink> ou une commande sortante ModBus si <IP> et <OB> sont spécifiés.
Wagolink sera prioritaire si les trois balises existent, une seulement est utile.

Présentation

Aspect et valeur du bouton

La valeur (titre du bouton) est obtenue par <IW> ou <IB> ou <url> (v 1.6.1). Le texte du bouton n'est pas toujours exactement la valeur car :
il est possible d'obtenir un affichage indexé via une liste dans la balise <text>, <IW> étant la valeur d'index et la valeur sortante. On pourra donc faire afficher "ON" sur le bouton alors que sa valeur est "1".
- <url> est source possible pour la valeur, le texte retourné est un simple texte ou une structure XML, il est nécessaire dans ce cas, d'indiquer le XPATH de la variable utile via la balise <text>.

XPATH

La balise <text> indique dans certain cas le XPATH de la variable. Sera utilisé :
- <text>item/data</text> première occurrence de X dans <item><data>X</data></item>
- <text>data</text> première occurrence de X dans <rss><data>X</data>...
- <text>//data</text> première occurrence de X dans <rss>...</data>X<data>... n'importe ou
- <text>data[3]</text> Troisième occurrence de X dans <rss>...<data>X</data> n'importe ou
- <text>.</text> X dans <any>X</any>

L'ensemble complet des commandes XPATH n'est pas implémenté. La réponse est nécessairement la première valeur retournée par l'expression.

Commande

  1. <wagolink>
  2. <link>
  3. <OB>

L'appel de l'url est réalisé 1 fois lors de l'appuis sur le bouton.
- <link> est une URL "http://...%d..." qui réalise l'action du bouton.
- %d est remplacé par la valeur entière, %f par une valeur avec 4 décimales. - <wagolink> est une forme particulière de formulaire avec une formulation imposée par les commandes SSI, qui sera donc passé en POST.
- <OB> est une adresse ModBus qui prendra la valeur du bouton lors de la commande, un transfert ModBus sera effectué.

exemple HTTP (80) :

- <link>http://IP/commande.php?value=%d</link>
- <wagolink>http://IP_automate/WRITEPI?ADR1=MW0&amp;VALUE1=%d&amp;FORMAT1=%d</wagolink> commande SSI Wago
- dans "VALUE1=%d" : %d sera remplacé par la valeur numérique entière du bouton.
- %d = valeur entière, et pour link uniquement %f = valeur avec 4 décimales.

exemple ModBus :

- <OB>MX0.0</OB> adresse mémoire de bit
- <OB>MW0</OB> adresse mémoire d'un mot en écriture IEC1132 sans le signe "%"
- <OB>12288</OB> adresse décimale directe en mémoire pour le mot MW0 (Wago)

Note

- N'est utilisable que le mode word et bit (MW, MX, IW, IX, QW, QX ) en ModBus
- l'écriture ModBus est impossible directement vers une sortie si CodeSys utilise la sortie : (QX0.0 etc..), utilisez un flag mémoire et l'introduire comme paramètre dans la fonction de sortie. (à voir avec la doc de l'automate)

Priorités des commandes

  1. <wagolink> est totalement prioritaire.
  2. <link> ensuite
  3. <OB>

Une seule commande est effective.



PLCLink more
index

 

Valid XHTML 1.0 Transitional