工业无线网络性能测试方法
3.1.2 数据处理程序的实现数据处理程序流程如图3所示。

当表Ⅰ(Ⅱ)完成256次测试后,测试程序会发送表Ⅰ(Ⅱ)测试完毕的信号量,数据处理程序获得该同步信号量,并对该表进行数据处理。
根据表中发送和接收的数据信息计算出丢包率,令牌循环时间、无线网络的流量和控制周期等参数。处理完成后清除表格中的数据,并保存处理结果到相应的数据区。
3.1.3 接口程序的实现
显示程序和触摸屏输入程序主要完成对测试结果的显示和用户的设置。上电后首先对硬件进行初始化,然后通过输入信息选择相应的显示信息,即:丢包率显示、流量显示、令牌循环时间显示、延时显示以及与其他用户交互的界面选择。上位机通信利用套接字中的socket〔 〕和Connect 〔 〕函数与上位机之间建立起可用的TCP连接,用Send 〔 〕和receive 〔 〕函数将测试结果告知计算机。
3.2 多任务调度的实现
测试装置的软件系统采VxWorks嵌入式实时操作系统。VxWorks实时操作系统提供的多任务机制中对任务的控制采用了优先级抢占和轮转调度机制,充分保证了可靠的实时性,使同样的硬件配置能满足更强的实时性要求,为应用开发留下更大的余地。
在主程序中设定系统时钟分辨率及任务调度方式,并创建twire、thandle、tclient、tdisplay和tserver共五个新任务。twire为无线节点任务,主要完成入网和发送接收数据、发送令牌等操作;thandle为性能测试结果的计算任务,将一次测试过程中的各项数据记录在列表中,计算得到性能指标值等;tclient为TCP客户端任务,主要利用socket和connect函数建立起可用的TCP连接,用send和,receive函数发送报文并接收对方响应,完成一次测试结果的上传;tdisPlay为显示和输入任务,用于对测试数据的显示和控制;tserver是Modbus/TCP服务器程序,完成Modbus/TCP 网络通信的功能。上述各任务并行运行,任务之间的通信采用信号量和消息的方式。
各任务之间分别采用semhandle、semclient、semdis-play这三种信号量进行通信。其中,semhandle信号量用来同步thandle与 tserver任务,即当Modbus/TCP服务器端接收完一组测试包后才能开启性能计算任务;semclient信号量用来同步thandle与tclient任务,当测试数据计算得出结果后才能通过客户端上传至上位机;semdispl叮用来同步thandle和tdisplay任务,即将thandie计算的数据结果同步显示在液晶屏上。
四、实验结果验
评论