合肥S7-1200PLC西门子代理商原装现货 合肥西门子S7-1200PLC代理,合肥西门子PLC代理,西门子S7-1200PLC代理,西门子PLC代理
FC功能块如何使用
如果逻辑块执行完后不需要保存它内部的数据,可以用功能FC来编程。与功能块FB 相比较,FC不需要配套的背景数据块。
1.生成功能
用鼠标右键点击SIMATIC管理器左边窗口中的“块”,执行出现的快捷菜单中的“插入新对象”→“功能”,生成一个新的功能。在出现的功能属性对话框中,采用系统自动生成的功能的名称FC1,设置梯形图(LAD)为功能默认的编程语言。
2.功能的局部变量
双击SIMATIC管理器中FC1的图标,打开程序编辑器(见图4-16)。
合肥S7-1200PLC西门子代理商原装现货 合肥西门子S7-1200PLC代理,合肥西门子PLC代理,西门子S7-1200PLC代理,西门子PLC代理
与功能块的变量声明表(见图4-13)相比,功能没有静态变量(STAT),退出FC后不能保存它的临时局部变量。功能多了一个返回值RET_VAL,它实际上是一个输出参数。返回值的设置与IEC6113-3标准有关,该标准的功能没有输出参数,只有一个返回值。
功能FC1用来控制发动机的风扇,要求在发动机运行信号Engine_On变为1时起动风扇,发动机停车后,用输出的BOOL变量Fan_On控制的风扇继续运行30s后停机。
在FCI中,用延时断开定时器S_OFFDT(见图4-16)来定时。在功能的变量声明表中定义的输入参数Timer_Function是延时断开定时器的编号,数据类型为Timer,在调用FC1时用它来为不同的发动机指定不同的定时器。
3.功能与功能块的区别
FB和FC均为用户编写的子程序,局部数据均有IN、OUT、IN_OUT和TEMP,临时变量TEMP储存在局部数据堆栈中。
1)FC的返回值RET_VAL实际上是输出参数,有无静态变量(STAT)是二者的局部变量的本质区别,功能块的静态变量用背景数据块来保存。如果功能有执行完后需要保存的数据,只能存放在全局变量(I/Q、PI/PQ、M、T、C和共享数据块)中,这样会影响功能的可移植性。如果功能或功能块的内部不使用全局变量,只使用局部变量,不需要做任何修改,就可以将块移植到其他项目。如果块的内部使用了全局变量,在移植时需要重新统一分配它们内部使用的全局变量的地址,以保证不会出现地址冲突。当程序很复杂,子程序和中断程序很多时,这种重新分配全局变量地址的工作量非常大,也很容易出错。如果逻辑块有执行完后需要保存的数据,显然应使用功能块,而不是功能。
2)功能块的输出参数不仅与来自外部的输入参数有关,还与用静态变量保存的内部状态数据有关。功能因为没有静态变量,相同的输入参数产生的执行结果是相同的。
3)功能块有背景数据块,功能没有背景数据块。只能在功能内部访问功能的局部变量,其他逻辑块和人机界面可以访问背景数据块中的变量。
4)不能给功能的局部变量设置初始值,可以给功能块的局部变量(不包括TEMP)设置初始值。在调用功能块时如果没有设置某些输入参数的实参,将使用背景数据块中的初始值,或上一次执行后的值。调用功能时应给所有的形参指定实参。
4.组织块与其他逻辑块的区别
发生事件或故障时,由操作系统调用对应的组织块,其他逻辑块是用户程序调用的。组织块有自动生成的20B临时局部数据,包含了与触发组织块的事件有关的信息。它们是操作系统提供的。组织块中的程序是用户编写的,用户可以自己定义和使用组织块20B之后的临时局部数据。
西门子PLC时间标记冲突与一致性检查
每个块包含一个代码时间标记和一个接口时间标记,可以在块的属性对话框中查看它们。下列情况将会产生时间标记冲突:
1)被调用的块比调用它的块的时间标记更新。
2)用户定义数据类型(UDT)比使用它的块或使用它的用户数据的时间标记更新。3)功能块比它的背景数据块的时间标记更新。
4)FB2在FB1中被定义为多重背景,FB2的时间标记比FB1的更新。
块与块之间的时间标记的关系是正确的,如果块的接口的定义与它被使用的区域中的定义不匹配(有接口冲突),也会出现不一致性。
以随书光盘中的例程“发动机控制”为例,如果在FB1的变量声明表中修改或增减输人/输出参数,在保存块时,将会出现“块接口已改变……”的警告信息。保存后打开调用它的OB1,出现“至少一个块调用有时间标志冲突”的对话框。在0B1中可以看到,调用FB1的指令变成红色。带有时间标记冲突的程序下载到CPU后将导致停机。如果用手工来消除块的不一致性,是很麻烦可以用下面的方法自动修正一致性错误。
S7-200PLC存储区和S7-300PLC存储器
S7-200系列PLC的存储区分为程序存储区、变量存储区和参数存储区。
① 程序存储区
程序存储区主要用于存放用户程序,程序空间容量在不同的CPU中是不同的。CPU的RAM区与内置EPPROM上都有程序存储器,它们互为映像,且空间大小一样。系统程序会进行自动调度,在程序执行时将程序从E?PROM映像到RAM中,以提高运行速度。
系统程序也存放在程序空间,但对用户是不开放的,即用户不能访问和读写系统程序。
②变量存储区
变量存储区存储各种编程变量。编程变量包括输入继电器(输入映像)1、输出继电器(输出映像)Q、中间继电器M、定时器T和计数器C。
③参数存储区
参数存储区是用于存放与PLC组态参数有关的存储区域,如保护口令PLC站地址、停电记忆保持区、软件滤波、强制操作的设定信息等,该存储器为EPPROM.
用户序、plc组态和数据块下载