西门子 TIA Portal 中函数 FC 和函数块 FB 的相互转换
西门子 TIA Portal 中函数 FC 和函数块 FB 的相互转换
在西门子TIA Portal中,函数FC(Function)和函数块FB(Function Block)是两种常用的数据处理单元。在实际应用中,有时需要将FC转换为FB,或将FB转换为FC。本文将介绍如何使用TIA Portal的Add-In插件实现这种转换。
第1步:添加PLC设备
选择西门子CPU 1214C DC/DC/DC。
设置IP地址:192.168.0.1。
设置子网掩码:255.255.255.0。
第2步:创建待转换的FC和FB
添加一个函数FC,命名为:MotorFC-FB,作为待转换的函数FC,用Add-In插件转换成函数块FB。
添加一个函数块FB,命名为:MotorFB-FC,作为待转换的函数块FB,用Add-In插件转换成函数FC。
第3步:安装并激活插件
从西门子官网下载“FC-FB Convertor”(FC-FB互转)的TIA Portal Add-In插件,并将解压后的文件复制到如下图所示目录。
在TIA Portal右侧选项卡的“插件”中激活以上插件。
此时在FC或FB上点击鼠标右键,在弹出的快捷菜单中可以看到“FC-FB Convertor”(FC-FB互转)。
如果在FC上右键鼠标,进一步展开“FC-FB Convertor”,会看到“Convert to FB”(FC转FB)。
如果在FB上右键鼠标,进一步展开“FC-FB Convertor”,会看到“Convert to FC”(FB转FC)。
第4步:将FC转换为FB
下面演示把FC“MotorFC-FB”转换成FB。
对FC转FB进行如下设置。
选中“Open block in editor”时,转换完成后会在编辑器中打开转换后的块,如果同时只转换少数的块的话,可以选择该功能,如果同时批量转换很多的块的话,建议关闭该功能。
选择“Move return value”为“Output”时,将把FC的返回值放到转换后的FB的接口的“Output”中去,也可以设置为“删除”。
该实例中未设置返回值。
选择“Conver to FB”(转成FB)。
转换过程如下图显示信息“正在转换1个块”,也可以同时批量转换多个FC。
转换结果如下图,FC变成了FB,名称和编号保持不变,如有需要自行调整。
第5步:将FB转换为FC
下面演示把FB“MotorFB-FC”转换成FC。
对FB转FC进行如下设置。
选中“Open block in editor”时,转换完成后会在编辑器中打开转换后的块,如果同时只转换少数的块的话,可以选择该功能,如果同时批量转换很多的块的话,建议关闭该功能。
选择“Move static variables”为“Temp”时,将把FB的“Static”变量放到转换后的FC的接口的“Temp”中去,也可以设置为放到“InOut”中去,也可以设置为“删除”。
该实例中设置成了“Temp”,不建议设置成“删除”。
选择“Conver to FC”(转成FC)。
转换过程如下图显示信息“正在转换1个块”,也可以同时批量转换多个FB。
转换结果如下图,FB变成了FC,名称和编号保持不变,如有需要自行调整。
补充信息
被转换的块在转换前不能有错误。
被转换的块在转换前不能设置专有技术保护。
只能转换用LAD、FBD、STL、SCL语言编写的块。
被转换的块不能是库类型,也不能是“故障安全块”。
调用转换后的FC或FB的块需要手动调整。
FC或FB可以单个转换,也可以批量转换。
在FB转FC时,如果FB中的“Output”中存在名为“Ret_Val”的变量,转换成FC后,该变量将作为FC的返回值。