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

    浏览量

    15158
  • Block
    +关注

    关注

    0

    文章

    26

    浏览量

    14563
  • VaR
    VaR
    +关注

    关注

    0

    文章

    37

    浏览量

    11128

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

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

收藏 人收藏

    评论

    相关推荐

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

      FB功能块是一种封装了特定逻辑功能的模块。它类似于一个子程序或函数,但是它有自己的内部变量和接口。FB功能块可以被多次调用,并且每次调用
    的头像 发表于 11-09 16:13 1604次阅读
    什么是<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

    L80C186-10的内部结构及各部件功能块测试,总结的太棒了

    本文对L80C186-10的内部结构及各部件功能块测试做了详细介绍
    发表于 05-07 06:55

    Dictionary的功能块接口有哪些?其作用是什么?

    Dictionary的主要用途是什么?Dictionary的结构是由哪些部分组成的?Dictionary的功能块接口有哪些?其作用是什么?
    发表于 07-02 07:31

    漫谈工业软件IEC61499 功能块

    功能块(function block)是IEC61499 标准中最重要的概念之一。不过功能块的概念并不是该标准所特有的。在符合IEC61131-3 标准的PLC 中就定义了功能块编程。功能块
    发表于 07-02 07:58

    欧姆龙NX1P2编程学习-编写功能块注意事项

    要特别注意的是:欧姆龙FC(函数)中不能有FB功能块),比如,在FC中调用TON是不允许的,因为TON是FB。新建一个FB,如果定义了3个IN,调用此
    发表于 07-02 08:08

    浅析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

    IEC61499功能块有哪几种模型

    什么是功能块功能块的一般特性是什么?IEC61499功能块有哪几种模型?
    发表于 09-29 06:46

    TON功能块功能有哪些?

    TON功能块功能有哪些?如何声明TwinCAT的定时器呢?
    发表于 10-08 07:33

    如何去使用TwinCAT的功能块

    如何去使用TwinCAT的功能块
    发表于 10-08 06:02

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

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

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

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

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

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

    调用功能块(FB或SFB)

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

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

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