1图形化流程配置
调试任务的流程采用格式化的Excel文档格式进行描述,如果在B/S浏览器中直接浏览,不具有直观性,为提高系统的使用性、友好性,采用流程图方式进行调试任务展示。将“任务”、“子任务”、“步骤”分别设置为三种不同类型的元素,当用户拖拽对应的图标到显示画布视图的时候,在显示画布中动态创建出该元素的对象,不同对象间存在父子关系,且同级对象之间可通过连接线的方式表示是否并发执行。
2网络通信技术
调试组长和调试工人终端同中心端指令集和数据流的交互是通过封装的通信服务来完成的。调试组长和工人通过发送指令请求分配给终端的调试任务,以及调试任务的指导性附件,调试组长和工人在终端上的操作会实时的通过通信服务返回给中心端,中心端可对调试过程进行实时的监控和指导。无线网络通信服务基于TCP/IP协议[3],TCP是一种面向链接的协议,为用户提供可靠的、全双工的字节流服务,具有确认、流控制、多路复用和同步等功能,适于数据传输。UDP协议则是面向无链接的,每个分组都携带完整的目的地址,各个分组在系统中独立传输,UDP不能保障分组的先后顺序,不进行分组出错的恢复和重传,因此不能保证传输的可靠性,但是,它提供高传输效率的数据报服务,适于实时的语音、图形传输、广播消息等网络传输。WinSock接口为进程间通信提供了一种新的手段,它不但用于同一机器中进程之间通信,而且支持网络通信功能。随着Window95的推出,WinSock已经被正式集成到了Windows系统中,同时包括了16位和32位的编程接口。在本平台基于TCP通信协议,采用WinSock接口进行数据的传输,通过定义标准的通信数据帧格式,保障了数据传输的完整性和有效性。基于TCP(面向连接)的socket编程的服务器端实现流程如下:1)创建套接字(socket)。2)将套接字绑定到一个本地地址和端口(bind)。3)将套接字设定为监听模式,准备接收客户情况(lis-ten)。4)等待客户请求到来:当请求到来后,接收连接请求,返回一个新的对应于此次连接的套接字(accept)。5)用返回的套接字和客户端进行通信(send/recv)。6)返回,等待另外一个客户请求。7)关闭套接字。基于TCP(面向连接)的socket编程的客户端实现流程如下:1)创建套接字(socket)。2)向服务器发送连接请求(connect)。3)和服务器进行通信(send/recv)。4)关闭套接字。
3多线程技术
在多终端调试任务的情况下,指令集和数据交换的过程会长时间占用一个线程,如果采用单线程,会使通信服务进入阻塞“死机”状态,不利于人机交互和数据通信,使用多线程通信技术,可以很好的解决这个问题。操作系统为每一个运行线程安排一定的CPU时间-时间片。系统通过一种循环的方式为线程提供时间片,线程在自己的时间内运行,因时间片相当短,因此给用户的感觉就好像多个线程时同时运行的一样。多线程共享同一个进程的地址控件,占用资源较少,同时,线程之间切换只需要改变执行环境,执行效率比较高。在本程序中主要通过CreateThread函数和TerminateTh-read函数分别对各个线程进行启用和禁止。
4结束语
本文描述了一种基于无线通信协议的动车组自动化调试平台的架构设计与实现方法,通过分析南车青岛四方机车车辆股份有限公司现在的动车组实际调试情况,提出平台的实际需求,并提出了解决这些问题的关键技术。
作者:王垚 陈常江 雷达 高鹏 刘剑 单位:南车青岛四方机车车辆股份有限公司技术工程部