西门子S7-300PLC子程序调用中的参数传递

   2024-09-11 建材之家290
核心提示:下面是我在西门子的一个资料里找到的有关FC的基本数据类型的参数传送机理的图: 下面是有关的文字说明:传递机理 随着调用指令CALL,STL/LAD/FBD编辑器首先根据参数列表中给出的实际参数,计算交叉区域指针,并在FC调用指令之后立即存贮这些指针。 此时,如果在该FC内部访问形式参数(比如:A On_1),CPU就根据存储在B堆栈中的返回地址确定该FC调用指令。然后根据相
下面是我在西门子的一个资料里找到的有关FC的基本数据类型的参数传送机理的图:

下面是有关的文字说明:
传递机理 
        随着调用指令CALL,STL/LAD/FBD编辑器首先根据参数列表中给出的实际参数,计算交叉区域指针,并在FC调用指令之后立即存贮这些指针。
  此时,如果在该FC内部访问形式参数(比如:A On_1),CPU就根据存储在B堆栈中的返回地址确定该FC调用指令。然后根据相关的参数列表,FC就可确定与形式参数对应的实际参数的交叉区域指针。于是,通过这个指针就实现了对实际参数的访问。
  这种传递机理与”按引用调用”相一致,如果在某一FC中访问了形式参数,那么,结果也访问了相应的实际参数。 .
  这种通过指针的访问机理要求:
  在FC调用中,所有的块参数都必须赋值。
  在参数声明里,不能对块参数进行初始化。
注意事项
        如果是用DB中的实际参数来对块参数进行赋值,或者传递的是复杂类型参数,那么,参数传递将变得更加复杂。
下面的文字来源于STEP7的FC的在线帮助:

  将实际参数分配给形式参数:
FC所使用的输入、输出以及输入/输出参数作为指针保存到调用FC的逻辑块的实际参数中。
通过地址(指针跨过区域边界指向目标)访问FC参数。当数据区(数据块)地址或调用块的局部变量用作实际参数时,实际参数的副本将临时保存到用于传送参数的调用块的本地数据区中。

 
【温馨提示】本文内容和观点为作者所有,本站只提供信息存储空间服务,如有涉嫌抄袭/侵权/违规内容请联系QQ:727533600 删除!
 
举报收藏 0打赏 0评论 0

上一篇:STEP7编程中对待模拟量的滤波使用

用STEP7编程,目的是测油田流量传感器的模拟量,但是流量传感器本身存在弊端,测出的值间歇性的会出现过大/小的冲击值,这对编程的范围的比较产生了极大的困扰,所以想插入使用某种滤波,此滤波可以消除偏离正常模拟量过大/小的检测值,并且此滤波如何使用答:分析一下冲击来自何方,较长的模拟量传输线路,自身的屏蔽,...

下一篇:西门子PLC的编程软件和程序结构

1. 西门子PLC编程软件 西门子公司针对SIMATIC系列PLC提供了很多种的编程软件,主要有STEP MICRO/DOS和STEP MICRO/WIN;STEP mini;标准软件包STEP7 S7系列的PLC的编程语言非常丰富,有LAD、STL、SCL、GRAPH、HIGRAPH、CFC等。用户可以选择一种语言编程,如果需要,也可以混合使用几种语言编程。
 
更多>同类电工资讯
推荐图文
推荐电工资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报