Una manera fàcil d’establir una comunicació entre una aplicació d’escriptori i un autòmat siemens S7, és la llibreria gratuïta libnodave.dll
Comunicació entre una aplicació d’escriptori i autòmat siemens S7, Libnodave.dll
LibNodave.dll és una llibreria gratuïta per VB.NET, Java, C, C + +, etc per comunicar-se amb els autòmats de Siemens S7 300 i S7 400. Es poden realitzar des d’aplicacions d’escriptori fins apps per mòbils i tauletes, la comunicació es pot realitzar per ethernet, MPI o profibus.
es d’aquest enllaç es pot descarregar la llibreria libnodave de forma gratuïta:
En descomprimir el fitxer que ens hem descarregat podem veure diferents directoris amb alguns exemples de VB, de Pascal, de PERL, etc.
Per treballar en. Net tenim la llibreria libnodave.net.dll, hem de crear una referència a la dll libnodave.net:
i després declarar les variables de treball:
'Variable daveOSerialType Private fds As libnodave.daveOSserialType 'Variable daveInterface Private di As libnodave.daveInterface 'Variable daveConnection Private dc As libnodave.daveConnection
Per crear una connexió, podem crear un mètode que realitza la connexió al PLC, on p_port i p_ip són el port i la IP del PLC respectivament:
Public Function conectar() As Boolean Try If fds.rfd = 0 Then fds.rfd = libnodave.openSocket(p_port, p_ip) fds.wfd = fds.rfd di = New libnodave.daveInterface(fds, "IF1", 0, libnodave.daveProtoISOTCP, libnodave.daveSpeed187k) di.setTimeout(1000000) dc = New libnodave.daveConnection(di, 0, p_rack, p_slot) conexion = dc.connectPLC End If If conexion <> -1 Then Return True Else Return False End If Catch ex As Exception regErrores = ex.Message Return False End Try End Function
Un cop realitzada la connexió amb el PLC amb èxit, podem llegir i escriure del PLC, per llegir i escriure d’un DB:
'Lectura de un db del PLC res = dc.readBytes(libnodave.daveDB, DB, inicio, longitudLeer, Nothing) dc.getS32At(puntero) 'Escritura de un db del PLC res = dc.writeBytes(libnodave.daveDB, DB, inicio, longitud, escriure)
Conclusions
Amb aquesta llibreria podem crear fàcilment un enllaç entre una aplicació d’escriptori, una app per a mòbil, un enllaç cap a un full excel, cap a un autòmat S7 300 o 400 de forma gratuïta, l’experiència que he tingut amb aquesta llibreria és perfecta, tinc realitzada una aplicació d’escriptori amb VB.NET connectada a un autòmat VIPA Speed 7 i funciona a la perfecció sense cap tipus de problemes.