S7 300 访问数据块的问题

由于我电脑暂时装不了STEP 7,尝试不了,故此向各位大侠请教下,求权威解释,不要模棱两可的答案:
1)OPN   DB1
     L     DBW0
     T     DB2.DBW1
    这样表述行不?能实现么?
2)L   DB1.DBW0
     T   DB2.DBW0
    可以吗?或者这样:
    L   DB1.DBW0  //这时应该会打开数据块DB1吧?
    T   DBW2
    这样可以吗?
3) OPN   DB1
    L    DB2.DBW0
    T    DBW4
这个DBW4是哪个数据块里的?这样编写是可以的吗?

问题补充:
我没有指定传送的目的地啊,我就是想知道这些程序能不能执行,是不是S7 300允许的格式?还有就是若用绝对地址访问:如执行L  DB1.DBW0之后,当前打开的数据块是不是DB1?
      我要一个肯定的回答

最佳答案

1、可以这样写的。意思是把DB1.DBW0的值传送给DB2.DBW1。
2、这样两写法都可以的,但最后的目标变量地址不同。第一种是把DB1.DBW0的值传送给DB2.DBW0;而第二种是把DB1.DBW0的值传送给DB1.DBW2。
3、这样写可以,但是打开DB1这步就没有实际意义了。DBW4是DB2数据块里的变量,在执行L    DB2.DBW0时,已经打开了DB2数据块了。
补充:以上的程序在300中都是允许的。执行L  DB1.DBW0之后,当前打开的数据块是DB1。只要操作DB块中的变量,必然会先打开其DB块,当下面的变量不出现DB块号时,都是前面打开的DB块的变量。你的理解是正确的。

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

专家置评

已阅,最佳答案正确。

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

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

相关推荐