如何对S7-1200 背景DB内的连续位进行置为复位?

分享到:
459
下一篇 >

菜鸟提问:

请教,如何对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版的意见。(其实,实际上我也喜欢用像楼主那样的“笨办法”,而不是过多的去关注“技巧”)

这种“直观、明示”的程序段,在检查、调试起来也非常方便。


你可能感兴趣: 工控菜鸟园 自动化系统 SIMATIC S7-1200 S7-1200 SCL
无觅相关文章插件,快速提升流量