字串函數

應用

字串函數允許您使用QS參數定義並處理字串(例如為了用FN 16: F-PRINT建立變數日誌)。在計算中,字串代表字元的字母數字順序。

功能說明

您最多可指定255個字元給QS參數

QS參數之內允許下列字元:

  • 字元
  • 數字
  • 特殊字元,例如?
  • 控制字元,例如用於路徑的\
  • 空格

QS參數之值可用公式Q/QL/QR字串公式QS NC函數來處理或檢查。

語法

NC函數

較高階NC函數

DECLARE STRING

指派一字母數字值給QS參數

指派字母數字值給QS參數

STRING FORMULA

串接QS參數的內容並指派給QS參數

字母數字值串接

字串公式QS

TONUMB

QS參數的文字數字值轉換成數值,並指派給Q、QL或QR參數

將文字數字值轉換成數值

公式Q/QL/QR

TOCHAR

將數值轉換為文字數字值並指派給QS參數

將數值轉換成文字數字值

字串公式QS

SUBSTR

複製來自QS參數的子字串並指派給QS參數

複製來自QS參數的子字串

字串公式QS

SYSSTR

讀取系統資料並將內容指派給QS參數

使用SYSSTR讀取系統資料

字串公式QS

INSTR

搜尋QS參數內的子字串,並將獲取的字元指派給Q、QL或QS參數

搜尋QS參數內容之內的子字串

公式Q/QL/QR

STRLEN

確定QS參數的字串長度,並指派給Q、QL或QR參數

確定QS參數內容中的字元數

公式Q/QL/QR

STRCOMP

以升序比較QS參數,並將結果指派給Q、QL或QR參數

比較兩字母數字字串的語法順序

公式Q/QL/QR

CFGREAD

讀取機械參數的內容並指派給QS參數

接受工具機參數的內容

  • 字串公式QS
  • 公式Q/QL/QR

控制器提供下列輸入公式的選項:

使用SYSSTR讀取系統資料

您可使用SYSSTR NC函數讀取系統資料,並將內容儲存在QS參數內。藉由群組編號(ID)和號碼(NR)來選擇系統工件原點。

選擇性,可輸入IDXDAT

您可讀取以下系統資料:

群組名稱,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

  • 1: D.MM.YYYY h:mm:ss
  • 2: D.MM.YYYY h:mm
  • 3: D.MM.YY hh:mm
  • 4: YYYY-MM-DD hh:mm:ss
  • 5: YYYY-MM-DD hh:mm
  • 6: YYYY-MM-DD h:mm
  • 7: YY-MM-DD h:mm
  • 8: DD.MM.YYYY
  • 9: D.MM.YYYY
  • 10: D.MM.YY
  • 11: YYYY-MM-DD
  • 12: YY-MM-DD
  • 13: hh:mm:ss
  • 14: h:mm:ss
  • 15: h:mm
  • 16: DD.MM.YYYY hh:mm
  • 20:XX
  • "XX"代表當前日曆週的兩位數字,根據ISO 8601,其特徵如下:

    • 包含七天
    • 從星期一開始
    • 依序編號
    • 第一個日曆週(第01週)是公曆年的第一個星期四。

接觸式探針資料,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

屬性

工具機參數名稱

索引

機械參數的清單索引

清單索引可選擇性指定

 
Tip

您可在機械參數的組態編輯器中更改現有參數的顯示。依照預設,參數以簡短、易懂的文字來顯示。

每次要用CFGREAD NC函數讀取機械參數時,必須先用屬性、本質與按鍵定義QS參數

接受工具機參數的內容

指派字母數字值給QS參數

在使用並處理字母數字值之前,需要指派字元給QS參數。使用宣告字串命令來進行。

若要指派字母數字值給QS參數

    1. 選擇插入 NC函數
    2. 控制器開啟插入NC函數視窗。

    1. 選擇DECLARE STRING
    2. 定義QS參數給結果
    3. 選擇名稱
    4. 輸入所要的值
    5. 結束NC單節

    1. 執行NC單節
    2. 控制器將輸入值儲存在目標參數內。

    在此範例中,控制器指派文字數字值給QS參數 QS10

    此使用手冊內含的NC程式為解決方案的建議程式,該等NC程式或個別NC單節在用於工具機之前,必須經過調整。

    依需要變更以下內容:

    • 刀具
    • 切削參數
    • 進給速率
    • 淨空高度或安全位置
    • 工具機專屬位置,例如用M91
    • 義程式呼叫路徑

    一些NC程式取決於工具機座標結構配置。在第一次程式模擬之前,針對您的工具機座標結構配置調整NC程式

    此外,在實際程式運行之前,使用模擬來測試NC程式

     
    Tip

    運用程式測試確定NC程式是否可與可用的軟體選項、有效的工具機座標結構配置和當前的工具機組態一起使用。

    11 DECLARE STRING QS10 = "workpiece"

    ; 指派字母數字值給QS10

    字母數字值串接

    您可使用||串接運算元串接多個QS參數的內容,這讓您組合固定與可變文字數字值。

    若要串接多個QS參數的內容:

      1. 選擇插入 NC函數
      2. 控制器開啟插入NC函數視窗。

      1. 選擇字串公式 QS
      2. 定義QS參數給結果

      1. 確認輸入

      1. 按下退格鍵
      2. 控制器刪除引號。

      1. 選擇QS
      2. 輸入變數編號

      1. 按下空白鍵
      2. 控制器顯示當前可用的語法元件。

      1. 選擇連接運算元||

      1. 選擇QS
      2. 輸入變數編號

      1. 結束NC單節
      2. 控制器在依照目標參數內字母數字值連續執行之後儲存子字串。

      在此範例中,控制器串接QS參數 QS12QS13的內容。文字數字值已指派給QS參數 QS10

      此使用手冊內含的NC程式為解決方案的建議程式,該等NC程式或個別NC單節在用於工具機之前,必須經過調整。

      依需要變更以下內容:

      • 刀具
      • 切削參數
      • 進給速率
      • 淨空高度或安全位置
      • 工具機專屬位置,例如用M91
      • 義程式呼叫路徑

      一些NC程式取決於工具機座標結構配置。在第一次程式模擬之前,針對您的工具機座標結構配置調整NC程式

      此外,在實際程式運行之前,使用模擬來測試NC程式

       
      Tip

      運用程式測試確定NC程式是否可與可用的軟體選項、有效的工具機座標結構配置和當前的工具機組態一起使用。

      11 QS10 = QS12 || QS13

      ; 串接QS12QS13的內容並指派給QS參數 QS10

      參數內容:

      • QS12狀態:
      • QS13廢棄
      • QS10狀態:廢棄

      將文字數字值轉換成數值

      您可使用TONUMB NC函數,將來自QS參數的數字字元專門儲存為不同的變數類型。然後,您可在計算中使用這些值。

      在此範例中,控制器將QS參數 QS11的文字數字值轉換成數值。此值已指派給QS參數 Q82

      此使用手冊內含的NC程式為解決方案的建議程式,該等NC程式或個別NC單節在用於工具機之前,必須經過調整。

      依需要變更以下內容:

      • 刀具
      • 切削參數
      • 進給速率
      • 淨空高度或安全位置
      • 工具機專屬位置,例如用M91
      • 義程式呼叫路徑

      一些NC程式取決於工具機座標結構配置。在第一次程式模擬之前,針對您的工具機座標結構配置調整NC程式

      此外,在實際程式運行之前,使用模擬來測試NC程式

       
      Tip

      運用程式測試確定NC程式是否可與可用的軟體選項、有效的工具機座標結構配置和當前的工具機組態一起使用。

      11 Q82 = TONUMB ( SRC_QS11 )

      ; 將來自QS11的文字數字值轉換成數值並指派給Q82

      將數值轉換成文字數字值

      您可使用TOCHAR NC函數將變數內容儲存至QS參數。例如,儲存的內容可與其他QS參數串接。

      在此範例中,控制器將QS參數 Q50的數值轉換成文字數字值。控制器將此值指派給QS參數 QS11

      此使用手冊內含的NC程式為解決方案的建議程式,該等NC程式或個別NC單節在用於工具機之前,必須經過調整。

      依需要變更以下內容:

      • 刀具
      • 切削參數
      • 進給速率
      • 淨空高度或安全位置
      • 工具機專屬位置,例如用M91
      • 義程式呼叫路徑

      一些NC程式取決於工具機座標結構配置。在第一次程式模擬之前,針對您的工具機座標結構配置調整NC程式

      此外,在實際程式運行之前,使用模擬來測試NC程式

       
      Tip

      運用程式測試確定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程式

       
      Tip

      運用程式測試確定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程式

       
      Tip

      運用程式測試確定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程式

       
      Tip

      運用程式測試確定NC程式是否可與可用的軟體選項、有效的工具機座標結構配置和當前的工具機組態一起使用。

      11 Q52 = STRLEN ( SRC_QS15 )

      ; 確定QS15內字元數並指派給Q52

      比較兩字母數字字串的語法順序

      您可使用STRCOMP NC函數,比較兩QS參數的內容之語法順序。

      控制器傳回以下的結果:

      • 0:兩參數的內容一致
      • -1:在語法順序中,第一QS參數的內容在第二QS參數的內容之前
      • +1:在語法順序中,第一QS參數的內容在第二QS參數的內容之後

      語法順序如下:

      1. 特殊字元(例如?_)
      2. 數字(例如123)
      3. 大寫字母(例如ABC)
      4. 小寫字母(例如abc)
       
      Tip

      從第一字元開始,控制器執行直到QS參數的內容彼此不同,如果內容從例如第四位元開始不同,則控制器放棄此點上的檢查。

      具有一致字串的較短內容顯示在順序開頭(例如abcabcd之前)。

      在此範例中,控制器比較QS12QS14的語法順序。結果已指派給QS參數 Q52當成數值。

      此使用手冊內含的NC程式為解決方案的建議程式,該等NC程式或個別NC單節在用於工具機之前,必須經過調整。

      依需要變更以下內容:

      • 刀具
      • 切削參數
      • 進給速率
      • 淨空高度或安全位置
      • 工具機專屬位置,例如用M91
      • 義程式呼叫路徑

      一些NC程式取決於工具機座標結構配置。在第一次程式模擬之前,針對您的工具機座標結構配置調整NC程式

      此外,在實際程式運行之前,使用模擬來測試NC程式

       
      Tip

      運用程式測試確定NC程式是否可與可用的軟體選項、有效的工具機座標結構配置和當前的工具機組態一起使用。

      11 Q52 = STRCOMP ( SRC_QS12 SEA_QS14 )

      ; 比較QS12QS14之值的語法順序

      接受工具機參數的內容

      根據機械參數的內容,可使用CFGREAD NC函數將文字數字值接管到QS參數,或將樹直接管到Q、QL或QR參數

      在此範例中,控制器將來自pocketOverlap機械參數的疊加係數儲存為Q參數內的數值。

      工具機參數內指定的設定:

      • ChannelSettings
      • CH_NC
        • CfgGeoCycle
          • pocketOverlap

      此使用手冊內含的NC程式為解決方案的建議程式,該等NC程式或個別NC單節在用於工具機之前,必須經過調整。

      依需要變更以下內容:

      • 刀具
      • 切削參數
      • 進給速率
      • 淨空高度或安全位置
      • 工具機專屬位置,例如用M91
      • 義程式呼叫路徑

      一些NC程式取決於工具機座標結構配置。在第一次程式模擬之前,針對您的工具機座標結構配置調整NC程式

      此外,在實際程式運行之前,使用模擬來測試NC程式

       
      Tip

      運用程式測試確定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: 工具機參數索引

      使用CFGREAD讀取機械參數

      備註

      如果使用字串公式QS NC函數,結果始終為文字數字值。如果使用公式Q/QL/QR NC函數,結果始終為數值。