欢迎来到西门子工业支持中心网站!
欢迎来到西门子工业支持中心网站!
悬赏:5分 | 解决时间:2011-11-08 17:57
产品版区:
SIMATIC S7-300(F)/S7-400(F/H/FH)
opm_cn
初学STL,有以下两个问题请教:
1、 比较两个MW值,由LAD转换过来是
A M 100.0
= L 0.0
A L 0.0
A(
L MW 0
L MW 2
<=I
)
= M 100.1
A L 0.0
A(
L MW 0
L MW 2
>I
)
= M 100.2
问题:如果用LAD,前面必须有个常开触点,如果没有,则不能输出两个,如此时的M100.0。如果用STL是否就可以不用这个触点。
这个比较是两个MW比较,这个LAD转换成的STL有中间变量L0.0。可以不用这个临时变量吗。
2、两个MW比较后延时到后输出一个位
用LAD写好的程序用两个NET(网络)组成。如下所示
NETWORK1:
L MW 0
L MW 1
<=I
L S5T#3M
SD T 1
NETWORK2
A T 1
= M 400.1
问题:如果直接用STL写,是否可以放在一个网络里。该怎么写。
新手问题,请多多包涵。
问题补充:
补充第二个问题,算是第三个吧
如果两个网络没有任何关系
就是两个赋值语句
NETWORK1:
A M 0.0
= M 0.1
NETWORK2:
A M 0.3
= M 0.4
能不能把这个两写在一起
A M 0.0
= M 0.1
A M 0.3
= M 0.4
如果能写在一起,在=M0.1后,如果这时候第一条不成立,此时的ROL=0的话,后面的还会执行吗
小程序:
最佳答案
回答者:
阿鸣
回答时间:2011-11-08 17:42
提问者对于答案的评价:
谢谢阿鸣
那第一个可以这样写?
L MW 0
L MW 2
<=I
= M 100.1
L MW 0
L MW 2
= M 100.2
还用简单的写法吗,比如高级语言的if...else....
那个前面的常开触点不是逻辑需要,是在LAD中如果前面没有那个点,就不能写下去,当添加第二个线圈=M100.2的时候,图标是灰色的,不能点。