Vai al contenuto
PLC Forum


Errore comunicazione


ugoilbruko

Messaggi consigliati

Salve a tutti sono a presentarvi di nuovo un problemino dovrei poter riuscire a capire da software plc eventuali stacchi di rete . se stacco un cavo tra s71200 e hmi o verso il g120c in profinet vorrei che il plc mi fermasse il ciclo e capire come fare un reset al ripristino del cavo grazie in anticipo.

Link al commento
Condividi su altri siti


Ciao,

se il G120C è presente in configurazione hardware, guarda l'istruzione LED: verifica lo stato del led della CPU (dovrebbe lampeggiare rosso); poi c'è anche l'istruzione GET_DIAG che, invece, dovrebbe aiutarti a capire quale apparato si è scollegato oppure è in alcuni tipi di errore; se interessa, c'è anche ModuleStates.

Link al commento
Condividi su altri siti

Onestamente non so di esempi: prova vedere su Siemens SIOS. Per il pannello l'unica soluzione che conosco è la WORD di coordinazione: uno dei bit è il LIFE BIT che lampeggia ad un hertz, se ricordo bene; se non esiste lampeggio, imposti il tuo allarme. Guarda se lo trovi sul manuale o nella guida in linea.

Link al commento
Condividi su altri siti

Con la word di coordinazione 1 hmi mi funziona ma se la creo sull altro hmi nella stessa rete il plc fa rumori strani di scatto rele al suo interno e non mi funziona sul secondo hmi la variabile di coordinazione del secondo hmi varia di continuo in maniera strana e sembra mandare in crash il sistema con 1 solo hmi tutto ok

Link al commento
Condividi su altri siti

Il primo hmi cambia un solo bit e lo controllo ma il secondo hmi ne varia di continuo almeno 6 stati e non lo controllo senza una funzione pensavo ci fosse o qlcuno avesse gia risolto questo problema

Link al commento
Condividi su altri siti

si 2 diverse word ma quella del secondo hmi non si comporta come la prima addirittura mentre è in funzione rimane statica senza cambiare mai stato.

Link al commento
Condividi su altri siti

Salve a tutti,

io per rintracciare eventuali errori di comunicazione (in lettura/scrittura) utilizzo DPRD_DAT e DPWR_DAT generando delle segnalazioni o degli allarmi.

In tal modo sono certa che la comunicazione, in qualunque momento, non abbia errori (soprattutto nella fase iniziale di debug)

Link al commento
Condividi su altri siti

Ciao dperla,

nel 300 anch'io usavo quelle due istruzioni, ma nel 1200/1500 ti assicuro che le istruzioni LED, GET_DIAG e ModuleStates sono decisamente più semplici da utilizzare; per quanto riguarda il pannello, almeno che io sappia, l'unico modo rimane la WORD di coordinazione.

Link al commento
Condividi su altri siti

Il primo hmi cambia un solo bit e lo controllo ma il secondo hmi ne varia di continuo almeno 6 stati e non lo controllo senza una funzione pensavo ci fosse o qlcuno avesse gia risolto questo problema

 

Forse ho risolto controllando la word di coordinazione anche se nel secondo pannello non é il secondo bit che cambia stato stranamente come mi dicono anche da siemens ma piu bit mah.. pur staccando il cavo di rete continua a cambiare i suoi valori.

Il primo hmi invece si comporta bene.

Sara che sono pannelli basic e quindi non si possono creare macro o altri stratagemmi.

Link al commento
Condividi su altri siti

  • 2 weeks later...

Ciao Drugo,

quindi al posto di usare un'istruzione per ogni HW_IO utilizzi queste 3 funzione per tutto il dispositivo, accedendo, direttamente, agli indirizzi E e A?!?

Ma io non ho trovato che la queste 3 istruzioni possano garantirti la lettura o (peggio) una scrittura consistente... 

Trovo "scomode" DPRD e DPWR perché devo usarli una per ogni modulo della periferica (quindi se voglio l'azionamento ha impostato 3 telegrammi, devo usare 3 volte il blocco non avendo la possibilità di farlo sull'intera area di ingressi se contigui)

Link al commento
Condividi su altri siti

Di solito utilizzo la LED per sapere se la CPU ha il led che lampeggia di rosso (condizione che si avvera quando è presente un errore sia di un modulo I/O che per le connessioni profinet progettate, ma non solo ...; ad esempio, se un ingresso analogico va in overflow ottieni lo stesso effetto; in pratica, segnala lo stato di errore della CPU); ha questo punto con la GET_DIAG verifico se sono presenti i nodi profinet (se ne "manca" qualcuno, indico quale; serve una istruzione per ogni nodo); infine, utilizzo ModuleStates per indicare quale modulo è in errore (serve una istruzione per ogni modulo).

In pratica, così facendo, ottengo un allarme CPU in errore quando lampeggia il suo led di rosso; se un nodo profinet è sconnesso o va in errore, segnalo anche quello; se, invece o contemporanemente, c'è anche un errore su un modulo, lo segnalo. Il pannello non l'ho mai controllato, anche perchè, è chiaro "visivamente" che non comunica e poi, senza il pannello, dovrei limitarmi ad accendere una spia; quindi, se un nodo è in errore scateno due messaggi (CPU e nodo), così come per un modulo (CPU e modulo); se ho solo la CPU in errore, scateno un solo messaggio.

Finora mi è bastato e non è stato richiesto altro.

Link al commento
Condividi su altri siti

  • 2 months later...

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...