Vai al contenuto
PLC Forum


Aiuto per tesi sui PLC


dforment

Messaggi consigliati

Buongiorno a tutti,

sono uno studente di informatica e devo fare una tesi descrittiva sui PLC (nessuna marca nello specifico) riguardo strettamente la gestione di valori provenienti in input (principalmente sensori di tipo analogico ad esempio umidità e temperatura). Cercando in rete ho capito che i PLC hanno una loro normativa, 5 linguaggi di programmazione e un loro ciclo di esecuzione.

Premetto che ad informatica di PLC non facciamo nulla e cercando in rete non sono riuscito a trovare qualcosa che risponda alle seguenti domande:

  1. acquisizione di valori in input (da sensori) per monitorare a run-time l'esecuzione: ho capito che ogni sensore ha un suo indirizzo e registra i suoi dati all'interno di una memoria di input, poi questi valori vengono presi dal programma e una volta eseguito il PLC aggiorna le uscite e ripete il ciclo, non interessa al prof come avviene la conversione da analogico a digitale perché è una cosa fatta in automatico dal convertitore A/D
  2. come generare file di log: questo non dipende dal tipo di PLC? perché ho trovato una pagina web della Siemens che mostra un FB di una libreria proprietaria che fa questa cosa o c'è un sistema per crearli manualmente?
  3. come mantenere l'accoppiamento dati sensori/dati esecuzione: essendo che il PLC ha sempre questo ciclo lettura input/esecuzione programma/scrittura output come faccio a dirgli che deve controllare che un sensore di temperatura non superi una certa temperatura? non posso certo aspettare che esegua ogni volta il ciclo completo… possono centrare i timer o temporizzatori o quelli sono usati solo nel caso di sensori digitali?

Spero di essere stato chiaro e scusatemi se ho sbagliato qualcosa di tecnico ma come ho detto non sono pratico di PLC

Ringrazio chiunque per qualsiasi aiuto

Link al commento
Condividi su altri siti


Adelino Rossi
Quote

come mantenere l'accoppiamento dati sensori/dati esecuzione: essendo che il PLC ha sempre questo ciclo lettura input/esecuzione programma/scrittura output come faccio a dirgli che deve controllare che un sensore di temperatura non superi una certa temperatura? non posso certo aspettare che esegua ogni volta il ciclo completo… possono centrare i timer o temporizzatori o quelli sono usati solo nel caso di sensori digitali?

possono sicuramente centrare timer e temporizzatori, quando serve,  ma prima di tutto questo, documentati sui tempi di variazione di un ciclo termico e sui tempi propri di esecuzione di un programma plc anche se generico.

Link al commento
Condividi su altri siti

Quote

acquisizione di valori in input (da sensori) per monitorare a run-time l'esecuzione: ho capito che ogni sensore ha un suo indirizzo e registra i suoi dati all'interno di una memoria di input, poi questi valori vengono presi dal programma e una volta eseguito il PLC aggiorna le uscite e ripete il ciclo, non interessa al prof come avviene la conversione da analogico a digitale perché è una cosa fatta in automatico dal convertitore A/D

Qui ti sei già risposto da solo.

 

Quote

come generare file di log: questo non dipende dal tipo di PLC? perché ho trovato una pagina web della Siemens che mostra un FB di una libreria proprietaria che fa questa cosa o c'è un sistema per crearli manualmente?

Se i file di log sono generati dal PLC stesso, il modo di generare tali file dipende dal tipo di PLC. Tieni presente però che storicizzare dati non è un compito da PLC. Da un po' di anni a questa parte nei PLC sono state implementate anche funzioni di questo tipo, ma non dimentichiamo che la memoria di un PLC (anche se i dati vengono scritti su una memory card) è sempre piuttosto limitata. Una cosa è quindi far generare autonomamente al PLC file di log (non troppo gravosi) da consultare, per esempio, via browser, altra è storicizzare quantità elevate di dati. Questo non lo può fare un PLC. Il PLC può mettere a disposizione tutti i dati necessari, che verranno letti, interpretati e archiviati da un altro sistema (SCADA, MES, ecc.).

 

Quote

