0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

函数部分定义的形式输入

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2022-08-02 14:40 次阅读

调用函数(FC)

通过说明函数名(FC, SFC标识符)和参数表来调用函数。能够用绝对或符号形式指定标识返回值的函数名称:

FC31 (X1:=5, Q1:=Checksum) ; // 绝对形式

DISTANCE (X1:=5, Q1=:Checksum) ; // 符号形式

调用之后,函数的结果可用作为返回值或作为输出和输入/输出参数(实际参数)。

60a0a7e8-1141-11ed-ba43-dac502259ad0.png

对比功能块,函数提供一个结果当作返回值。基于这个原因,函数能够被子当作地址来对待(VOID类型的函数除外)。

函数计算与函数有同样名称的返回值,且将其返回给调用它的块。在那里,值代替函数调用。

例如,在下面的赋值中,DISTANCE函数被调用,且结果赋值给LENGTH变量。

LENGTH:= DISTANCE (X1:=-3, Y1:=2);

返回值能够用在下面的函数或功能块元素:

在一个赋值语句中,

在一个逻辑、算术或比较表达式或

作为更进一步的功能块或函数调用的参数。

函数的参数

对比功能块,函数没有任何他们保存参数值的内存。在函数激活时,本地数据只中临时地贮存。由于这个原因,当调用函数时,所有在函数声明部分定义的形式输入、输入/输出和输出参数必须赋予实际参数。

例子(Example)

带为输入、输出和输入/输出参数赋值的调用如下:

FC32 (E_Param1:=5,D_Param1:=LENGTH,

A_Param1:=Checksum)

函数调用举例:

函数被调用(Function to be Called)

计算在使用笛卡尔坐标系统的同一平面中两点(X1,Y1)和(X2,Y2)之间距离的函数DISTANCE可以是下面的形式(此例假设符号DISTANCE在符号表中为FC37已经声明)。

FUNCTION DISTANCE: REAL // 符号
VAR_INPUT
X1 : REAL;
X2 : REAL;
Y1 : REAL;
Y2 : REAL;
END_VAR
VAR_OUTPUT
Q2 : REAL;
END_VAR
BEGIN 开始
DISTANCE := SQRT( (X2-X1)**2 + (Y2-Y1)**2 );
Q2 := X1+X2+Y1+Y2;
END_FUNCTION

调用块(Calling Block)

下例显示更多函数值的使用的可选择的形式:

FUNCTION_BLOCK CALL
VAR
LENGTH : REAL ;
CHECKSUM : REAL ;
RADIUS : REAL;
Y : REAL;
END_VAR
BEGIN
. . .
// 在赋值语句中调用:
LENGTH := DISTANCE (X1:=3, Y1:=2, X2:=8.9, Y2:= 7.4, Q2:=CHECKSUM) ;
// 在算术或逻辑表达式中调用,如:
Y := RADIUS + DISTANCE (X1:=-3, Y1:=2, X2:=8.9, Y2:=7.4, Q2:=Checksum)
// 用来为进一步的被调用的块提供参数
FB32.DB32 (DIST:= DISTANCE (X1:=-3, Y1:=2, X2:=8.9, Y2:=7.4), Q2:=Checksum)
. . .
END_FUNCTION_BLOCK

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    6509

    浏览量

    87556
  • 参数
    +关注

    关注

    11

    文章

    1396

    浏览量

    31410
  • 函数
    +关注

    关注

    3

    文章

    3859

    浏览量

    61297

