机床PMC通信编程
机床与巴鲁夫处理器通信采用对话式的协议序列,具体如下:1)PMC发送命令标识码、数据地址与字节数等,并置位输出缓冲区信号,通知处理器输出数据有效、传送作业启动;2)处理器接收到信号后置位AA信号;3)如果双方传送的数据超出14字节长,还需使用TI、TO位以及计数器完成附加数据的传送;4)处理器操作完成后将置位AE信号;5)PMC接受数据后将复位信号;6)后处理器复位AA、AE信号,准备后续作业的传送。其中、AA、AE、TI、TO等为输入输出缓冲区位头信号。1.3.1输入输出缓冲区位头信号定义通过读写输入输出缓冲区首尾字节位信号实现数据的传送控制。输入缓冲区的首尾字节位表示识别系统(BIS)的状态,输出缓冲区首尾字节位则用于命令控制。根据系统输入输出缓冲区的设定给出了位头信号的定义,如表1所示。1.3.2编码块数据读写例程本系统只使用编码块前10个字节存放数据,编码顺序为:具号,具直径,具长度,具直径磨损量,具长度磨损量,每个数据占用两个字节。读操作时,安装编码块的柄进入读写头识别区域时,系统自动读取具数据,并调用窗口功能将具数据写入偏表。写操作时,系统将PMC数据表中指定数据写入编码块,实现具数据的 更新。柄编码块数据的读、写控制均通过PMC编程实现。1)读取编码块数据基于机床与处理器的通信时序要求,读控制流程如下:(1)将机床面板上的闲置按键(例:X0.6)定义为读操作切换键,在识别系统就绪时按下该键,使保持型继电器K11.0置位,K11.1复位,系统处于读使能状态;(2)判断输入缓冲区首尾字节是否一致,一致时将内部继电器10.0置位;(3)编码块出现在读写头识别区时,发送读命令码0x01→01,0x00→编码块数据低位开始地址02,0x00→编码块数据高位开始地址03,0x0a→编码块数据低位字节数04,0x00→编码块数据高位字节数05;同时置位输出缓冲区位头信号、2;(4)当AE信号置位时,将输入信号传送至数据表(如图3所示);
(5)置位读操作结束信号10.5;(6)调用窗口功能指令WINDW,将数据写入偏表。图3给出了部分输入信号的传送过程。程序执行结果将输入缓冲区R1001~R1002数据直接传送至数据寄存器D206~D207,而缓冲区R1003~R1004数据经中间变量D400乘1000后传送至D210~D213。在调用窗口功能指令前,需定义写入偏的数据表。以写入具直径为例,新增数据表的首地址为D200,如图4(a)所示,数据构成如图4(b)所示。写入具几何直径偏置值的功能代码为14,结束代码无需设定;考虑到应用数据表写入偏量的单位为微米,数据长度需占用4字节。偏置号为读取的具号(10);偏置类型设为1时,表示写入具直径值。窗口指令执行后,数据写入偏表。2)写入编码块数据与读编码块数据相比,写操作无需调用PMC窗口功能,但在数据传送中需要调用TI信号,其控制流程如下:(1)将机床面板上的+X、-X手动按键同时按下时定义为写操作控制键,目的使K11.0复位、K11.1置位,系统处于写使能状态;(2)接着判断输入缓冲区首尾字节是否一致,一致时内部继电器10.1接通;(3)编码块出现在读写头识别区时,发送写命令码0x02→01,0x00→编码块数据低位开始地址02,0x00→编码块数据高位开始地址03,0x0a→编码块数据低位字节数04,0x00→编码块数据高位字节数05;同时置位输出缓冲区位头信号、2;(4)AA状态位为1时,将预置数据表(例如D300)开始的具号、直径值、长度等传送至输出缓冲区;(5)取反TI信号位,数据输出启动;(6)查询处理器命令完成信号AE,AE为1时复位信号,数据传送结束。