quote:以下是引用yanxiao在2008-02-28 20:05:48的发言:
1、关于这一句“S变量位没有置一的程序段是根本不会扫描到的”再商榷。
我曾研究过S=0时指令有没被扫到这个问题,大要在1年前有个关于有条件执行指令的贴中也贴过具体的例子,那个贴子的结论是:S=0时指令一样被扫描,只是大多数的指令执行条件不成立而不执行。
我现在临时想一个例子,可以下到PLC中去验证:
network 1
ld sm0.0
r S0.0,1
s Q0.0,1
network 2
lscr S0.0
network 3
ldn sm0.0
= q0.0
network 4
scre
我预测一下结果,那个Q0.0置不了1,因为在S0.1的体内被清零了!
有兴趣的朋友可以下载下去试。
2、程序不被扫到我认为有两种情况:1)子程序不调用时里面的指令不会扫到,因此是整个跳过而不费时间;2)被JMP指令跳过的指令也不被扫描。
我试过了,确实如yanxiao大侠所说:那个Q0.0置不了1。
但是我在
ldn sm0.0
= q0.0之后加了一句
ld sm0.0
=q0.1 结果这个q0.1,也不能置位。
因此不能证明S没置位,也会扫描该程序段。这只可能证明对于“线圈”操作是独立完成的。也说明使用“线圈”要注意。