Manuel de référence

Transcription

Manuel de référence
PMIS-ETHCC-0208
2/2008
Manuel de référence
Carte de communication Ethernet pour les compteurs ACCESS 9340 et 9360
(9340-60-ETHER)
INTRODUCTION
Ce manuel de référence porte sur la création de pages Web pour la carte de
communication Ethernet des compteurs ACCESS 9340 et 9360.
Pour de plus amples informations, reportez-vous aux documents suivants :
•
•
Manuel d’installation 9340-60-ETHER (PMIM-ETHCC-0208)
Manuel d’utilisation 9340-60-ETHER (PMCM-ETHCC-0208)
APPLICATIONS DE LA CARTE
9340-60-ETHER
La 9340-60-ETHER est, dans son principe, une passerelle qui permet
d’accéder à travers un réseau Ethernet à des périphériques série Modbus/
Jbus et SY/MAX. La carte 9340-60-ETHER fonctionne également comme
serveur Web et serveur de fichiers.
Protocoles Ethernet pris en charge
La 9340-60-ETHER prend en charge les protocoles Ethernet suivants :
•
•
Modbus TCP/IP : permet de desservir les
•
Hypertext Transfer Protocol (HTTP) : assure le fonctionnement en
tant que serveur Web via le port TCP 80. Les utilisateurs peuvent
configurer la carte à distance et afficher les données historiques et en
temps réel à l’aide d’un simple navigateur Web. La mémoire non volatile
de la carte 9340-60-ETHER stocke les pages Web, les graphiques, la
documentation, les commandes, les applets et autres fichiers.
•
File Transfer Protocol (FTP) : permet de transférer depuis et vers la
carte 9340-60-ETHER, via le port TCP 21, les types de fichier suivants :
Modbus TCP/IP maîtres tels que le système WinPM.Net via le port TCP
502.
— Fichiers graphiques GIF et JPEG
— fichiers PDF
— applets Java
— contrôles ActiveX
— HTM/HTML
— XML
— XSL
— XSD
— DTD
— fichiers txt
•
Simple Mail Transfer Protocol (SMTP) : permet l’envoi de messages
électroniques via le port TCP 25.
•
Simple Network Management Protocol (SNMP) : basé sur le format
MIB2, SNMP permet d’enregistrer et d’envoyer des informations
d’identification et de diagnostic utilisées pour la gestion du réseau via le
port UDP 161.
•
Simple Network Time Protocol (SNTP) : SNTP est un protocole
permettant de synchroniser les horloges des appareils en réseau à
l’aide d’un serveur SNTP, via le port UDP 123.
FR–1
Carte de communication Ethernet pour les compteurs ACCESS 9340 et 9360
Création de pages Web personnalisées pour la carte 9340-60-ETHER
CRÉATION DE PAGES WEB
PERSONNALISÉES POUR LA CARTE
9340-60-ETHER
PMIS-ETHCC-0208
2/2008
Pour créer des pages Web personnalisées pour la carte 9340-60-ETHER,
vous devez :
Matériel, logiciel et logistique
nécessaires
•
avoir une connaissance générale du système de contrôle et de
surveillance de l’énergie ACCESS ;
•
•
•
avoir une connaissance générale de l’Internet et du Web ;
savoir utiliser les fonctions de base d’un éditeur de texte ;
avoir une connaissance fonctionnelle des langages HTML et JavaScript.
Avant de commencer, vérifiez :
•
que la carte 9340-60-ETHER est correctement installée et qu’une
adresse IP lui a été attribuée ;
•
qu’il est possible d’accéder à la carte 9340-60-ETHER via une
connexion sur réseau local ;
•
que vous disposez d’un éditeur de texte ou de pages Web.
Stockage des fichiers
Des exemples de pages HTML personnalisées sont fournis sur le CD-ROM
livré avec la carte 9340-60-ETHER. Elles sont configurées pour lire les
données de l’appareil hôte. Si vous devez supprimer une page
personnalisée de la carte 9340-60-ETHER, vous pouvez la restaurer à
partir du CD-ROM.
Composants des pages HTML
personnalisées
En général, chaque page personnalisée 9340-60-ETHER contient deux
composants, chacun développé à l’aide d’outils différents.
Composants statiques : incluent la mise en page, le texte statique, le
codage des couleurs, les lignes et les tableaux. Pour créer cette partie de la
page personnalisée, vous utiliserez généralement un éditeur de pages
Web. Vous pouvez l’adapter en ajoutant ou en modifiant les balises HTML.
Du fait que la partie statique de la page Web dépend de l’utilisateur, le
concepteur des pages décidera de l’écriture du code HTML. Cette partie
n’est donc pas traitée dans ce manuel.
Composants dynamiques : ces composants incluent des balises SSI
(Server Side Include), qui indiquent à la carte 9340-60-ETHER d’obtenir
dynamiquement les informations à afficher à partir des registres des
appareils connectés.
Accès aux appareils
En général, les pages personnalisées sont écrites en langage HTML avec
des balises spéciales qui indiquent à la carte 9340-60-ETHER de récupérer
dynamiquement des informations dans les registres d’un appareil. Ces
balises sont délimitées par (PL_ _) au début et (_ _PL) à la fin. Pour chaque
balise SSI, la carte 9340-60-ETHER va chercher les données de registre
correspondantes pour les insérer dans la page affichée. Le Tableau 1
fournit la liste des balises ACCESS reconnues.
Tableau 1 : Description des balises ACCESS
Nom de la fonction
Code de la fonction
Lecture bloc SyMax – Registres
Code fonction SyMax 0
Balise PowerLogic
<DeviceID>^<StartingRegisterAddress>[<NumberOfRegisters>]
Exemple de balise = PL__1^1003[5]__PL
Exemple de données renvoyées = 85,86,84,25,56
Lecture dispersée SyMax – Registres
Code fonction SyMax 4
<DeviceID>^<RegisterAddress1>,<RegisterAddress2>, etc.
Exemple de balise = PL__1^1003,1004,1005,1006,1007__PL
Exemple de données renvoyées = 85,86,84,25,56
FR–2
© 2008 Siemens Energy & Automation, Inc. Tous droits réservés.
PMIS-ETHCC-0208
2/2008
Carte de communication Ethernet pour les compteurs ACCESS 9340 et 9360
Exemple 1 — Création d’une page HTML personnalisée
Tableau 1 : Description des balises ACCESS
Nom de la fonction
Code de la fonction
Balise PowerLogic
Lecture bloc Modbus – Etat bobine
Code fonction Modbus 1
<DeviceID>^C<StartingCoilAddress>[<NumberOfCoils>]
Exemple de balise = PL__1^C1003[5]__PL
Exemple de données renvoyées = 1,0,0,1,1
Lecture bloc Modbus – Etat entrée
Code fonction Modbus 2
<DeviceID>^D<StartingInputAddress>[<NumberOfInputs>]
Exemple de balise = PL__1^D1003[5]__PL
Exemple de données renvoyées = 1,0,0,1,1
Lecture bloc Modbus – Registres de maintien
Code fonction Modbus 3
<DeviceID>^H<StartingRegisterAddress>[<NumberOfRegisters>]
Exemple de balise = PL__1^H1003[5]__PL
Exemple de données renvoyées = 85,86,84,25,56
Lecture bloc Modbus – Registres d’entrée
Code fonction Modbus 4
<DeviceID>^I<StartingRegisterAddress>[<NumberOfRegisters>]
Exemple de balise = PL__1^I1003[5]__PL
Exemple de données renvoyées = 85,86,84,25,56
Lecture dispersée Modbus – Registres de maintien
Code fonction Modbus 100
<DeviceID>^S<RegisterAddress1>,<RegisterAddress2>, etc.
Exemple de balise = PL__1^S1003,1004,1005,1006,1007__PL
Exemple de données renvoyées = 85,86,84,25,56
Lecture bloc Modbus – Référence générale
Code fonction Modbus 20
<DeviceID>^F<StartingRegisterAddress>,[<NumberOfRegisters>]<File>
Exemple de balise = PL__1^F1003[5]2__PL
Exemple de données renvoyées = 85,86,84,25,56
REMARQUE : dans les pages HTML personnalisées créées pour la carte 9340-60-ETHER, il est possible d’utiliser l’astérisque (*) à la place de l’identifiant d’appareil.
L’astérisque est un « joker » qui indique à la carte 9340-60-ETHER d’utiliser automatiquement l’adresse du compteur hôte comme identifiant d’appareil.
EXEMPLE 1 — CRÉATION D’UNE PAGE
HTML PERSONNALISÉE
L’exemple 1 est un exercice de création d’une page HTML à télécharger
dans la carte 9340-60-ETHER. Cette page Web est conçue pour lire les
données d’un appareil ACCESS 9360.
Figure 1 :
Code source HTML de l’exemple 1
Exemple de page HTML 1
Ci-dessous, le code source HTML de la page Web de l’exemple 1. Le
Tableau 2 page 7 décrit les éléments importants du code source.
REMARQUE : les caractères gras indiquent les éléments des codes HTML
et JavaScript importants pour la création d’une page personnalisée. Les
numéros de ligne sont indiqués pour référence uniquement, ils ne font pas
partie du code.
Nº de ligne
© 2008 Siemens Energy & Automation, Inc. Tous droits réservés.
Syntaxe HTML
1.
<html>
2.
<head>
3.
<META HTTP-EQUIV="refresh" CONTENT="5">
4.
<title>ACCESS 9360 – Appareil esclave 3</title>
5.
</head>
FR–3
Carte de communication Ethernet pour les compteurs ACCESS 9340 et 9360
Exemple 1 — Création d’une page HTML personnalisée
PMIS-ETHCC-0208
2/2008
6.
<body>
7.
<form name="view_form">
8.
<p align="center">
9.
<input type = "text" name = "time_spot" size = "40">
10. <table border="1" width="600">
11. <tr>
12. <td width="600"><p align="center"><font size="4"><b>
13. ACCESS 9360 – Appareil esclave 3</b></font></p>
14. </td>
15. </tr>
16. </table>
17. <table border="1" width="600">
18. <tr>
19. <td width="300">
20. <p align="center">Fréquence</p>
21. </td>
22. <td align="center" width="90"><p align="center">
23. <input type="text" size="5" name="frequency"></p>
24. <td width="100">
25. <p align="center">Hz</p>
26. </td>
27. </tr>
28. <tr>
29. <td width="300">
30. <p align="center">Courant phase 1</p>
31. </td>
32. <td align="center" width="90"><p align="center">
33. <input type="text" size="5" name="currentphasea"></
p>
34. <td width="100">
35. <p align="center">Ampères</p>
36. </td>
37. </tr>
38. <tr>
39. <td width="300">
40. <p align="center">Courant neutre</p>
41. </td>
42. <td align="center" width="90"><p align="center">
43. <input type="text" size="5" name="currentneutral"></
p>
44. <td width="100">
45. <p align="center">Ampères</p>
46. </td>
47. </tr>
FR–4
© 2008 Siemens Energy & Automation, Inc. Tous droits réservés.
PMIS-ETHCC-0208
2/2008
Carte de communication Ethernet pour les compteurs ACCESS 9340 et 9360
Exemple 1 — Création d’une page HTML personnalisée
48. <tr>
49. <td width="300">
50. <p align="center">Courant terre</p>
51. </td>
52. <td align="center" width="90"><p align="center">
53. <input type="text" size="5" name="currentground"></
p>
54. <td width="100">
55. <p align="center">Ampères</p>
56. </td>
57. </tr>
58. </table>
59. <br><HR SIZE="1" width="66%"><CENTER><font
face="Times Roman" size="2">© 2008 Siemens. Tous
droits réservés.</font></CENTER>
60. </form>
61. <script language="JavaScript">
62. function ShowFreq()
63. {
64. Registers =
[PL__3^3209,3210,3211,1180,1100,1103,1104__PL];
65. ScaleFactorA = Registers[0];
66. ScaleFactorB = Registers[1];
67. ScaleFactorC = Registers[2];
68. Frequency = Registers[3];
69. CurrentPhaseA = Registers[4];
70. CurrentNeutral = Registers[5];
71. CurrentGround = Registers[6];
72. ScaleFactorAMultiplier = 0;
73. ScaleFactorBMultiplier = 0;
74. ScaleFactorCMultiplier = 0;
75. ScaleFactorFMultiplier = 0.01;
76. TheTime = new Date();
77. switch (ScaleFactorA)
78. {
79. case -2:
80. ScaleFactorAMultiplier = 0.01;
81. break;
82. case -1:
83. ScaleFactorAMultiplier = 0.1;
84. break;
85. case 1:
86. ScaleFactorAMultiplier = 10;
87. break;
© 2008 Siemens Energy & Automation, Inc. Tous droits réservés.
FR–5
Carte de communication Ethernet pour les compteurs ACCESS 9340 et 9360
Exemple 1 — Création d’une page HTML personnalisée
PMIS-ETHCC-0208
2/2008
88. default:
89. ScaleFactorAMultiplier = 1;
90. break;
91. }
92. switch (ScaleFactorB)
93. {
94. case -2:
95. ScaleFactorBMultiplier = 0.01;
96. break;
97. case -1:
98. ScaleFactorBMultiplier = 0.1;
99. break;
100. case 1:
101. ScaleFactorBMultiplier = 10;
102. break;
103. default:
104. ScaleFactorBMultiplier = 1;
105. break;
106. }
107. switch (ScaleFactorC)
108. {
109. case -2:
110. ScaleFactorCMultiplier = 0.01;
111. break;
112. case -1:
113. ScaleFactorCMultiplier = 0.1;
114. break;
115. case 1:
116. ScaleFactorCMultiplier = 10;
117. break;
118. default:
119. ScaleFactorCMultiplier = 1;
120. break;
121. }
122. Frequency *= ScaleFactorFMultiplier;
123. CurrentPhaseA *= ScaleFactorAMultiplier;
124. if (CurrentNeutral == -32768)
125. CurrentNeutral = "N/A";
126. else
127. CurrentNeutral *= ScaleFactorBMultiplier;
128. if (CurrentGround == -32768)
129. CurrentGround = "N/A";
130. else
FR–6
© 2008 Siemens Energy & Automation, Inc. Tous droits réservés.
PMIS-ETHCC-0208
2/2008
Carte de communication Ethernet pour les compteurs ACCESS 9340 et 9360
Exemple 1 — Création d’une page HTML personnalisée
131. CurrentGround *= ScaleFactorCMultiplier;
132. document.view_form.frequency.value = Frequency;
133. document.view_form.currentphasea.value =
CurrentPhaseA;
134. document.view_form.currentneutral.value =
CurrentNeutral;
135. document.view_form.currentground.value =
CurrentGround;
136. document.view_form.time_spot.value = TheTime;
137. }
138. ShowFreq();
139. </script>
140. </body>
141. </html>
Tableau 2 : Description du code source HTML de l’exemple 1
Code HTML
Nº de ligne
Description
Source HTML pour les éléments statiques
3
Balise HTML qui définit la fréquence d’actualisation de la page en
secondes.
4
Balise HTML utilisée pour indiquer le titre de la page. Ce titre s’affiche
dans la barre de titre du logiciel de navigation. Il est utilisé dans la page
des liens principaux de la carte 9340-60-ETHER.
13
Syntaxe HTML qui permet d’écrire le titre du tableau « ACCESS 9360 –
Appareil esclave 3 ».
20
Syntaxe HTML utilisée pour écrire le nom de la cellule « Fréquence ».
23
Syntaxe HTML qui permet d’insérer les données dynamiques.
25
Syntaxe HTML qui permet d’écrire « Hz ».
30, 33, 35
Syntaxe HTML qui permet d’afficher le courant de phase 1.
40, 43, 45
Syntaxe HTML qui permet d’afficher le courant neutre.
50, 53, 55
Syntaxe HTML qui permet d’afficher le courant de terre.
Code JavaScript des éléments dynamiques
64
Cette ligne contient les éléments suivants :
Les délimiteurs « PL » au début et à la fin pour indiquer à la carte
9340-60-ETHER d’interpréter la chaîne et d’insérer dynamiquement les
données de registres.
3^ pour indiquer l’adresse de l’appareil série esclave sur la guirlande.
3209, 3210 ... 1104 : liste des numéros de registres qui contiennent les
données ACCESS 9360 requises.
© 2008 Siemens Energy & Automation, Inc. Tous droits réservés.
65
Le registre nº 3209 de la carte ACCESS 9360 contient la valeur Facteur
d’échelle 1.
66
Le registre nº 3210 de la carte ACCESS 9360 contient la valeur Facteur
d’échelle 2.
67
Le registre nº 3211 de la carte ACCESS 9360 contient la valeur Facteur
d’échelle 3.
68
Le registre nº 1180 de la carte ACCESS 9360 contient la valeur
Fréquence.
69
Le registre nº 1100 de la carte ACCESS 9360 contient la valeur Courant
de phase 1.
70
Le registre nº 1103 de la carte ACCESS 9360 contient la valeur Courant
de neutre.
71
Le registre nº 1104 de la carte ACCESS 9360 contient la valeur Courant
de terre.
FR–7
Carte de communication Ethernet pour les compteurs ACCESS 9340 et 9360
Exemple 1 — Création d’une page HTML personnalisée
PMIS-ETHCC-0208
2/2008
Tableau 2 : Description du code source HTML de l’exemple 1
Code HTML
Nº de ligne
132-135
Description
Instructions JavaScript permettant de placer les valeurs des variables
dans leurs champs.
Une fois la page HTML créée, vous devez la transférer vers la carte
9340-60-ETHER. Pour plus d’informations, reportez-vous au manuel
d’utilisation de la carte 9340-60-ETHER (PMCM-ETHCC-0208).
FR–8
© 2008 Siemens Energy & Automation, Inc. Tous droits réservés.
PMIS-ETHCC-0208
2/2008
Carte de communication Ethernet pour les compteurs ACCESS 9340 et 9360
Exemple 2 — Création d’une page HTML personnalisée
EXEMPLE 2 — CRÉATION D’UNE PAGE
HTML PERSONNALISÉE
L’exemple 2 est un exercice de création d’une page HTML à télécharger
dans la carte 9340-60-ETHER. Cette page Web est conçue pour lire les
données d’un appareil PAC3200.
Figure 2 :
Code source HTML de l’exemple 2
Exemple de page HTML 2
Ci-dessous, le code source HTML de la page Web de l’exemple 2. Le
Tableau 3 page 13 décrit les éléments importants du code source.
REMARQUE : les caractères gras indiquent les éléments des codes HTML
et JavaScript importants pour la création d’une page personnalisée. Les
numéros de ligne sont indiqués pour référence uniquement, ils ne font pas
partie du code.
Nº de ligne
Syntaxe HTML
1.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/
DTD/xhtml1-transitional.dtd">
2.
<html xmlns="http://www.w3.org/TR/1999/REC-html-in-xml">
3.
<head>
4.
<style type="text/css">
5.
.gray { font-family:'Arial'; font-size:10pt; color:#000000; background-color:#eeeeee;}
6.
.white { font-family:'Arial'; font-size:10pt; color:#000000; background-color:#ffffff;}
7.
.title { font-family:'Arial'; font-weight:bold; font-size:14pt; color:#000000; backgroundcolor:#ffffff;}
8.
.subtitle { font-family:'Arial'; font-weight:bold; color:#000000; font-size:12pt;
background-color:#a9a39c;}
9.
.subtitlew { font-family:'Arial'; color:#000000; font-size:12pt; background-color:#ffffff;}
10. </style>
11. <title>PAC3200 – Test de mesures instantanées</title>
12. <script type="text/javascript">
13. if (window.XMLHttpRequest) {
14.
// Si IE7, Mozilla, Safari, etc. : utiliser objet natif
15.
var xmlhttp= new XMLHttpRequest();
16. }
17. else
18. {
19.
if (window.ActiveXObject) {
20.
// ...sinon, utiliser le contrôle ActiveX pour IE5.x et IE6
21.
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
© 2008 Siemens Energy & Automation, Inc. Tous droits réservés.
FR–9
Carte de communication Ethernet pour les compteurs ACCESS 9340 et 9360
Exemple 2 — Création d’une page HTML personnalisée
22.
PMIS-ETHCC-0208
2/2008
}
23. }
24. var sampleRate = 1000;
25. var postString = "R=PL_"+"_3" + "^14[6]"+"__PL" +
"PL_"+"_*" + "^88[6]"+"__PL" +
"PL_"+"_*" + "^158[6]"+"__PL";
26. var Title = "Mesures instantanées";
27. var STitles = ["Paramètre", "Minimum", "Actuel", "Maximum"];
28. var Labels = ["Courant de charge (1)", "Ia", "Ib", "Ic"];
29. function window_onload(){
30.
document.getElementById("Lmain").innerHTML
= Title;
31.
document.getElementById("Lsub1").innerHTML
= STitles[0];
32.
document.getElementById("Lsub2").innerHTML
= STitles[1];
33.
document.getElementById("Lsub3").innerHTML
= STitles[2];
34.
document.getElementById("Lsub4").innerHTML
= STitles[3];
35.
document.getElementById("LA").innerHTML
= Labels[0];
36.
document.getElementById("LIa").innerHTML
= Labels[1];
37.
document.getElementById("LIb").innerHTML
= Labels[2];
38.
document.getElementById("LIc").innerHTML
= Labels[3];
39.
startSampling();
40. }
41. function startSampling(){
42.
LoadData(postString);
43. }
44. function LoadData(){
45.
try{
46.
var temp;
47.
var Data = new Array();
48.
xmlhttp.open("POST", "Post__PL__Data", true);
49.
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
50.
xmlhttp.onreadystatechange
51.
52.
try{
53.
temp=xmlhttp.responseText;
54.
Data=temp.split(",");
55.
}
56.
catch(exception){
57.
ProcessError(xmlhttp.responseText);
58.
return;
59.
}
60.
if(Data.length > 2){
61.
RefreshData(Data);
62.
}
63.
else{
FR–10
= function() {
if(xmlhttp.readyState == 4){
© 2008 Siemens Energy & Automation, Inc. Tous droits réservés.
PMIS-ETHCC-0208
2/2008
64.
Carte de communication Ethernet pour les compteurs ACCESS 9340 et 9360
Exemple 2 — Création d’une page HTML personnalisée
ProcessError(Data);
65.
}
66.
if(sampleRate != 0){
67.
TimerID = setTimeout("LoadData()", sampleRate)
68.
}
69.
}
70.
}
71.
xmlhttp.send(postString)
72.
}
73.
catch(exception){
74.
if(sampleRate != 0){
75.
setTimeout("LoadData()", sampleRate);
76.
77.
}
}
78. }
79. function ProcessError(Error){
80.
LoadData();
81. }
82. function ConvertIEE754(msw,lsw){
83.
// dénominateur = 2^23
84.
denom=0x800000;
85.
mantissa=0;
86.
expon=0;
87.
// exécuter un cycle à travers le mot le moins significatif (lsw)
88.
for(i=16;i>0;i--){
89.
if(lsw&1)
90.
mantissa+=(1/denom);
91.
denom=denom>>1;
92.
lsw=lsw>>1;
93.
}
94.
// continuer jusqu'aux 7 bits inférieurs du mot le plus significatif (msw)
95.
for(i=7;i>0;i--){
96.
if(msw & 1)
97.
mantissa+=(1/denom);
98.
denom=denom>>1;
99.
msw=msw>>1;
100.
}
101.
// obtenir l'exposant (expon)
102.
expon=(0xff & msw)-127;
103.
// obtenir le signe
104.
if(0x100 & msw)
105.
106.
sign=-1;
else
© 2008 Siemens Energy & Automation, Inc. Tous droits réservés.
FR–11
Carte de communication Ethernet pour les compteurs ACCESS 9340 et 9360
Exemple 2 — Création d’une page HTML personnalisée
107.
PMIS-ETHCC-0208
2/2008
sign=1;
108.
// renvoyer m*2^e
109.
return(sign * (1+mantissa) * Math.pow(2,expon));
110. }
111. function RefreshData(vData){
112.
currentTime = new Date();
113.
document.getElementById("time").innerHTML = currentTime.toLocaleDateString() + " " +
currentTime.toLocaleTimeString();
114.
document.getElementById("MinIa").innerHTML
vData[7]).toFixed(2);
115.
document.getElementById("PresIa").innerHTML = ConvertIEE754(vData[0],
vData[1]).toFixed(2);
116.
document.getElementById("MaxIa").innerHTML
vData[13]).toFixed(2);
117.
document.getElementById("MinIb").innerHTML = ConvertIEE754(vData[8],
vData[9]).toFixed(2);
118.
document.getElementById("PresIb").innerHTML
vData[3]).toFixed(2);
119.
document.getElementById("MaxIb").innerHTML = ConvertIEE754(vData[14],
vData[15]).toFixed(2);
120.
document.getElementById("MinIc").innerHTML = ConvertIEE754(vData[10],
vData[11]).toFixed(2);
121.
document.getElementById("PresIc").innerHTML = ConvertIEE754(vData[4],
vData[5]).toFixed(2);
122.
document.getElementById("MaxIc").innerHTML = ConvertIEE754(vData[16],
vData[17]).toFixed(2);
= ConvertIEE754(vData[6],
= ConvertIEE754(vData[12],
= ConvertIEE754(vData[2],
123. }
124. </script>
125. </head>
126. <body onload="window_onload()" style="background-color: #FFFFFF">
127. <table style="margin-right: auto; margin-left: auto; width: 80%" border="0" cellspacing="0">
128.
129.
<tr class="title">
<td colspan="4" id="Lmain" style="text-align: center"></td>
130.
</tr>
131.
<tr class="subtitlew">
132.
<td colspan="4" style="text-align: center">&nbsp;</td>
133.
</tr>
134.
<tr>
135.
<td>&nbsp;</td>
136.
<td colspan="3" id="time" style="text-align: right" class="white"></td>
137.
</tr>
138.
<tr class="subtitle">
139.
<td id="Lsub1" style="text-align: left"></td>
140.
<td id="Lsub2" style="text-align: center"></td>
141.
<td id="Lsub3" style="text-align: center"></td>
142.
<td id="Lsub4" style="text-align: center"></td>
FR–12
© 2008 Siemens Energy & Automation, Inc. Tous droits réservés.
PMIS-ETHCC-0208
2/2008
143.
</tr>
144.
<tr class="white">
Carte de communication Ethernet pour les compteurs ACCESS 9340 et 9360
Exemple 2 — Création d’une page HTML personnalisée
145.
<td style="font-weight: bold" id="LA"></td>
146.
<td colspan="3">&nbsp;</td>
147.
</tr>
148.
<tr class="gray">
149.
<td id="LIa"></td>
150.
<td id="MinIa" style="text-align: center"></td>
151.
<td id="PresIa" style="text-align: center"></td>
152.
<td id="MaxIa" style="text-align: center"></td>
153.
</tr>
154.
<tr class="white">
155.
<td id="LIb"></td>
156.
<td id="MinIb" style="text-align: center"></td>
157.
<td id="PresIb" style="text-align: center"></td>
158.
<td id="MaxIb" style="text-align: center"></td>
159.
</tr>
160.
<tr class="gray">
161.
<td id="LIc"></td>
162.
<td id="MinIc" style="text-align: center"></td>
163.
<td id="PresIc" style="text-align: center"></td>
164.
165.
<td id="MaxIc" style="text-align: center"></td>
</tr>
166. </table>
167. </body>
168. </html>
Tableau 3 : Description du code source HTML de l’exemple 1
Code HTML
Nº de ligne
Description
Source HTML pour les éléments statiques
© 2008 Siemens Energy & Automation, Inc. Tous droits réservés.
4 - 10
Section HTML qui définit les styles appliqués pour la mise en forme des
éléments de la page.
11
Balise HTML utilisée pour indiquer le titre de la page. Ce titre s’affiche
dans la barre de titre du logiciel de navigation. Il est utilisé dans la page
des liens principaux de la carte 9340-60-ETHER.
12 - 124
Cette section balise HTML contient le code JavaScript permettant
d’afficher dynamiquement les données dans la page.
126
L’attribut « onload » de la balise <body> indique au navigateur
d’exécuter la fonction JavaScript window_onload() lors du chargement
de la page.
129
Section HTML qui contient le titre du tableau. L’attribut « id » de la balise
<td> permet au code JavaScript de déterminer où insérer le titre.
139 - 142
Section HTML qui contient les sous-titres du tableau. Les attributs « id »
dans les balises <td> permettent au code JavaScript de déterminer où
insérer les sous-titres.
145
Section HTML qui contient le titre des données de courant de charge.
L’attribut « id » de la balise <td> permet au code JavaScript de
déterminer où insérer le titre.
149 - 152
Section HTML qui contient les données pour le courant de phase 1
minimum, actuel et maximum.
FR–13
Carte de communication Ethernet pour les compteurs ACCESS 9340 et 9360
Exemple 2 — Création d’une page HTML personnalisée
PMIS-ETHCC-0208
2/2008
Tableau 3 : Description du code source HTML de l’exemple 1
Code HTML
Nº de ligne
Description
155 - 158
Section HTML qui contient les données pour le courant de phase 2
minimum, actuel et maximum.
161 - 164
Section HTML qui contient les données pour le courant de phase 3
minimum, actuel et maximum.
Code JavaScript des éléments dynamiques
13 - 23
Ces lignes déterminent si l’objet natif XMLHttpRequest ou le contrôle
ActiveX doit être utilisé, en fonction du navigateur. L’objet comme le
contrôle permettent au code JavaScript de récupérer et de mettre à jour
les données sans actualiser la page entière.
24
Cette variable définit la fréquence (en millisecondes) de récupération et
de mise à jour des données dans la page.
25
Cette ligne contient les éléments suivants :
REMARQUE : cette chaîne de caractères est interprétée de façon
spécifique par JavaScript. Vous devez donc la saisir exactement telle
qu’elle apparaît à la ligne 25 de l’exemple. Seuls le numéro d’appareil et/
ou les numéros de registre peuvent être modifiés.
Les délimiteurs PL au début et à la fin pour indiquer à la carte
9340-60-ETHER d’interpréter la chaîne et d’insérer dynamiquement les
données de registres.
3" + "^ pour indiquer l’adresse de l’appareil série esclave sur la
guirlande, soit 3 dans notre exemple. Utilisez l’astérisque (*) pour relever
les valeurs de l’appareil hôte.
14[6], 88[6], and 158[6] sont des blocs de numéros de registre. Par
exemple, 14 est le premier numéro de registre lu et le nombre 6 entre
parenthèses indique qu’il y a six registres dans le bloc : 14, 15, 16, 17,
18 et 19. Ces six registres contiennent les données PAC3200
nécessaires pour Ia. Au total, il y a donc 18 registres à relever (6 + 6 + 6
= 18).
26
Cette variable contient le texte pour le titre du tableau.
27
Cette variable contient la liste des sous-titres du tableau.
28
Cette variable contient la liste des étiquettes qui indiquent le type des
données affichées.
29 - 40
Cette section affiche le titre, les sous-titres et les étiquettes définis aux
lignes 26-28. Le texte en gras dans le code JavaScript correspond à un
attribut « id » du code HTML. Lors de l’exécution, le code JavaScript
recherche l’attribut « id » correspondant dans le code HTML et affiche le
texte approprié.
41 - 81
Cette section traite et charge les données récupérées sur l’appareil.
Vous devez reproduire ces lignes telles quelles.
82 - 110
Cette section convertit les données récupérées sur l’appareil PAC3200
en informations affichables par le navigateur. Vous devez reproduire ces
lignes telles quelles.
111 - 123
Cette section actualise les données récupérées sur l’appareil de sorte
qu’elles puissent être utilisées par les fonctions qui chargent les
données. L’argument entre parenthèses après la fonction
getElementById correspond à un attribut « id » du code HTML. Lors de
l’exécution, le code JavaScript recherche l’attribut « id » correspondant
dans le code HTML et affiche le texte approprié.
Pour chaque variable vData, le nombre entre parenthèse représente la
position de l’élément dans la table vData. Cette table contient les
données récupérées dans les blocs de registres définis à la ligne 25.
Dans notre exemple, les six premières position de la table (numérotées
de 0 à 5) correspondent aux valeurs Ia, Ib et Ic actuelles. Du fait de la
façon dont le PAC3200 stocke les données, il faut deux numéros de
registre pour générer la valeur à afficher dans le navigateur. Pour Ia, on
utilise vData[0] et vData[1] ; pour Ib, vData[2] et vData[3] ; pour Ic,
vData[4] et vData[5].
Une fois la page HTML créée, vous devez la transférer vers la carte
9340-60-ETHER. Pour plus d’informations, reportez-vous au manuel
d’utilisation de la carte 9340-60-ETHER (PMCM-ETHCC-0208).
FR–14
© 2008 Siemens Energy & Automation, Inc. Tous droits réservés.
PMIS-ETHCC-0208
2/2008
CRÉATION D’UNE PAGE
PERSONNALISÉE POUR ÉCRIRE SUR
DES APPAREILS ESCLAVES
Carte de communication Ethernet pour les compteurs ACCESS 9340 et 9360
Création d’une page personnalisée pour écrire sur des appareils esclaves
Pour créer une page HTML personnalisée permettant d’écrire sur des
appareils esclaves, il suffit de copier et de modifier l’exemple de la section
« Exemple de page pour écriture sur appareils esclaves » page 16.
Nous recommandons de créer des pages permettant d’accéder en écriture
avec un mot de passe de niveau administrateur. Si vous utilisez l’accès en
écriture dans le cadre d’une application de commande à distance, soyez
particulièrement prudent dans l’attribution des mots de passe et les
opérations d’écriture. L’écriture dans les registres peut modifier la
configuration des appareils voire les mettre sous ou hors tension. Reportezvous au manuel d’utilisation de la carte 9340-60-ETHER pour plus
d’informations sur l’administration des mots de passe.
L’exemple crée la page suivante pour la carte 9340-60-ETHER :
Commandes de formulaire « post »
Pour écrire dans les registres, vous devez utiliser la fonction HTML
« post ». Le nom du formulaire doit être indiqué sous la forme
« postNomPage », où NomPage est le nom de la page personnalisée
contenant le formulaire.
Une même page personnalisée peut contenir plusieurs formulaires, pourvu
que chaque formulaire porte un attribut de nom unique. Chaque commande
de formulaire peut contenir entre une et cinq fonctions d’écriture, soit les
nombres maximaux de positions de registre ou de bobine indiqués cidessous :
Nombre d’écritures par commande de
formulaire
Nombre max. de positions par écriture
1
95
2
45
3
25
4
20
5
15
Chaque fonction d’écriture doit être représentée par les variables d’entrée
suivantes :
© 2008 Siemens Energy & Automation, Inc. Tous droits réservés.
Ecriture 1
Ecriture 2
Ecriture 3
Ecriture 4
Ecriture 5
devx
« deva »
« devb »
« devc »
« devd »
« deve »
mdx
« cmda »
« cmdb »
« cmdc »
« cmdd »
« cmde »
strtx
« strta »
« strtb »
« strtc »
« strtd »
« strte »
numx
« numa »
« numb »
« numc »
« numd »
« nume »
x#
« a1 »
« b1 »
« c1 »
« d1 »
« e1 »
x#
« a2 »
« b2 »
« c2 »
« d2 »
« e2 »
x#
« a3 »
« b3 »
« c3 »
« d3 »
« e3 »
x#
…
…
…
…
…
FR–15
Carte de communication Ethernet pour les compteurs ACCESS 9340 et 9360
Création d’une page personnalisée pour écrire sur des appareils esclaves
PMIS-ETHCC-0208
2/2008
Où :
•
•
•
« devx » correspond à l’adresse d’écriture sur l’appareil esclave.
•
•
« numx » correspond au nombre de registres ou de bobines visés.
« cmdx » peut correspondre à l’une des chaînes du tableau ci-dessous.
« strtx » correspond à la première position d’écriture (registre ou
bobine).
« x# » correspond à la valeur ou aux données à écrire.
Chaîne
Description
Fonction d’écriture Modbus
« sh »
Un seul registre de maintien
0x06 Preset Single Register
« mh »
Plusieurs registres de maintien
0x10 Preset Multiple Registers
« sc »
Une seule bobine
0x05 Force Single Coil
« mc »
Plusieurs bobines
0x0f Force Multiple Coils
Exemple de page pour écriture sur
appareils esclaves
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Exemple de page pour écriture sur registre</TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<META content="MSHTML 6.00.2800.1170" name=GENERATOR></HEAD>
<BODY><!-Ce script permet de créer une balise <FORM> avec la chaîne de l'URL. Copiez-collez le script au
début de votre page personnalisée.
-->
<SCRIPT>
/* convertir l'URL du document en chaîne */
UrlString = document.URL;
/* obtenir la longueur de la chaîne */
Length = UrlString.length;
/* localiser l'emplacement où commence le nom de la page */
index_string = UrlString.lastIndexOf("/", Length - 2);
/* mémoriser le nom de la page (y compris le jeton s'il existe) */
end_string = UrlString.substring(index_string + 1,Length);
/* supprimer le mot 'Post' du début de la chaîne (ajouté automatiquement si la commande de
formulaire utilisée est Post) */
end_string = end_string.replace("Post","");
/* créer la chaîne de postage pour l'attribut d'action */
new_string = "Post" + end_string;
/* Si une même page contient plusieurs formulaires et que les variables de formulaire sont
référencées en dehors de formulaires, chaque formulaire doit être identifié par un nom unique.
Si les variables ne sont pas référencées en dehors du formulaire ou s'il n'y a qu'un seul
formulaire, cette étape n'est pas nécessaire. Nous attribuons un nom ici afin de montrer comment
créer un nom de formulaire à partir d'une variable. Dans le cas présent, le nom est prédéfini,
mais il pourrait être généré lors de l'exécution. */
form_name = "my_form";
FR–16
© 2008 Siemens Energy & Automation, Inc. Tous droits réservés.
PMIS-ETHCC-0208
2/2008
Carte de communication Ethernet pour les compteurs ACCESS 9340 et 9360
Création d’une page personnalisée pour écrire sur des appareils esclaves
/* créer la chaîne pour générer le formulaire et l'envoyer */
post_string = "<FORM name='"+form_name+"' action='" + new_string + "' method='POST'
align='center'>";
document.write(post_string);
</SCRIPT>
<TABLE cellPadding=2 align=center border=0>
<TBODY>
<TR>
<TD vAlign=top>
<TABLE cellPadding=2 align=center border=1>
<TBODY>
<TR>
<TD align=middle colSpan=2><B>Ecriture a</B></TD></TR>
<TR>
<TD align=middle><FONT size=3>Adresse (deva)</FONT></TD>
<TD align=middle><FONT size=3><INPUT size=5 value=4 name=deva>
</FONT></TD></TR>
<TR>
<TD align=middle><FONT size=3>Fonction écriture (cmda)</FONT></TD>
<TD align=middle><FONT size=3><INPUT size=5 value=sh
name=cmda><BR></FONT></TD></TR>
<TR>
<TD align=middle><FONT size=3>Position de départ (strta)</FONT></TD>
<TD align=middle><FONT size=3><INPUT size=5 value=15800 name=strta>
</FONT></TD></TR>
<TR>
<TD align=middle><FONT size=3># de registres (numa)</FONT></TD>
<TD align=middle><FONT size=3><INPUT size=5 value=1 name=numa>
</FONT></TD></TR>
<TR>
<TD align=middle><FONT size=3>Valeur à écrire (a1)</FONT></TD>
<TD align=middle><FONT size=3><INPUT size=5 value=5 name=a1>
</FONT></TD></TR><!-- Si les registres sont au nombre de quatre, attribuez la valeur
4 à la variable numa et supprimez les balises de commentaire ci-dessous. --><!-<TR>
<TD align=middle><FONT size=3>Valeur à écrire (a2)</FONT></TD>
<TD align=middle><FONT size=3>
<input type=text name=a2 value=10 size=5>
</FONT></TD>
© 2008 Siemens Energy & Automation, Inc. Tous droits réservés.
FR–17
Carte de communication Ethernet pour les compteurs ACCESS 9340 et 9360
Création d’une page personnalisée pour écrire sur des appareils esclaves
PMIS-ETHCC-0208
2/2008
</TR>
<TR>
<TD align=middle><FONT size=3>Valeur à écrire (a3)</FONT></TD>
<TD align=middle><FONT size=3>
<input type=text name=a3 value=100 size=5>
</FONT></TD>
</TR>
<TR>
<TD align=middle><FONT size=3>Valeur à écrire (a4)</FONT></TD>
<TD align=middle><FONT size=3>
<input type=text name=a4 value=0 size=5>
</FONT></TD>
</TR>
--></TBODY></TABLE></TD></TR></TBODY></TABLE><BR><BR><BR>
<CENTER><INPUT type=submit value=Ecrire></CENTER></FORM>
</BODY></HTML>
FR–18
© 2008 Siemens Energy & Automation, Inc. Tous droits réservés.
PMIS-ETHCC-0208
2/2008
© 2008 Siemens Energy & Automation, Inc. Tous droits réservés.
Carte de communication Ethernet pour les compteurs ACCESS 9340 et 9360
Création d’une page personnalisée pour écrire sur des appareils esclaves
FR–19
PMIS-ETHCC-0208
2/2008
Carte de communication Ethernet pour les compteurs ACCESS 9340 et 9360
Création d’une page personnalisée pour écrire sur des appareils esclaves
Seul du personnel qualifié doit se charger de l’installation, de l’utilisation, de l’entretien et
de la maintenance du matériel électrique. Siemens décline toute responsabilité quant aux
conséquences de l’utilisation de ce matériel.
FR–20
© 2008 Siemens Energy & Automation, Inc.
Tous droits réservés.

Documents pareils