机构:注册 登录| 学员:注册 登录 | 讲师:注册 登录
| 网站导航 | 加入收藏
010-63866300
18999183549
开课地点:
当前位置:主页 > 教学答疑 > PLC教学答疑 >

西门子 412-2Pn编程后报错

 问:西门子 412-2Pn,带 ET200SP,CMPTP 模块,编程后报错

 

答:从诊断缓冲区故障描述可以看到该故障是由循环中断OB34触发,打开项目交叉索引查看程序结构如图2,OB34和OB35中都调用了FC1,而FC1需要使用512字节的本地数据区,这些本地数据区由调用OB动态分配。项目中OB34和OB35所需使用的最大本地数据为534字节。

 
在硬件组态中查看CPU属性内存页面(图3),可以看到CPU为各优先级预分配的本地数据区大小。
 
 
查看CPU属性循环中断页面(图4)中可查到OB34优先级为11,OB35优先级为12,所以OB35本地数据区大小默认为758字节,OB34本地数据区大小默认为256字节。由此可得知故障原因是由于CPU为OB34预分配的本地数据区太小(256<534)。
 
 
 
解决方法
方法一:将FC1在本地数据区足够大的OB中调用,例如OB33优先级10,本地数据默认758字节。
方法二:将优先级11的本地数据区增大。CPU的本地数据最大值根据CPU型号不同而不同,具体参考《SIMATIC S7-400 S7-400自动化系统,CPU规格》
 
相关问答