发布于 2014-04-01 21:06:47
2楼
ob_valve 电磁阀输出 定义在address list中
ib_sensor1 传感器输入 定义在address list中
ib_sensor2 传感器输入 定义在address list中
var_a bool变量 定义在程序中
var_b bool变量 定义在程序中
if ob_valve then
if ib_sensor1 then
var_a :=true;
end_if;
if ib_sensor2 then
var_b:=false;
end_if;
end_if;
if not ob_valve then
if ib_sensor1 then
var_a :=false;
end_if;
if ib_sensor2 then
var_b:=true;
end_if;
end_if;
ob_valve由其他程序控制,var_a var_b 只在这里控制其置位与复位;
情况我再复述一次,机器运行1小时左右的时候,在trace以上程序所有
变量的曲线中出现一次var_b没有被置位的情况;但是ib_sensor2是被触发了的,
触发时长在trace上显示的是3ms,由于我另有报警程序,如果var_b 没有被置位,
且达到一定时间会报警停机,这时候复位重新开机,1小时左右会再次发生var_b
未置位现象;如此反复试过5次,在其中一次还观察到var_b没有被复位,且当时
ib_sensor2的触发时长在trace中显示的也是3ms。而var_a 不存在这种情况,且
其对应的ib_sensor1的触发时长在trace中显示都长于3ms。