fellonz Inserito: 16 agosto 2013 Segnala Share Inserito: 16 agosto 2013 Ciao a tutti. Ho un problema che non riesco ad individuare. Non riesco a comunicare con un device di terze parti attraverso una normale comunicazione Modbus su RS485 4 fili. Si tratta di una comunicazione che fino a poco tempo fa funzionava. Poi qualcosa è cambiato (non so cosa) ed ho perso la connessione. Ai due capi del cavo ci sono: - plc GE 90-70: scheda PCM711 (Programmable Coprocessor Module) - un device (tipo un pc con hardware customizzato) La comunicazione avviene in modbus utilizzando la porta 2 sul PCM ed una COM dall'altro lato; entrambe configurate 9600-8-N-1. Il PCM fa da master. Il PCM mposta slave_address[14], function_number[3-Holding Memory], src_offset[88], buffer_length[80] e dest_offset[1088]; li appoggia a partire dal registro %R910, poi utilizza una routine di lettura del dest_buffer. Ho sniffato il traffico, sostituendo il device-3rd-parts con un laptop ed il software "Modbus Slave 3.1" (quindi ponendomi come slave) utilizzando un convertitore Patton Rs232-Rs485. Ho impostato i parametri della porta, della connessione ed ho analizzato il log. PS: Ho fatto la stessa cosa su un altro sito dove esiste la medesima situazione (ancora funzionante) ed ho sniffato il log nello stesso modo. Sul sito dove la comunicazione funziona, ho rilevato traffico Rx e Tx, con i parametri correttamente valorizzati (slaveaddr, funcnumber, data ...); mentre sul sito dove la comunicazione non funziona rilevo solo Rx (niente Tx) ed è normale perchè i parametri dell'Rx sono errati e mutevoli (come se l'area %R910 venisse sovrascritta da una qualche routine - ho verificato e ciò non avviene !). Ecco. Questa è l'analisi. Non sono riuscito a capire dov'è impostato che PCM legge i registri a partire da %R910 per effettuare il poll verso lo slave. Ne con PCOP, ne con Megabasic, ne con HandHeld e ne con LogicMaster si imposta l'area di memoria per il poll del PCM; e sembra proprio che sia questa area di memoria a fornire dati errati alla comunicazione modbus, allo slave. Sembra come che sia un default; che con una PCM711 si debba, per forza, utilizzare %R910 e seguenti per impostare i parametri di polling ... ma non l'ho trovato scritto su alcun manuale !! Qualcuno ha qualche idea ? Credo di avere già fatto tutte le prove possibili, ma continuo a non capire dove sia il problema. Ogni consiglio è apprezzato. Grazie. Link al commento Condividi su altri siti More sharing options...
fellonz Inserita: 31 agosto 2013 Autore Segnala Share Inserita: 31 agosto 2013 Mi rendo conto. La tecnologia è obsoleta ed il problema è custom. Provo a riformulare la domanda tralasciando tutti i dettagli. Qualcuno sa quale sia l'area di Registri (%R) dalla quale il modulo PCM preleva i parametri per il messaggio Modbus (slaveaddr, functnum, ...) ? Qualcuno sa se è un parametro configurabile ? Come ? Ogni parere è apprezzato. Grazie in ogni caso. Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora