字串函數
功能說明
您最多可指定255個字元給QS參數。
QS參數之內允許下列字元:
- 字元
- 數字
- 特殊字元,例如?
- 控制字元,例如用於路徑的\
- 空格
QS參數之值可用公式Q/QL/QR和字串公式QS NC函數來處理或檢查。
語法 | NC函數 | 較高階NC函數 |
---|---|---|
DECLARE STRING | 指派一字母數字值給QS參數 | |
STRING FORMULA | 串接QS參數的內容並指派給QS參數 | 字串公式QS |
TONUMB | 將QS參數的文字數字值轉換成數值,並指派給Q、QL或QR參數 | 公式Q/QL/QR |
TOCHAR | 將數值轉換為文字數字值並指派給QS參數 | 字串公式QS |
SUBSTR | 複製來自QS參數的子字串並指派給QS參數 | 字串公式QS |
SYSSTR | 讀取系統資料並將內容指派給QS參數 | 字串公式QS |
INSTR | 搜尋QS參數內的子字串,並將獲取的字元指派給Q、QL或QS參數 | 公式Q/QL/QR |
STRLEN | 確定QS參數的字串長度,並指派給Q、QL或QR參數 | 公式Q/QL/QR |
STRCOMP | 以升序比較QS參數,並將結果指派給Q、QL或QR參數 | 公式Q/QL/QR |
CFGREAD | 讀取機械參數的內容並指派給QS參數 |
|
控制器提供下列輸入公式的選項:
- 自動完成
- 用於從動作列或表單內輸入公式的彈出鍵盤
- 虛擬鍵盤的公式輸入模式
使用SYSSTR讀取系統資料
您可使用SYSSTR NC函數讀取系統資料,並將內容儲存在QS參數內。藉由群組編號(ID)和號碼(NR)來選擇系統工件原點。
選擇性,可輸入IDX和DAT。
您可讀取以下系統資料:
群組名稱,ID號碼 | 號碼 | 意義 |
---|---|---|
程式資訊,10010 | 1 | 目前主程式或工作台程式的路徑 |
2 | 目前執行的NC程式之路徑 | |
3 | 使用循環程式12 PGM CALL選取的NC程式路徑 | |
10 | 使用SEL PGM 選擇NC程式路徑 | |
通道資料,10025 | 1 | 目前通道的名稱(例如CH_NC) |
刀具呼叫內程式編輯的值,10060 | 1 | 目前的刀名 Tip 若刀具以經用其刀名呼叫,則NC函數只儲存刀名。 |
目前的系統時間,10321 | 1至16,20 |
|
接觸式探針資料,10350 | 50 | 主動式TS工件接觸式探針的類型 |
70 | 主動式TS刀具接觸式探針的類型 | |
73 | 主動式TS工件接觸式探針來自activeTT機械參數的名稱 | |
工作台加工的資料,10510 | 1 | 要加工的工作台名稱 |
2 | 目前選取的工作台資料表之路徑 | |
NC軟體版本,10630 | 10 | NC軟體版本編號 |
刀具資料,10950 | 1 | 目前的刀名 |
2 | 目前刀具的DOC欄之內容 | |
3 | 目前刀具的AFC控制設定 | |
4 | 目前刀具的刀具台車座標結構配置 |
使用CFGREAD讀取機械參數
您可使用CFGREAD NC函數讀取控制器的機械參數內容當成數字或文字值。顯示的數值總是以公制單位顯示。
若要讀取機械參數,必須在控制器的組態編輯器內確定以下內容:
圖示 | 類型 | 意義 |
---|---|---|
按鍵 | 機械參數的群組名稱 群組名稱可選擇性指定 | |
本質 | 參數物件 名稱總是屬於Cfg | |
屬性 | 工具機參數名稱 | |
索引 | 機械參數的清單索引 清單索引可選擇性指定 |
您可在機械參數的組態編輯器中更改現有參數的顯示。依照預設,參數以簡短、易懂的文字來顯示。
每次要用CFGREAD NC函數讀取機械參數時,必須先用屬性、本質與按鍵定義QS參數。
指派字母數字值給QS參數
在使用並處理字母數字值之前,需要指派字元給QS參數。使用宣告字串命令來進行。
若要指派字母數字值給QS參數: | ||
| ||
| ||
|
在此範例中,控制器指派文字數字值給QS參數 QS10。
此使用手冊內含的NC程式為解決方案的建議程式,該等NC程式或個別NC單節在用於工具機之前,必須經過調整。
依需要變更以下內容:
- 刀具
- 切削參數
- 進給速率
- 淨空高度或安全位置
- 工具機專屬位置,例如用M91
- 義程式呼叫路徑
一些NC程式取決於工具機座標結構配置。在第一次程式模擬之前,針對您的工具機座標結構配置調整NC程式。
此外,在實際程式運行之前,使用模擬來測試NC程式。
運用程式測試確定NC程式是否可與可用的軟體選項、有效的工具機座標結構配置和當前的工具機組態一起使用。
11 DECLARE STRING QS10 = "workpiece" | ; 指派字母數字值給QS10 |
字母數字值串接
您可使用||串接運算元串接多個QS參數的內容,這讓您組合固定與可變文字數字值。
若要串接多個QS參數的內容: | ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
在此範例中,控制器串接QS參數 QS12和QS13的內容。文字數字值已指派給QS參數 QS10。
此使用手冊內含的NC程式為解決方案的建議程式,該等NC程式或個別NC單節在用於工具機之前,必須經過調整。
依需要變更以下內容:
- 刀具
- 切削參數
- 進給速率
- 淨空高度或安全位置
- 工具機專屬位置,例如用M91
- 義程式呼叫路徑
一些NC程式取決於工具機座標結構配置。在第一次程式模擬之前,針對您的工具機座標結構配置調整NC程式。
此外,在實際程式運行之前,使用模擬來測試NC程式。
運用程式測試確定NC程式是否可與可用的軟體選項、有效的工具機座標結構配置和當前的工具機組態一起使用。
11 QS10 = QS12 || QS13 | ; 串接QS12和QS13的內容並指派給QS參數 QS10 |
參數內容:
- QS12:狀態:
- QS13:廢棄
- QS10:狀態:廢棄
將文字數字值轉換成數值
您可使用TONUMB NC函數,將來自QS參數的數字字元專門儲存為不同的變數類型。然後,您可在計算中使用這些值。
在此範例中,控制器將QS參數 QS11的文字數字值轉換成數值。此值已指派給QS參數 Q82。
此使用手冊內含的NC程式為解決方案的建議程式,該等NC程式或個別NC單節在用於工具機之前,必須經過調整。
依需要變更以下內容:
- 刀具
- 切削參數
- 進給速率
- 淨空高度或安全位置
- 工具機專屬位置,例如用M91
- 義程式呼叫路徑
一些NC程式取決於工具機座標結構配置。在第一次程式模擬之前,針對您的工具機座標結構配置調整NC程式。
此外,在實際程式運行之前,使用模擬來測試NC程式。
運用程式測試確定NC程式是否可與可用的軟體選項、有效的工具機座標結構配置和當前的工具機組態一起使用。
11 Q82 = TONUMB ( SRC_QS11 ) | ; 將來自QS11的文字數字值轉換成數值並指派給Q82 |
將數值轉換成文字數字值
您可使用TOCHAR NC函數將變數內容儲存至QS參數。例如,儲存的內容可與其他QS參數串接。
在此範例中,控制器將QS參數 Q50的數值轉換成文字數字值。控制器將此值指派給QS參數 QS11。
此使用手冊內含的NC程式為解決方案的建議程式,該等NC程式或個別NC單節在用於工具機之前,必須經過調整。
依需要變更以下內容:
- 刀具
- 切削參數
- 進給速率
- 淨空高度或安全位置
- 工具機專屬位置,例如用M91
- 義程式呼叫路徑
一些NC程式取決於工具機座標結構配置。在第一次程式模擬之前,針對您的工具機座標結構配置調整NC程式。
此外,在實際程式運行之前,使用模擬來測試NC程式。
運用程式測試確定NC程式是否可與可用的軟體選項、有效的工具機座標結構配置和當前的工具機組態一起使用。
11 QS11 = TOCHAR ( DAT+Q50 DECIMALS3 ) | ; 將來自Q50的數值轉換成文字數字值並指派給QS參數 QS11 |
複製來自QS參數的子字串
您可使用SUBSTR NC函數,將來自QS參數的已定義子字串儲存至另一個QS參數。例如,可使用此NC函數來從絕對檔案路徑擷取檔名。
在此範例中,控制器將QS參數 QS10的子字串儲存至QS參數 QS13。您可使用BEG2語法元件,定義控制器忽略頭兩個字元,從第三字元開始複製。您可使用LEN4語法元件,定義控制器複製再來四個字元。
此使用手冊內含的NC程式為解決方案的建議程式,該等NC程式或個別NC單節在用於工具機之前,必須經過調整。
依需要變更以下內容:
- 刀具
- 切削參數
- 進給速率
- 淨空高度或安全位置
- 工具機專屬位置,例如用M91
- 義程式呼叫路徑
一些NC程式取決於工具機座標結構配置。在第一次程式模擬之前,針對您的工具機座標結構配置調整NC程式。
此外,在實際程式運行之前,使用模擬來測試NC程式。
運用程式測試確定NC程式是否可與可用的軟體選項、有效的工具機座標結構配置和當前的工具機組態一起使用。
11 QS13 = SUBSTR ( SRC_QS10 BEG2 LEN4 ) | ; 指派來自QS10的子字串給QS參數 QS13 |
搜尋QS參數內容之內的子字串
您可使用INSTR NC函數檢查QS參數之內是否內含特定子字串。這讓您確定例如多個QS參數的串接是否成功。對於檢查,必須指示兩個QS參數。控制器在第一QS參數內搜尋第二QS參數的內容。
如果找到子字串,則控件儲存字元數,直到其到達結果參數內子字串的發生。如果發現多次出現,結果是相同的,因為控制器會儲存第一個。
如果找不到要搜索的子字串,則控制器將所有字元儲存到結果參數中。
在此範例中,控制器在QS參數 QS10內搜尋QS13內儲存的字串。搜尋從第三字元開始。當計數字元時,控制器從零開始。控制器將事件指派給Q參數 Q50當成字元數。
此使用手冊內含的NC程式為解決方案的建議程式,該等NC程式或個別NC單節在用於工具機之前,必須經過調整。
依需要變更以下內容:
- 刀具
- 切削參數
- 進給速率
- 淨空高度或安全位置
- 工具機專屬位置,例如用M91
- 義程式呼叫路徑
一些NC程式取決於工具機座標結構配置。在第一次程式模擬之前,針對您的工具機座標結構配置調整NC程式。
此外,在實際程式運行之前,使用模擬來測試NC程式。
運用程式測試確定NC程式是否可與可用的軟體選項、有效的工具機座標結構配置和當前的工具機組態一起使用。
37 Q50 = INSTR ( SRC_QS10 SEA_QS13 BEG2 ) | ; 搜尋QS10用於來自QS13的子字串 |
確定QS參數內容中的字元數
STRLEN NC函數確定QS參數內容內的字元數。運用此NC函數,例如可確定檔案路徑的長度。
若選取的QS參數尚未定義,則控制器回傳值-1。
在此範例中,控制器確定QS參數 QS15內的字元數。字元數的數值已指派給QS參數 Q52。
此使用手冊內含的NC程式為解決方案的建議程式,該等NC程式或個別NC單節在用於工具機之前,必須經過調整。
依需要變更以下內容:
- 刀具
- 切削參數
- 進給速率
- 淨空高度或安全位置
- 工具機專屬位置,例如用M91
- 義程式呼叫路徑
一些NC程式取決於工具機座標結構配置。在第一次程式模擬之前,針對您的工具機座標結構配置調整NC程式。
此外,在實際程式運行之前,使用模擬來測試NC程式。
運用程式測試確定NC程式是否可與可用的軟體選項、有效的工具機座標結構配置和當前的工具機組態一起使用。
11 Q52 = STRLEN ( SRC_QS15 ) | ; 確定QS15內字元數並指派給Q52 |
比較兩字母數字字串的語法順序
您可使用STRCOMP NC函數,比較兩QS參數的內容之語法順序。
控制器傳回以下的結果:
- 0:兩參數的內容一致
- -1:在語法順序中,第一QS參數的內容在第二QS參數的內容之前
- +1:在語法順序中,第一QS參數的內容在第二QS參數的內容之後
語法順序如下:
- 特殊字元(例如?_)
- 數字(例如123)
- 大寫字母(例如ABC)
- 小寫字母(例如abc)
從第一字元開始,控制器執行直到QS參數的內容彼此不同,如果內容從例如第四位元開始不同,則控制器放棄此點上的檢查。
具有一致字串的較短內容顯示在順序開頭(例如abc在abcd之前)。
在此範例中,控制器比較QS12和QS14的語法順序。結果已指派給QS參數 Q52當成數值。
此使用手冊內含的NC程式為解決方案的建議程式,該等NC程式或個別NC單節在用於工具機之前,必須經過調整。
依需要變更以下內容:
- 刀具
- 切削參數
- 進給速率
- 淨空高度或安全位置
- 工具機專屬位置,例如用M91
- 義程式呼叫路徑
一些NC程式取決於工具機座標結構配置。在第一次程式模擬之前,針對您的工具機座標結構配置調整NC程式。
此外,在實際程式運行之前,使用模擬來測試NC程式。
運用程式測試確定NC程式是否可與可用的軟體選項、有效的工具機座標結構配置和當前的工具機組態一起使用。
11 Q52 = STRCOMP ( SRC_QS12 SEA_QS14 ) | ; 比較QS12和QS14之值的語法順序 |
接受工具機參數的內容
根據機械參數的內容,可使用CFGREAD NC函數將文字數字值接管到QS參數,或將樹直接管到Q、QL或QR參數。
在此範例中,控制器將來自pocketOverlap機械參數的疊加係數儲存為Q參數內的數值。
工具機參數內指定的設定:
- ChannelSettings
- CH_NC
- CfgGeoCycle
- pocketOverlap
此使用手冊內含的NC程式為解決方案的建議程式,該等NC程式或個別NC單節在用於工具機之前,必須經過調整。
依需要變更以下內容:
- 刀具
- 切削參數
- 進給速率
- 淨空高度或安全位置
- 工具機專屬位置,例如用M91
- 義程式呼叫路徑
一些NC程式取決於工具機座標結構配置。在第一次程式模擬之前,針對您的工具機座標結構配置調整NC程式。
此外,在實際程式運行之前,使用模擬來測試NC程式。
運用程式測試確定NC程式是否可與可用的軟體選項、有效的工具機座標結構配置和當前的工具機組態一起使用。
11 QS11 = "CH_NC" | ; 指派按鍵給QS參數 QS11 |
12 QS12 = "CfgGeoCycle" | ; 指派輸入給QS參數 QS12 |
13 QS13 = "pocketOverlap" | ; 指派屬性給QS參數 QS13 |
14 Q50 = CFGREAD( KEY_QS11 TAG_QS12 ATR_QS13 ) | 讀取機械參數的內容 |
CFGREAD NC函數包括以下語法元件:
- KEY_QS: 工具機參數的群組名稱(按鍵)
- Tip
如果沒有可用的群組名稱,則為相應的QS參數定義空白值。
- TAG_QS: 工具機參數的物件名稱(本質)
- ATR_QS: 工具機參數名稱(屬性)
- IDX: 工具機參數索引
備註
如果使用字串公式QS NC函數,結果始終為文字數字值。如果使用公式Q/QL/QR NC函數,結果始終為數值。