程序中FB块用stl语言写的
A DIX 0.0
= DIX 3.0
A DIX 0.1
= DIX 3.1
上面这几句是什么意思,那些情况下会用到。
最佳答案
FB程序在执行,需要用到2个CPIU中的寄存器AR2,和DB2 register
在调用FB时,CPU的操作系统会自动打开FB的背景数据块( OPN DIx),并且对AR2 赋初值
A DIX 0.0
= DIX 3.0
A DIX 0.1
= DIX 3.1
你上面的语句就是 对背景DB块 DBx.DBX0.0等进行=的操作
如果 这样调用 CALL FBx,DB10
那么你里面语句相当于
A DB10.DBX0.0
=DB10.DBX3.0
A DB10.DBX0.1
=DB10.DBX3.1
如果 这样调用 CALL FBx,DB11
A DB11.DBX0.0
=DB11.DBX3.0
A DB11.DBX0.1
=DB11.DBX3.1
在FB内部这样对FB内第一的数据进行引用一般有2个原因,
第一,为了方便间接寻址
第二,FB内定义的BYTE0 和BYTE3开始的数据不是个BOOL型
比如你的FB内 BYTE0 开始的是WORD 类型的变量A,那么要对A的 某一位进行引用时,会通过DIX x.y来进行
提问者对于答案的评价:
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc228704.html