Vai al contenuto
PLC Forum


Readvar E Assign Ladderhome - Piccolo chiarimento.


Messaggi consigliati

Inserito:

Buongiorno a tutti.

Avrei bisogno un piccolo chiarimento circa readvar e assign.

Per generare il valore di set point da confrontare direttamente dal pannello di super-visione per il comparatore CMP_W nel Ladderhome devo utilizzare Assign o Readvar?

A me verrebbe da dire Assign poichè il valore non è presente nel Hplc... ma forse sbaglio interpretazione.

Altra domanda è: Se il pannello touch collegato in modbus si spegne nel Hplc rimane scritta l'ultima word di riferimento prima dello spegnimento o la perdo completamente?

Grazie per le eventuali risposte e per la pazienza. :)


Inserita:
Per generare il valore di set point da confrontare direttamente dal pannello di super-visione per il comparatore CMP_W nel Ladderhome devo utilizzare Assign o Readvar?

Readvar legge le variabili nella memoria (in specifico negli 8000 registri dell'HomePLC)

mentre ASSIG i dati li assegna/memorizza sempre nei registri...

quindi se usi un registro per gestire un setpoint devi usare l'area da 2000 a 2700 tramite una READVAR

A me verrebbe da dire Assign poichè il valore non è presente nel Hplc... ma forse sbaglio interpretazione.

Infatti tu depositi il tuo dato per esempio nel registro IEC %MW2000 tramite un Touch remoto...

la READVAR lo legge nel programma e lo passa all'ingresso IN2 del comparatore CMP_W

questo lo compara col valore presente sull'ingresso IN1 secondo la modalità impostata sull'ingresso QLF (IN1 = IN2 oppure IN1 > IN2 ecc..)

Altra domanda è: Se il pannello touch collegato in modbus si spegne nel Hplc rimane scritta l'ultima word di riferimento prima dello spegnimento o la perdo completamente?

usando i 700 registri in area %MW2000-%MW2700 che sono specifici per questo tipo di uso

perchè "i dati sono ritentivi" ovvero non si cancellano se spegni l'HomePLC...

dato che il setpoint è un dato che non va perso devi usare i registri ritentivi....

se tu usassi i registri da 1000 a 1999 (sempre area utente) al momento che togli tensione i dati verrebbero cancellati....

in quetso caso di dice che i dati "non sono ritentivi"

Inserita:

Ciao Aleandro,

Infatti tu depositi il tuo dato per esempio nel registro IEC %MW2000 tramite un Touch remoto...

la READVAR lo legge nel programma e lo passa all'ingresso IN2 del comparatore CMP_W

Quindi se ho capito bene nel programma ladder devo inserire, oltre al READVAR collegato al CMP_W, anche un ASSIGN dove il touch andrà a depositare il valore?

O non serve e lo scrive direttamente nel PLC?

usando i 700 registri in area %MW2000-%MW2700 che sono specifici per questo tipo di uso

perchè "i dati sono ritentivi" ovvero non si cancellano se spegni l'HomePLC...

Scusa Ale ma ho formulato male la domanda. :unsure:

Mi riferivo allo spegnimento del touch o alla eventuale perdita di comunicazione....

Grazie delle risposte... :thumb_yello:

Inserita:
Quindi se ho capito bene nel programma ladder devo inserire, oltre al READVAR collegato al CMP_W, anche un ASSIGN dove il touch andrà a depositare il valore?

O non serve e lo scrive direttamente nel PLC

mira il dito... :lol:

tu scrivi da Touch nella %MW2000

il dato è stabile perchè lo hai scritto in "area ritentiva"

da qui il Touch non centra più nulla!!... lo puoi anche spegnere!

poi nel programma Ladder (se usi l'HomePLC in IEC) tramite una READVAR leggi il dato e questa lo passa all'ingresso al Comparatore .....

STOP fine ciclo non ti serve altro!

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Quando accendi di nuovo l'HomePLC si riavvia il programma...

il dato è sempre presente nella %MW2000 la READVAR lo legge e lo passa al comparatore...

anche se si fosse un HomePLC.Linux non cambia nulla... il dato si legge dal registro MW2000 depositandolo poi

in una variabile e poi si esegue tutte le comparazioni che si vuole chiaramente in altri linguaggi... ;)

Inserita:

Ok grazie.

Ho fatto il test anche con le sonde termiche.

Sai se esiste un modo per mandare via il valore in decimali?

20,4 anziché 204.

Ho provato a trasformare il valore anche nella Tag del touch ma leggo sempre solo i gradi e non i decimi.

Grazie

Inserita:
Sai se esiste un modo per mandare via il valore in decimali?

20,4 anziché 204.

Ho provato a trasformare il valore anche nella Tag del touch ma leggo sempre solo i gradi e non i decimi.

dovresti fare nell'homeplc una divisione per 10 ( 204 / 10 = 20 ( il.4 viene perso) ), oppure farlo fare direttamente nel pannello touch!

Inserita:
Sai se esiste un modo per mandare via il valore in decimali?

20,4 anziché 204.

in questo esempio tu lo crei il valore decimale non lo elimini?... :blink:

il valore viene trattato come un intero dove l'ultima cifra è il valore decimale senza virgola...

dovreti getsire il decimale dal lato HMI oppure come ti diceva Mbsk... sempre se è quello che vuoi tu... :)

Inserita:

questa sera provo di nuovo perchè anche dividendo lato HMI perdo il volore decimale dopo la virgola. :wallbash:

Inserita:
questa sera provo di nuovo perchè anche dividendo lato HMI perdo il volore decimale dopo la virgola

scusa prova anche da altri software... il dato che esce è sempre uguale magari ti è di aiuto per fare delle verifiche... ;)

Inserita:

Tombola!!! :D

Sbagliavo (lato HMI) nel dividere il valore prima di assegnarlo alla Tag mentre andava diviso sul FIELD VALUE che legge la Tag.

Inserita:
cosa si vince!!...

Purtroppo nulla... si passa solo al problema successivo :lol:

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