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

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

3天内不再提示

功能块(FB)的结构介绍

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2023-02-17 09:55 次阅读

功能块(FB)的结构

Structure of a Function Block (FB)

82524ca6-ae18-11ed-bfe3-dac502259ad0.png 

定义(Definition)

功能块是逻辑块,包含程序部分,并且有一个内存区域援引派给它。无论何时FB被调用,必须给它指定一个实例数据块。当定义FB的声明部分时,就说明了实例数据块的结构。

828dd0dc-ae18-11ed-bfe3-dac502259ad0.png

FB标识符(FB Identifier)

在关键字FUNCTION_BLOCK或PROGRAM之后,键入关键字FB,跟上一个块号或FB的符号名。块号是0到65533之间的一个数值。

例子(Examples):

FUNCTION_BLOCK FB10
FUNCTION_BLOCK MOTOR1

FB声明部分(FB Declaration Section)

FB的声明部分用来定义块专有数据。声明部分应详细描述,记住声明部分也决定指派的实例数据块的结构。

例子(Example)

下例显示了一个功能块的源代码。例中输入和输出参数(本案中为V1和V2)赋予了初始值。

FUNCTION_BLOCK FB11
VAR_INPUT
V1 : INT := 7 ;
END_VAR

VAR_OUTPUT
V2 : REAL ;
END_VAR

VAR
FX1, FX2, FY1, FY2 : REAL ;
END_VAR

BEGIN
IF V1 = 7 THEN
FX1 := 1.5 ;
FX2 := 2.3 ;
FY1 := 3.1 ;
FY2 := 5.4 ;
//调用函数FC11并用静态变量提供参数
V2 := FC11 (X1:= FX1, X2 := FX2, Y1 := FY1, Y2 := FY2) ;
END_IF ;
END_FUNCTION_BLOCK

---作为本地实例调用的举例---

Example of a Call as a Local Instance

带一个简单FOR循环的功能块作为“作为共享实例”的例子编程,假设符号TEST在符号表中为FB17已经声明。

功能块能如下调用,假设VARIABLE1在调用块作为一个实数变量已经声明。

调用(Call)

FUNCTION_BLOCK CALL
VAR
// 本地实例声明
TEST_L : TEST ;
VARIABLE1 : REAL ;
RESULT : BOOL ;
END_VAR
BEGIN
. . .
// 调用本地实例:
TEST_L (FINALVAL:= 10, IQ1:= VARIABLE1) ;

读取输出值(Reading an Output Value)

输出参数CONTROL能够如下读取:

// 输出参数被存取
// 通过:
RESULT := TEST_L.CONTROL ;
END_FUNCTION_BLOCK






审核编辑:刘清

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

    关注

    0

    文章

    28

    浏览量

    15227
  • Block
    +关注

    关注

    0

    文章

    26

    浏览量

    14680
  • VaR
    VaR
    +关注

    关注

    0

    文章

    38

    浏览量

    11315

原文标题:Example of a Call as a Local Instance

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

