我编写了一段程序,下载到PLC后,CPU报SF。PLC硬件:电源PS 307 5A ;CPU:315-2DP;ASI主站:CP343-2 ;数字量输出模块:DO32XDC24V 外围硬件:ASI电源;ASI模拟量从站模块3RK1207-1BQ40-0AA3;模拟量电流传感器(图尔克)。编写程序后下载到PLC,CPU停机报SF。在程序中加OB121并编写 #OB121_BLK_TYPE和 #OB121_SW_FLT。重新下载CPU不再停机但任然SF,在varibale中发现#OB121_SW_FLT出错代码B#16#22:读取时区域长度出错。附件添加我编写的压缩程序,请教高手指正!
问题补充:
感谢各位的解答,我找到了原因,由于DB设置长度太小导致。现已修改DB,重新下载,CPU不再报SF,程序运行正常。但varible tab在线时,仍然发现MB3还是B#16#22,不知为甚末?OB121中内容:
L #OB121_BLK_TYPE
T MB 1
L #OB121_SW_FLT
T MB 3
最佳答案
1、读取时区域长度出错?
可能的原因:
、程序中所引用的地址与硬件组态中所设定的地址、或与实际的硬件地址不一致。检查相关的地址设定。
、程序中引用了未定义或不存在的地址,例如程序中引用了数据块DB的位、字节、字及双字等地址,但该数据块DB没有事先下载到CPU中,或其长度设置过小。
2、下载PLC后CPU报SF?
CPU报SF(系统故障)原因涉及面交广,硬件与软件故障均使SF点亮。此时,需要应用STEP7中的硬件诊断功能进行在线诊断,解读系统给出的诊断信息可以正确定位问题的所在。
应用STEP7中的硬件诊断功能进行在线诊断,系统会给出诊断信息。
硬件诊断(Hardware Diagnostics)
硬件诊断功能用于显示PLC系统中各组成硬件的工作状态信息。通过STEP7的硬件诊断功能,可以进行如下信息的显示:
①模块的基本信息与状态信息,如名称、订货号、版本,模块的出错信息等;
②主机以及DP从站的模块状态信息;
③来自PLC系统缓冲存储器的其他信息。
对于CPU模块,还可以增加以下信息的显示:
①用户程序出错显示;
②PLC程序喜欢周期显示,包括最大循环时间、最短循环时间、最近一次扫描的循环时间等;
③MPI通信状态信息:
提问者对于答案的评价:
感谢帮助,是DB长度问题,已解决!
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc239864.html