HMI Programming: How to read and write 32bit data in script?

HDW, HAW, D are 16 bit registers. Lines like “@W_HDW0 = 0” is accessing the 16 bit address. If 32 bit addresses is required, it’ll use the specified address and the one right after. Floating variables in script would be using 32bit addresses. Integer variables by default use 16 bit addresses.

On the interface, you can set a component to use 32bit addresses:

In script, if you intend to use 32 bit addresses, here’s how you do it:

Dim b1,b2 as integer

‘ to read from 32 bit addresses

b1= @W_HDW12+@W_HDW13<<16

‘ to write to 32 bit addresses

@W_HDW14 = b2
@W_HDW15 = b2>>16

‘ to copy 32bit data, suppose address “HDW114” is used to store a 32bit data (low 16bit is stored at HDW114 and high 16 bit at HDW115)

‘ “=” only does a 16bit copy, for 32bit data, you need to do it twice ( to manually copy the high 16 bit)

32bit data is stored in the assigned address and the address right next to it

@W_HDW14 = @W_HDW114
@W_HDW15 =  @W_HDW115