come mantenere l'accoppiamento dati sensori/dati esecuzione: essendo che il PLC ha sempre questo ciclo lettura input/esecuzione programma/scrittura output come faccio a dirgli che deve controllare che un sensore di temperatura non superi una certa temperatura? non posso certo aspettare che esegua ogni volta il ciclo completo… possono centrare i timer o temporizzatori o quelli sono usati solo nel caso di sensori digitali?

Perché non puoi aspettare che esegua il ciclo completo? Il tempo di esecuzione è dell'ordine dei millisecondi.
Ma, forse, stai compiendo un errore classico per chi ha una preparazione informatica pura. Non è che se il PLC sta controllando una temperatura rimane bloccato in questa operazione e basta. Il PLC esegue sempre tutte le istruzioni in modo sequenziale. Anzi, per un PLC è fondamentale terminare sempre il ciclo. Se, per errori di programmazione (es. salti indietro o ciclo while che non termina mai), il tempo totale di elaborazione del ciclo supera un certo valore, il PLC va in STOP. Questa infatti è una situazione potenzialmente pericolosissima (vedi watchdog).

Link al commento
Condividi su altri siti

il 16/6/2018 at 15:13 , batta scrisse:

Perché non puoi aspettare che esegua il ciclo completo? Il tempo di esecuzione è dell'ordine dei millisecondi.

Ma, forse, stai compiendo un errore classico per chi ha una preparazione informatica pura. Non è che se il PLC sta controllando una temperatura rimane bloccato in questa operazione e basta. Il PLC esegue sempre tutte le istruzioni in modo sequenziale. Anzi, per un PLC è fondamentale terminare sempre il ciclo. Se, per errori di programmazione (es. salti indietro o ciclo while che non termina mai), il tempo totale di elaborazione del ciclo supera un certo valore, il PLC va in STOP. Questa infatti è una situazione potenzialmente pericolosissima (vedi watchdog).

si infatti avendo una preparazione informatica certe cose mi sono "strane"... cercando in rete poi mi sono imbatutto nei PID se non ho capito male possono essere o di tipo HW o SW e servono a controllare un determinato processo fisico in modo che non si discosti troppo da un set point (ad esempio temperatura) può essere questo che fa questo controllo continuo? o sono fuori strada?

Link al commento
Condividi su altri siti

17 minuti fa, dforment scrisse:

cercando in rete poi mi sono imbatutto nei PID se non ho capito male possono essere o di tipo HW o SW e .....

 

Si i regolatori di tipo PID possono essere realizzati solo con componenti HW e sono continui nel tempo, ovvero processano un segnale analogico senza soluzione di continuità. Possono anche essere realizzati con un algoritmo Sw che sarà elaborato da un sistema di calcolo; sono di tipo discreto, ovvero il processo sarà controllato ad intervalli discreti di tempo, così come sarà acquisita la variabile di reazione.

 

il 16/6/2018 at 11:47 , dforment scrisse:

come faccio a dirgli che deve controllare che un sensore di temperatura non superi una certa temperatura?

 

Devi chiarire se devi solo leggere i sensori, dando un allarme qualora la temperatura ecceda un determinato valore, oppure se devi mantenere la temperatura entro un determinato valore.

Nel primo caso si tratta di acquisire dati da un sensore e gestire l'allarme comparando il valore letto ad una soglia.

Nel secondo caso si tratta di una regolazione a anello chiuso che coinvolge anche gli attuatori, oltre che ai sensori.

Questo mio breve tutorial sui controlli potrebbe chiarirti qualche dubbio.

 

Link al commento
Condividi su altri siti

19 ore fa, Livio Orsini scrisse:

Devi chiarire se devi solo leggere i sensori, dando un allarme qualora la temperatura ecceda un determinato valore, oppure se devi mantenere la temperatura entro un determinato valore.

Nel primo caso si tratta di acquisire dati da un sensore e gestire l'allarme comparando il valore letto ad una soglia.

Nel secondo caso si tratta di una regolazione a anello chiuso che coinvolge anche gli attuatori, oltre che ai sensori.

Questo mio breve tutorial sui controlli potrebbe chiarirti qualche dubbio.

 

