Buongiorno vorrei sapere come un comparatore di valori nel mio caso temperature che differenza c'e' impostando una word rispetto a ident .
La libreria Ident è una costante quindi non la si può impostare da Visual Basic o altro linguaggio o Protocollo
per impostare i valori si può usare un READVAR per valori a 16 Bit (1 Word esp: %MW1000 > DTHP1000)
per impostare i valori si può usare un READVAR32 per valori a 32 Bit (1 Double Word esp: %MW1000 + %MW1001 > DTHP1000 + DTHP1001)
I valori in LadderHome sono sempre espressi come valori interi decimali,
esempio una temperatura può essere letta come 255 che in realtà indica 25.5 °C
quindi se leggo una DTHP1000 con valore 255 la posso dividere direttamente per 10 e ottengo appunto la visualizzazione in virgola mobile 25,5 a video.
Al contrario se devo comparare il valore letto nel ladder 255 con una CMP_W inviando un setpoint da Supervisione o altro dovrò comunque inviare un valore intero, in questo caso puoi fare in vari modi tra cui visualizzare il valore in virgola mobile
e poi togliere la virgola quando lo invii con le DTHP al HomePLC.
Stando attento all'errore potenziale del 25 gradi dato che se leggi 25, 0 gradi il programma lo indica come 25 e questo valore
non può essere poi inviato con due caratteri, serve quindi una formattazione che preveda in ogni caso 3 caratteri per valori > 9 e 2 caratteri per valori < 10.
Se si invia 25 la comparazione verrà eseguita su 2,5 Gradi causando un errore potenziale.