您现在的位置是:首页 > PLC技术 > PLC技术

S7-300/400时间标记冲突与一致性检查

来源:艾特贸易网 www.aitmy.com2017-10-11

简介每个块包含一个代码时间标记和一个接口时间标记,可以在块的属性对话框中查看它们。下列情况将会产生时间标记冲突: 1) 被调用的块比调用它的块的时间标记更新。 2) 用户定义数

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

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

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

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

   4) FB2FB1中被定义为多重背景,FB2的时间标记比FB1的更新。

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

    以随书光盘中的例程“发动机控制”为例,如果在FB1的变量声明表中修改或增减输入/输出参数,在保存块时,将会出现“块接口已改变……”的警告信息。保存后打开调用它的OB1,出现“至少一个块调用有时间标志冲突”的对话框。在OB1中可以看到,调用FB1的指令变成红色。带有时间标记冲突的程序下载到CPU后将导致停机。如果用手工来消除块的不一致性,是很麻烦的。可以用下面的方法自动修正一致性错误:

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

检查块的一致性

    4-33    检查块的一致性

编译后的窗口

    4-34    编译后的窗口

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

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

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

    如果不能用上述的操作自动清除所有块的不一致性,只有删除被调用的有冲突的块,然后重新调用它们。