由于我电脑暂时装不了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