有时客户想把子程序名以变量的方式在主程序中调用,怎么实现呢?本期我们就来介绍一下字符串的链接指令,它可以帮助我们解答前面的问题。这个指令功能可使单个的字符串组合在一起,通过运算符“<<”实现级联,这个运算符适用于所有基本类型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 西门子测量宏程序编程示例 |
|
来自: LiuShouling > 《西门子》