每个块包含一个代码时间标记和一个接口时间标记,可以在块的属性对话框中查看它们。下列情况将会产生时间标记冲突:
1)被调用的块比调用它的块的时间标记更新。
2)用户定义数据类型(UDT)比使用它的块或使用它的用户数据的时间标记更新。
3)功能块比它的背景数据块的时间标记更新。
4)FB2在FB1中被定义为多重背景,FB2的时间标记比FB1的更新。
即使块与块之间的时间标记的关系是正确的,如果块的接口的定义与它被使用的区域中的定义不匹配(有接口冲突),也会出现不一致性。
以随书光盘中的例程“发动机控制”为例,调用FB1以后,如果在FB1的变量声明表中修改或增减输入/输出参数,在保存块时,将会出现“块接口已改变……”的警告信息保存后打开调用它的OB1,出现“至少一个块调用有时间标记冲突”的对话框。在OB1中可以看到,调用FB1的指令变成红色。如果用手工来消除块的不一致性,是很麻烦的。可以用下面的方法自动修正一致性错误。
1)关闭与冲突有关的所有的块。
2)选中SIMATIC管理器左边窗口的“块”,执行菜单命令“编辑”→“检查块的一致性”。在出现的“检查块的一致性”对话框中(见图4-15),有时间标记冲突的块用红色的指示灯标出。执行菜单命令“程序”→“编译”,STEP 7将打开相应的编辑器,时间标记冲突和块的不一致性被自动地尽可能地消除,同时对块进行编译。经过编译后,时间标记冲突被消除,对应的红色指示灯消失(见图4-16)。(www.xing528.com)
图4-15 “检查块的一致性”对话框
图4-16 编译后的对话框
3)如果上述编译操作不能自动清除所有的块的不一致性,在下面的输出窗口中给出有错误的块的信息。双击某一错误,有错误的块被打开,错误的参数用红色标记。对于所有标记为有错误的对象,重复这一过程。
4)重新执行步骤1和2,直至“检查块的一致性”对话框不再显示错误信息。
如果不能用上述的操作自动清除所有的块的不一致性,只有删除被调用的有冲突的块,然后重新调用修改参数后的块。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。