编程有错误,CPU亮红灯,由于下载了OB121所以CPU没有STOP,机器可以正常运行,但是客户要求必须消去CPU上的红灯
缓冲区诊断信息如下:
DiagnosticbufferofmoduleCPU315-2PN/DP
OrderNo./DescriptionComponentVersion
6ES7315-2EH14-0AB0Hardware6
–––FirmwareV3.2.10
BootLoaderFirmwareexpansionA37.11.12
Rack:0
Slot:2
Serialnumber:SC-EOW551452014
Event1of10:EventID16#2522
Arealengtherrorwhenreading
InstanCEDB,wordaccess,Accessaddress:750
RequestedOB:ProgrammingerrorOB(OB121)
PriorityclASs:1
Internalerror,Incomingevent
02:18:09.412PM06/29/2015
(Coding:16#25220179002502EE00000000)
如果把OB121从CPU里删掉,CPU会STOP,此时点击缓冲区诊断中的“openblock”,会直接打开程序块FC72,(FC72符号名:G7_STD_3注解:S7GRAPHV5.1STDFC72,FC72是使用GRAPH编程后,系统自动添加的程序块,带锁的,打开后里面什么都没有),按照经验,这是程序里使用了错误的地址,比如此地址不存在DB块中。我找了好久都没找到到底是哪个地址用错了。
谁能高速无如何查找这个错误?
图片说明:
最佳答案
有可能是你所调用的DB块中没有创建750这个地址,所以打开调用的DB块,拉取地址直到有750这个地址。
提问者对于答案的评价:
还是没找到问题的具体地址,但是通过你们的回答学到了新知识。谢谢!
专家置评
程序访问了不存在的地址,检查程序访问了数据块的DBW750地址,而DB块中这个地址不存在。