首页 上一页 1 2 下一页 尾页

MCGS新功能“脚本驱动程序”功能介绍 点击:6708 | 回复:34



linkman

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:32帖 | 210回
  • 年度积分:0
  • 历史总积分:833
  • 注册:2002年2月27日
发表于:2004-07-26 16:42: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。如果您在试用过程中对我们的产品有任何意见或者建议,也请与我们联系。



serge

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 26回
  • 年度积分:0
  • 历史总积分:95
  • 注册:2002年2月26日
发表于:2004-07-27 07:57:00
1楼
清发给我一套实验一下呀 steel.zhou@163.com

linkman

  • 精华:1帖
  • 求助:0帖
  • 帖子:32帖 | 210回
  • 年度积分:0
  • 历史总积分:833
  • 注册:2002年2月27日
发表于:2004-07-27 08:54:00
2楼
关于脚本驱动的界面,请见: http://www.mcgs.com.cn/active/disp.asp?id=103 由于正在紧张测试阶段,目前的帮助信息不是非常详细,请需要该工具的朋友直接与我联系。 SERGE:我会与您联系的。

linkman

  • 精华:1帖
  • 求助:0帖
  • 帖子:32帖 | 210回
  • 年度积分:0
  • 历史总积分:833
  • 注册:2002年2月27日
发表于:2004-07-27 17:23:00
3楼
采用脚本(宏语言)实现设备采集驱动并不是昆仑通态的独创。 我所见到的非常最独特的设备采集驱动是OMINISERVER。OMINISERVER的思想是:所有的驱动都不需要编程,全由组态实现,但由于该软件的所有功能都是组态出来的,反而不容易理解和使用。 在人机界面软件中也能见到采用脚本实现设备采集驱动的软件,如FRO-FACE、HITECH等,这些软件采用了简单的梯型图和串口操作函数实现设备驱动。 MCGS充分比较了这两种不同软件的思想的不同,提供了一种更加简单的脚本编程方法。而且,组态软件都带有脚本语言,因此,对脚本语言进行简单的扩充,对组态软件的用户而言,是最能接受的。

linkman

  • 精华:1帖
  • 求助:0帖
  • 帖子:32帖 | 210回
  • 年度积分:0
  • 历史总积分:833
  • 注册:2002年2月27日
发表于:2004-07-29 10:17:00
4楼
本框架要解决的问题: 1、 需要实现跨平台的驱动。这些平台包括Windows,CE,Linux,ucOS以及其他平台。 2、 在使用跨平台驱动程序时,组态环境(组态工程)需要在同一个平台上运行。通常是Windows平台。组态好的工程可以在各种平台上运行。 3、 驱动程序升级时,保证组态工程在不同版本驱动程序之间的兼容性.由于设备功能众多,不可能一次彻底实现,那么如何进行产品升级,如何允许用户快速增加其中的某些功能? 4、 驱动程序数量众多,但是可以分为有限的几类,我们如何为每一类提供一个框架,把重复劳动减少到最少,并最大程度的降低驱动程序开发的难度。 5、 在没有硬件的时候,驱动程序基本上无法编写,以及发现错误。但确实很多时候没有硬件,此时如何进行驱动程序的编写和调试?另外,版本发行时,驱动程序这一部分无法进行发行前测试,能否制作专门的测试工具来测试这一部分? 6、 如何确定一个接口来保证读写速度达到理论值? 7、 能否从框架上彻底消除驱动程序引起的系统死机和不稳定状态? 8、 我们的驱动是按照轮循方式获取数据的,对于某些系统,使用变化通知或者报警通知效率会更高。能否使用这种方式进行数据采集? 9、 其实每种设备都有自己的通道,操作,状态变化,目前我们只能用设备命令来操作。导致大量的技术支持工作。能否用一种更简单好用的方式来提供给用户? 10、 实际运行时,设备会有运行,停止,故障等各种状态,如何调整采集机制来保证整个驱动系统的速度?

glsg

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 14回
  • 年度积分:0
  • 历史总积分:86
  • 注册:2004年4月30日
发表于:2004-07-29 17:50:00
5楼
请发给我一套实验一下。 我的EMAIL:glsg7730@163.com

