Vai al contenuto
PLC Forum


Problema Con Assistente Pid


Messaggi consigliati

Inserito:

salve a tutti

dopo aver lungamente sbattuto per costruirmi un algoritmo pid mi sono accorto della presenza di un assistente per la compilazione.

premetto che uso S7-200 CPU 216, step7 versione 2.12 (1998................un pò vecchiotta lo so!!!!).

Il problema arriva quando vado a immettere la variabile di processo (di default AIW0), che nel mio processo è la lettura di un contatore veloce HC1 trsferita in VD238......(si tratta della misura di un encoder incrementale 0->5v).

Sia mai che l'assistente PID in questione accetti solo ingressi analogici?????

Nel caso accettasse solo informazioni analogiche, c'è un modo per covertire la lettura del contatore.......in modo da non infastidire troppo l'assistente PID?

vi ringrazio tutti anticipatamente

ciao. :D


Inserita: (modificato)

A parte la vetustà del compilatore, ora siamo alla MW4 con SP3, il PID integrato è adatto più a processi lenti come i termoregolatori. Non ne sono sicuro ma credo che il PID non faccia differenze sul tipo di variabile in ingresso; essendo esso stupido :) legge una word senza riconoscere se è il risultato di una conversione A/D o di una lettura di HSC.

PS farsi un PID, richiamato dal timer di sistema, non è un'impresa tremenda, ancora anni fa con MW2.x e CPU 224 facevo posizionamenti con PID richiamato a 10ms

Modificato: da Livio Orsini
Gabriele Corrieri
Inserita: (modificato)

Ciao

ovviamente se dai in pasto una VD (32bit) dove si richiede una VW (16bit) è molto facile che non ti venga accettata :lol:

Ciao

Modificato: da Gabriele Corrieri
Inserita:

grazie Gabriele.......in effetti non è molto contento dell'in che gli dò.

c'è un modo di convertire vd in vw tenendo presente che la versione di step7 è vecchissima (2.12).

se non sbaglio le versioni più recenti utilizzano di_i ma questa?

grazie

Inserita:

Converite una word in una double word è semplice, il viceversa è....impossibile. Devi risolvere il problema in modo surrettizio. Se vuoi usare il contatore come ingresso al PID devi fare in modo che il conteggio non superi mai la lunghezza della word (65535) e poi dare in pasto al PID solo la parte bassa del contatore. Ci sono diverese tecniche per fare questo, dipende dall'applicazione.

Io insito nel consiglio: fatti un tuoi PID, che lavori in real, così eviterai un sacco di guai.

Gabriele Corrieri
Inserita:

Ciao

c'è da dire che la soluzione di Livio, che seppure non è semplice, è quella che propone MicroWin fin dalla release 3, con i numeri reali.

Anche se il tuo setpoint non è un numero reale, ma un doppio intero, ti farebbe comodo un PID a 32 bit ... :)

Soluzioni di stringere un DINT in un INT sono tutte molto poco utili, ti perdi 16 bit, a meno che la tua regolazione sia "resizable" a 16 bit, nel senso, sgangi il PID, poi l'asse in posizione, circa, agganci il PID e gli comunichi che quello è lo zero, e da lì lui mantiene, però attenzione che se esci dai 16 bit succede un po' di casotto, nulla di impossibile, comunque visto tutto, o è una cosa qusi hobbystica, e allora puoi tribolare per la soluzione, altrimenti l'ultima release di MicroWin in poco tempo ti risolve quel problema e tanti altri.

Ciao

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