字符串功能

应用

字符串函数可用QS参数定义字符串并进行处理(例如,用FN 16: F-PRINT功能创建变量日志)。在计算中,字符串是指字符的字母数字顺序。

功能说明

可将多达255个字符赋值给QS参数

QS参数内支持以下字符:

  • 字符
  • 编号
  • 特殊字符,例如?
  • 控制字符,例如表示路径的\
  • 空格

个别字符串功能可用自由指令输入功能编程。

编辑NC数控功能

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数控功能才能保存刀具名。

运动特性,10290

10

在最后一个模式功能 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.YY hh:mm
  • 20:XX
  • “XX”代表ISO 8601标准下的当前日历周号的二位数字,提供以下特点:

    • 由七天组成
    • 周一为周初
    • 顺序数字编号
    • 第一个日历周(01周)是格里高纪年法第一个星期四所在周。

探测数据,10350

50

当前TS工件测头的类型

70

TT刀具测头的类型

73

机床参数activeTT的当前TT工件测头名

托盘加工的数据,10510

1

加工的托盘名称

2

当前选定托盘表的路径

NC数控软件版本,10630

10

NC数控软件版本号

动平衡检测循环的信息,10855

1

动平衡校准表的路径

动平衡校准表是当前运动特性的一部分。

刀具数据,10950

1

当前刀具名

2

当前刀具的DOC表列内容

3

当前刀具的AFC控制设置

4

当前刀具的刀座运动特性

CFGREAD读取机床参数

可用CFGREAD NC数控功能读取数控系统的机床参数内容,可为数字值或字母数字值。读取的数字值的单位只能是公制单位。

要读取机床参数,需要在数控系统配置编辑器中确定以下内容:

图标

类型

含义

按键

机床参数组名

可选指定组名

实体

参数对象

此名必须以Cfg开头

属性

机床参数名

索引

机床参数的列表索引

可选指定列表索引

 
Tip

可在机床参数配置编辑器中调整现有参数的显示。默认情况下,显示简短、说明性文字的参数。

每次要用CFGREAD NC数控功能读取机床参数时,必须定义QS参数及其属性、实体和按键。

接受机床参数的内容

将字母数字值赋值给QS参数

可使用和可处理字母数字值前,必须将字符赋值给QS参数。为此,使用声明字符串(DECLARE STRING)指令。

将字母数字值赋值给QS参数

    1. 选择插入 NC功能
    2. 数控系统打开插入NC功能窗口。

    1. 选择声明字符串(DECLARE STRING
    2. 定义结果的QS参数
    3. 选择名称(Name
    4. 输入所需值
    5. 结束NC数控程序段

    1. 执行NC数控程序段
    2. 数控系统将输入的数据保存在目标参数中。

    在此例中,数控系统将字母数字值赋值给QS参数 QS10

    11 DECLARE STRING QS10 = "workpiece"

    ; 将字母数字值赋值给QS10

    字母数字值的串联连接

    可用||串联运算符连接多个QS参数的内容。可组合固定式和可变字母数字值。

    串联连接多个QS参数的内容:

      1. 选择插入 NC功能
      2. 数控系统打开插入NC功能窗口。

      1. 选择字符串公式 QS
      2. 定义结果的QS参数

      1. 打开公式输入的键盘

      1. 选择串联运算符||

      1. 在串联运算符的左侧定义含第一个子字符串的QS参数编号
      2. 在串联运算符的右侧定义含第二个子字符串的QS参数编号
      3. 结束NC数控程序段
      4. 确认输入
      5. 执行后,数控系统将子字符串用字母数字值依次保存在目标参数中。

      在此例中,数控系统串联连接QS参数 QS12QS13的内容。字母数字值被赋值给QS参数 QS10中。

      11 QS10 = QS12 || QS13

      ; 串联连接QS12QS13并将其赋值给QS参数 QS10

      参数内容:

      • QS12状态:
      • QS13废品
      • QS10状态:废品

      将字母数字值转换为数字值

      TONUMB NC数控功能仅将QS参数的数字字符保存为不同的变量类型。然后,可在计算中使用这些数据。

      在此例中,数控系统将QS参数 QS11的字母数字值转换为数字值。此值被赋值给Q参数 Q82

      11 Q82 = TONUMB ( SRC_QS11 )

      ; 将QS11字母数字值转换为数字值并将其赋值给Q82

      将数字值转换为字母数字值

      可用TOCHAR NC数控功能将变量的内容保存在QS参数中。例如,保存的内容可用其它QS参数串联连接在一起。

      在此例中,数控系统将Q参数 Q50的数字值转换为字母数字值。数控系统将此值赋值给QS参数 QS11

      11 QS11 = TOCHAR ( DAT+Q50 DECIMALS3 )

      ; 将Q50的数字值转换为字母数字值并将其赋值给QS参数 QS11

      复制QS参数的子字符串

      可用SUBSTR NC数控功能QS参数定义的子字符串保存到另一个QS参数中。例如,可用此NC数控功能从绝对文件路径中提取文件名。

      在此例中,数控系统将QS参数 QS10的子字符串保存到QS参数 QS13中。用BEG2指令元素定义数控系统忽略前两个字符并从第三个字符开始复制。可用LEN4指令元素定义数控系统复制后续四个字符。

      11 QS13 = SUBSTR ( SRC_QS10 BEG2 LEN4 )

      ; 将QS10的子字符串赋值给QS参数 QS13

      QS参数内容内搜索子字符串

      可用INSTR NC数控功能检查特定子字符串是否在QS参数内。例如,可确定多个QS参数是否成功串联连接。为了检查,必须指定两个QS参数。数控系统在第一个QS参数中搜索第二个QS参数的内容。

      如果找到子字符串,数控系统保存字符数直到运行到结果参数的子字符串引用。如果发现有多个,由于数控系统保存第一个,因此结果相同。

      如果为找到被搜索的子字符串,数控系统在结果参数中保存字符总数。

      在此例中,数控系统在QS参数 QS10中搜索QS13中保存的字符串。从第三个字符开始搜索。计算字符数时,数控系统从零开始。数控系统将出现次数赋值给Q参数 Q50,用作字符数。

      37 Q50 = INSTR ( SRC_QS10 SEA_QS13 BEG2 )

      ; 在QS10中搜索QS13的子字符串

      确定QS参数内容中的字符数

      STRLEN NC数控功能确定QS参数内容中的字符数。例如,可用此NC数控功能确定文件路径的长度。

      如果未定义选定的QS参数,数控系统返回-1值。

      在此例中,数控系统确定QS参数 QS15的字符数。字符数数字值被赋值给Q参数 Q52

      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的词序。结果用作数字值赋值给Q参数 Q52

      11 Q52 = STRCOMP ( SRC_QS12 SEA_QS14 )

      ; 比较QS12QS14内容的词序

      接受机床参数的内容

      根据机床参数的内容,可用CFGREAD NC数控功能将字母数字值接收到QS参数中或数字值接收到Q、QL或QR参数中。

      在此例中,数控系统将pocketOverlap机床参数的行距系数作为数字值保存在Q参数中。

      机床参数中指定的设置:

      • ChannelSettings
      • CH_NC
        • CfgGeoCycle
          • pocketOverlap

      举例

      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数控功能,结果只能是数字值。