climatools Inserito: lunedì alle 17:26 Segnala Inserito: lunedì alle 17:26 Salve scusate sono alle prime armi con una connessione modbus 485 punto punto con plc s71200 e una scheda acquisizione temperatura con sonde ntc 10k e un modulo relè e ingressi digitali 485 . Programma fatto tutto funzionante.. mi chiedevo se ci fosse un modo di bloccare il funzionamento della macchina che devo comandare. Perché se per ipotesi la comunicazione cade per esempio sulla scheda relè rimangono attivi e non seguiranno il programma come anche le letture delle sonde che rimangono scritte sempre nello stesso valore e non vanno a 0. Grazie per l' aiuto.
Simone.Salarsi Inserita: martedì alle 07:33 Segnala Inserita: martedì alle 07:33 per comunicare in modbus stai usando MB_CLIENT o MB_SERVER o uno degli altri blocchi siemens ? questi function block hanno nelle uscite dell'interfaccia un bit di errore. Potresti usare questo bit di errore per andare a bloccare le logiche delle uscite interessate o il ciclo macchina, dipende da come è strutturato il tuo programma.
climatools Inserita: martedì alle 16:38 Autore Segnala Inserita: martedì alle 16:38 9 ore fa, Simone.Salarsi ha scritto: per comunicare in modbus stai usando MB_CLIENT o MB_SERVER o uno degli altri blocchi siemens ? questi function block hanno nelle uscite dell'interfaccia un bit di errore. Potresti usare questo bit di errore per andare a bloccare le logiche delle uscite interessate o il ciclo macchina, dipende da come è strutturato il tuo programma. Salve scusami utilizzo un un Mb Comm_load e un Mb Master richiamato alle varie schede di acquisizioni . semplice RTU non una tcp. Allego foto grazie
Simone.Salarsi Inserita: mercoledì alle 08:05 Segnala Inserita: mercoledì alle 08:05 Io prenderei i bit di errore dei due blocchi e li userei per bloccare la logica del programma in caso di bit alto. Ora ripeto, non so come sia strutturato il tuo software e nemmeno cosa e come tu debba gestire. Io solitamente mi creo categorie di allarmi ad esempio: - blocco immediato (allarmi gravi che devono bloccare tutto immediatamente) - blocco start ciclo ( per esempio se mi interviene un minimo livello olio di una centralina idraulica posso terminare la lavorazione in corso ma non iniziarne una successiva) - ecc Ogni allarme viene quindi assegnato ad una categoria ed in questo modo vado a bloccare ciò che mi interessa con il bit cumulativo.
climatools Inserita: 1 ora fa Autore Segnala Inserita: 1 ora fa Il 18/02/2026 alle 09:05 , Simone.Salarsi ha scritto: Io prenderei i bit di errore dei due blocchi e li userei per bloccare la logica del programma in caso di bit alto. Ora ripeto, non so come sia strutturato il tuo software e nemmeno cosa e come tu debba gestire. Io solitamente mi creo categorie di allarmi ad esempio: - blocco immediato (allarmi gravi che devono bloccare tutto immediatamente) - blocco start ciclo ( per esempio se mi interviene un minimo livello olio di una centralina idraulica posso terminare la lavorazione in corso ma non iniziarne una successiva) - ecc Ogni allarme viene quindi assegnato ad una categoria ed in questo modo vado a bloccare ciò che mi interessa con il bit cumulativo. Scusate oggi ho fatto delle prove ma nulla da fare. Il programma che ho realizzato e composto da un blocco comm load dove richiamo un MB master varie volte per leggere e scrivere nei vari moduli di cui uno leggo le sonde di temperatura l'altro ingressi digitali l'altro dei traduttori l'altro di out relè...una volta che scollego un modulo di questi dalla connessione 485 l' MB master non cambia di stato rimane sempre false non Passa a True ... Forse sbaglio metodo di come ho realizzato il programma? Dovrei eseguire come funzione mb slave? Grazie a tutti per il vostro aiuto.
climatools Inserita: 1 ora fa Autore Segnala Inserita: 1 ora fa Scusate oggi ho fatto delle prove ma nulla da fare. Il programma che ho realizzato e composto da un blocco comm load dove richiamo un MB master varie volte per leggere e scrivere nei vari moduli di cui uno leggo le sonde di temperatura l'altro ingressi digitali l'altro dei traduttori l'altro di out relè...una volta che scollego un modulo di questi dalla connessione 485 l' MB master non cambia di stato DI ERRORE rimane sempre false non Passa a True ... Forse sbaglio metodo di come ho realizzato il programma? Dovrei eseguire come funzione mb slave? Grazie a tutti per il vostro aiuto. SCUSATE MANCAVA UN PEZZO E HO RISCRITTO IL TUTTO.GRAZIE
Marco Fornaciari Inserita: 1 ora fa Segnala Inserita: 1 ora fa Devi studiarti bene i manuali delle apparecchiature che stai usando. Tipicamente i bit di stato degli I/O remoti sono presente/gestiti con apparecchiature monomarca, ma non è detto a priori. Quindi l'unica possibilità che resta è quella di usare una uscita e un ingresso e generare un flip flop nel programma, se non cambia di stato entro X tempo arresti il tutto. Per esempio, controllare il comando motori è semplice, una volta comandata l'uscita se entro un secondo non arriva il feedback si da allarme, per il resto bisogna vedere caso per caso. Quindi se tutte le utenze gestite da un unico blocco, ovvero gli stessi, danno allarme dignifica perdiata di comunicazione. va da se che la cosa va pensata e gastita in fase di progettazione del sistema e di editazione degli schemi di cablaggio.
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