DB3.DBD0和DB3.DBW12分别对应DB3数据块的哪里啊?

程序里提到的DB3.DBD0和DB3.DBW12对应DB3的什么地址啊?
刚开始接触DB块,所以希望能从基础的知识学习,请前辈没给我点学习资料,谢谢了

图片说明:

DB3.DBD0和DB3.DBW12分别对应DB3数据块的哪里啊?    DB3.DBD0和DB3.DBW12分别对应DB3数据块的哪里啊?   

最佳答案

这个是西门子的一个基础知识,必须搞明白的。
首先你在DB3(数据块3)中定义的都是“字“(word)为单位的变量(在类型选项中选择)。字定义单位相当于16个位;同样2个字就组成一个双字(一个双字相当于32个位)。然后你又在标号”程序的代码“中调用了该数据的传送指令,具体的意思是将ID0(即从I0.0~I3.7)的地址状态分别写入数据块3的(stat0和stat1)地址中,同样的方法将ID4(即从I4.0~I7.7)的地址状态分别写入数据块3 的(stat2和stat3)地址中,以此类推,只是在执行第4次传送是传送以字为单位的操作,ID12(即从I12.0~I13.7)的地址状态分别写入数据块3的(stat6)地址中。
这样的操作相当于做了一下变址的操作,就是让I0.0=DB3.DBX0.0;I0.1=DB3.DBX0.1。。。。。。直到I13.7=DB3.DBX13.7,或者程序中需要统计各个位操作的数量。
西门子数据块的使用必须先定义后使用。

提问者对于答案的评价:

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc213136.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年11月16日
下一篇 2017年11月16日

相关推荐