Archivi tag: modbus

Modbus e PHP

Sono alle prese da diversi giorni con un problema da risolvere per un nuovo progetto che porterò avanti nei prossimi mesi. Dopo aver sbattuto un po’ la testa sul Modbus, il protocollo di comunicazione dei PLC, sono alla ricerca di una soluzione che mi permetta di effettuare chiamate ad uno slave da ambiente PHP. Il risultato della chiamata Modbus quindi deve essere disponibile direttamente nel codice PHP.

Le diverse soluzioni che sto analizzando sono:

  1. Scrivere un’estensione per PHP che, grazie ad una libreria Libmodbus, possa effettuare chiamate direttamente dal codice PHP
  2. Utilizzare un Gateway Modbus TCP/IP- RTU. In pratica dal codice PHP potrei effettuare una chiamata al gateway tramite socket. Il gateway a sua volta gestirebbe la chiamata al device via Modbus e restituirebbe i dati alla mia procedura PHP.
  3. Utilizzare un software open source tipo SCADA. Ad esempio Likindoy o OpenSCADA.

La soluzione migliore, in termini di sviluppo, come sempre deve essere la più semplice da implementare e manutenere. Al momento sono orientato sulla 1, la 2 ho problemi a compilarla e la 3 l’ho parcheggiata in attesa di testarla.
Vi farò sapere…

Aggiornamento del 03/01/2011

Avendo ricevuto richieste di maggiori dettagli sull’estensione ho deciso di rilasciarla sotto licenza GPL v2, si sa mai che qualche altro sviluppatore si unisca al progetto per migliorarla.

Al momento l’estensione PHP implementa solo una parte delle funzioni Modbus esistenti:

  • Read holding registers (func. 03)
  • Read input registers (func. 04)
  • Write (func. 16, sviluppo terminato ma non testato)

Il tutto è implementato secondo il formato RTU.

Link al progetto su Google Code: Estensione PHP per Modbus – Wiki Reference

Aggiornamento del 11/10/2016

Il progetto è stato spostato su GitHub: https://github.com/Jazzo/PHP-Extension-Modbus