tigermu

  • 精华:6帖
  • 求助:0帖
  • 帖子:175帖 | 5410回
  • 年度积分:0
  • 历史总积分:19807
  • 注册:2003年1月19日
发表于:2004-07-29 20:49:00
6楼
何时能够推出真正稳定的脚本驱动版本?

follow

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 23回
  • 年度积分:0
  • 历史总积分:22
  • 注册:2003年6月13日
发表于:2004-07-30 09:56:00
7楼
现在正在进行最后的测试和安装工作,预计在1个月以内推出完整的1.0版本。

AK48

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 23回
  • 年度积分:0
  • 历史总积分:84
  • 注册:2004年7月23日
发表于:2004-07-30 10:35:00
8楼
采用你们的SDK开发的驱动尚且效率很低,这个只能是简单加简单的场合了,不如我用VB直接处理好了,有些画蛇添足。

linkman

  • 精华:1帖
  • 求助:0帖
  • 帖子:32帖 | 210回
  • 年度积分:0
  • 历史总积分:833
  • 注册:2002年2月27日
发表于:2004-07-30 12:19:00
9楼
to 电厂009: 脚本驱动的应用目标:60-80%的设备,这些设备的特别是:采用VB DSK编码的代码量在250行以内。 用VB直接处理当然好了,使用VC和DELPHI编码肯定也非常好,但这些东西都是提供给开发人员用的,不是给最终用户用的,脚本驱动是给这类用户用的,包括昆仑通态自己的销售员和技术支持人员。 还有一个问题:MCGS嵌入式版本下,用户不得不采用EVC来开发驱动,这对于一般用户来说,实在是太难了。 我看了你在工控网上的贴子,你应该是一个非常有经验的工控人士,包括OPC及其它软件的使用等,我很希望能交你这个朋友。我的邮件:mcgslcb@263.net

狂热的工控迷

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:2
  • 注册:2004年7月30日
发表于:2004-07-30 19:50:00
10楼
给我来一份pjh02@public.cs.hn.cn

狂热的工控迷

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:2
  • 注册:2004年7月30日
发表于:2004-07-30 19:54:00
11楼
昆仑通态在湖南有分公司吗?

follow

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 23回
  • 年度积分:0
  • 历史总积分:22
  • 注册:2003年6月13日
发表于:2004-08-01 10:39:00
12楼
目前还没有。

linkman

  • 精华:1帖
  • 求助:0帖
  • 帖子:32帖 | 210回
  • 年度积分:0
  • 历史总积分:833
  • 注册:2002年2月27日
发表于:2004-08-02 12:19:00
13楼
今天给各位发邮件。

linkman

  • 精华:1帖
  • 求助:0帖
  • 帖子:32帖 | 210回
  • 年度积分:0
  • 历史总积分:833
  • 注册:2002年2月27日
发表于:2004-08-03 13:10:00
14楼
邮件发出了,请申请的朋友接收。

serge

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 26回
  • 年度积分:0
  • 历史总积分:95
  • 注册:2002年2月26日
发表于:2004-08-04 10:51:00
15楼
给我发一份 我没有收到呀 steel.zhou@163.com

hansion

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 8回
  • 年度积分:915
  • 历史总积分:1042
  • 注册:2002年11月10日
发表于:2009-05-27 15:46:29
16楼

我有你们最新的一款7062ks,想开发一个自由口通信的驱动,方便发我一份.

hansion808@sohu.com

莹莹123

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 171回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2009年1月08日
发表于:2009-05-31 14:57:28
17楼

莹莹123

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 171回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2009年1月08日
发表于:2009-05-31 14:59:23
18楼
to hansion 邮件已发出,请查收。

南京工业大学

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2009年6月05日
发表于:2009-06-05 16:51:17
19楼

我是一名大学生 刚接触这个软件 现在要完成一个课程设计 请问有没有四层电梯的MGCS脚本程序 我想参考一下 如果有的话 可不可以给我一份参考一下 我的邮箱是:hj_student@163.com 先谢了!

莹莹123

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 171回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2009年1月08日
发表于:2009-06-08 11:46:10
20楼
谁有啊,也给我一份,liuodngmeicq@163.com

热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页