在SCL中pointer指针的问题

分享到:
350
下一篇 >

菜鸟:

例如在STL中一段求相邻的变量的和,使用PIONTER指针,我可以求MW0开始的5个变量,也可以求DB1.DBW10开始的5个变量。因为STL中有32位的地址寄存器。但是这样的问题在SCL中怎么解决?

大虾:

那循环语句就可以了

菜鸟:

SCL也可以用变量寻址


FUNCTION FC2 : void


VAR_TEMP

i:  DINT;

END_VAR

mw0 := 0;

FOR i := 0 TO 9 BY 2 DO 

MW0 := INT_TO_WORD(WORD_TO_INT(DB1.DW[i]) + WORD_TO_INT(MW0));

END_FOR;


END_FUNCTION


L     P##IN0

LAR1  

L     W [AR1,P#0.0]

T     #MY_DBNUM

L     D [AR1,P#2.0]

T     #MY_ADDRESS

L     B [AR1,P#2.0]

T     LB    10

L     LB    10

L     B#16#84

==I   

JCN   M000

OPN   DB [#MY_DBNUM]

M000: LAR1  #MY_ADDRESS

L     0

T     #SUM

L     #NUMBER

NEXT: T     LW    12

L     W [AR1,P#0.0]

L     #SUM

+I    

T     #SUM

+AR1  P#2.0

L     LW    12

LOOP  NEXT

这是我的一段求和的FB块,使用PIONTER指针,例如:我可以求MW0开始的5个变量,也可以求DB1.DBW10开始的5个变量的和,因为STL中有32位的地址寄存器。但是这样的问题在SCL中怎么解决?

大虾:

其实我的主要意思就是用SCL怎么做,能达到上面的功能。


你可能感兴趣: 工控菜鸟园 自动化系统 SCL STL
无觅相关文章插件,快速提升流量