(6)普通报文接收任务:套接字映射实体侦听来自EPA网络的报文并根据需要调用相应的应用层服务处理报文,设为每100ms执行一次。
(7)时钟同步任务:独立接收与发送时间同步报文,以确保设备时间与网络时间的同步。由于主时钟发送Sync报文周期为2秒一次,所以其优先级可以低于时间调度任务,设为每2秒执行一次。
(8)串口通信任务:与电动执行器进行周期性的串口通信,根据电动执行器的物理特性,通信频率设为每秒2次,其通信方法在后文中介绍。
各任务之间采用全局变量或者消息机制进行通信,以完成任务状态机的变化。任务堆栈则根据各任务的实际需要分配,这里不再详述。
5. 测试
为了测试通信协议的实现,使用通信卡的RS-232串口与某型电动执行器的异步串行通信接口相连,形成一个EPA现场设备。EPA通信卡接收来自EPA网络的阀位指令并通过串行口传送给电动执行器,电动执行器接到阀位指令后向网板发出应答帧,双方各自一收一发完成一个周期的通信。通信中网板是主节点,电动执行器为从节点,每周期通信均是由通信卡发起,电动执行器响应。
通过EPA网桥将该设备加入EPA网络进行测试,经过专家组的验收,该实验系统成功通过了一致性测试、互可操作性测试等服务测试,时钟同步精度也达到了毫秒级,基本上实现了EPA通信卡的功能。
6. 结束语
系统实时性要求越高,对硬件的要求也越高,如果要求时钟同步精度和通信调度发送报文的时间精度达到实际应用的水平,并且进一步提高EPA设备通信的可靠性,则需要采用硬件实现的方法,即开发EPA专用通信芯片,在芯片级实现通信协议,预计EPA芯片很快会面世。相信在众多研究机构与厂商的共同努力下,EPA的推广应用将会取得丰硕的成果。
本文作者创新点:针对EPA通信协议提出了一种新的实现方法,此方法基于μC/OS-II嵌入式操作系统,用多任务的方式实现了各个协议实体及其调度。