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;  

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注