监控计算机可以对各光电靶进行以下2种操作:查询光电靶工作是否正常;回信确认已经收到光电靶的检测数据。监控计算机每隔固定时间就进行一次查询光电靶工作是否正常的操作,确保光电靶在线并且工作正常。当监控计算机收到光电靶的击中信息后,向光电靶回信确认已经收到检测数据,然后光电靶的通信板删除击中点坐标控制工程网版权所有,避免通信过程中数据丢失的情况,确保通信的可靠性。
光电靶需要向监控计算机发送以下3种内容的数据:本靶的板子工作均正常且未被击中;打中信号与击中点横纵坐标;出错信号和出错板的板号。程序流程图如图4所示。
在CAN的技术规范中,规定了CAN在数据链路层和物理层上的标准,用户在设计通信软件时,必须线根据需求设计合适的CAN总线通信协议,才能完成准确可靠的传输。在本系统中,根据需要制订通讯协议如下:
addr+cmnd+data…+data+chkxor;
其中:addr——发送方的地址编码;
cmnd——命令码;
data——数据;
chkxor——异或校验码;
在本系统中,数据区只有发送方地址编码,没有接收方地址编码,这是由本系统的特点决定的。各光电靶只需要与监控计算机通讯,相互之间没有联系,所以监控计算机接收总线上的所有信息,其他各节点通过各自验收滤波器过滤无用信息。
3.2 系统检测与485通讯部分软件设计
光电靶上的通讯板与检测板通过485总线以主从方式通讯,通讯板为主机,检测板为从机,二者以查询方式联系。通讯板与检测板通讯框图如图5所示。
系统初始化完毕后
,通讯板首先查询一块检测板的状态,检测板受到查询信息后,将击中点坐标送回通讯板,若没有被击中,则回应信号,表示自己工作正常且没有被击中。通讯板收到检测板回应信号后,先分析信息类型,如果回应信号表明检测板工作正常且没有被击中,则通讯板直接查询下一检测板。如果回应信号为击中点坐标,则通讯板此基础上查询其他检测板,统一计算打中区域的中心点坐标并送到上位机。若通讯板在发出查询信号100ms后仍没有收到这块检测板的回应,表示这块检测板工作出现错误,通讯板查询下一块检测板。
若一块检测板连续3次没有回应通讯板的查询信号,则通讯板向上位机发送信息说明这块检测板工作错误。
4 结束语
军用射击模拟训练系统已在实际训练中投入运行,运行结果表明本系统操作简单,实时性高,测量点准确,运行可靠,得到很好的训练效果,应用前景广泛。