回复:编程阶段 如何快速找出错误程序的位置呢?

老学童

  • 帖子

    765
  • 精华

    32
  • 被关注

    65

论坛等级:奇侠

注册时间:2011-06-22

钻石 钻石 如何晋级?

发布于 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
人的生命似洪水在奔流,不遇着岛屿、暗礁,难以激起美丽的浪花。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54650条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。