[转帖]STEP7程序调试手段分析-转贴

[复制链接]
查看1782 | 回复5 | 2007-4-28 16:22:00 | 显示全部楼层 |阅读模式

STEP7的PLC程序符合IEC-61131标准,该标准支持5种编成语言STL/FBD/LAD,另外SFC/SCL是选件.但大部分调试手段却是通用的.
  
  (1) Variable Table
  根据我的调查显示,Variable Table (变量监视表)是最常用的,功能也很强,能监视又能强制修改,编辑好后可以长期保存,看看STEP7自带的的例子就知道了,都提供了变量表.因为太常用,我就不多说了,嘿嘿...
  作用 : 变量监视/强制修改 调用方法 : 主菜单 > in se*rt > s7 Block > Variable Table
  
  (2) CPU Message/Diagnostic Buffer
  这两者的作用差不多,都是从PLC中的Diagnostic Buffer(诊断缓冲区)中提取诊断信息.区别在于前者象一个日志而后者直接显示了PLC诊断缓冲区中的内容. 如果你的程序已经下载到了PLC中,但一开机就SF(system failure)红色LED灯就亮了,或是程序一开始运行良好,也不知道什么时候就down机了(噢,太可怕了).先别急,看看Diagnostic Buffer中的信息吧,她会告诉你什么时候,哪个Block出了什么错误,比如某个FB块忘了下载了(汗) 当然,更深入的分析需要用其他手段跟踪
  调试了.
  作用 : 错误诊断/定位
  调用方法 : 主菜单 > PLC >CPU Message...
   主菜单 > PLC >Diagnostic/Setting >Module Information > Diagnostic Buffer
  
  (3) Reference Data
  根据你编写好的程序,STEP7程序会通过统计分析得出一堆数据,于是我们可以通过相应的视图分析:变量的使用状况,程序结构,内存占用情况,没用到的symbol和程序中只有绝对地址没有symbol名的M点.偶认为一个比较大的程序写完之后,应该调用reference Data审视一番,做到心中有数,这是一个好的习惯.另外,cross reference可以对变量跟踪定位,在引用表上双击变量名,程序就显示相应的位置. 有些Bug也可以从Reference Data 表格中嗅出来。总之,善于利用此类统计信息对程序分析大有好处.
  作用 : 静态统计分析
  调用方法 : 主菜单 > Options >Reference Data...
  
  (4) STL单步调试/PLCSIM (仿真器)single scan(单循环)调试
  这两种手段本来没多大联系,但它们都属于细粒度的动态调试方法,因此就列在一块儿了,它们用于对付比较坚硬的BUG,还有就是对分析别人的STL程序有点儿用.
  作用 : 细粒度动态跟踪调试
  调用方法 : STL设断点的条件比较严格:
   1.在 LAD/STL/FBD编辑器菜单中选择Debug>Operation>test operating
   2.LAD/STL/FBD编辑器处于ONLINE状态
   3.视图必须切换至STL语言
   仿真器single scan的激活方法太简单--有工具条,就不说了,呵.
  
  总之,虽然软件的版本在不断的升级,但是调试基本的思想是不变的,希望上述内容对各位有点帮助.

WindDragon | 2007-4-28 20:57:00 | 显示全部楼层

呵呵,谢谢分享,真在学习西门子的PLC

ye_w | 2007-4-28 22:56:00 | 显示全部楼层
一个好的程序必须使用有效的调试手段才能得到保证
tuhan | 2007-6-15 02:44:00 | 显示全部楼层
ye_w 高手来的
niiiko | 2007-8-6 23:55:00 | 显示全部楼层
感谢分享经验!谢谢啊!
vipvip | 2007-8-9 09:40:00 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则