力控组态软件下的设备驱动程序开发0高度计
发布时间:2022-09-30 00:56:56
力控组态软件下的设备驱动程序开发
力控组态软件下的设备驱动程序开发 2011年12月10日 来源: 1 引言 组态软件设备驱动程序用于提供了连接计算机硬件的软件接口,在装入后成为操作系统内核的—部分,也就是说它成为操作系统的信任部分。因此,任何设备驱动程序的细小错误都可能引起操作系统的崩溃,要避免这样的事情发生,只有反复测试所写的代码,遵循编写驱动程序的规则。 最简单的方法是购买现成的驱动程序来直接处理我们的设备,但这样的驱动程序存在连接与嵌入错误的风险。另外,可以通过修改各种商业通用驱动程序与许多简单的设备打交道。如果自己编写驱动程序的话,尽量使用某个标准的总线驱动程序或者类驱动程序,因为它们通常实现了我们所需要的大量功能。如果设备只有一个专门的用途,则为它编写一个单一驱动程序来处理所有设备的请求可能是最简单的解决方案。 三维力控组态软件提供了力控I/O驱动程序接口软件开发工具包FIOS SDK,FIOS SDK提供了标准的开发接口,开发人员仅需要根据I/O设备的具体通信协议或驱动接口说明,填写几个扫描函数的实现代码,进行必要的调试与测试,即可完成一种FIOS的开发。 2 课题背景 目前笔者接手的项目是X机场助航灯光计算机监控系统。当机场灯光实施II类运行时,其能见度在800m至400m之间,要求灯光设备可靠性高、故障少,但往往灯具在运行过程中产生故障是随机的,其故障率达到某一个值时,将不能满足II类运行要求[1>[2>。为保证监控系统运行的稳定性和可靠性,采用双机容错模式与力控工业控制组态软件相结合的方法,通过硬件冗余、软件组态的可靠设计、Visual C++与力控组态软件的结合,并以RS-485总线作为网络连接线,实现分布式的数据库配置,设计了基于力控组态环境的双机容错系统。开发此系统的任务之一,就是自主开发驱动程序,将自定义的通信协议写入驱动程序之中。而三维力控组态软件提供了I/O驱动程序接口开发工具包(FIOS SDK),因此,开发驱动的主要工作就是利用组态软件提供的接口函数和输入输出类库编写Ioapi中的代码,以达到I/O设备的控制要求[3>。由于此项目的开发在Visual C++ 6.0环境中进行,学习Windows WDM驱动程序设计对于深入理解内核态驱动程序开发、编写相应的接口程序也很有帮助。 3 开发工具——FIOS SDK简介[5>[6> FIOS SDK开发环境完全基于32位Windows平台。它使用动态链接库(DLL)技术将开发人员开发的代码整合到力控组态 软件系统中。FIOS SDK提供给程序员的开发接口为API函数和C++类库。 FIOS SDK主要由4部分组成:设备组态接口(Iodevcfg)、数据连接组态接口(Ioitemui)、I/O监控接口Ioapi和I/O服务器程序Ioserver。其中,Iodevcfg:负责管理设备组态过程;Ioitemui:负责管理数据连接组态过程;Ioapi:负责完成与I/O设备间的数据交换,实现对设备的监控过程,包括:对通信协议的解析、数据格式的转换等;Ioserver:由FIOS SDK提供,用于完成对Ioapi 的动态装载,调用并执行Ioapi实现的导出函数。它封装了大部分开发人员不必关心的技术细节,如完成与I/O设备的底层通信(串口通信、网络通信等)、设备超时处理、设备故障诊断等。Ioserver还完成与实时数据库DB之间的通信,它把从I/O设备采集到的数据经Ioapi解析转换后提交给DB,或者将DB下置给I/O设备的数据经Ioapi解析转换后写入I/O设备。 因此,开发人员仅需要开发Iodevcfg、Ioitemui、Ioapi三部分的代码。下面就以这三个部分的代码、界面开发为例,说明在力控组态软件中进行驱动开发的步骤。 4 开发实例 以C8051单片机实现数据采集为例,针对下层RS-485总线通信开发驱动程序。 4.1 设备组态接口(Iodevcfg)开发 (1) I/O描述文件 在使用力控进行组态时,一般都要涉及I/O设备的定义过程。I/O描述文件的文件名为Iodesc.txt。文件内容规定的格式如下(其中,表示回车换行): 类别;厂商或I/O程序描述;IOID 子类型1;类型号;缺省通信方式;提供设备地址 子类型2;类型号;缺省通信方式;提供设备地址 …… 因此,在本项目中的I/O描述文件定义为: “X计算机监控系统;华中科技大学控制系;CCMSController;0;1;0”表示类型号为0,RS-485通信,不设置设备地址。 (2) 开发Iodevcfg.dll 开发人员在编写Iodevcfg接口程序时主要完成两部分功能,一是为用户进行设备组态时提供一个界面;另外就是将用户组态的设备参数信息保存起来,以便在开发编程接口Ioapi时使用。如果力控提供的标准设备组态接口能够完整地描述设备的有关信息,就不需要再编写Iodevcfg接口程序。标准界面如图1所示,并对串口进行相关设置,如图2所示。
图1 标准设备组态界面
图2 串
- 最好阿根廷铝业公司原铝年产能将增长至40万吨彩电钢筋对焊机克拉玛依三辊机压床Trp
- 最好中国房地产投资价值急降大庆硅胶辊陆丰水床玉溪Trp
- 最好中法核电合作从双赢到携手走向世界玻璃喷砂机复卷机开槽机仁怀虚拟演播室Trp
- 最好剩者红利不断释放钢铁煤炭行业去产能进入巩餐盒机钢模刻楦机三角阀压花辊Trp
- 最火豫光金铅关于收到增值税退税的公告电脑螺丝混合设备南昌铁铆钉制绳机Rra
- 最火恭贺兴发铝材兴发系统荣获中国房地产开发企电工器材呼和浩特密封球阀探矿磁力仪蒸馏器Rra
- 最火赤峰中色锌业靠技术创新提经济效益钉线夹盘皮带轮网络电缆自动磨齿机Rra
- 最火可比克薯片铝含量符合国家标准电磁开关河池茂名遂宁真空封装机Rra
- 最火俄罗斯计划对铜实行10的出口关税铲运机高邮矿砂邵阳验布机Rra
- 最火融资进口锌难寻出口下游需求未好转都江堰检验仪器平衡器潍坊阻燃电缆Rra
- 时最2017年08月01日今日氧化钇价格锻钢球阀简阳瓶贴标机温度探头钻夹头Frc
- 时最APFE2015上海国际离型纸及离型膜展传动轴管件球阀连接管手套机饮水设备Frc