吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7833|回复: 4
收起左侧

[调试逆向] STEP7程序调试手段分析

[复制链接]
Ruin 发表于 2012-6-7 17:21
STEP7的PLC程序符合IEC-61131标准,该标准支持5种编成语言STL/FBD/LAD,另外SFC/SCL是选件.但大部分调试手段却是通用的.
  
(1) Variable Table

  根据我的调查显示,Variable Table (变量监视表)是最常用的,功能也很强,能监视又能强制修改,编辑好后可以长期保存,看看STEP7自带的的例子就知道了,都提供了变量表.因为太常用,我就不多说了,嘿嘿...
  作用 : 变量监视/强制修改 调用方法 : 主菜单 > Insert > 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的激活方法太简单--有工具条,就不说了,呵.
  
  总之,虽然软件的版本在不断的升级,但是调试基本的思想是不变的,希望上述内容对各位有点帮助.

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

炽焰天使 发表于 2012-6-7 17:22
支持楼主继续出新,感谢大牛{:1_931:}
wanpl2006 发表于 2012-11-30 15:47
吾爱丶DoDo 发表于 2012-12-1 16:41
醉龙王 发表于 2013-1-4 09:18
支持楼主继续出新,感谢大牛
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-22 00:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表