1. 首页
  2. 技术文章

西门子如何通过更改变量来调用子程序?

有时客户想把子程序名以变量的方式在主程序中调用,怎么实现呢?本期我们就来介绍一下字符串的链接指令,它可以帮助我们解答前面的问题。这个指令功能可使单个的字符串组合在一起,通过运算符“<<”实现级联,这个运算符适用于所有基本类型CHAR,BOOL,INT,REAL 和 STRING的组合,最终变成目标类型字符串。

 

问题举例:

如下图所示,系统中有AF1,AF2,AF3,3个子程序(注意:子程序名类似并且含有数字是为了方便使用变量调用),我们想在主程序中编写相同的内容,但可以任意调用这个3个子程序,如何实现呢?

如何通过更改变量来调用子程序?

问题思路:

在主程序中,我们使用西门子系统的宏变量R参数作为调用子程序的变量,比如使用R1变量,修改R1=1时,调用AF1子程序;R1=2时,调用AF2子程序;R1=3时,调用AF3子程序。

决问题方法:

我们使用字符串的链接指令“<<”来实现,主程序就可以编写如下:

如何通过更改变量来调用子程序?

主程序中将“字符AF”与”R1“,通过字符串的链接指令“<<”连接起来,这时,当我们赋值R1=1时,主程序中相当于CALL AF1,调用名字为AF1子程序;如下图:

如何通过更改变量来调用子程序?

依此类推,如果设置R1=2时,调用AF2子程序;R1=3时,调用AF3子程序。

 

相关内容阅读

001 子程序的花样年华

002 带形参的子程序调用问题

003 基础知识:西门子NC程序名称

004 浅谈西门子程序结束指令

005 功能介绍:西门子子程序多次调用问题

006 功能介绍:外部子程序调用

007 事件触发的子程序

008 西门子测量宏程序编程示例

 

感谢关注!微信号:Siemens_CNC_TAC

 
问答社区  发起问答  报警查询  技术文章  维修服务  资料下载  加交流群  申请 VIP   

本文转载来自【公众号:Siemens数控技术应用】,仅供大家学习交流,如侵权请联系站长删文。

发表评论

登录后才能评论

联系我们

在线咨询:点击这里给我发消息

联系微信:QQ594673193

联系邮箱:594673193@qq.com

工作时间:08:00~20:00

QR code