响应数据到来时,数据会先保存在驱动程序的数据缓冲区中,而不会发生数据丢失的现象。但是对于实时响应要求很高系统来说就是有害的。这样最新到来的数据不能被应用程序及时处理,而被堆放到了缓冲区的后部等待前面的数据处理完成后才能被处理,降低系统的实时性。为了减少驱动程序数据缓冲区对系统实时性的影响,可以通过在串行通信的程序中加入对串行API函数 PurgeComm的调用来及时清除缓冲区的内容,以保证新到的数据及时被应用程序处理,提高通信的实时性。
3 总结
本文详细分析了在Windows CE下进行串行通信的特点,并设计了Windows CE与PLC进行串行通信的程序流程和通信格式。实现了通过串行通信连接的由Fx2n PLC与PC104模块组成的上下位机控制系统,整套系统已经成功的应用到了高档数控切纸机的电气和运动控制。产品经过了用户的长期检验和国家的技术鉴定,合作企业三年内已经取得近600多万元的经济效益。充分证明了整个系统结构的可行性和可靠性。并且可以通过借助Windows CE的可移植性和强大的网络功能以及PLC通用性等特点,把这种通过串行通信连接构成的上下位机结构方式应用推广到其它类似的机电一体化产品中的控制系统应用之中。
参考文献:
[1] Microsoft Corporation, Platform Builder for Windows CE 5.0 Help [OL], 2004.
[2] Douglas Boling, Programming Windows CE [M], 2001.
[3] Mitsubishi Electric Corporation, FX2n series Programmable Controller User's Manual [M], 2001.
[4] 田书峰,李欣.单片机与三菱PLC无协议串行通讯的实现[J],微计算机信息,2005,(10).[5] 陈向群,王雷等,Windows CE.NET 系统分析及实验教程[M],机械工业出版社,2002.
|