原文标题:函数的参数

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    PHP用户定义函数详细讲解

    还可以根据需要定义函数。这些称为“用户定义函数”。   句法: function function-name()  {     statement 1 :     statement
    的头像 发表于 03-20 14:27 68次阅读

    浅谈C语言中的函数定义

    如果函数要使用参数,则必须声明接受参数值的变量。这些变量称为函数形式参数。 形式参数就像函数内的其他局部变量,在进入
    发表于 03-11 10:09 116次阅读

    round函数公式怎么输入

    , ndigits) 参数说明: number:要进行四舍五入的数字。 ndigits:指定保留的小数位数。这是一个可选参数,默认为0。 根据ndigits的不同取值,round函数的行为略有不同: 当ndigits为0时,round函数返回离
    的头像 发表于 01-15 17:27 495次阅读

    如何给C语言中的函数定义两个不同的名字?

    最近有位哥问我,如何给C语言中的函数定义两个不同的名字?就是这两个名字都是指向同一个函数,同一个地址,而且两个名字都可以当做函数来用的那种。
    的头像 发表于 12-19 16:21 303次阅读

    if嵌套函数的正确输入方法为

    输入方法是在if语句内部创建一个新的函数。这个函数可以是一个匿名函数或者是一个有名称的函数,具体取决于你的需求和偏好。下面是一个if嵌套
    的头像 发表于 11-30 16:50 566次阅读

    RRT算法Matlab实现 主函数部分

    ( 1 , 1 ); % 将起点作为第一个生成点 new_node_y = x_start( 1 , 2 );new_node = [new_node_x, new_node_y]; 主函数部分函数中首先生成随机点,并判断是
    的头像 发表于 11-24 16:25 209次阅读

    c语言gets函数可以输入数字吗

    C语言中的gets函数是用来读取字符串的,而不是用来读取数字的。它会读取输入的字符直到遇到换行符或者文件结束符。因此,如果你尝试使用gets函数来读取数字,是无法准确获取数字本身的。 首先,让我们
    的头像 发表于 11-24 10:00 674次阅读

    python中各种函数的用法

    Python中有很多种不同类型的函数,它们在解决各种问题和完成不同任务时起着重要的作用。下面我将详细介绍几种常用的函数,包括内置函数、自定义函数
    的头像 发表于 11-23 15:48 388次阅读

    python定义函数和返回多个值方法

    函数 如果想定义一个什么事也不做的空函数,可以用pass语句 def nop (): pass pass可用来作为占位符,比如现在还没想好怎么写函数的代码,就可以先放一个pass,让
    的头像 发表于 11-14 11:33 219次阅读

    python如何定义一个函数

    ()。但你也可以自己创建函数,这被叫做用户自定义函数。 二、定义一个函数 你可以定义一个由自己想
    的头像 发表于 11-14 11:26 411次阅读

    Python 函数参数分类

    文章应该对你会有不小的帮助。 接下来是正文。 1. 参数分类 函数,在定义的时候,可以有参数的,也可以没有参数。 从函数定义的角度来看,参数可以分为两种: 必选参数 :调用
    的头像 发表于 10-21 10:45 220次阅读

    C语言中宏函数定义和用法

    函数是一种特殊的函数宏,与普通函数宏不同的是,它可以拥有多条语句和局部变量,从而实现更复杂的功能。它的定义类似于普通函数,但用大括号包裹起
    发表于 10-11 11:32 739次阅读
    C语言中宏<b class='flag-5'>函数</b>的<b class='flag-5'>定义</b>和用法

    python定义函数与调用函数的顺序

    定义函数与调用函数的顺序 函数定义后,本身是不会自动执行的,只有在被调用后,函数才会被执行,得
    的头像 发表于 10-04 17:17 567次阅读

    亥姆霍兹函数定义 亥姆霍兹方程的用途 亥姆霍兹方程的应用

    亥姆霍兹函数定义 亥姆霍兹方程的用途 亥姆霍兹方程的应用 亥姆霍兹函数定义 亥姆霍兹函数也称为自由能或Gibbs自由能,它是热力学中的一
    的头像 发表于 08-29 17:05 2509次阅读

    函数的参数

    对比功能块,函数没有任何他们保存参数值的内存。在函数激活时,本地数据只中临时地贮存。由于这个原因,当调用函数时,所有在函数声明部分
    的头像 发表于 04-27 15:26 421次阅读
    <b class='flag-5'>函数</b>的参数