首页 > 厂商资讯 > ARM9工控板在远程监控中的应用之五——串口设备的COM组件
ARM9工控板在远程监控中的应用之五——串口设备的COM组件
来源:英创信息技术有限公司   时间:2009-09-29

文章来源:http://www.emtronix.com/article/article2009301.html

     英创公司的ARM9工控主板产品均预装了Windows CE5.0操作系统,支持包括EVC、C#、VB、LabView等多种开发工具。作为工业控制领域的嵌入模块,客户的应用程序往往对系统的底层调用较多,相对于其它语言,C++具有强大的硬件控制能力和很高执行效率,因此我们提供的示例程序和软件方面的技术支持均集中在C++方面。而C#、.net VB等在图型界面开发、数据库方面的应用和易用性方面更具优势,我们很多客户也选用他们作为开发工具。为了结合各语言的优势,为了对客户提供更好的支持,我们将与主板密切相关的一些底层功能模块封装成COM组件,用户可以使用自己喜欢的语言来调用COM组件,不必关心低层调用的细节,而COM组件本身则采用C++来编写。本文将介绍基于英创工控主板串口应用的COM组件和组件调用方法。

一、创建串口应用COM组件

      串口通讯在工业控制场合应用十分广泛,当串口作为RS485通信应用时,很多场合下,需要通过硬件RTS信号来控制数据收发的方向,以提高抗干扰能力。在C#这一类的高级语言中,尽管也包括了串口控件,但缺乏对RTS硬件的操作,因此在RS485应用中受到一定的限制。为了弥补这一缺陷,在我们所设计的串口应用COM组件中,通过对串口DCB结构参数的设置,并结合英创ARM9主板低层的串口驱动程序,实现对RTS信号的完整控制。本串口组件采用C++编写,在组件内部对RTS进行设置,而上层的开发工具,如C#等,可通过向组件接口函数传递参数来控制RTS信号,从而最终实现RS485的半双工通讯。

      本串口COM组件提供四个接口方法函数:打开串口,关闭串口,向串口写数据,读串口数据。客户方调用COM组件打开串口后,COM组件服务器便在组件内部创建一数据接收线程,接收线程里通过WaitCommEvent来等待串口事件发生,当串口收到数据后,将数据放入指定的接收数据缓存中,客户方可调用读串口数据方法函数将缓存中的数据读出。在实际应用中,客户可在接收线程中加入自己特定的协议转换代码,使得通过组件读取的数据为一个完整应用报文。

      为了跨语言调用组件,接口方法函数参数数据均采用VARIANT数据类型,这样ASP、vbscript等可方便的进行组件调用,从而轻松实现通过网页对串口进行操作。

      COM组件的创建过程请参考本网站相关文章或参考相应书籍。这里不再赘述。

二、串口应用组件接口方法函数

      为了跨语言调用组件,组件接口方法函数参数数据均采用VARIANT数据类型。

[查看全文]

[技术咨询]

[资料下载]

[更多文章]

推荐厂商