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

TIAv17环境下再次学习练习STL-66调用SFB

(2024-02-08 18:07:18)
标签:

西门子

tia

stl编程

调用sfb

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

实际做一个练习。
新建一个STL程序段,输入CALLSFB后,会自动列出可以调用的SFB列表
TIAv17环境下再次学习练习STL-66调用SFB
比如选择SEL,显示如下
TIAv17环境下再次学习练习STL-66调用SFB
选择???处,可以选择数据类型
TIAv17环境下再次学习练习STL-66调用SFB
选择INT类型,补充所有参数
TIAv17环境下再次学习练习STL-66调用SFB
编译下载
TIAv17环境下再次学习练习STL-66调用SFB

0

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

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

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

新浪公司 版权所有