回复:程序错误引起停机

玩工控的老家伙

  • 帖子

    47
  • 精华

    2
  • 被关注

    4

论坛等级:游士

注册时间:2011-02-20

普通 普通 如何晋级?

发布于 2011-04-02 01:53:37

13楼

我给你的程序做了个实验,是的,你编写的程序没有错误,正如2楼说的“既然是用绝对地址,那就没有必要再打开DB了”。那么引起PLC停机的原因是什么呢?如11楼所说“是你DB1定义的地址长度不对,至少要定义到DB1.DBW2”。
如果在程序中编写了DB块的应用内容,你没有下载DB1到CPU,CPU肯定会停机。但是你下载了DB1,这样问题就出在你没有对DB1.DBW0和DB1.DBW2进行定义的上面了。因此“诊断缓冲区”就会提示“读取时发生区域长度错误”。
那么如何定义数据区长度呢?打开你的数据块DB1,你会看到DB1的界面,图表中第二行显示,地址:+0.0;名称: “DB_VAR”;(数据)类型:“INT”;初始值:“0”;注释:临时占位符变量。图表的第三行地址=2.0等都是灰色。这是建立DB1时的参数缺省值,也就是对DB1.DBW0进行了定义,而DB1.DBW2没有定义。
定义DB1.DBW2的方法是:右键点击地址+0.0,从下拉菜单选择“选择之后的声明行”并点击之,会产生一行空白栏。在空白栏的名称栏内,填上你需要的符号,如“DB_VAR1”(注意不能填写中文);右键点击“类型”框,从下拉菜单选择你需要的数据类型。在这里你选择“基本类型”中的“WORD”;“初始值”填“W#16#0”;注释栏可以不填内容。然后把+0.0行的“类型”和“初始值”同样修改一致。将DB1保存并下载到PLC中,然后启动CPU就能运行了。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54618条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。