[西门子] 西门子博图函数FC

[复制链接]
查看38773 | 回复0 | 2024-5-23 17:34:37 | 显示全部楼层 |阅读模式
西门子博图中函数是编程中非常重要的一环,顾名思义它是一种用于编写控制逻辑的可重复使用的代码块。在机构上类似于高级编程语言中的函数,可以在其中定义一系列操作,然后给予输入参数,并执行特定的功能,输出结果。

定义

函数(根据 IEC 1131-3标准,函数 (FC) 是不含存储区的代码块。通过函数可在用户程序中传送参数。因此,函数特别适合取代频繁出现的复杂结构,如计算等。 ) (FC) 是不带存储器的代码块。 由于没有可以存储块参数值的数据存储器。 因此,调用函数时,必须给所有形参分配实参。
函数可以使用全局数据块 (数据块用于存储用户数据。 数据块分为可由所有代码块访问的全局数据块,以及分配给特定功能块调用的背景数据块。) 永久性存储数据。

应用

函数包含一个程序,在其它代码块调用该函数时将执行此程序。例如,可以将函数用于下列目的:

·将函数值返回给调用块,例如,数学函数

·执行工艺功能,例如,通过位逻辑运算进行单个的控制

可以在程序中的不同位置多次调用同一个函数。因此,函数块简化了对重复发生的函数的编程。

如何添加一个函数:



在博图软件中,双击“添加新块”打开添加新块对话框,在1的位置选择“函数FC”及添加函数FC,在2位置可更改名称,在3位置选择编程语言,这里采用梯形图;在4位置为添加的函数的编号,采用自动编号;在5位置显示函数的简单介绍。最后点击确定即可。



关于块参数的使用规则:

在块内使用块参数时,应遵循以下规则:

·Input 参数只能读取。

·Out 参数只可写入。

·In/out 参数可读取和写入。

如果仅需查询或读取值,则可使用输入参数;

如果要设置或写入这些值,则需使用输出参数。

如果要读写块参数,则需将这些块参数创建为 in-out 参数。

形参和实参

被调用块接口中定义的块参数,称之为形参。在调用过程中,将作为参数占位符传递给该块。调用块时,传递给块的参数称为实参。

实参和形参的数据类型必须相同,或可以根据数据类型转换规则进行转换。可参照之前的文章内容《07西门子博图转换指令》

下面依实际《电机正反转》案例演示函数的用法:

依据块参数使用规则进行IO分配,控制按钮为Input,输出为Inout,如下图所示:



下面在FC中编写控制程序:



注意:依据FC使用规则,以上参数均为形参。

在FC函数中编写的程序需以FC块的方式添加入主循环程序中,否则将无法执行,如下图所示:



有图中可以很明确的发现函数FC与函数块FB的区别。下面给FC函数分配实参可正常运行。



同样的,如果有重复的控制需求,可在程序中多次添加FC块,根据实际需求分配实参,可省去重复编写程序的麻烦。

==END

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则