Codesys或TwinCAT采用指针获取输入输出M存储区或其它连续存储区变量给数组赋值

VAR

a0 AT%M*:REAL:=0.0;

a1 AT%M*:REAL:=0.1;

a2 AT%M*:REAL:=0.2;

a3 AT%M*:REAL:=0.3;

a4 AT%M*:REAL:=0.4;

i:int:=0;

ar:array[0..4] of real;

b:bool;

pr:pointer to real;

r_trig1:R_TRIG;

END_VAR

r_trig1(clk:=b);

if r_trig1.q  then

b:=0;

for i:=0 to 4 do

pr:=adr(a0)+sizeof(a0)*i;

ar[i]:=pr^;

end_for

end_if;