(一) FB1块的调用
CALL FB1, DB1
CSW := P#DB10.DBX24.0 // CSW: FB1接口的 IN_OUT参数
INFO:=DB10.DBD36 // INFO: FB1接口的 IN_OUT参数
PAR :=P#DB10.DBX20.0 BYTE 14 // PAR: FB1接口的 IN_OUT参数
(二)被调用FB1块中的程序
NOP 0
LAR1 P##CSW //CSW := P#DB10.DBX24.0
L W [AR1,P#0.0]
T #_DB
L D [AR1,P#2.0]
L DW#16#FFFFFF
AD
T #_OFFSET
OPN DB [#_DB]
L P#DBX 0.0
OD
LAR1
L W [AR1,P#0.0]
T LW 0
后面为程序难点,请高手赐教 TAR2 //这句指令什么意思呢?是不是将上面的数据 LW 0
//传到ACCU1,然后通过下一句指令将其传入 _AR2?
T #_AR2 //_AR2为Dword 类型temp
LAR1 P##PAR //
LAR2 P##P_SRC //P_SRC为Any 类型temp
L D [AR1,P#0.0] //
T LD [AR2,P#0.0] //这里的AR2是从哪里得到的?
L D [AR1,P#4.0]
T LD [AR2,P#4.0]
L W [AR1,P#8.0]
T LW [AR2,P#8.0]
L W [AR1,P#2.0]
T #_LEN
LAR1 P##P_DST //P_DST为Any 类型temp
L W#16#10 //
T LW [AR1,P#0.0]
L #_LEN //
T LW [AR1,P#2.0]
L DINO //
T LW [AR1,P#4.0]
L P##RESERVED_PAR //RESERVED_PAR 为STAT 中的INT类型
L P#2.0
+D
T LD [AR1,P#6.0]
CALL SFC20 //这句是将自己TEMP传到自己的TEMP吗?
SRCBLK :=#P_SRC //但是他们的地址是紧接着,为什么呢?如最后面的图1
RET_VAL:=#_RET_VAL
DSTBLK :=#P_DST
L #_AR2
LAR2 //这句是将_AR2存到AR2 吗?但是为什么放到最后给,前面不是用到AR2吗?

高手帮忙看下,谢谢了。