Vai al contenuto
PLC Forum


Scrittura Plc.


ferentarius

Messaggi consigliati

Ciao a tutti. Avrei un piccolo quesito da porvi.

Ho un HMI che comunica con un PLC Rockwell tramite RSlinx con driver Ethernet.

Volevo capire bene cosa accade quando io faccio una scrittura sul plc.

Le scritture avvengo in modo asincrono rispetto al tempo di ciclo del plc o avvengono in un momento ben preciso?

O andando nel dettaglio del mio problema... Ho una routine sul plc dove, come primo ramo, se mi si alza un bit di comando dall'HMI alzo un altro bit (che si ritiene a sua volta) e in fondo alla routine resetto il bit di comando.

Io mi chiedo... è possibile che (devo essere proprio un pò sfigato) io mandi il mio comando esattamente nel momento in cui il plc sta processando la parte di programma all'interno dei due rami sopra descritti. In questo caso io non ottengo l'effetto voluto perchè il bit che mi si dovrebbe alzare causato dal mio comando non si alza perchè il plc ha già processato questa parte e non lo farà neanche nel ciclo dopo perchè il mio comando viene resettato nello stesso ciclo.

Oppure questo non è possibile perchè le scritture avvengono tutte in un determinato momento (inizio del ciclo?)?

spero di essermi spiegato in un modo decente.

cosa ne dite?

thanks. bye.

Link al commento
Condividi su altri siti


E' come hai detto tu, potresti perderlo, parlo per esperienza perchè sono stato "sfigato" anch'io...ovviato reagendo e resettando nel PLC solo dopo aver visto il comando da HMI.

Ciao

Link al commento
Condividi su altri siti

infatti il problema era proprio quello.

siamo andati a diminuire la "finestra di sfiga" nella quale se arriva un comando dall'HMI questo viene resettato prima che processato in modo utile.

prima di questo avevamo circa il 10% di comandi che non andavano a buon fine, e ciò rasenta la follia, ovviamente non è una cosa accettabile.

andando a ridurre questa finestra e quindi ottimizzando il codice siamo arrivati (tramite oppurtuni test) ad un risultato di un comando perso ogni 1000 comandi effettuati.

Ora quindi va già meglio.

comunque sembra che questo 1 su mille non sia programmabilmente riducibile a 0.

ora io vi chiedo per favore di illuminarmi su una cosa.

non è possibile sincronizzare la ricezione di dati dalla porta ethernet con qualche impostazione del plc, del Logix o qualcosa di simile.

Noi non vogliamo che i nostri dati possano arrivare al processore a metà ciclo plc. Vorremmo se possibile che queste letture avvengano in modo sincrono quando lo decidiamo noi, o almeno poter scegliere a inizio ciclo, oppure a fine ciclo, insomma, in un momento ben preciso.

Per la cronaca si sta usando un CompactLogix, quindi con porta ethernet integrata sulla cpu e non in un modulo separato (cosa che probabilemnte porterebbe ad un sincronismo delle letture/scritture).

Grazie.

Michele.

Link al commento
Condividi su altri siti

esatto, è proprio quello che abbiamo fatto.

comunque la domanda di sopra rimane.

sono costretto a risolvere la cosa in questo modo o posso andare in qualche modo a configurare il sincronismo dello scambio di dati, da e per lo scada, tramite ethernet?

è cosa fattibile? come?

Link al commento
Condividi su altri siti

Come nella maggior parte dei PLC, nel CompactLogix la comunicazione è asincrona e per quanto ne so non può essere sincronizzata, nel software quindi occorre tenerne conto. Ciao.

Link al commento
Condividi su altri siti

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...