收藏 人收藏

    评论

    相关推荐

    什么是FB功能块?为什么要使用FB功能块?如何制作一个FB功能块

      FB功能块是一种封装了特定逻辑功能的模块。它类似于一个子程序或函数,但是它有自己的内部变量和接口。FB功能块可以被多次调用,并且每次调用
    的头像 发表于 11-09 16:13 3798次阅读
    什么是<b class='flag-5'>FB</b><b class='flag-5'>功能块</b>?为什么要使用<b class='flag-5'>FB</b><b class='flag-5'>功能块</b>?如何制作一个<b class='flag-5'>FB</b><b class='flag-5'>功能块</b>?

    西门子PLC编程功能块FB功能FC的不同之处是什么

      用西门子PLC编程时,可以用到功能块FB功能FC(FB、FC都是组织)资料上说FB与FC
    发表于 12-02 14:15

    浅析TwinCAT TC3_Controller_Toolbox功能块

    中可用。4.2.1.1.2 FB_CTRL_GET_TASK_CYCLETIME(仅适用于PC系统)该功能块允许以1毫秒的分辨率确定程序的任务周期时间。4.2.1.1.3 FB_CTRL_LOOP_SCHEDULER该
    发表于 09-01 08:03

    基于EPA的PID功能块的设计及实现

    本文介绍了EPA功能块基本模型及功能块定义;并主要描述了PID功能块在单片机上的设计方案及PID功能块过程控制算法的具体实现,并通过组态软件
    发表于 09-26 14:40 7次下载

    S7-SCL功能块(FB)的结构

    在关键字FUNCTION_BLOCK或PROGRAM之后,键入关键字FB,跟上一个号或FB的符号名。号是0到65533之间的一个数值。
    的头像 发表于 05-10 10:30 3154次阅读
    S7-SCL<b class='flag-5'>功能块</b>(<b class='flag-5'>FB</b>)的<b class='flag-5'>结构</b>

    控制KUKA安全机器人的PLC标准功能块FB 292

    责任编辑:xj 原文标题:控制KUKA安全机器人的PLC标准功能块FB 292 文章出处:【微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。
    的头像 发表于 12-23 17:53 3209次阅读
    控制KUKA安全机器人的PLC标准<b class='flag-5'>功能块</b><b class='flag-5'>FB</b> 292

    西门子PLC系统功能块和系统功能

    的参考帮助中可找到进一步的信息。 系统功能块 系统功能块(SFB )是集成在S7 CPU中的功能块。SFB 作为操作系统的一部分,不占用户程序空间。与FB相同,SFB 也是“具有存储器
    的头像 发表于 12-23 17:55 1.1w次阅读

    西门子PLC FB41中PID功能块说明和调整方法

    西门子PLC FB41中PID功能块说明和调整方法说明。
    发表于 04-22 11:48 13次下载

    调用功能块(FB或SFB)

    功能块调用时输出赋值是不可能的。声明的输出参数的值存贮在实例数据中。在那它能够被所有功能块存取。要读取输出数据,必须在功能块中定义存取。
    的头像 发表于 04-20 15:35 3829次阅读

    数据(DB)的结构

    实例数据是指派给特定功能块的数据。它们功能块的指定的本地数据。当FB被用户程序调用时,这些数据
    的头像 发表于 06-23 11:20 5612次阅读

    ECAT_motion管理功能块介绍

    本节介绍几个管理功能块,也是较简单,参数读写,以及读伺服轴状态和轴错误的功能块。 伺服轴的参数有一个列表,列表中的参数,可供读写。 所有读的功能块,其启动管脚都是“Enable”,即:
    发表于 03-08 14:03 546次阅读

    高级速度控制功能块MC_VelocityProfile介绍(1)

    MC_TProfile结构体数组的初始化。 2_功能块功能&概念介绍 根据定义,此功能块功能
    发表于 03-08 14:37 948次阅读
    高级速度控制<b class='flag-5'>功能块</b>MC_VelocityProfile<b class='flag-5'>介绍</b>(1)

    基本的速度控制功能块介绍

    本节将介绍几个基本的速度控制功能块: MC_MoveVelocityMCA_JogAxisMCA_MoveVelocityContinuous 2_具体操作介绍 1.原程序在
    发表于 03-08 14:41 758次阅读

    如何把不同的功能块放到不同的VISU页面中

    本节将添加几个VISU页面,把不同的功能块放到不同的VISU页面中。在每个VISU中添加画面切换按钮。 2_具体操作介绍 1.编程添加MC_MoveRelative功能块及其VISU,并测试其
    发表于 03-08 14:47 223次阅读

    普通电机功能块的封装

    学过西门子TIA(博途)的朋友都知道它的FC/FB非常好用,深受开发者的喜欢,今天我们简单的讲一个普通电机功能块的封装。
    的头像 发表于 03-13 17:46 1485次阅读
    普通电机<b class='flag-5'>功能块</b>的封装