如何在s7-300程序中快速找到未使用的DB快?

背景:西门子数控系统840DSL,维护时发现NCU的SF灯亮,监控PLC诊断缓冲区提示:写入\读取时发生区域长度错误,如图1、2,一般这个错误都是程序中调用的DB快没有下载,我想在PLC程序中找到是哪里调用了这个DB快,可是在交叉参考中就是找不到,程序中用指针指向对应DB快,交叉参考也是能显示的,那么我这个程序中的DB快如何找到?

图片说明:

如何在s7-300程序中快速找到未使用的DB快?    如何在s7-300程序中快速找到未使用的DB快?    如何在s7-300程序中快速找到未使用的DB快?    如何在s7-300程序中快速找到未使用的DB快?   

最佳答案

如果只是用到指针的话就找不到,或者指针寻址的话,确实这种方法找不到;用语句表写间接寻址,可以做到不直接写DBxx.DBWxx这类的格式;如果是用到通讯方式的地址的话,可以考虑交叉索引找找如SFC14,SFC15这类的块,然后慢慢找到他们;

提问者对于答案的评价:
按照最佳答案的办法试了下,由于DB太多确实不好找,但是给我提供了更多的思路,后来按照http://www.ad.siemens.com.cn/service/answer/solved_109536_1029.html  这个问答ZhangLi0的办法试了下,确实找到了问题点,诊断信息在OB121存在的情况下,确实不能显示故障点位置,我删除OB121后就找到大致位置,然后所搜63就找到了。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc350371.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午12:25
下一篇 2021年7月5日 上午12:25

相关推荐

发表回复

登录后才能评论