宁波S7-1200PLC西门子代理商原装现货 宁波西门子S7-1200PLC代理,宁波西门子PLC代理,西门子S7-1200PLC代理,西门子PLC代理
西门子PLC时间标记冲突与一致性检查
每个块包含一个代码时间标记和一个接口时间标记,可以在块的属性对话框中查看它们。下列情况将会产生时间标记冲突:
1)被调用的块比调用它的块的时间标记更新。
2)用户定义数据类型(UDT)比使用它的块或使用它的用户数据的时间标记更新。3)功能块比它的背景数据块的时间标记更新。
4)FB2在FB1中被定义为多重背景,FB2的时间标记比FB1的更新。
块与块之间的时间标记的关系是正确的,如果块的接口的定义与它被使用的区域中的定义不匹配(有接口冲突),也会出现不一致性。
以随书光盘中的例程“发动机控制”为例,如果在FB1的变量声明表中修改或增减输人/输出参数,在保存块时,将会出现“块接口已改变……”的警告信息。保存后打开调用它的OB1,出现“至少一个块调用有时间标志冲突”的对话框。在0B1中可以看到,调用FB1的指令变成红色。带有时间标记冲突的程序下载到CPU后将导致停机。如果用手工来消除块的不一致性,是很麻烦的。可以用下面的方法自动修正一致性错误。
宁波S7-1200PLC西门子代理商原装现货 宁波西门子S7-1200PLC代理,宁波西门子PLC代理,西门子S7-1200PLC代理,西门子PLC代理
1)关闭与冲突有关的所有的块。
2)选中SIMATIC管理器左边窗口的“块”,执行菜单命令“编辑”→“检查块的一致性”。在出现的“检查块的一致性”对话框中(见图4-33),有时间标记冲突的块用红色的指示灯标出。执行菜单命令“程序”→“编译”,STEP7将打开相应的编辑器,时间标记冲突和块的不一致性被自动地尽可能地消除,对块进行编译。经过编译后,图4-33中的时间冲突被消除,对应的红色指示灯消失(见图4-34)。
3)如果上述编译操作不能自动清除所有块的不一致性,在输出窗口中给出有错误的块的信息。用鼠标右键点击某一错误,调用弹出的菜单中的错误显示,对应的错误被打开,程序将跳到被修改的位置。清除块中的不一致性后,保存并关闭块。对于所有标记为有错误的块,重复这一过程。
4)重新执行步骤1和2,直至信息窗口不再显示错误信息。
如果不能用上述的操作自动清除所有块的不一致性,只有删除被调用的有冲突的块,然
后重新调用它们。
西门子S7-300 S7-400PLC的程序与存储器结构
(1) S7-300/400 PLC的程序功能块。S7-300/400 PLC的用户程序结构与S7-200PLC有明显的不同,可以使用线性化结构及功能调用式结构与结构化编程。
采用调用式结构与结构化编程时,程序以组织块(OB)、程序块(FC)、功能块(FB)、系统程序块(SFC)、系统功能块(SFB)、数据块(DB)等形式出现。其中,组织块(OB)、程序块(FC)、功能块(FB)统称为"逻辑块"(LogicBlok);系统程序块(SFC)、系统功能块(SFB)统称为"系统块"。
1) 组织块(QB)。组织块(Organization Blocks,简称OB)提供了PLC内部CPU操作系统与用户程序间的接口,它是由CPU操作系统直接进行调用的逻辑块,用来管理PLC程序中各组成部分的调用和执行中断。OB决定了PLC用户程序的结构与块的调用顺序,起到了"管理"用户程序的作用。
S7-300/400 PLC不同的 CPU类型。可以选择、支持不同的 OB 块,但 OBI 是所有 PLC用户程序的循环控制块,它是运行PLC用户程序的前提条件,任何PLC程序、任何CPU都不可以缺少OBI。
OB块的调用条件被称为"触发事件",根据"触发事件"的不同,OB块可以分为若干级别,各个级别有不同的优先级,高优先级的OB可以中断低优先级OB的执行。如果需要,S7系列PLC除OB1外,还可以使用多个OB块。
2)程序块(FC)*。程序块(Function,FC)是由用户编写的、不需要专门数据块的常用逻辑块。FC块在程序中一般不可以重复调用,在大多数场合,FC块应直接使用PLC的"**地址"或"符号地址”进行编程,但根据需要可以定义部分程序变量。
与S7-200PLC一样,FC块的“临时变量”同样存储在局部变量数据堆栈(L)中,这一区域为全部程序块所公用,只可以用于FC块内部使用的中间运算结果寄存(这些中间运算结果不可以用于FC块外部);程序块执行完成后,局部变量数据堆栈内的数据将被其他块所需要的内容所替代。如果需要保存可以用于其他逻辑块的状态,应使用PLC的内部标志寄存器M或使用"数据块DB"。