关于step 7软件中FB块赋值

程序中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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 上午3:24
下一篇 2018年12月1日 上午3:24

相关推荐