当前位置:
工控论坛
> >
产品
>
人机界面
我要发帖
MCGS新功能“脚本驱动程序”功能介绍:
点击:
1259
| 回复:
3
linkman
关注
私信
精华:1帖
求助:0帖
帖子:32帖 | 210回
年度积分:0
历史总积分:833
注册:2002年2月27日
发表于:2004-07-26 16:46:00
楼主
张波(化名)是福建省厦门市一家很有名的工控仪表生产厂家的技术人员,该厂家是昆仑通态MCGS组态软件的老客户,每年都使用200套以上的MCGS组态软件,张波的主要工作是为该厂家的各种仪表编写MCGS组态软件的设备驱动程序。 昆仑通态在2002年推出了nTouch系列嵌入式一体化工控机和MCGS嵌入式组态软件。厦门这一厂家在对昆仑通态这两款产品进行试用和论证后,决定采用nTouch和MCGS应用到其工程项目中。于是派张波到北京出差,学习如何使用Embeded VC开发MCGS嵌入式组态软件的设备驱动程序。 张波是昆仑通态的老朋友,大家都比较熟悉。在昆仑通态学习的空闲时间里四处走动,他发现昆仑通态测试部门的员工正在认真地测试一个软件,询问之后得知,这是昆仑通态准备在近期推出的MCGS组态软件新功能的一部分,名叫MCGS脚本驱动开发程序,觉得非常好奇,于是找到该项目的负责人侯尚秋,与侯尚秋有了如下一段对话。 张波(以下简称张):什么是脚本驱动? 侯尚秋(以下简称侯): 脚本驱动是我们推出的一种使用MCGS脚本编写设备驱动程序的技术。 使用脚本驱动,您不需要使用复杂的VC、DELPHI、VB等开发语言,不需要理解动态连接库、COM接口等复杂的技术。您只需要使用我们提供的开发工具,做一些简单的设置,编写一些简单的脚本,就可以完成一个设备驱动程序。 张:为什么需要脚本驱动? 侯:在组态软件的应用中,需要与各种智能设备通讯。一般组态软件都是通过VC、DELPHI或者VB等高级语言编写动态库程序,通过组态软件提供的接口,实现采集设备数据并和组态软件通讯。 这种方式目前在组态软件中应用广泛。但存在其不足之处。尤其是对于一些简单的设备,或者用户自己开发的设备。 这种设备的通讯协议本身非常简单,但客户不得不委托组态软件的开发商开发设备驱动程序,而组态软件厂商的开发人员往往没有实际的设备,只能根据用户提供的协议完成代码编程。实际用户在现场使用,如果出现问题,又需要返回厂商修改,有时不得不反复数次才能解决问题。给用户造成了人力、物力、时间上的浪费。 如果用户希望自己开发设备驱动程序,则必须使用组态软件厂商提供的开发框架和接口进行开发。理解框架和接口本身就是一件费时费力的事情,同时还需要了解具体的串口、网络、端口等方面的知识。 脚本驱动屏蔽了大量的技术细节。用户需要关心的事情只有一件,就是分析设备的通讯协议,解析从设备读取的数据。这样,用户可以自己完成设备驱动的编写、调试和现场应用,就可以在最短的时间内,开发出满足需要的设备驱动程序。 张:脚本驱动难不难呀? 侯:不难,简单是脚本驱动程序最大的特点。 脚本驱动程序是专为简化驱动开发过程设计的,只要会使用MCGS软件,在4、5个小时的时间内,就可以全面掌握脚本驱动程序开发过程。熟练之后,甚至只需要30分钟就可以完成一个象泓格7017模块的驱动。 张:哪些设备可以用脚本编写驱动? 侯:理论上,所有串口设备、MODEM设备、以太网通讯设备和板卡设备都可以使用脚本驱动程序开发驱动。最适合使用脚本驱动的有:单片机,传感器,智能模块,智能仪表,常见PCI板卡等。 我们对我们所编写的全部设备驱动程序的代码作了统计分析,分析后发现,70%以上的设备驱动程序,其代码量在200行以内。这些设备的特点是协议比较简单,通道较少,对协议的解析和命令合成过程不是很复杂。脚本驱动针对这些设备,提供了必要的数据收发,协议解析,通道赋值等方面的功能。开发这些类型的驱动程序,脚本驱动使用方便、调试简单、工作量小。 张:通讯协议复杂的设备怎么办? 侯:对于通讯协议复杂的设备,如PLC和一些国外的仪表等,理论上也可以使用脚本驱动开发,但是并不是最合适的。这类设备代码量大,调试复杂,一般应由组态厂商的设备驱动人员为用户完成。 脚本驱动程序推出的目标,并不是代替目前的设备驱动开发方式,而是提供给用户一种新的选择。 张:对于MCGS的用户,是不是都要学习使用脚本驱动? 侯:对于MCGS的用户,包括组态用户和最终用户,都不会发觉MCGS在设备处理方面有任何变化,脚本驱动编写的设备驱动程序,与一般的设备驱动程序的使用方式是没有任何区别的。 脚本驱动程序的使用对象,一是我公司内部的驱动开发人员,二是我公司的技术支持人员和销售人员,三是需要自己编写驱动的客户。我们在公司内部的要求是:所有技术支持人员和销售人员都要掌握脚本驱动编写的方法,其目标是加快客户服务的速度。 张:不知其速度和性能如何? 侯:这是一个每个使用脚本驱动程序的人员都会问的一个问题,特别是在嵌入式系统的应用中,速度更是一个非常关键的问题。 我们在内部做了实验,MCGS的脚本语言比VC代码平均慢10倍。但对通讯程序而言,速度的瓶颈是在对串口、以太网等的读写上。我们已将对串口读写、以太网等的读写操作进行了精心的封装,这一部分代码全部是使用C语言编写的,脚本驱动程序只需要调用该部分的函数接口,即可完成一次完整的通讯过程。经过大量的极限测试,我们得出结论,其速度和性能完全能满足现场设备的需要。 张:你刚才讲到精心的封装,能不能具体介绍一下这方面的内容? 侯:这方面的内容,涉及到比较多的计算机知识,我只大概地描述一下,我只针对串口通讯来进行说明。 对于串口通讯,最底层的操作是通过INP和OUP对端口3F8或2F8进行操作,目前编程人员一般不直接采用这种方式了。VC编程人员是通过ReadFile和WriteFile两个API接口函数进行串口操作的;DELPHI一般使用SPCOMM等构件进行串口操作;VB则一般使用MSCOMM控件进行串口操作。 VB和DELPHI对串口操作即进行了封装,将大量的串口操作细节封装在控件或构件的内部,用户只需要调用该控件的属性和方法,即可完成通讯参数的设置和通讯了。 脚本驱动中,对串口操作的封装更加强大,我们分析了历年来我们为客户编写的大量设备驱动程序,归纳出几种典型的串口通讯模式,并将这些串口通讯模式进行封装。现在,用户只要调用一个接口函数,就可以完成数据发送、等待、接收等全过程。 张:我听不太懂,我对VB比较熟悉,我能很快熟悉脚本驱动吗? 侯:如果您打开MCGS提供的脚本驱动开发工具,你一定会发现:这个工具多么象VB的编译器呀,包括界面风格、语法等,还有与VB类似的单步跟踪和调试手段呢。 张:脚本驱动只能运行在MCGS嵌入版本吗? 侯:不,脚本驱动可以运行在MCGS的三个版本中,即在嵌入版本、通用版本和网络版本都可以应用。 而且,脚本驱动还有一个特点,即:一次编写,无需编译。您在MCGS嵌入版本中编写的脚本驱动,可以直接在通用版本或网络版本上使用。 张:脚本驱动的稳定性如何? 侯:主程序可以控制脚本驱动的所有异常访问并加以判断处理。使用脚本驱动,绝不会出现象C语言编写的驱动程序那样,动不动就出现非法指针访问的情况,也不会出现VB那样对内存的非法操作情况。 张:能不能给我演示一下? 侯:好的。 (1小时后,张波已编写并调试了他厂家生产的某一款仪表的脚本驱动。) 张:这对我们这些系统制造商或其它系统集成商来说,真是一件天大的好事,它什么时间发布? 侯:目前脚本驱动正在紧张的测试中,预计嵌入版本的脚本驱动程序在一个月之后正式发布,通用版本和网络版本的脚本驱动程序在三个月之后正式发布。 张:看来我不需要学习EMBEDED VC和VB了,能不能给我拿一套试用版本,我先试试? 侯:可以呀。能为您和那些支持我们昆仑通态事业发展的朋友效劳,是我们的荣幸。 我的EMAIL:mcgslcb@263.net。如果您在试用过程中对我们的产品有任何意见或者建议,也请与我们联系。
分享到:
收藏
邀请回答
回复楼主
举报
linkman
关注
私信
精华:1帖
求助:0帖
帖子:32帖 | 210回
年度积分:0
历史总积分:833
注册:2002年2月27日
发表于:2004-07-30 19:40:00
1楼
嵌入式触摸屏,可以自己编驱动!
回复
引用
举报
zdhj
关注
私信
精华:0帖
求助:0帖
帖子:0帖 | 8回
年度积分:0
历史总积分:0
注册:2010年3月11日
发表于:2010-05-28 13:18:14
2楼
能给我发一个吗,我也是MCGS的老客户了,设备驱动程序一只很头疼啊
回复
引用
举报
zdhj
关注
私信
精华:0帖
求助:0帖
帖子:0帖 | 8回
年度积分:0
历史总积分:0
注册:2010年3月11日
发表于:2010-05-28 13:18:40
3楼
我的邮箱是
caoyu19870327@126.com
回复
引用
举报
热门招聘
相关主题
深圳联盟3.14胜利召开
[3574]
PROFACE软件
[2112]
免费提供 ADP3编程软件
[6864]
富士POD的编程软件哪里可下载...
[3680]
三菱GT Designer3运算如何做
[2424]
海泰克触摸屏黑屏咋修?
[2646]
师傅们昆仑通态触摸屏怎么和...
[8902]
国内人机界面做的最好的是那...
[3300]
请教关于Vijeo-Designer上载...
[2195]
wincc flexible 2008 启动后...
[2940]
官方公众号
智造工程师
客服
小程序
公众号