发布于 2013-05-18 13:20:56
15楼
将比较指令放在限幅之后,自锁之前,再试的话,确实不会出现自锁了。
但是实际上这是一个很长的程序,模拟量输入有一个子程序,判断一个子程序,还有几号机组程序,我是将所有的环节剪切到主程序里面来说明这个问题的。问题是,在有很多子程序的情况下,无法保证限幅在前,判断比较在后,自锁最后。这样该如何处理?
实际上,我认为这一错误的产生是PLC自身的问题,为何使用编程软件的首次扫描后,再监控运行就没有故障了?
为什么重启之后就没有故障了?
为什么仅仅是下载程序的第一次有问题?
TITLE=报警自锁
Network 1
// 初始化,清空存储区
LD SM0.1
R Q0.0, 16
R V180.0, 16
Network 2
// 报警限幅,让VW288永远大于VW268,永远不报警。
LD SM0.0
LPS
AW< VW288, 32760
MOVW 32760, VW288
LPP
AW>= VW288, 32760
MOVW VW288, VW288
Network 3
// 1号模拟量输入限幅,报警来源模拟量通道,加模拟量输入限幅,限制在32000以下。
LD SM0.0
LPS
AW>= AIW0, 32000
MOVW 32000, VW268
LRD
AW<= AIW0, 6400
MOVW 6400, VW268
LPP
AW> AIW0, 6400
AW< AIW0, 32000
MOVW AIW0, VW268
Network 4
// 输入报警条件
LD I0.3
OW>= VW268, VW288
= V181.5
Network 5 // 网络标题
// 报警自锁,若自锁则Q0.0得电。
LD V181.5
O V181.6
AN I0.6
= V181.6
= Q0.0
庄生晓梦迷蝴蝶,望帝春心托杜鹃。