Ok, adesso forse ho capito.
Prima cosa, accedere direttamente ad un database è complicato (ci vuole il client) e in generale non è una buona pratica. Hai parlato di php per cui immagino che realizzerai una pagina web, o un sito, che mostra i messaggi memorizzati dalla macchina nel db. La soluzione che ti propongo, tecnicamente una web API, è quella di creare una ulteriore pagina a cui accede il PLC inviando i messaggi (es.:
http://xxx/index.php?page=api&msg=OK); la pagina php memorizza il messaggio nel db utilizzando i metodi dell'apposita libreria.
Le difficoltà sono:
1. il PLC deve avere la possibilità di fare una GET o una POST (la GET è più semplice) ad una pagina web: si tratta di aprire una connessione TCP, di scrivere correttamente header e messaggio e poi di controllare la risposta dal server; in ogni caso anche nella tua ipotesi originale avresti dovuto fare qualcosa di simile. Anche se non direttamente applicabile, una buona idea di come funziona questo meccanismo quando non si ha direttamente a disposizione un browser, lo puoi avere guardando gli esempi web client di Arduino:
http://arduino.cc/en/Tutorial/WebClient
2. Sicurezza: chi utilizza il sito php si deve autenticare; facile via browser, tutt'altra storia da embedded. Se non hai modo di gestire almeno l'autenticazione base del web, devi complicare l'architettura: la web API deve essere accessibile unicamente dagli indirizzi IP dei PLC, mentre la pagina di visualizzazione dei risultati sarà pubblica e protetta da password.
Seconda cosa, affidabilità: il termine in realtà non è preciso, intendevo Quality of Service (QOS), cioè il livello di affidabilità con cui vuoi che i messaggi che partono dal PLC siano veramente registrati e poi visti.
Credo che la soluzione che ti ho descritto sopra sia sufficiente almeno in prima battuta. Esistono altre architetture, più complicate ma più affidabili e scalabili: se ti servono o ti interessano questi concetti, ti consiglio di iniziare da MQTT (
http://mqtt.org/.
Spero di averti aiutato ...