登录

行业资讯

绍兴西门子PLC代理商

绍兴西门子PLC代理商

绍兴西门子PLC代理商

绍兴西门子PLC代理商

绍兴西门子PLC代理商

FC功能块如何使用

如果逻辑块执行完后不需要保存它内部的数据,可以用功能FC来编程。与功能块FB 相比较,FC不需要配套的背景数据块。

1. 生成功能

用鼠标右键点击SIMATIC管理器左边窗口中的“块”,执行出现的快捷菜单中的“插入新对象”→“功能”,生成一个新的功能。在出现的功能属性对话框中,采用系统自动生成的功能的名称FC1,设置梯形图(LAD)为功能默认的编程语言。

2. 功能的局部变量

双击SIMATIC管理器中FC1的图标,打开程序编辑器(见图4-16)。

与功能块的变量声明表(见图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 之后的临时局部数据。




浔之漫智控技术(上海)有限公司专注于西门子等

免责声明: 八方资源网为互联网信息服务提供者,所有的信息均有发布者提供,如您发现信息有违规/侵权,请立即投诉举报

相关资讯

查看更多
资讯分类
商务服务 污水处理 机械 传媒 机床 五金 农业 工程机械 焊接切割 泵阀 热泵 农机 汽车 汽车用品 汽配 汽修 通信 电子 暖通空调 电气 广电 印刷 纸业 丝印特印 灯饰 安防 消防 过滤 耐火材料 环保 LED 添加剂 食品机械 仪器仪表 太阳能 包装 水工业 加工 二手设备 工艺礼品 古玩 服装 美容美发 服饰 制鞋 家电 家具 运动休闲 影音 酒店 家居 办公 音响灯光 农化 水果 养殖 皮具 教育装备 玩具 零食 食品 二手 IT 建材 小家电 卫浴 陶瓷 超硬材料 化工 橡胶 塑料 钢铁 表面处理 冶金 石油 能源 纺织 房地产 皮革 涂料 石材 创业 项目 生活服务 教育 船舶 维修 广告 交通运输 医疗 代理 物流 图片 展会 咨询 库存积压
八方资源网 资讯