回复:S7-300的程序正常运行,上传上来,个别程序块编译不通过,CALL和 end call 显示红色

payne.wu

  • 帖子

    161
  • 精华

    0
  • 被关注

    65

论坛等级:侠圣

注册时间:2016-01-02

普通 普通 如何晋级?

发布于 2018-10-18 10:48:16

2楼

 

每个块包含一个代码时间标记和一个接口时间标记,可以在块的属性对话框中查看它们。下列情况将会产生时间标记冲突:

    1)被调用的块比调用它的块的时间标记更新。

    2)功能块比它的背景数据块的时间标记更新。

    3)用户定义数据类型( UDT)比使用它的块或使用它的用户数据的时间标记更新。

    4) FB 2在FB 1中被定义为多重背景,FB 2的时间标记比FB 1的更新。

    即使块与块之间的时间标记的关系是正确的,如果块的接口的定义与它被使用的区域中的定义不匹配(有接口冲突),也会出现不一致性。

    带有时间标记冲突的程序下载到CPU后将导致停机。如果用手工来消除块的不一致性,是很麻烦的。可用下面的方法自动修正一致性错误:

    1)关闭与冲突有关的所有的块。

    2)选中SIMATIC管理器左边窗口的“块”文件夹,执行菜单命令“编辑”→“检查块的一致性”。在出现的“检查块的一致性”对话框中,有时间冲突的块用红色的指示灯标出。执行菜单命令“程序”→“编译”,STEP 7将打开相应的编辑器,时间标记冲突和块的不一致性被自动地尽可能地消除,同时对块进行编译。经过编译后,时间冲突被消除,对应的红色指示灯消失。 

    3)如果在编译过程中不能自动清除所有的块的不一致性,在输出窗口中给出有错误的块的信息。用鼠标右键点击某一错误,调用弹出的菜单中的错误显示,对应的错误被打开,程序将跳到被修改的位置。清除块中的不一致性后,保存并关闭块。对于所有标记为有错误的块,重复这一过程。

    4)重新执行步骤1)和2),直至信息窗口不再显示错误信息。

    也可以删除被调用的有冲突的块,然后重新调用它们。


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54716条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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