Vai al contenuto

Comunicazione in ciclo scansione?


Messaggi consigliati

Inserito:

Buongiorno sto leggendo un libro didattico s7.

 

A quanto vedo nel immagine tutte le informazioni che viaggiano per cavo dati verranno elaborate nel terzo ciclo, è corretto?

 

Se ad esempio un hmi mi attiva un out nel ladder, al primo ciclo non sara attiva, ma rilevata, al secondo nemmeno perchè gli rlo vengono decisi al punto 3.17753921262924401744525079489070.thumb.jpg.df73b66a1db235321085e9158c3246e3.jpg

Al terzo l uscita sarà attivata?

Inserita:

Giusto per capire:

Quale è il testo di cui parli?

1 ora fa, G.esse ha scritto:

hmi mi attiva un out nel ladder

intendi portare a ON un tag HMI che compare in serie in un net messo in AND con un'uscita digitale fisica del plc? Oppure un tag HMI progettato come uscita fisica del plc?

 

1 ora fa, G.esse ha scritto:

ciclo

intendi un ciclo di scansione plc del programma?

 

C'e da dire però che la comunicazione tra HMI e plc è asincrona rispetto al programma utente dentro il plc ed elaborata anche in funzione al numero di tag progettati. La risposta quindi non è così scontata.

Inserita:
9 minuti fa, drn5 ha scritto:

Giusto per capire:

Quale è il testo di cui parli?

intendi portare a ON un tag HMI che compare in serie in un net messo in AND con un'uscita digitale fisica del plc? Oppure un tag HMI progettato come uscita fisica del plc?

 

La prima

 

C'e da dire però che la comunicazione tra HMI e plc è asincrona rispetto al programma utente dentro il plc ed elaborata anche in funzione al numero di tag progettati. La risposta quindi non è così scontata.

Il testo tratta di s7 1200 e 1500 , ma l immagine non è cosi risolutiva perchè tra i compiti di ciclo del processore c è la comunicazione, a questo punto mi sono chiesto,come vengono gestiti i dati provenienti dalla comunicazione al interno del ciclo? Quando soprattutto? 

 

 

 

 

Marco Fornaciari
Inserita:

Qui devi fare qualche passo indietro e concentrarti su come lavorano i microprocessori.

Un qualsiasi microprocessore lavora in modo sincrono e ripetitivo leggendo ed eseguento il contenuto dalla prima area di memoria fino all'ultima, ovvero fino alla prima che gli dice di ritornare dall'inizio (sorvoliamo sui Go To e i Jump).

Detto ciò un PLC deve sottostostera anche ad altere regole di sicurezza e gestione delle macchine, e il ciclo di lettura ed esecuzione del programma è sempre quello di cui sopra, ma con una procedura ancora più puntuale, normalemte è quanto sotto (per alcuni PLC datati potrebbe essere leggermete diversa, ma alla fine il risultato non cambia):

1- inizio di una scansione con controllo di tutto l'hardware del PLC

2- lettura del buffer delle porte seriali e ethernet

3- lettura degli ingressi, nei piccoli PLC compatti direttamente gli ingressi, negli altri il database che ne riporta lo stato letto da altro hardware

4- elaborazione del programma sviluppato dl programmatore

5- comando delle uscite, nei piccolo <<<<plc compatti direttamente le uscite, negli altri scrittura del data base delle uscite dove altro hw si preoccupa di aggiornare le uscite fisiche

6- scrittura del buffer delle porte seriali e ethernet

7- per morto per varie faccende di sicurezza della CPU

Al momento sorvoliamo sul fatto che il PLC possa avere il tempo di scansione variabile o fisso, il programmatore deve sapere con cosa sta lavorando e sviluppare il programma in modo da raggiungere gli obiettivi prefissati di funzionamento della macchine o/e dell'impianto.

 

Da non dimenticare che nei PLC più performati la comunicazione della CPU con le periferiche è demandata a processori specifici, e la CPU comunica solo con i database degli stati: normalmente al programmatore questo interessa solo a titolo informativo e non per preoccuparsi dei tempi di ciclo; per questi problematiche ci sono interupp, tasck rapide, e tante altre istruzioni e hardware specifici da mettere nella configurazione.

 

Nel corso del punto 4 ci possono essere elaborate delle istruzioni che vanno a leggere e scrivere direttamente alcuni I/O.

 

Alcuni PLC datati leggevano e scriveveano le porte seriali (le ethernet ancora non c'erano) solo all'inizio o solo alla fine della scanzione, ma di fatto per la gestione della macchina non cambia nulla.

 

Per quanto riguarda gli HMI o le supervisioni, il funzionamento interno è del tutto simile a quanto sopra, con alcune differenze:

8- importante è lo HMI o la supervione che interrogano il PLC e gli chiedono lo stato delle variabili

9- è sempre lo HMI che scrive le variabili sul PLC quando è necessario, tipiamente su interventi di un operatore

10- sono elaborate secondo le impostazioni del clock di lettura solo le variabili o da registrare per i trend o quelle della pagina in primo piano, pochissime le le ggono sempre tutte ciclicamente

11- sono scritte sul PLC solo le variabili che vengono modificate su intrevento dell'operatore, o/e eventualmente di uo script

12- solo alcuni HMI o supervisioni all'avviamento in ogni caso leggono una volta tutte le variabili a prescindere dalla pagina attiva.

 

In conclusione, prima di scrivere un programma per un PLC bisogna studiarsi bene il suo funzionamento, in particolare tutte le istruzioni matematiche e quelle che leggono e scrivono all'istante gli I/O.

Attenzione che il alcuni PLC istuzioni matematiche complesse e di trasferimento posssono occupare più scansioni del programma utente, in questo caso bisogna gestire correttamente le variabili relative agli start del comando di elaborazione e di fine elaborazione.

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