图9.2-1 PMC数据表的格式
1.数据存储形式
0iD-PMC/L和0iD-PMC分别有3000和10000字节的数据寄存器用来存储PMC程序中的用户数据,数据寄存器的数据一般以表格的形式保存,故又称数据表。
根据需要,数据存储器中的用户数据可以图9.2-1所示的二进制格式,或2位十进制(1字节BCD码)、4位十进制(2字节BCD码)、8位十进制(4字节BCD码)格式分组保存。用来定义数据表中的数据格式的PMC参数称为数据表控制参数。数据表控制参数需要通过CNC的MDI/LCD面板,在PMC的参数设定〖PMCPRM〗菜单下的数据表控制参数〖G.CONT〗栏设定,有关内容可以参见本书作者编写的《FANUC-0iD编程与操作》一书。数据表控制参数不可以在PMC程序中进行读写操作。
2.数据存储器的读写
数据存储器的内容既可通过MDI/LCD面板设定,也可利用PMC程序读写。
通过PMC程序进行的数据存储器的数据读写,可采用直接读写和表格检索、传送两种方式。在直接读写方式下,对于以二进制形式存储的位数据,在PMC程序中可通过图9.2-2a所示的梯形图,以触点的形式来读取其状态,或以线圈的形式写入状态。对于以字节、字或双字形式存储的十进制、16进制数据,则可通过图9.2-2b所示的传送指令,对其进行读写操作。
图9.2-2 数据存储器的数据直接读写
a)二进制位数据 b)十进制数据
3.数据检索
在PMC程序中,数据存储器也可用数据表的形式检索和读写。进行数据表操作时,数据存储器中的每一组数据被视作一个数据表,每组数据寄存器的起始地址称为表头地址。数据表中的数据按序号排列,表头的数据存储器序号为0;例如,对于有(n+1)个数据的数据表,其数据序号为0~n。
利用PMC的数据检索功能指令,可搜索数据表中是否存在某一数据,并输出这一数据在数据表中所存放的位置,指令的功能如图9.2-3所示。
在数据检索时,首先需要在检索指令中的定义“表头地址”参数,以便确定数据存储器的起始地址;例如,对于图9.2-3中数据表3,其表头地址为D100等。此外,还在检索指令中定义“数据表长度”参数,以便确定数据的检索范围;例如,对于图9.2-3中数据表3的检索,数据表长度参数应定义为100等。
需要检索的数据存储在检索数据存储器中(图9.2-3为R200),检索开始后,PMC将数据表内的数据依次与需要检索的数据(图9.2-3为5678)比较。如果发现有相同内容,则将该数据的序号(图9.2-3为1)输出到检索结果输出存储器中(图9.2-3为R100);如果数据不存在,则通过WRT=“1”输出错误信号。
图9.2-3 数据检索指令的功能
0iD-PMC可以使用的数据检索指令如下。
4.十进制数据检索(www.xing528.com)
十进制数据检索的PMC指令为DSCH(SUB17),该指令的全部参数均以十进制的形式指定,指令的编程格式如图9.2-4所示。
数据检索指令DSCH(SUB17)的控制条件如下。
BYT:数据格式选择。BYT=0检索数据为2位十进制数,BYT=1为4位十进制数。
RST:复位输入。RST=1时清除错误输出WRT。
ACT:数据检索启动输入。
图9.2-4 DSCH指令的编程格式
指令需要定义的参数如下。
数据表长度:以常数形式定义的数据表长度。
表头地址:指定数据表的数据存储器起始地址。
检索数据存储地址:指定需要检索的数据在PMC中的存储器地址。
检索结果输出存储地址:如检索数据在数据表中存在,则在该存储器将输出指定数据在的序号。如检索数据在数据表中不存在,则检索错误结果输出WRT为1,否则WRT为0。
5.二进制数据检索
二进制数据检索指令DSCHB(SUB34)的功能与十进制检索指令DSCH类似,指令的编程格式如图9.2-5所示。指令中的“数据格式”参数用来定义检索数据的长度,输入1、2、4分别代表1、2、4字节。
图9.2-5 DSCHB指令的编程格式
DSCHB指令和DSCH的编程要求有如下不同。
1)DSCHB指令中的全部数据均以二进制形式存储;例如,当数据格式定义为1、2、4字节时,数据表的长度、序号和数值的范围分别为1~255、1~32767和1~99999999。
2)数据表长度以存储器地址的形式定义,故在PMC程序中可根据要求改变。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。