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

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

3天内不再提示

我们应如何查看某一次函数块调用时的内部变量呢?

jf_61nrsJTz ? 来源:方正智芯 ? 2023-11-17 09:09 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

模块化设计的思想是把一些相似的功能(比如电机控制、阀控制)设计成函数或函数块,这样就可以反复调用。其优点是:使程序架构更加清晰,避免重复编写相似功能的代码。不过可能会产生一个疑惑:既然PLC的程序是循环执行,当一个功能块被多个外部函数/函数块调用时,我们应如何查看某一次调用时的内部变量呢?这涉及到函数块的调用环境问题,今天这篇文章,我们来介绍下如何查看及更改函数/函数块的调用环境。

8e9e903e-84d5-11ee-939d-92fbcf53809c.png

我们以函数库中的电机控制块FB5001_MotorControl为例,创建两台电机控制程序。为了使调用路径便于观察,新创建一个函数:motorControl ,将二号电机在该函数中调用,整体代码如下图所示:

8ebee078-84d5-11ee-939d-92fbcf53809c.png

8eccd994-84d5-11ee-939d-92fbcf53809c.png

这样,在OB1和FC1中两次调用相同的函数块FB5001_MotorControl。

在OB1中打开该函数块,转到在线状态:

在函数块的左上方会显示当前调用路径,比如当前示例:Main[OB1]。

在函数块的右上方有一个更改调用环境的按钮,如下图所示:

8edaabc8-84d5-11ee-939d-92fbcf53809c.png

单击该按钮,会弹出[块的调用环境]对话框,我们将调用环境从之前的OB1改成FC1(OB1->FC1),单击确定,如下图所示:

8eefc80a-84d5-11ee-939d-92fbcf53809c.png

假设我们将FC1下的FB5001_MotorControl的信号fuse、start形参置为真(TRUE),如下图所示:

8f002aa6-84d5-11ee-939d-92fbcf53809c.png

可看到调用环境中其内部变量也跟随着变化(TRUE),如下图所示:

8f16d026-84d5-11ee-939d-92fbcf53809c.png

如果我们把调用环境更改成OB1,由于OB1下的FB5001_MotorControl其形参为假(FALSE),因此其内部变量也跟随变化(FALSE),如下图所示:

8f2cb80a-84d5-11ee-939d-92fbcf53809c.png

好了,关于博途环境下如何查看及更改块的调用环境就先介绍到这里。







审核编辑:刘清

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

    关注

    3574

    文章

    1979

    浏览量

    272291
  • plc
    plc
    +关注

    关注

    5037

    文章

    14004

    浏览量

    475792

原文标题:博途使用技巧之查看与更改函数块的调用环境

文章出处:【微信号:方正智芯,微信公众号:方正智芯】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

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

    是循环执行,当个功能被多个外部函数/函数调用时我们
    的头像 发表于 11-17 09:08 ?1546次阅读
    如何<b class='flag-5'>查看</b>及更改<b class='flag-5'>函数</b>/<b class='flag-5'>函数</b><b class='flag-5'>块</b>的<b class='flag-5'>调用</b>环境

    TF之NN:Tensorflow之一次函数应用,随机生成100个数,利用Tensorflow训练使其逼近已知一次函数的斜率和截距

    TF之NN:Tensorflow之一次函数应用,随机生成100个数,利用Tensorflow训练使其逼近已知一次函数的斜率和截距
    发表于 12-20 10:35

    请问为什么程序在while循环中只执行一次函数

    嗨,我很难理解为什么我的程序在while循环中只执行一次函数,即使循环是无限的。这是我的计划:
    发表于 10-28 11:26

    ccs3.3能像示波器查看ram中某一个全局变量的动态变化吗?

    ccs3.3能不能像示波器查看ram中某一个全局变量的动态变化?watch window能看到值变化,刷新
    发表于 07-08 15:57

    看就知!static在编程中的作用到底是什么?

    使用时仍然能用到这个值。也就是说有时候希望函数中的局部变量的值在函数调用结束后不消失而保留原值,这个变量
    发表于 06-20 13:19

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

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

    单片机静态局部变量的使用方法

    1.静态局部变量的值在函数调用结束后不消失而保留原值,即其占用的存储单元不释放,在下一次函数调用时
    发表于 03-14 14:28 ?3392次阅读
    单片机静态局部<b class='flag-5'>变量</b>的使用方法

    详解python普通函数创建与调用

    函数种仅在调用时运行的代码。您可以将数据(称为参数)传递到函数中,然后由函数可以把数据作为
    的头像 发表于 03-01 16:32 ?2108次阅读

    函数调用时底层会发生什么

    如果你懂得用箱子打包东西,你就能明白函数调用是怎么回事。 原来,在程序运行时每个被调用函数都有自己的
    的头像 发表于 02-17 14:47 ?941次阅读
    <b class='flag-5'>函数</b><b class='flag-5'>调用时</b>底层会发生什么

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

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

    PLC FB函数和FB函数如何调用

    对于很多接触到SIMATIC系列PLC的新手玩家来说,例如在S7-1200或者S7-1500中,最常见的三个函数:FC、FB、DB,该如何调用是不太清楚的,包括小文在刚接触这个行业也还是个小白的时候,也不太明白,那时候觉得,只
    发表于 05-24 09:22 ?3544次阅读
    PLC FB<b class='flag-5'>函数</b><b class='flag-5'>块</b>和FB<b class='flag-5'>函数</b>如何<b class='flag-5'>调用</b>?

    SCL中调用函数的示例

    在此,可插入函数 (FC) 调用函数 (FB) 调用函数
    的头像 发表于 06-06 10:18 ?2961次阅读

    Freelance函数和功能使用指南 V9.1

    函数 在执行过程中,函数返回个确定的数据,函数不含状态信息。当
    发表于 08-09 15:25 ?2次下载

    调用SCL函数-事例

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