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

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

3天内不再提示

SCL中调用函数的示例

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2023-06-06 10:18 次阅读

在此,可插入函数 (FC) 调用和函数块 (FB) 调用。函数块可作为单实例、多重实例或参数实例进行调用。

插入一个函数调用 (FC)

插入函数调用的步骤如下所示:

输入函数的名称。
单击 Enter 键确认输入。
在右键快捷菜单中,选择“显示所有参数”(Show all parameters) 命令或按下组合键 。此外,也可以单击功能栏中的“折叠/展开块调用的参数列表”(Expands/collapses the parameter list of block calls)。
将包含参数列表的函数调用语法添加到 SCL 程序中。实参的占位符以黄色高亮显示。选择第一个占位符。
用实参替换该占位符。也可从接口PLC 变量表中将一个变量拖放到占位符处。
键导航到所有其它占位符,然后用实参进行替换。通过 组合键,可浏览到之前使用的占位符。

插入一个函数块调用 (FB)

要插入函数块 (FB) 调用,请按以下步骤操作:

输入函数块的名称。
输入一个左括号“(”。
将打开“调用选项”(Call options) 对话框。
单击“确定”(OK),确认输入。
将包含参数列表的函数块调用语法添加到 SCL 程序中。实参的占位符以黄色高亮显示。选择第一个占位符。
在此对话框中,可输入要将该块调用为单实例、多重实例或参数实例。
单击“单实例”(Single instance) 按钮时,可在输入字段“名称”(Name) 中输入待分配给该调用的数据块名称。
如果调用的块中包含监视,则可在“ProDiag 函数块”(ProDiag FB) 文本框中为监视函数指定一个 ProDiag 函数块。
单击“多重实例”(Multi instance) 按钮时,可在“接口中的名称”(Name in the interface) 字段中输入变量的名称,输入的被调用函数块将在调用块的该接口中作为一个静态变量。
单击“参数实例”按钮,可在“接口中的名称”(Name in the interface) 文本框中输入 in/out (InOut) 参数的名称,在运行过程中将传送该参数处的实例。
用实参替换该占位符。也可从接口或 PLC 变量表中将一个变量拖放到占位符处。
键导航到所有其它占位符,然后用实参进行替换。通过 组合键,可浏览到之前使用的占位符。

SCL 中调用函数的示例:

标准调用

以下为标准函数调用 FB 的示例:

SCL
// 标准函数调用
"MyFC" (MyInput := 10, MyInOut := "Tag1");

结果

执行 "MyFC" 块之后,输入/输出参数 "MyInOut" 中确定的值可用于调用块的 "Tag1" 中,而且需要在此做进一步处理。

以赋值方式调用

以下为以赋值方式调用函数的示例:

SCL
(*在赋值表达式中调用,为 "MyFC" 定义了函数值*)
#MyOperand := "MyFC" (MyInput1 := 3, MyInput2 := 2, MyInput3 := 8.9, MyInOut := "Tag1");

结果

"MyFC" 的函数值将传输到 "#MyOperand" 中。

以算术表达式方式进行调用

以下为以算术表达式的方式调用函数的示例:

SCL
(*在数学表达式中调用,为 "MyFC" 定义了函数值*)
#MyOperand := "Tag2" + "MyFC" (MyInput1 := 3, MyInput2 := 2, MyInput3 := 8.9);

结果

"MyFC" 的函数值将加到 "Tag2" 上,并将结果传送到 "MyOperand"。

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

    关注

    5

    文章

    638

    浏览量

    21849
  • SCL
    SCL
    +关注

    关注

    1

    文章

    239

    浏览量

    16884
  • 函数值
    +关注

    关注

    0

    文章

    2

    浏览量

    4856
  • 函数调用
    +关注

    关注

    0

    文章

    19

    浏览量

    2557

原文标题:SCL 手动插入块调用

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

收藏 人收藏

    评论

    相关推荐

    C语言使用函数调用的知识点

    C语言使用函数调用,我们再熟悉不过了,但是函数调用在内存中究竟发生了什么真的清楚吗?只有搞清楚内存里的内幕,才算完全搞懂函数
    发表于 09-07 11:47 670次阅读

    C函数调用机制与栈帧原理详解

    当一个C函数调用时,函数的参数如何传递、堆栈指针如何变化、栈帧是如何被建立以及如何被消除的,一直缺乏系统性的理解,因此决定花时间学习下函数调用
    发表于 06-08 10:49 565次阅读
    C<b class='flag-5'>函数</b><b class='flag-5'>调用</b>机制与栈帧原理详解

    如何查看及更改函数/函数块的调用环境

    模块化设计的思想是把一些相似的功能(比如电机控制、阀控制)设计成函数函数块,这样就可以反复调用。其优点是:使程序架构更加清晰,避免重复编写相似功能的代码。不过可能会产生一个疑惑:既然PLC的程序
    的头像 发表于 11-17 09:08 439次阅读
    如何查看及更改<b class='flag-5'>函数</b>/<b class='flag-5'>函数</b>块的<b class='flag-5'>调用</b>环境

    C++教程之函数的递归调用

    C++教程之函数的递归调用 在执行函数 f 的过程中,又要调用 f 函数本身,称为函数的递归
    发表于 05-15 18:00 35次下载

    函数执行完毕后,如何返回调用处?

    函数执行完毕后,如何返回调用处呢?由于该函数可能会被多次调用,且每次调用的地方很可能不一样,这样被调用
    的头像 发表于 09-14 14:27 1.6w次阅读
    当<b class='flag-5'>函数</b>执行完毕后,如何返回<b class='flag-5'>调用</b>处?

    高效的C编程之函数调用

    14.9 函数调用 函数设计的基本原则是使其函数体尽量的小。这样编译器可以对函数做更多的优化。 14.9.1 减少
    发表于 10-17 16:49 6次下载
    高效的C编程之<b class='flag-5'>函数</b><b class='flag-5'>调用</b>

    c#调用matlab函数

    本文档内容介绍了基于c#调用matlab函数,供参考
    发表于 04-19 10:53 23次下载

    使用SCL函数块编写计算保质期的应用程序

    在以下部分中,将创建 SCL 函数块“SCL_Best_before_date” 。 可使用 SCL 函数块计算保质期。
    的头像 发表于 10-18 15:15 765次阅读

    C语言函数调用的形式及过程

    C语言函数调用时的数据传递 在调用有参函数时,主调函数和被调函数之间有数据传递关系。
    的头像 发表于 03-10 14:28 1126次阅读

    什么是函数调用

    函数调用,就是使用我们已经定义好的函数,或者C语言自带的库函数
    的头像 发表于 04-04 17:21 4120次阅读

    西门子博途:SCL编程调用函数/调用函数块介绍

    SCL 中,提供返回值的函数可在任何表达式中代替操作数。因此,返回值也称为 SCL 中的“函数值”。
    的头像 发表于 06-20 09:41 5770次阅读

    调用SCL函数块-事例

    在以下部分中,将在组织块“Main” 中调用 SCL 函数块“SCL_Best_before_date” 并互连输入和输出参数。
    的头像 发表于 08-10 09:51 561次阅读
    <b class='flag-5'>调用</b><b class='flag-5'>SCL</b><b class='flag-5'>函数</b>块-事例

    python函数函数之间的调用

    函数函数之间的调用 3.1 第一种情况 程序代码如下: def x ( f ): def y (): print ( 1 ) return y def f (): print
    的头像 发表于 10-04 17:17 353次阅读

    西门子博途: SCL函数块的调用方法

    SCL 函数块在内部读取 CPU 的系统时间,并根据当前日期和输入的保质期限(年数)计算“保质期”的年份。 ② 计算出的保质期年份为一个整数值在输出参数中输出。 将计算出的值存储在变量
    发表于 10-16 15:55 1542次阅读
    西门子博途: <b class='flag-5'>SCL</b><b class='flag-5'>函数</b>块的<b class='flag-5'>调用</b>方法

    SCL函数块的结构介绍 创建SCL函数块的步骤说明

    下图显示了 SCL 函数块的结构。
    的头像 发表于 10-30 10:16 378次阅读
    <b class='flag-5'>SCL</b><b class='flag-5'>函数</b>块的结构介绍 创建<b class='flag-5'>SCL</b><b class='flag-5'>函数</b>块的步骤说明