Zobrazují se příspěvky se štítkemPLC. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkemPLC. Zobrazit všechny příspěvky

pátek 22. února 2013

PLCComS vs Zabbix

Pro společnost CeProgress jsem řešil instalaci programu PLCComS od splečnosti Teco a.s. PLCComS je to jednoduchá aplikace běžící pod Windows/Linux, která po TCP/IP komunikuje s PLC automatem řady Foxtrot pomocí protokolu EPSNET. Nadefinované proměnné přenese z PLC zařízení a dále je dokáže vypsat na portu 5010 pomocí telnetu a jednoduchého textového protokolu.

root@server:~$ telnet localhost 5010
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
GETINFO:
GETINFO:VERSION,Ver 2.9 Aug 23 2012 14:09:38
GETINFO:VERSION_EPSNET,Ver 1.8 Aug 23 2012 13:22:47
GETINFO:VERSION_INI,Ver 3.2 Apr 24 2012 08:36:13
GETINFO:VERSION_PLC,CP1020K   B 2.7 7.4
GETINFO:IPADDR_PLC,192.168.5.60
GETINFO:PUBFILE,2/82 [FIXED_Foxtrot.pub,//Hlavni_m.pub]
GETINFO:NETWORK,1/10 [127.0.0.1]
GETINFO:

...
EN:TOPENI_STAVY_2NP[211].POZTEPLOTA
GET:TOPENI_STAVY_2NP[211].POZTEPLOTA
GET:TOPENI_STAVY_2NP[211].POZTEPLOTA,10.000000
 



Rozhodl jsem se hodnoty z čidel zaznamenávat do Zabbixu a patřičně dále data reportovat skrze grafy. Zabbix disponuje monitorovacím typem - Telnet agent, který, bohužel vyžaduje autentizaci. A bez ni se mi Item pro hodnotu nepovedlo nastavit. PLCComS autentizaci nemá implementovánu. Pro získání hodnot jsem si napsal jednoduchý Perl script, využívající modul Net::Telnet. Na server, kde běží aplikace se ze Zabbixu přihlašuji pomoci SSH agenta a pouštím perlový script, který Telnet modulem ziska patřičné hodnoty.

Bylo by dobré, kdyby společnost Teco a.s. tento svuj SW vylepšila o Telnet s autentizaci. A ještě lepší by bylo implementovat protokol SNMP a možnost mapovat proměnné přímo na hodnoty získatelné pomocí MIBu, ale to jsem moc náročnej.

Jako další úkol si zadávám pomocí Zabbix API a patřičné PHP knihovny vykreslit grafy na jiném web serveru serveru než kde běží Zabbix.