Monthly Archives: Març 2015

Configurar el Webserver del S7 1200 per llegir i escriure dades

El PLC de siemens S7 1200 em sorprèn cada dia més per les seves característiques i les seves prestacions a un preu més que raonable, encara que sí que és cert que la majoria de fabricants de PLC cada dia aporten més funcions i prestacions als seus PLC, el 1200 té l’avantatge d’utilitzar el TIA PORTAL com a eina de treball, el que li fa encara més interessant per la seva facilitat d’ús i la seva facilitat d’escalar als PLC de gamma mitjana o alta. En aquest post explicaré com utilitzar el Webserver per llegir o escriure en el PLC, això ens pot ser molt útil quan vulguem una alternativa a una pantalla tàctil, sempre que només vulguem manipular una petita quantitat de dades del PLC i no haguem de desenvolupar una gran aplicació de monitorització.

Configurar el Webserver del S7 1200 per llegir i escriure dades

En primer lloc hem de crear una pàgina HTML on posarem una variable per llegir i una altra per escriure del PLC, pot ser tant una variable d’un DB, una marca o el que vulguem, la pàgina es pot fer amb un editor de text com el Notepad:

pagina-html-seb-server-s71200

Podem observar que per llegir del 1200 utilitzem els caràcters: = “variable”, i per escriure o fem mitjançant un formulari form i amb algun objecte HTML d’entrada de dades, per exemple en aquest cas un input.

Un cop creada la pàgina la guardem en un directori del nostre PC, recordem la ubicació perquè o tindrem que indicar en el TiaPortal

Seguidament hem d’obrir la configuració del PLC i activar el webserver si no estava activat:

configuracion-Web-server-s71200

A la pestanya de pàgines d’usuari seleccionem la carpeta on hem guardat la nostra pàgina d’exemple, tot seguit li donem al botó generar DB:

PAGINAS-USUARIO-Web-server-s71200

En aquest punt ens ha generat 2 DB que fa servir el 1200 per generar les pàgines HTML, sempre que vulguem actualitzar les pàgines haurem de tornar a generar aquests DB i evidentment transferir al PLC.

Perquè la nostra pàgina d’exemple funcioni hem de fer una crida cíclica, per exemple en el OB1 de la funció www, aquí indicarem el nostre DB generat:

www-Web-server-s71200

Abans de finalitzar crearem un usuari nou i li donarem permís per visualitzar pàgines d’usuari, al final transferiem al PLC totes les modificacions.

Ara només queda provar, obrim el navegador web i apuntem a l’adreça web de l’autòmat, entrarem a la pàgina del PLC i una vegada que ens registrarem amb l’usuari que hem afegit, podrem veure un link amb accés a les pàgines d’usuari, aquí veurem la nostra pàgina llegint i escrivint les 2 variable que hem creat a la pàgina:

PAGINAS-USUARIO-LINK-Web-server-s71200

PAGE-Web-server-s71200

Connexió a SQLServer amb WinCC professional

Com guardar dades des de WinCC Professional a una base de dades SQLServer.

Anem a suposar que tenim instal·lat el WinCC Professional 7.2 i SQLServer 2008 en el mateix ordinador per fer les proves de connexió i per guardar les dades en una taula de la base de dades.

Connexió a SQLServer amb WinCC professional

Creem una base de dades de prova

Per crear una base de dades amb una taula per a realitzar les proves ho farem amb l’eina “SQL Server Management Studio” que ve instal·lada al SQLServer 2008, amb aquest programa crear bases de dades i les seves corresponents taules és una tasca summament senzilla, fins i tot porta un programa molt intuïtiu per crear relacions amb les taules.

El primer pas és obrir el “SQL Server Management Studio” i connectar-nos amb el servidor, en aquest cas el propi ordinador, seguidament crearem una base de dades per a les proves amb una taula i alguns camps on guardarem les dades:

sql-server-management

Amb això ja tenim creada la base de dades, ara anem a connectar a la base de dades des de WinCC i guardarem el valor de temperatura llegit del PLC.

Connectar a la base de dades des de WinCC

Obrim el WinCC explorer i obrim l’editor “VBS-Editor”, anem a la pestanya accions i afegim un nou script on el executarem de manera cíclica cada 1 minut, és a dir registrarem el valor de temperatura casa 1 minut, la connexió la farem mitjançant OLEDB, obrim una connexió ADODB.Connection i inserim mitjançant un insert a la base de dades prova i en la taula registre:

winccexplorer-vbs

winccexplorer-vbs-REGSQLSERVER

La variable del WinCC que correspon a un valor de temperatura del PLC en aquest exemple es diu “AEC”, llegim el valor real de la variable i la inserim en la taula registre, com és un valor real de coma flotant, abans hem de canviar les comes per punts amb un replace sinó donaria error en inserir el la taula

Conclusions

Una manera molt senzilla de realitzar una Connexió a SQLServer amb WinCC professional, a més la instal·lació de WinCC 7.2 ja porta incorporat una instal·lació de SQLServer 2008, el qual ho posa encara més fàcil a l’hora de decidir com registrar dades des del Scada.