3.16文件读写功能
功能:
在某些情况下,我们在执行数控程序的过程中,需要将变量中的信息(包括字符串和数值)写入某个文件,或读取某个文件并将文件中的信息赋给变量。最常见的情况是在使用测头对工件进行测量时,可能需要将测量的结果自动记录在文件中,并导出进行进一步的分析。为此,开发了文件读写功能指令,通过执行这些指令,实现对文件的读写操作。
将数据添加到指定文件的末尾一行。
编程:
WRITE(FILENAME,DATA)
参数:
FILENAME |
STRING |
需要写入的文件名称 |
DATA |
STRING |
需要写入的内容 |
说明:
系统指定了一个目录,作为通过译码进行文件读写操作的专用目录(以下简称专用目录),所有的文件读写删除操作默认在这个专用目录中进行。该专用目录确定为program目录下的data子目录。
参数FILENAME可以仅赋值文件名称,也可以赋值文件路径+文件名称。当仅赋值文件名称时,则目标文件在专用目录下;当赋值文件路径+文件名称时,则目标文件存放位置根据文件路径指定。
当由WRITE指令指定的文件在相应的目录下不存在时,则新建该文件,并从第一行开始写入数据。若文件已经存在,那么将DATA中的字符串写入文件的最后一行。
示例:
DEF STRING FILE, TEXT ;定义字符串变量FILE,TEXT
FILE= “record.txt”
TEXT= “i5CNC”
WRITE(FILE,TEXT) ;赋值文件名
WRITE(“/V1/record1.txt”, “SYMG”) ;赋值文件路径+文件名称,对指令参数的赋值不通过变量,直接赋值。
在指定文件中读取一行信息,并且将所读取的信息保存在一个字符串(STRING)型变量或数组中。
编程格式:
READ(FILENAME,LINE,VAR)
参数:
FILENAME |
STRING |
需要读取的文件名称 |
LINE |
INT |
需要读取的文件中行的行号 |
DATA |
STRING |
用于存放读取信息的字符串类型的变量(或数组) |
说明:
这里参数FILENAME意义与WRITE指令中的参数FILENAME相同。
示例:
DEF STRING FILE, TEXT, TG[10] ;定义字符串变量FILE,TEXT与数组TG
DEF INT LN ;定义整数变量LN
FILE= “record.txt”
LN=5
READ (FILE, LN, TEXT) ;读取FILE文件第5行内容,并将该内容赋给TEXT
READ (“/V1/record1.txt”, 3, TG[2]) ;赋值文件路径+文件名称,对指令参数的赋值不通过变量,直接赋值。
删除指定的文件。
编程:
DELETE(FILENAME)
参数:
FILENAME |
STRING |
需要删除的文件名称 |
说明:
这里参数FILENAME意义与WRITE指令中的参数FILENAME相同。
示例:
DEF STRING FILE
FILE= “record.txt”
DELETE (FILE)
DELETE (“/V1/record1.txt”)
编程格式:
STR1+STR2
说明:
在同一个表达式中允许多个字符串相连。例如:STR=STR1+STR2+STR3。
字符串连接符“+”既可以将两个字符串相连,也可以将INT、REAL、BOOL、CHAR等其他类型的变量相连。注意:在用“+”相连接的表达式中,只要有一个变量(或常量)为字符串,系统会作为字符串相连处理,如果没有字符串变量(或常量),系统会作为普通加法运算处理。
示例:
DEF STRING ABB,ACC,AEE,FILE ;定义字符串变量ABB,ACC,AEE,FILE
DEF INT ADD ;定义整型变量ADD
ABB=“symg”
ACC=“I5”
ADD=“2017”
FILE=celiang
AEE=ABB+ACC+ADD ;将ABB,ACC,ADD的值相连,赋值给AEE
WRITE(FLIE,AEE) ;将AEE的值写入“celing”文件中