菜鸟提问:
请教,如何对S7 1200的背景DB内的连续位进行置位复位操作啊。
我以前用的S7-200,置位复位只需要改下标就行,类似于S7-1200中的置位复位位域操作。
但是为什么S7 1200中的置为复位位域不能对背景DB内的位进行操作呢?比如%DB2.DBX25.1这样的地址就
不行,但是全局变量就可以。有没有什么变通的方法?
大虾:
不知道你用什么语言编程的 LAD?
如果LAD中的指令解决不了,就用SCL来写个FC。
尤其是许多对 “位” 的操作。
菜鸟:还不太会呢,我现在是一个一个置为复位,先应付下,后面来仔细研究,谢谢!
大虾:
实际上,TIA是不推荐使用**地址(300兼容模式)的。*好使用变量名(优化的),由编译器来分配存储空间。
连续位也是可以用:位数组来替代。
FB也是函数,其背景DB中的数据也只能在FB中调用FC、FB处理。
侠客:
是的。同意Z版的意见。(其实,实际上我也喜欢用像楼主那样的“笨办法”,而不是过多的去关注“技巧”)
这种“直观、明示”的程序段,在检查、调试起来也非常方便。