字符串功能
功能说明
可将多达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数控功能才能保存刀具名。 |
运动特性,10290 | 10 | 在最后一个模式功能 NC数控功能中编程的运动特性 |
当前系统时间,10321 | 1至16,20 |
|
探测数据,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开头 | |
属性 | 机床参数名 | |
索引 | 机床参数的列表索引 可选指定列表索引 |
可在机床参数配置编辑器中调整现有参数的显示。默认情况下,显示简短、说明性文字的参数。
每次要用CFGREAD NC数控功能读取机床参数时,必须定义QS参数及其属性、实体和按键。
将字母数字值赋值给QS参数
可使用和可处理字母数字值前,必须将字符赋值给QS参数。为此,使用声明字符串(DECLARE STRING)指令。
将字母数字值赋值给QS参数: | ||
| ||
| ||
|
在此例中,数控系统将字母数字值赋值给QS参数 QS10。
11 DECLARE STRING QS10 = "workpiece" | ; 将字母数字值赋值给QS10 |
字母数字值的串联连接
可用||串联运算符连接多个QS参数的内容。可组合固定式和可变字母数字值。
串联连接多个QS参数的内容: | ||
| ||
| ||
| ||
| ||
|
在此例中,数控系统串联连接QS参数 QS12和QS13的内容。字母数字值被赋值给QS参数 QS10中。
11 QS10 = QS12 || QS13 | ; 串联连接QS12和QS13并将其赋值给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参数内容后
词序如下:
- 特殊字符(例如,?_)
- 数字(例如,123)
- 大写字母(例如,ABC)
- 小写字母(例如,abc)
从第一个字符开始,数控系统运行到QS参数内容相互间的不同处。例如,如果内容从第四位开始不同,数控系统在此处中止检查。
依次显示,首先显示相同字符串内容较短的字符串(例如,abc在abcd前)。
在此例中,数控系统比较QS12与QS14的词序。结果用作数字值赋值给Q参数 Q52。
11 Q52 = STRCOMP ( SRC_QS12 SEA_QS14 ) | ; 比较QS12与QS14内容的词序 |
接受机床参数的内容
根据机床参数的内容,可用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:机床参数的索引
注意
如果使用字符串公式QS NC数控功能,结果只能是字母数字值。如果使用字符串公式Q/QL/QR NC数控功能,结果只能是数字值。