有时客户想把子程序名以变量的方式在主程序中调用,怎么实现呢?本期我们就来介绍一下字符串的链接指令,它可以帮助我们解答前面的问题。这个指令功能可使单个的字符串组合在一起,通过运算符“<<”实现级联,这个运算符适用于所有基本类型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 浅谈西门子程序结束指令
006 功能介绍:外部子程序调用
007 事件触发的子程序
008 西门子测量宏程序编程示例
感谢关注!微信号:Siemens_CNC_TAC
问答社区 发起问答 报警查询 技术文章 维修服务 资料下载 加交流群 申请 VIP
本文转载来自【公众号:Siemens数控技术应用】,仅供大家学习交流,如侵权请联系站长删文。