编写程序后,红灯SF灯亮,监控时为“读取时发生区域长度错误”。大概是什么原因,检查了下数据块,有一个块里面有多种类型的数据,但当时未定义复杂数据块。不知道是不是这个原因。
复杂数据块是怎么定义的。数据类型有实数、整形、双整形等数据类型,怎么在数据块定义。数据长度是怎么定义的,有一个基本数据类型real,字节到100就不显示100了,而显示0,问这是什么原因,而在程序中写DB9.DBD100显示又是正常的。
这个和红灯SF灯亮有没有关系。
最佳答案
红灯SF灯亮,监控时为“读取时发生区域长度错误”。大概是什么原因?
简单地讲就是超出了所读取区域定义的长度,例如数据块地址超出了65535的范围。
1、应用STEP7的硬件诊断功能进行在线诊断,除了“读取时发生区域长度错误”,系统会给出详细的诊断信息,这样可以准确定位问题的所在。
2、参考这个问题的答案:
http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_ID=76345&cid=1029
3、复杂数据块是怎么定义的。数据类型有实数、整形、双整形等数据类型,怎么在数据块定义?
建议要熟悉一下数据类型,这是一个基础,详见:
、见《S7-300的数据类型》连接:
http://blog.gkong.com/more.asp?name=zhyo720211&id=2005
、《Step 7 Elementary Data Types》:
http://www.plcdev.com/step_7_elementary_data_types
提问者对于答案的评价:
还没来得及解决,但道理是有的
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc254486.html