发布于 2014-04-24 14:05:31
5楼
对于真实的PLC,正如廖老师所述“下载程序SF灯亮,在线执行PLC菜单中的“诊断/设置”命令,程序错误在CPU的模块信息的诊断缓冲区中。”可以最快地收集与SF相关的所有信息;
对于程序编辑初期和仿真阶段,个人体会,多数情况下造成SF的情况是程序“不畅通”,PLC无法在扫描周期内完成循环,以下非常极端的程序例子中,程序编译没有问题,当下载至模拟器后,SF灯会亮。
FUNCTION FC1 : VOID
VAR_TEMP
Test :BOOL;
END_VAR
Test := True;
WHILE Test DO
M0.0 := True;
END_WHILE;
END_FUNCTION
为了避免下载后出现SF问题,个人体会主要有以下几个方面:
1. 程序编辑阶段,构思和结构化非常重要,人脑就是一部非常好的"PLC",合理的程序结构能有效避免很多不必要的问题;
2. 对于比较复杂的逻辑关系,比如STL中的JL指令,在程序调试时,采取“断点调试”,可以检查循环的各个环节,较快找到程序问题所在,参考:
http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_ID=72699&cid=1029
人的生命似洪水在奔流,不遇着岛屿、暗礁,难以激起美丽的浪花。