有時(shí)客戶想把子程序名以變量的方式在主程序中調(diào)用,怎么實(shí)現(xiàn)呢?本期我們就來(lái)介紹一下字符串的鏈接指令,它可以幫助我們解答前面的問(wèn)題。這個(gè)指令功能可使單個(gè)的字符串組合在一起,通過(guò)運(yùn)算符“<<”實(shí)現(xiàn)級(jí)聯(lián),這個(gè)運(yùn)算符適用于所有基本類型CHAR,BOOL,INT,REAL 和 STRING的組合,最終變成目標(biāo)類型字符串。 問(wèn)題舉例: 如下圖所示,系統(tǒng)中有AF1,AF2,AF3,3個(gè)子程序(注意:子程序名類似并且含有數(shù)字是為了方便使用變量調(diào)用),我們想在主程序中編寫(xiě)相同的內(nèi)容,但可以任意調(diào)用這個(gè)3個(gè)子程序,如何實(shí)現(xiàn)呢? 解決問(wèn)題思路: 在主程序中,我們使用西門子系統(tǒng)的宏變量R參數(shù)作為調(diào)用子程序的變量,比如使用R1變量,修改R1=1時(shí),調(diào)用AF1子程序;R1=2時(shí),調(diào)用AF2子程序;R1=3時(shí),調(diào)用AF3子程序。 解決問(wèn)題方法: 我們使用字符串的鏈接指令“<<”來(lái)實(shí)現(xiàn),主程序就可以編寫(xiě)如下: 主程序中將“字符AF”與”R1“,通過(guò)字符串的鏈接指令“<<”連接起來(lái),這時(shí),當(dāng)我們賦值R1=1時(shí),主程序中相當(dāng)于CALL AF1,調(diào)用名字為AF1子程序;如下圖: 依此類推,如果設(shè)置R1=2時(shí),調(diào)用AF2子程序;R1=3時(shí),調(diào)用AF3子程序。 相關(guān)內(nèi)容閱讀 001 子程序的花樣年華 004 淺談西門子程序結(jié)束指令 005 功能介紹:西門子子程序多次調(diào)用問(wèn)題 007 事件觸發(fā)的子程序 008 西門子測(cè)量宏程序編程示例 |
|
來(lái)自: LiuShouling > 《西門子》