[摘要]介绍了PH10回转体的指令系统和通信软件的设计方法,并提出了软件设计中应注意的几个问题。
关键词:PH10回转体 指令系统 软件设计
[Abstract] In this paper, the instruction system and the designing method of the communication software of PH10 proble system are presented. And several questions to which much attention should be paid in softerware designing are also proposed.
Keywords: PH10 probe head instruction system software design
PH10是英国RENISHAW公司生产的高精度回转测头系统。如图1所示,它由回转体PH10M、控制器PHC10、手动控制盒PH10D及其附件组成。在PH10系统中,PHC10是整个系统的核心,它负责接收MMC和PH10D的信号,驱动PH10M的回转,并将PH10M的运动状态和角度信息返回至MMC。对PH10M的转角控制有手动控制和测量机计算机(MMC)控制两种方式,手动控制通过PH10D来完成。PHC10和MMC之间的通信方式有两种:RS232通信和IEEE488通信。下面详细介绍PHC10的指令系统并以RS232通信方式为例分析软件设计方法。
图1 PH10回转测头系统的基本组成
1 PHC10的指令系统
PHC10的指令系统包括两大类:第一类是由MMC发送至PHC10的指令,第二类是由PHC10返回至MMC的指令。指令代码由大写英文字母和控制符组成,以ASCII的形式传送,所有指令都以<CR>作为结束符。
1.1 由MMC发送至PHC10的指令代码
①控制代码
控制代码由MMC发送至PHC10用来设置和改变PH10M的工作方式,包括‘M’、‘N’、‘S’和‘U’。其中‘M’为设置PHC10为手动方式,‘N’设置PHC10为自动方式,‘S’为请求PHC10返回当前状态,‘U’为在MMC发送角度代码给PHC10后,更新PH10M的角度。实际使用中,若不连接PH10D,PHC10默认方式为自动方式,连接PH10D时,在MMC第一次向PHC10发送角度代码(无效)之前为手动方式,发送一次角度代码之后系统自动设定为自动方式,若再次使用PH10D,必须先向PHC10发送‘M’代码。
②角度代码‘A’和‘B’。
其中‘A’设置A轴的回转角度,角度变化范围0°~105°,有效指令如:A90.0<CR>;‘B’为设置B轴的回转角度,角度变化范围-180°~180°,有效指令如:B-135.0<CR>。
1.2 由PHC10返回至MMC的指令代码
①控制代码XON和XOFF。
XON通知MMC,PHC10C处于备用状态,可以接收MMC的指令;XOFF通知MMC,PHC10在此之前接收到的信息无效或信息传输过程中出错而不能继续接收信息。通常,XOFF之后是产生错误的原因,如:<XOFF>I<CR>……<XON>,;‘I’表示PHC10接收到的角度无效,在XOFF之后间隔一段时间返回XON。
②确认代码
确认代码是PHC10接收到MMC的角度信息之后,根据信息的对错作出的反应,包括‘V’,‘E’,‘C’和‘I’,‘V’表示接收到的角度信息有效,’C‘表示串行数据传送格式不对‘I’表示接收到的角度值无效,‘E’表示接收到的代码无效。其中‘E’、‘C’和‘I’均以XOFF引导。
③状态代码
状态代码是未对PH10进行操作之前或者向PHC10发送更新代码‘U’之后,MMC请求PHC10返回的代码,包括‘H’、‘M’、‘O’、‘D’和‘F’。‘M’表示系统当前的状态为手动状态,‘H’表示PH10D没有连接,‘D’表示由于数据排列错误,‘O’表示有一个阻挡错误,‘F’表示由于受外力作用PH10M不能自锁。返回的代码是由上述代码引导的角度信息,如ODA67.5B30.0<CR>;如果没有上述情况发生,返回的代码中只包含A、B两轴的角度信息,如A97.5B-135.0<CR>。
2 通信软件设计
对PH10M的操作包括读取PH10M当前的角度信息和设置PH10M的回转角度。读取PH10当前的角度信息即为请求PHC10返回当前状态,其中包含A、B两轴的角度,如1.2中所述;设置PH10的回转角度分3个过程:首先请求PHC10返回当前状态,这个过程也是读取PH10M当前角度信息的过程;若状态允许,接下来向PHC10发送新的角度值,等PHC10确认角度值有效后,再向PHC10发送角度更新命令‘U’;最后请求PHC10返回当前状态,确定PH10M的回转是否正常。图2为查询方式设置PH10M回转角的软件流程。
图2 查询方式设置PH10M回转角的流程图
3 值得注意的几个问题
①在PH10M更新角度的过程中测量机不要移动,以免发生阻挡错误。
②在PHC10出现错误时测量机不要移动,因为此时过载检测无效而不能保护PH10M。
③当PHC10确认接收到的角度代码格式不对、代码无效或角度无效时分别返回‘E’、‘C’或‘I’至MMC。这3个代码均以XOFF引导,隔一段时间后返回XON,形如XOFF‘I’.....XON.因此MMC接收的确认代码为上述3种代码时,必须等待接收XON,否则,XON一值存在接收缓冲区中,影响后续通信。
④仅发送角度代码至PHC10并不能引起PH10M角度的改变,只有当PHC10确认接收到的角度代码有效后,MMC再发送角度更新代码‘U’至PHC10才能引起PH10M角度改变。
⑤MMC发送‘U’至PHC10后必须等待PH10M角度更新完成,并接收PHC10返回的XON。