Teknisk FAQ

Ställ en fråga

Hur läsa en 64 bitars INT från Acti9 IM3000 och PowerLogic PM3200 energimätare?

Acti9 energimätare har en 64 bitars integer för mätning av Wh (Watt-timmar). I PLC och operatörs stationer kan man normalt inte handtera denna typ av tal.
Nedan ett exempel i Unity, strukturerad text (ST), för att presentera detta värde. Det presenteras då som real (flyttal) i kWh.
Värdena kommer från Modbus läsning av minst 4 register i instrumentet, t.ex. register 3204-3207. Det först ordet av de 4 har det högsta värdet och det sista har det lägsta värdet.

PLC koden:
(* Use register from communication with Acti9 *)
Word_1 := INT_TO_WORD (Acti9_read[3]); (* Lowest value from the read *)
Word_2 := INT_TO_WORD (Acti9_read[2]);
Word_3 := INT_TO_WORD (Acti9_read[1]);
Word_4 := INT_TO_WORD (Acti9_read[0]); (* Highest value from the read *)

(* Udint1 is the low parts 64 bits value *)
(* Udint2 is the high parts 64 bits value *)

Udint_1 := WORD_AS_UDINT (WORD_1, WORD_2);
Udint_2 := WORD_AS_UDINT (WORD_3, WORD_4);

Real_1:=UDINT_TO_REAL(Udint_1);
Real_2:=UDINT_TO_REAL(Udint_2);

(* Energy value from Acti9 in Wh represented as kWh real value *)
Real_kWh:= Real_2 * 4294967.296 + (Real_1 / 1000.0);
 

Var detta till hjälp?
Vad kan vi göra för att förbättra informationen?