se non ho capito male l'idea è tipo avere un sensore di temperatura e un miscelatore di due sostanze e in base alla temperatura mescolo le due sostanze A e B in modo da mantenere inalterato il prodotto risultante...in questo caso si parla quindi di un PID ad anello chiuso?

Ma nel caso di un anello aperto come funziona il PID se esiste? Non è che avete un qualche esempio in diagramma ladder o un altro linguaggio per PLC che illustri come dovrebbe essere fatta la cosa?

grazie per l'aiuto

Link al commento
Condividi su altri siti

7 minuti fa, dforment scrisse:

Ma nel caso di un anello aperto come funziona il PID se esiste?

 

Il regolatore PID è solo ad anello chiuso!

Non per niente ti ho consigliato di leggere il mio tutorial, o altro equivalente.

 

8 minuti fa, dforment scrisse:

un sensore di temperatura e un miscelatore di due sostanze e in base alla temperatura mescolo le due sostanze A e B in modo da mantenere inalterato il prodotto risultante...

 

Questo è un classico problema da anello aperto. con percentuale di dosaggio proporzionale alla temperatura. In fin dei conti devi solo moltiplicare la temperatura per una costante che ti da il riferimento di apertura della valvola miscelatrice.

 

10 minuti fa, dforment scrisse:

Non è che avete un qualche esempio in diagramma ladder o un altro linguaggio per PLC che illustri come dovrebbe essere fatta la cosa?

 

Nel tutorial sulle regolazioni ci sono esempi di regolatori PID scritti in simil "C" che esemplificano gli algoritmi di regolazione.

Nei PLC esistono funzioni di libreria che realizzano un regolatore PID, è solo necessario chiamare la funzione (opportunamente parametrizzata).

Link al commento
Condividi su altri siti

Io non ho ancora capito se ti interessi sapere come lavora in modo generico un PLC, o se hai bisogno di ragguagli su funzioni specifiche, tipo il PID.

Nel post iniziale mi pareva di capire che ti interessavano nozioni di base sui PLC, poi invece fai domande specifiche sul PID.
 

Link al commento
Condividi su altri siti

54 minuti fa, batta scrisse:

Io non ho ancora capito se ti interessi sapere come lavora in modo generico un PLC, o se hai bisogno di ragguagli su funzioni specifiche, tipo il PID.

Nel post iniziale mi pareva di capire che ti interessavano nozioni di base sui PLC, poi invece fai domande specifiche sul PID.
 

Diciamo entrmabe le cose...perchè in teoria devo mettere un paio di capitoli su come funziona il PLC, normativa, linguaggi e SCADA e poi al professore interessa anche come gestire situazioni per mantenere una data temperatura e come gestire se ho due elementi da due serbatoi la cui miscela varia in base alla temperatura come viene scritto dal punto di vista del codice, senza entrare nello specifico degli elementi da miscelare. Per cui pensavo di mettere un capitolo sul PID per quando riguarda il mantenimento di una data grandezza fisica. E qualche sempio di codice per quanto riguarda la gestiione dei due serbatoi (ovviemente sto facendo esempi generici perchè il professore non mi ha detto uno scenario specifico).

Spero di essere stato un po' più chiaro.

Link al commento
Condividi su altri siti

1 ora fa, Livio Orsini scrisse:

 

Il regolatore PID è solo ad anello chiuso!

Non per niente ti ho consigliato di leggere il mio tutorial, o altro equivalente.

 

 

Questo è un classico problema da anello aperto. con percentuale di dosaggio proporzionale alla temperatura. In fin dei conti devi solo moltiplicare la temperatura per una costante che ti da il riferimento di apertura della valvola miscelatrice.

 

 

Nel tutorial sulle regolazioni ci sono esempi di regolatori PID scritti in simil "C" che esemplificano gli algoritmi di regolazione.

Nei PLC esistono funzioni di libreria che realizzano un regolatore PID, è solo necessario chiamare la funzione (opportunamente parametrizzata).

Grazie per la risposta, si devo leggere bene il tuo tutorlia che avevo già visto, ho visto anche come mi dici te che ogni produttore ha una propria funzione di libreria che esegue queste cose a scatola chiusa, ovviamente mettendo i parametri giusti e pensvavo infatti di metterle dentro la tesi.

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