找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
你这个是编程错误导致CPU调用编程错误组织块OB121 最终导致系统错误SF亮红灯。
通过诊断缓冲区可以看出你的全局数据块DB使用出现了问题。你在程序中使用了没有定义的数据块变量。假设数据块为DB1,你定义最大变量为DB1.DBW10,如果你在程序中使用了DB1.DBW20就会出错,就会出现你这种情况。全局数据块要先生成后定义变量,然后下载到PLC中才可以使用。
解决办法
出现上面两种编程使用错误地址导致CPU停机的情况时,除了可以根据诊断信息分析出错误地址然后使用交叉索引找到相应的语句外,还有一个更加简便的办法。打开CPU诊断缓冲区,鼠标点中第一条诊断信息,接着再点击下面的“Open Block”按钮,会直接打开相应的错误语句。下面举例说明。图3中的诊断信息显示编程错误导致的停止,错误的原因是区域长度错误。点中“Open Block”按钮,自动定位到程序中的错误语句(图4),里面使用到地址DB1.DBW2。打开DB1发现实际长度只有2个字节(图5),不存在DBW2这个地址,所以才产生错误。造成IO访问错误的语句也可以通过此方法查找。
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!