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"> </td> 133. </tr> 134. <tr> 135. <td> </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"> </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.