DB块中数据类型定义问题

建立DB块的时候,定义DB块中的数据类型时,有点糊涂了,比如DB1.DBX0.0、DB1.DBX0.1、DB1.DBX0.2、DB1.DBX0.3…….或DB1.DBB0、DB1.DBB1、DB1.DBB2、DB1.DBB3…….或DB1.DBW0、DB1.DBW2、DB1.DBW4…….或DB1.DBD0、DB1.DBD4、DB1.DBD6…….这样定义DB块中的数据,以上几种方式有什么区别呢?比如我想用DB1.DBX0.0这个变量,以上5中定义方式有区别吗,

最佳答案

首先明确的是无论你如何定义DB里的变量,DB区域内的地址都是可以被访问的。
然后你给的4种方式定义的是DB里变量的长度,无论长度如何指定,在用DB1.DBX0.0这个变量时没有任何区别。
即使你以双字指定了长度,你在程序中任然可以访问其所包含的任意的“位”、“字节”、“字”。
只要注意地址覆盖的问题,即DBD0=DBW0+DBW2=DBB0+DBB1+DBB2+DBB3=DBX0.0+DBX0.1+…+DBX3.7
如果你使用了DBX0.0,那么DBD0、DBW0和DBB0就都不要用了,应为他们都包含了DBX0.0

另外提一句,指定的数据类型不同,会影响变量的使用。
同样是双字DBD0如果定义为DINT,但在程序中如果要使用REAL型变量,那么你填DBD0就会报错。

提问者对于答案的评价:
谢谢

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

(2)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月2日
下一篇 2018年12月2日

相关推荐