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

电子说

1.3w人已加入

描述

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

plc

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

plc

plc

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

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

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

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

plc

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

plc

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

plc

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

plc

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

plc

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







审核编辑:刘清

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分