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

    文章

    7122

    浏览量

    89356
  • 参数
    +关注

    关注

    11

    文章

    1854

    浏览量

    32362
  • 函数
    +关注

    关注

    3

    文章

    4344

    浏览量

    62855

原文标题:函数的参数

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

收藏 人收藏

    评论

    相关推荐

    SUMIF函数对比VLOOKUP的优势

    在Excel中,数据管理和分析是日常工作中不可或缺的一部分。SUMIF函数和VLOOKUP函数是两个非常受欢迎的函数,它们可以帮助用户快速地处理和分析数据。尽管它们都可以用于查找和汇总
    的头像 发表于 11-11 09:16 395次阅读

    SUMIF函数与SUMIFS函数的区别

    : 1. 函数定义 SUMIF函数 :用于对满足单一条件的单元格求和。其基本语法为 SUMIF(range, criteria, [sum_range]) ,其中: range :应用条件的区域
    的头像 发表于 10-30 09:51 1446次阅读

    用TINA V9进行电路仿真,自定义函数按钮是灰色的,无法输入是哪里的问题?

    最近用TINA V9进行电路仿真,激励想使用自定义函数,但是发现自定义函数按钮是灰色的,无法输入,是什么地方设置不对吗?
    发表于 08-21 08:17

    怎么由系统函数判断滤波器的类型

    不同的应用场景。 系统函数定义 系统函数,也称为传递函数,是描述线性时不变(LTI)系统输入和输出之间关系的数学模型。对于离散时间系统,系
    的头像 发表于 08-15 10:30 3101次阅读

    典型干扰输入信号的形式有哪些

    在电子工程和信号处理领域,干扰输入信号是一个常见的问题,它可能会导致系统性能下降、数据丢失或错误。本文将介绍典型干扰输入信号的形式,以及它们对系统的影响和应对策略。 电磁干扰(EMI) 电磁干扰
    的头像 发表于 08-08 11:20 1004次阅读

    神经元模型激活函数通常有哪几类

    神经元模型激活函数是神经网络中的关键组成部分,它们负责在神经元之间引入非线性,使得神经网络能够学习和模拟复杂的函数映射。以下是对神经元模型激活函数的介绍: 一、Sigmoid
    的头像 发表于 07-11 11:33 1126次阅读

    人工神经元模型中常见的转移函数有哪些

    输出是输入的线性组合。形式为 ( y = w cdot x + b ),其中 ( w ) 是权重,( x ) 是输入,( b ) 是偏置。线性函数在某些情况下是有用的,但它们不能解决非
    的头像 发表于 07-11 11:22 1233次阅读

    神经网络中激活函数定义及类型

    详细介绍激活函数定义、类型。 激活函数定义和基本功能 2.1 定义 激活函数(Activat
    的头像 发表于 07-02 10:09 627次阅读

    神经网络中的激活函数有哪些

    在神经网络中,激活函数是一个至关重要的组成部分,它决定了神经元对于输入信号的反应方式,为神经网络引入了非线性因素,使得网络能够学习和处理复杂的模式。本文将详细介绍神经网络中常用的激活函数
    的头像 发表于 07-01 11:52 631次阅读

    函数信号发生器的定义、功能及应用

    随着现代电子技术的飞速发展,电子测试设备在科研、生产、教育等领域的应用越来越广泛。其中,函数信号发生器作为一种重要的电子测试设备,在电子工程、通信、科研等领域发挥着至关重要的作用。本文将详细介绍函数信号发生器的定义、分类、功能、
    的头像 发表于 05-15 14:42 1872次阅读

    请问vodi函数(u32 *a)里的*a是要往函数输入什么?

    请教各位这个函数输入量的意思是什么? 意思是u32类型的*p吗? 在例程里输入的是 u32 a[n]; 这么定义的数组,而且使用该函数时是
    发表于 04-26 06:35

    PHP用户定义函数详细讲解

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

    浅谈C语言中的函数定义

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

    内联函数定义 为什么需要内联函数

    inline关键字是C99标准的型关键字,其作用是将函数展开,把函数的代码复制到每一个调用处。
    的头像 发表于 02-19 12:20 573次阅读

    传递函数定义是什么 传递函数的拉氏反变换是什么响应

    传递函数定义: 传递函数是一种数学工具,用于描述线性时不变系统(LTI系统)的输入与输出之间的关系,通常用H(s)表示。传递函数是Lapl
    的头像 发表于 02-01 10:53 4792次阅读