baggio1485 Inserito: domenica alle 12:59 Segnala Inserito: domenica alle 12:59 Buongiorno a tutti, sono nuovo nel forum e avrei bisogno di un aiuto. Premetto che non ho molta esperienza in programmazione e quindi chiedo a chi volesse rispondermi di non dare per scontato terminlogie o percorsi diconfigurazione. Sto cercando di configurare tramite mb_client una comunicazione tra il plc 1200 e un convertitore server tcp\ip-rtu che a sua vola dialoga in rs232 con un pannello interfaccia di una macchiana. Nella fase di scrittura non ho nessun problema in quanto riesco a comandare marcia\arresto e vari parametri.Il problema sorge in lettura in quanto non riesco a visualizzare, neel db di appoggio, nessun dato. Spero di essere stato il più chiaro possibile. grazie mille
Schenna Inserita: domenica alle 19:02 Segnala Inserita: domenica alle 19:02 @baggio1485Sono un po' pochi dati per capire qual è il problema. Dovresti inviare la configurazione del blocco mb_client ed eventualmente l'errore che viene restituito...
baggio1485 Inserita: lunedì alle 21:39 Autore Segnala Inserita: lunedì alle 21:39 Salve, in allegato ho inserito i vari screenshot dell' MB_CLIENT sia in lettura che in scrittura. L'immagine sopra riguarda la db di istanza in lettura, e quando è in comunicazione visualizza un valore legato alla richiesta di registri fatta nel blocco MB_client. Grazie mille dell'aiuto
Schenna Inserita: lunedì alle 22:23 Segnala Inserita: lunedì alle 22:23 1. Prova ad utilizzare il Mb_Mode= 0 quando devi leggere i valori e Mb_Mode= 1 quando li devi scrivere 2. Utilizzare più blocchi Mb_client può causare errori nel PLC se non si rispettano le tempistiche corrette. Ti consiglio di utilizzare un solo blocco Mb_client e, tramite un semplice shift register su un vettore, caricare i vari parametri nel blocco. Usa il segnale Done per eseguire lo shift: in questo modo, il PLC avvierà una nuova connessione con il server solo dopo aver completato la precedente. Ricorda che la comunicazione Modbus nei PLC è asincrona, quindi potrebbe non essere sempre eseguita in un singolo ciclo. 3. Il tipo di dati deve essere Int oppure Word per l'array di lettura e scrittura
max.bocca Inserita: martedì alle 07:19 Segnala Inserita: martedì alle 07:19 https://support.industry.siemens.com/cs/attachments/102020340/net_modbus_tcp_s7-1500_s7-1200_en.pdf Hai già guardato questo manuale c'è anche un video a riguardo fatto da Siemens SCE, io avevo provato con S7 e un Logo per fare dei test.
baggio1485 Inserita: martedì alle 20:51 Autore Segnala Inserita: martedì alle 20:51 22 ore fa, Schenna ha scritto: 1. Prova ad utilizzare il Mb_Mode= 0 quando devi leggere i valori e Mb_Mode= 1 quando li devi scrivere 2. Utilizzare più blocchi Mb_client può causare errori nel PLC se non si rispettano le tempistiche corrette. Ti consiglio di utilizzare un solo blocco Mb_client e, tramite un semplice shift register su un vettore, caricare i vari parametri nel blocco. Usa il segnale Done per eseguire lo shift: in questo modo, il PLC avvierà una nuova connessione con il server solo dopo aver completato la precedente. Ricorda che la comunicazione Modbus nei PLC è asincrona, quindi potrebbe non essere sempre eseguita in un singolo ciclo. 3. Il tipo di dati deve essere Int oppure Word per l'array di lettura e scrittura Grazie per la risposta. 1.Ho utilizzato Mb_mode=103 e 106 perchè i registri da leggere nell'interfaccia operatore partono dallo 0. E' giusto il ragionamento? 2.Mi dia il tempo di capire bene quello che mi hai scritto e La aggiorno. 3.ok
baggio1485 Inserita: martedì alle 21:02 Autore Segnala Inserita: martedì alle 21:02 13 ore fa, max.bocca ha scritto: https://support.industry.siemens.com/cs/attachments/102020340/net_modbus_tcp_s7-1500_s7-1200_en.pdf Hai già guardato questo manuale c'è anche un video a riguardo fatto da Siemens SCE, io avevo provato con S7 e un Logo per fare dei test. Grazie mille. Faccio delle verifiche e la aggiorno
Schenna Inserita: martedì alle 22:15 Segnala Inserita: martedì alle 22:15 @baggio1485 1 ora fa, baggio1485 ha scritto: 1.Ho utilizzato Mb_mode=103 e 106 perchè i registri da leggere nell'interfaccia operatore partono dallo 0. E' giusto il ragionamento? No, la mappatura dei registri in base 0 o 1 dipende dal firmware caricato nel dispositivo slave. Il PLC legge sempre i registri in base 1; se il tuo slave utilizza una mappatura in base 0, devi semplicemente leggere un registro in meno rispetto a quanto indicato nel manuale.
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