abbio90 Inserito: mercoledì alle 14:33 Segnala Inserito: mercoledì alle 14:33 Buongiorno, ho un PLC collegato ad un azionamento Schneider ATV320 in modbus RTU. Dal S7/1200 con versione 4.2 e CB1241 v.1.0 ho configurato i blocchi "Modbus_comm_load" e "Modbus_Master con mode 0. Ho creato un DB disabilitando l'accesso ottimizzato e leggo correttamente i vari valori dell' azionamento. Se volessi creare anche una logica per avviarlo, quindi non solo lettura ma anche scrittura, devo creare un secondo blocco modbus master con mode 1 e indicare con il puntatore l'offset del DB che uso per la scrittura? E il REQ dei due blocchi come lo gestisco? Essendo l'RS485 half duplex non credo possa lanciare il REQ sia al blocco di lettura che di scrittura contemporaneamente. Qualcuno saprebbe darmi qualche consiglio su come gestire la cosa. Grazie Sarebbe inoltre interessante, capire come gestite i blocchi e la loro abilitazione quando si hanno più slave su cui leggere i dati
pigroplc Inserita: giovedì alle 01:21 Segnala Inserita: giovedì alle 01:21 Parametrizzi lo stesso blocco e ti crei una catena sequenziale che vada a leggere e scrivere in alternativa. Idem per altri componenti sempre con lo stesso blocco. Viene cervellotico? SI, infatti è uso comune mettere la schda profinet e si risparmia tempo, codice e nervoso.
abbio90 Inserita: giovedì alle 05:08 Autore Segnala Inserita: giovedì alle 05:08 Quindi te dici di cambiarli: mode, indirizzo registro e puntatore gestiti da una catena ciclica che cambia i dati e lancia successivamente il REQ? Il puntatore come lo gestisco? Posso dichiararlo come variabile?
pigroplc Inserita: giovedì alle 23:55 Segnala Inserita: giovedì alle 23:55 18 ore fa, abbio90 ha scritto: Il puntatore come lo gestisco? Posso dichiararlo come variabile? Al posto di dichiarare un parametro fisso dichiari una variabile che aggiorni di volta in volta: passo 1 dichiari prima operazione aggiornando variabili + comando di esecuzipasso 5 come passo 2 per altro comando di esecuzioneone passo 2 attendi completamento operazione bit "done" o altra diavoleria passo 3 magari attendi un tempo di 100 msec che potrai togliere in fututo, ma in debug lo allunghi per vedere i tag aggiornati e gevolarti il debug passo 4 come passo 1 per altro comando di esecuzione passo 5 come passo 2 per altro comando di esecuzione passo 6 come passo 3 per altro comando di esecuzione ecc. ultimo segmento metti la call del modbus
abbio90 Inserita: 10 ore fa Autore Segnala Inserita: 10 ore fa Questo l'ho capito. Non ho capito però il puntatore come gestirlo. Se devo cambiare puntatore come lo dichiaro nelle variabili? C'è un data type apposito? Oppure come faccio? Cioè nel campo DATA PTR se metto una variabile che data type deve avere? I dati che scrivo sono in un offset differente rispetto a quelli che leggo
pigroplc Inserita: 4 ore fa Segnala Inserita: 4 ore fa Sono in cantiere e non ho tempo di far prove e controllare, ma guarda che formati accetta il parametro. Se gli metti il mouse sopra dovrebbe apparirti il tooltip...
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