加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

TIAv17环境下再次学习练习STL-63块调用

(2024-02-08 12:12:39)
标签:

西门子

tia

stl编程

call调用块

分类: 西门子软硬件
继续学习STL编程,这一篇开始学习块调用。
CALL <逻辑块标识符>用于调用功能(FC)或功能块(FB)、系统功能(SFC)或系统功能块(SFB),或调用由 Siemens 提供的标准预编程的程序块。CALL 指令调用作为地址输入的 FC 和 SFC,或 FB 和 SFB,它与 RLO 或任何其它条件无关。如果使用 CALL 调用 FB 或 SFB,必须为块提供相关的背景数据块。在被调用块处理完成之后,调用块程序将继续逻辑处理。可以绝对方式或符号方式指定逻辑块的地址。在 SFB/SFC 调用结束之后,将恢复寄存器内容。
调用块可通过变量表与被调用块交换参数。在输入有效的 CALL 声明后,变量表将自动在 STL 程序中扩展。
如果调用 FB、SFB、FC 或 SFC,且被调用块的变量声明表具有 IN、OUT 和 IN_OUT 声明,这些变量将作为形式参数表被添加到调用块中。
当调用 FC 和 SFC 时,必须从调用逻辑块将实际参数分配给形式参数。
当调用 FB 和 SFB 时,必须仅指定那些必须由前一个调用更改的实际参数。在处理完 FB 之后,实际参数将被保存在背景数据块中。如果实际参数是数据块,必须指定完整的绝对地址,例如:DB1、DBW2。IN 参数可作为常数、绝对或符号地址来指定。而 OUT 和 IN_OUT 参数必须作为绝对或符号地址来指定。必须确保所有地址和常数符合要传送的数据类型。
CALL 保存返回地址(选择器和相对地址)、两个当前数据块的选择器以及 B (块)堆栈中的 MA 位。此外,CALL 将取消激活 MCR 依存关系,然后创建要传送的块的本地数据区。
TIAv17环境下再次学习练习STL-63块调用

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有