组态王软件驱动程序开发
- 格式:doc
- 大小:2.23 MB
- 文档页数:41
组态王驱动开发详解组态王驱动开发详解⼀、为什么需要编写组态王驱动程序?组态王是监控和操作底层控制器(PLC,单⽚机等)的软件,在组态王和底层控制器间有数据的交换,对于⼀些常⽤设备,组态王已经内置了设备连接的驱动,⽐如西门⼦、ABB等,这些设备可以直接通过在串⼝处添加即可,但是对于那些在列表中⽆法找到的设备,就需要通过⾃⼰编写驱动程序,以实现组态王和底层硬件的通信。
⼆、驱动程序(接⼝)主要完成哪些事情?(1)定义设备的变量(2)定义驱动类型:串⼝or⽹络,什么通讯⽅式(3)通讯包的属性等三、怎么进⾏驱动程序的开发?亚控提供了3.0的驱动程序开发包,这是⼀个使⽤VC开发DLL驱动的⼯具此为开发包⽤户⼿册,可参考;开发包可注册亚控论坛后让群组发过来/doc/53427d88a0116c175f0e489b.html /view/19f24f5f804d2b160b4ec0de.html编写驱动程序就是完成组态王touchexplore.exe和touchview.exe调⽤的底层函数,在开发前⾸先需要确定安装了组态王驱动开发包3.0和visual /doc/53427d88a0116c175f0e489b.html 2003;安装时可能碰到的问题与解决可参见/doc/53427d88a0116c175f0e489b.html /weizier/blog/item/72bf942bd75539fae6cd409d.html开发主要分为以下6个步骤:1、分析通讯协议需要确定数据包的格式,即驱动程序是接受怎么样的数据,怎么检验数据,并把它传给组态王,组态王⼜怎么根据得到的数据去解析各变量。
如可以确定协议如下的类型2、制定驱动规格主要包括三部分:定义设备选择(在组态王设备列表⾥⾯怎么找到这个设别)、设备地址(设备地址的范围,在接⼝程序中有检测)、寄存器列表说明(是接⼝函数主要传递的数据,由下位机采集传输给组态王,也可由组态王发送到下位机)如下为西门⼦S700的寄存器列表说明3、编写代码3.0提供了驱动的框架,包括数据、类和函数的定义,主要需要修改接⼝函数部分,以使得驱动和下位机、通信协议匹配。
3、系统软件3.1组态王软件介绍本系统采集控制软件选用中国本土软件厂商北京亚控科技发展有限公司生产的,国内最早的商用组态软件“组态王”。
截止到2009年底,“组态王”已在国内装机量有10万套,成功地应用于我国工业领域的各行各业,例如石油、化工、电力、冶金、造纸、橡胶、环保、机械制造等等,在中国使用的监控软件中,组态王拥有国内最多的用户。
像国外众多的软件一样,组态王软件也经过了一个发展例程:1995年——组态王V1.01996年——组态王V1.21997年——组态王V1.511998年——组态王V2.01999年——组态王V5.12000年——组态王V5.1 for Internet2001年——组态王V6.0、组态王电力专业版6.02002年——组态王V6.022003年——组态王V6.52005年——组态王V6.512006年——组态王V6.522007年——组态王V6.53下面介绍组态王通用强大的功能。
3.1.1基本人机界面功能通过本功能完成画面组态。
1.快速便捷的应用设计用组态软件构造“监控和数据采集系统”的好处之一就是能大大缩短开发时间,并能保证系统的质量。
能快速便捷地进行图形维护和数据采集是此类系统的关键点。
组态王正是提供了丰富的快速应用设计的工具。
(1)方便实用的工程管理组态王6.53提供方便实用的管理工具——工程管理器。
工程管理器是一个独立的可执行文件,用来管理本机的所有组态王工程,可以实现工程的压缩备份,备份恢复,数据词典的导出导入,实现开发和运行系统的切换等。
(2).集成的开发环境最新设计的组态王工程浏览器为用户提供了便利的集成开发环境。
工程设计者可以在工程浏览器中查看工程的各个部分,可以查看画面、数据库、配置通讯驱动程序、设计报表;可以完成系统的大部分配置。
工程浏览器采用树形结构,操作简单方便,容易接受。
在工程浏览器中,用户也可以方便地切换到组态王开发环境和运行环境。
(3).功能强大、易用的绘图工具目前用简单的示意性图形已经不足以表示工业现场复杂的生产过程,用户普遍要求更加丰富多彩、生动逼真的画面。
组态王简明教程组态王软件的结构“组态王”是运行于Microsoft Windows 98/NTxx文平台的xx 界面的组态软件,采用了多线程、COM组件等新技术,实现了实时多任务,软件运行稳定可靠。
组态王具有一个集成开发环境“组态王工程浏览器”,在工程浏览器xx您可以查看工程的各个组成部分,也可以完成构造数据库、定义外部设备等工作。
画面的开发和运行由工程浏览器调用画面制作系统TOUCHMAK和画面运行系统TOUCHVEW来完成的。
TOUCHMAK是应用程序的开发环境。
您需要在这个环境xx完成设计画面、动画连接等工作。
TOUCHMAK具有先进完善的图形生成功能;数据库xx有多种数据类型,能合理地抽象控制对象的特性;对变量报警、趋势曲线、过程记录、安全防范等重要功能都有简单的操作办法。
TOUCHVEW是“组态王”软件的实时运行环境,在TOUCHMAKxx 建立的图形画面只有在TOUCHVEWxx才能运行。
TOUCHVEW从工业控制对象xx采集数据,并记录在实时数据库xx。
它还负责把数据的变化用动画的方式形象地表示出来,同时完成变量报警、操作记录、趋势曲线等监视功能,并生成历史数据文件。
组态王怎样和下位机通讯“组态王”把第一台下位机看作是外部设备,在开发过程中您可以根据“设备配置向导”的提示一步步完成连接过程。
在运行期间,组态王通过驱动程序和这些外部设备交换数据,包括采集数据和发送数据/指令。
每一个驱动程序都是一个COM对象,这种方式使通讯程序和组态王构成一个完整的系统,既保证了运行系统的高效率,也使系统能够达到很大的规模。
怎样产生动画效果开发者在TOUCHMAKxx制作的画面都是静态的,那么它们如何以动画方式反映工业现场的状况呢?这需要通过实时数据库,因为只有数据库xx的变量才是与现场状况同步变化的。
数据库变量的变化又如何导致画面的动画效果呢?通过“动画连接”就是建立画面的图素与数据库变量的对应关系。
组态王软件培训培训内容内容包括:1、组态王介绍2、新建工程3、建立IO设备通信4、建立数据词典5、画面组态6、设置,然后运行7、脚本编程,函数等。
组态王软件是一种通用的工业监控软件, 它适用于从单一设备的生产运营管理和故障诊断,到网络结构分布式大型集中监控管理系统的开发。
支持与国内外常见的PLC、智能模块、智能仪表、变频器、数据采集板卡进行数据通讯组态王软件结构由工程管理器、工程浏览器及运行系统三部分构成。
组态软件的安装1、运行安装组态王程序。
直接安装。
2、安装完后直接安装驱动。
3、其它内容可以不安装。
工程管理器:工程管理器用于新工程的创建和已有工程的管理,对已有工程进行搜索、添加、备份、恢复以及实现数据词典的导入和导出等功能。
工程浏览器:工程浏览器是一个工程开发设计工具,用于创建监控画面、监控的设备及相关变量、动画链接、命令语言以及设定运行系统配置等的系统组态工具。
运行系统:工程运行界面,从采集设备中获得通讯数据,并依据工程浏览器的动画设计显示动态画面,实现人与控制设备的交互操作。
组态王软件是一种通用的工业监控软件, 它适用于从单一设备的生产运营管理和故障诊断,到网络结构分布式大型集中监控管理系统的开发。
支持与国内外常见的PLC、智能模块、智能仪表、变频器、数据采集板卡进行数据通讯组态王软件结构由工程管理器、工程浏览器及运行系统三部分构成。
工程管理器:工程管理器用于新工程的创建和已有工程的管理,对已有工程进行搜索、添加、备份、恢复以及实现数据词典的导入和导出等功能。
工程浏览器:工程浏览器是一个工程开发设计工具,用于创建监控画面、监控的设备及相关变量、动画链接、命令语言以及设定运行系统配置等的系统组态工具。
运行系统:工程运行界面,从采集设备中获得通讯数据,并依据工程浏览器的动画设计显示动态画面,实现人与控制设备的交互操作。
(1)新建工程(2)硬件组态添加设置,设置地址,设置通信,硬件测试(3)数据词典组态。
1 引言组态王是一个具有丰富功能的HMI/SCADA软件。
可用于工业自动化的过程控制和管理监控。
它提供了集成、灵活、易用的开发环境和广泛的功能,能够快速建立、测试和部署自动化应用,来连接、传递和记录实时信息。
使用户可以实时查看和控制工业生产过程。
组态王的主要功能:(1). 丰富的人机界面功能,可视化操作界面,真彩显示图形、丰富的图库(2). 强大的通讯能力(3). 先进的报警和事件管理(4).强大的网络和冗余功能组态王目前能连接PLC、智能仪表、板卡、模块、变频器等上千种工业自动化设备。
支持设备之多之广可与国外优秀同类软件相媲美。
组态王通过驱动程序和这些工控设备通讯,利用这里优点可以采用单独的智能仪表就可以对供电系统进行监控和对设备能耗(日消耗单班消耗等)进行统计。
2 能源系统计算机监控和能源统计的总体设计思想目前很多能源系统的统计都采用智能仪表来实现,可是每天必须有专职的抄表工来对仪表显示的参数进行记录与计算才得到设备的日消耗电量。
这样不但耗费人力,而且消耗掉很多的时间,得到的结果又不十分的准确。
笔者利用计算机的快速、准确和组态王采集参数的实时的特点把现场仪表中的参数用过SR458 总线采集到上位机中进行能源的统计。
同时又可以把现场操作的状态反馈到仪表上,然后通过监控画面进行状态监控。
于是得到以下方案配置图(一)。
3 基于现场总线的能源系统计算机监控和能源统计的研究与实现由上面的配置图可以配置到下面的原理图(二)来实现高压电力能源统计的功能。
运用组态王提供的命令语言功能对能源参数进行处理和计算,可实现设备的日耗电、单班耗电等功能。
(1)构造数据库数据库是“组态王”软件的核心部分,工业现场的生产状况要以动画的形式反映在屏幕上,操作者在计算机前发布的指令就可以迅速送达生产现场,所有这一切都是以实时数据库为中介环节,所以说数据库是联系上位机和下位机的桥梁。
在数据库变量的“数据词典”中定义好需要采集的变量,用来作为状态显示或数据处理计算。
2021 组态王工控软件的功能介绍[键入作者姓名][键入公司名称]2021/1/1组态王工控软件的功能介绍组态王软件经过八年开发,五年的各种突发环境的真实考验,两万五千余例工程(钢铁,化工,电力,国属粮库,邮电通讯,环保,水处理,冶金等各行业)的现场运行(包括"中华世纪坛"国家标志性工程),现已成为国内组态软件的客户首选,并且作为首家国内组态软件应用于国防,航空航天等重大领。
组态王具有如下十大特点:一、工程管理对于系统集成商和用户来说,一个系统开发人员可能保存有很多个组态王工程,对于这些工程的集中管理以及新开发工程中的工程备份等都是比较烦琐的事情。
组态王工程管理器的主要作用就是为用户集中管理本机上的所有组态王工程。
工程管理器的主要功能包括:新建、删除工程,对工程重命名,搜索指定路径下的所有组态王工程,修改工程属性,工程的备份、恢复,数据词典的导入导出,切换到组态王开发或运行环境等。
另外,组态王开发系统提供工程加密,画面和命令语言导入、导出功能。
二、画面制作系统hm(1)支持无限色和过渡色组态王调色板支持无限色,支持二十四种过渡色效果,组态王的任一种绘图工具都可以使用无限色,大部分图形都支持过渡色效果,巧妙地利用无限色和过渡色效果,可以使您轻松构造面无限逼真、美观的画面。
(2)图库使用图库具有很多好处:降低了工程人员设计界面的难度,缩短开发周期;用图库开发的软件将具有统一的外观,方便工程人员学习和掌握;利用图库的开放性,工程人员可以生成自己的图库元素,"一次构造,随处使用",节省了工程人员投资。
图库全新改版,提供具有属性定义向导的图库精灵,用户只需稍做调整即能制作具有个性化的图形。
(3)按钮和图形组态王支持按钮的多种形状和多种效果,并且支持位图按钮,用户可以构造无限漂亮的按钮。
另外,组态王支持多种图形格式,如Gif 、Jpg、Bmp等,用户可以充分利用已有的资源,轻松构造自己功能强大且美观的应用系统。
组态王6.53 产品介绍I前言本手册全面描述了工业SCADA软件——组态王V6.53的主要功能、特性和应用领域,将帮助工控系统的开发者、使用者对组态王软件产生具体而直观的认识。
全手册有三个部分,第一部分讲述了组态王软件的主要特点,第二部分针对组态王V6.53软件的主要功能进行了详尽的介绍,第三部分给出了组态王软件的系统要求、授权描述。
在阅读本手册后,如果您希望全面系统的学习组态王软件时,请参考最新版本的《组态王软件培训手册》;当您使用本软件过程中需要更进一步的帮助时,请参考《组态王软件使用手册》或使用组态王软件的联机帮助。
当然,也欢迎联系您所在地区的亚控公司分支机构或经销商。
本手册在没有亚控公司书面允许的前提下,任何组织或个人不得为任何其他目的、使用任何方法(包括复印和录制在内的电子或机械手段)对本手册的任何部分进行复制或传播。
亚控公司不保证手册中没有错误,若有变化恕不事先通知。
组态王是亚控公司的注册商标。
ORACLE 是 Oracle Corporation (Oracle 公司)的一个注册商标。
Windows 2000、Windows XP、Excel、ODBC 是 Microsoft Corporation 的一个注册商标。
所有其它的产品和标记名称都是它们各自公司的商标。
北京亚控科技发展有限公司2008年2月份目录概述 (1)一、基本人机界面功能 (2)1.1 快速便捷的应用设计21.1.1 方便实用的工程管理21.1.2 功能强大、易用的绘图工具21.1.3 支持无限色和过渡色21.1.4 图形对象丰富的动画效果31.1.5 画面查找与画面分组41.1.6 便捷的工程打包工具41.2 丰富的可扩充的图形库41.2.1 大量的标准工业元件41.2.3 扩展图库41.3 对多媒体的支持51.3.1 嵌入图片51.3.2播放声音、视频51.3.4 支持视频采集设备51.4灵活简便的变量定义和管理61.4.1 丰富的变量类型61.4.2变量替换61.4.3 变量分组管理71.4.4 多选变量修改属性71.4.5 变量统计与刷新71.4.6 变量导入和导出71.5 强大的控制语言81.5.1 简便易学的语法81.5.2 丰富的函数81.5.4 命令触发机制8 1.6 安全管理9二、强大的通讯能力 (11)2.1 高效的数据采集 11 2.2 强大的硬件检测手段和故障恢复功能 11 2.3 支持使用GPRS与设备进行通讯 12 2.4 可扩充的设备库 12组态王6.53 产品介绍III三、数据的展示与存储 (13)3.1 形式多样的趋势曲线 133.1.1实时趋势曲线 133.1.2历史趋势曲线 133.1.3超级XY曲线 133.1.4温控曲线控件 14 3.2 高性能的历史数据存储 15四、先进的报警和事件管理 (16)4.1 功能强大的报警事件系统 16 4.2 报警和事件的输出 17 4.3 自定义的报警动作 18五、灵活多样、操作简单的内嵌式报表 (19)5.1 组态王集成的报表系统 19 5.2 用EXCEL生成报表 20六、开放的第三方接口 (21)6.1 开放的ODBC数据库连接 21 6.2 全面支持OPC标准 21 6.3 动态数据交换(DDE) 22 6.4 功能强大的ActiveX控件 22七、强大的网络和冗余功能 (23)7.1 组态王的For Internet功能 237.1.1 画面发布237.1.2 数据发布237.2 丰富的冗余功能 247.2.1 双设备冗余 247.2.2 双机热备25 系统要求 (26)授权描述 (26)开发版授权26 运行版授权26 NetView版授权26 WEB版授权27 演示版授权27附录A 部分驱动程序和驱动程序开发软件包 (28)PLC 28 智能仪表28 板卡28 智能模块29 变频器29 现场总线29组态王6.53 产品介绍1概述北京亚控科技发展有限公司是国内最早成立的专业自动化软件厂商,也是目前国内规模最大的专业自动化软件厂商。
组态王6.5操作教程组态王是一款常用于设计和生成工业自动化系统图形界面的软件。
本教程将介绍组态王6.5的操作步骤和使用技巧,帮助初学者快速入门。
1. 下载和安装组态王6.5首先,需要从官方网站下载组态王6.5的安装程序。
安装程序包括软件安装包和破解补丁,分别进行安装即可。
安装程序运行过程中,按要求设置安装目录和相关参数,等待程序安装完成即可。
2. 创建工程在组态王6.5中,通过创建工程来实现创建和编辑工业自动化系统图形界面。
创建工程的步骤如下:1.打开组态王6.5软件,选择“文件”菜单,点击“新建”命令,弹出“新建工程”对话框。
2.在“新建工程”对话框中,输入工程名称和存储路径,选择工程类型和底板类型,然后点击“确定”按钮。
3.程序将自动生成一个默认页面,并打开组态王6.5的编辑界面。
3. 添加页面在组态王6.5中,一个工程可以包含多个页面,每个页面可以显示一个或多个工业自动化系统的控制界面。
添加页面的步骤如下:1.打开组态王6.5编辑界面,选择“编辑”菜单,点击“新建页面”命令,弹出“新建页面”对话框。
2.在“新建页面”对话框中,输入页面名称和页面大小,选择页面背景颜色和背景图片,然后点击“确定”按钮。
3.程序将自动添加一个新的页面,并打开新的编辑界面。
4. 添加控件在组态王6.5中,可以添加多种控件到页面上,包括输入框、按钮、滑动条、旋转按钮、指针、图像等等。
添加控件的步骤如下:1.打开组态王6.5编辑界面,选择“控件”菜单,选择要添加的控件类型。
2.在页面上拖动鼠标,按照需要的大小和位置,绘制出控件外框。
3.右键点击控件外框,点击“属性”命令,弹出“属性”对话框,设置控件的相关属性参数。
5. 编辑控件脚本在组态王6.5中,可以通过编写控件脚本来实现控件的复杂功能和动态效果。
编辑控件脚本的步骤如下:1.右键点击控件外框,点击“事件”命令,弹出“事件编辑器”对话框。
2.在“事件编辑器”对话框中,选择要编辑的事件类型和对应的脚本。
组态王开发的监控系统软件是一种新型的工业自动控制系统,它用标准的工业计算机软件和硬件平台组成的集成系统替代了传统的封闭系统。
具有适应性强,开放性好,易于扩展,经济,开发周期短的优点。
通常,这样的系统可以分为三层:控制层,监视层和管理层。
其中,监控层将控制层连接到下层,将管理层连接到上层,不仅实现了对站点的实时监控,而且在上传,发布和配置中也起着重要的作用。
自动控制系统的发展。
特别要考虑三个方面:图片,数据和动画。
通过分析监控系统的需求和功能,采用组态王设计了监控系统。
组态软件还为测试人员提供了可视化的监视屏幕,这有利于对测试人员进行实时现场监视。
此外,它可以充分利用Windows的图形编辑功能,方便地形成监视屏幕,并以报警窗口,实时趋势曲线等方式以动画形式显示控制设备的状态,并可以方便地生成各种报告。
它还具有丰富的设备驱动程序,灵活的配置模式和数据链接功能。
1.用组态王实现控制系统实验仿真的基本方法:(1)图形界面的设计(2)建立数据库(3)建立动画连接(4)运行调试2.使用Kingview软件开发具有以下特点:(1)实验是通过软件实现的,仅使用现有计算机即可完成自动控制系统课程的实验,大大降低了仪器购置成本。
(2)系统为中文界面,具有友好的人机界面和可视化效果。
对用户而言,操作简单易学,编程简单,参数输入和修改灵活,具有多次或重复仿真运行的控制能力。
它们可以实时显示参数更改前后的系统特性曲线,并且可以直观地显示控制系统的实时趋势曲线。
这些强大的交互能力使其在自动控制系统实验中发挥了理想的作用。
3.在使用Kingview开发系统编译应用程序的过程中,应考虑以下三个方面:(1)图形,是如何使用抽象图形来模拟实际的工业场景和相应的工业控制设备。
(2)数据用于创建特定的数据库,并使用该数据库中的变量来描述工业控制对象的各种属性,例如水位和流速。
(3)连接,即屏幕上的像素使用哪种动画来模拟现场设备的操作,以及如何让操作员输入用于控制设备的指令。
组态王(KINGVIEW)软件使用方法一、组态王软件的结构“组态王6.0x”是运行于Microsoft Windows 98/2000/NT中文平台的中文界面的人机界面软件,采用了多线程、COM组件等新技术,实现了实时多任务,软件运行稳定可靠。
“组态王6.0x”软件包由工程浏览器(TouchExplorer)、工程管理器(ProjManager)和画面运行系统(TouchView)三部分组成。
在工程浏览器中您可以查看工程的各个组成部分,也可以完成数据库的构造、定义外部设备等工作;工程管理器内嵌画面管理系统,用于新工程的创建和已有工程的管理。
画面的开发和运行由工程浏览器调用画面制作系统TOUCHMAK和工程运行系统TOUCHVEW来完成的。
TOUCHMAK是应用工程的开发环境。
您需要在这个环境中完成画面设计、动画连接等工作。
TOUCHMAK具有先进完善的图形生成功能;数据库提供多种数据类型,能合理地提取控制对象的特性;对变量报警、趋势曲线、过程记录、安全防范等重要功能都有简洁的操作方法。
PROJMANAGER是应用程序的管理系统。
PROJMANAGER具有很强的管理功能,可用于新工程的创建及删除,并能对已有工程进行搜索、备份及有效恢复,实现数据词典的导入和导出。
TOUCHVEW是“组态王6.0x”软件的实时运行环境,在应用工程的开发环境中建立的图形画面只有在TOUCHVEW中才能运行。
TOUCHVEW从控制设备中采集数据,并存在于实时数据库中。
它还负责把数据的变化已动画的方式形象地表示出来,同时可以完成变量报警、操作记录、趋势曲线等监视功能,并按实际需求记录在历史数据库中。
二、建立新工程在组态王中,您所建立的每一个应用称为一个工程。
每个工程必须在一个独立的目录下,不同的工程不能共用一个目录。
在每一个工程的路径下,生成了一些重要的数据文件,这些数据文件不允许直接修改。
启动组态王工程管理器,选择菜单“文件\新建工程”或单击“新建”按钮, 弹出新建工程向导之一对话框,单击”下一步”继续。
目录一、实验目的 (2)二、设计流程 (2)2-1.变量定义和管理 (2)2-2.组态画面的动画连接 (8)2-3.用户脚本程序 (10)2-4.趋势曲线 (12)2-5报表系统 (15)2-6.报警和事件 (19)2-7X-Y曲线的制作 (22)2-8.组态王与数据库连接 (23)三、设计结果 (26)四、心得体会 (28)五、参考文献 (28)一、实验目的1.了解组态王软件的整体结构;2.了解组态王的工件方式;3.了解建立应用程序的一般过程;4.了解工程控制过程和基本原理二、设计流程2-1.变量定义和管理1.建立新工程1).使用工程管理器:点击“开始”—→“程序”—→“组态王 6.53”,启动后的工程管理窗口如图 2.1.1所示。
图2.1.12).建立新工程:(1)在工程管理器中选择“文件夹”仓单中的“新建工程”命令,或者单击工具栏的“新建”按钮,出现新建工程对话框,如图2.1.2所示。
图2.1.2(2)单击“下一步”按钮,弹出“新建工程向导之二”对话框。
(3)单击“浏览”按钮,选择新建工程的存储路径。
(4)单击“下一步”按钮,弹出“新建工程向导之三”对话框。
(5)单击“完成”按钮弹出对话框询问是否将该工程设为组态王当前工程。
(6)选择“是”按钮,将新建工程设为组态王当前工程,当进入运行环境时系统默认运行此工程。
(7)在工程管理器中选择“工具”菜单中的“切换到开发系统”命令,进入工程浏览器窗口,至此新工程已经建立,可以对工程进行二次开发了。
2.监控中心设计画图1).建立新画面(1)在工程浏览器左侧的“工程目录显示区”中选择“画面”选项,在右侧视图中双击“新建”图标,弹出新建画面对话框,新画面及属性设置如图2.1.3所示。
图2.1.3(2)在对话框中单击“确定”,TouchExploer按照指定的风格产出一幅名为“监控中心”的画面。
2)使用图形工具箱(1)如图工具箱没有出现,选择“工具”菜单中的“显示工具箱”或按钮F10将其打开,工具箱中各种基本工具的使用方法和Windows中的“画笔”很类似,如图2.2.2所示。
组态王驱动开发包用户手册北京亚控科技发展有限公司1. 版权本开发包版权属于北京亚控科技发展有限公司,任何组织、团体、个人,未经亚控公司允许,不得擅自拷贝,使用,对于购买本开发包的组织、团体、个人,只能内部使用,不得擅自泄漏给第三方。
2. 概述本开发包采用微软标准的COM组件技术,采用该技术,在创建接口时,可以创建多个互相独立对象,每个对象都可以拥有自己的变量。
最后的结果是一个DLL文件。
接口中的各函数,是被组态王的两个应用程序---TouchExplorer.exe和TouchVew.exe调用的。
如果这两个应用程序都不启动,函数中的代码将永远没有机会执行。
组态王的驱动程序是组态王和硬件设备连接的桥梁,本开发包用于开发组态王的驱动程序。
只要拥有硬件的通讯协议,即可以使用本开发包开发组态王的驱动程序。
本开发包只能使用VC++开发。
3. 开发包3.0修订目的a)通用版和嵌入版统一到一套代码中,通用版和嵌入版实现同步更新。
b)生成设备类,为多设备型号驱动提供解决方法。
c)详尽、稳健的基类代码。
d)完善的功能与向导。
e)规范各类帮助函数。
f)规范编码格式、统一使用英文版。
g)修改部分功能的实现方法。
4. 开发包使用我们提供一个开发向导工具“DriverToolKit3.0.0.0.exe”,使用这个工具,能够自动地生成驱动代码框架。
运行工具,如下图:请在下页输入您的目标文件夹点击“安装”,开发包即安装完成。
使用开发包向导创建驱动的过程:(1)启动Visual 2003。
(2)新建一个工程,“项目类型”选择“Visual C++项目”,“模板”选择“KingView Wizard”,在下面的编辑框中输入工程的名字以及存储路径,点击“确定”。
(3)这个创建向导分3页,第一页是“概述”,显示的是默认的设置信息,如果您不需要改变这些,直接点击“确定”即可成功的创建驱动框架。
(4)第二页是“驱动类型和编译选项”,包含如下部分:驱动类型:o串口驱动(适用于查询式设备)这个类型,是我们一般常用的,适合于普通的上位查询,设备应答的通讯类型。
o串口驱动(适用于实时上发数据的设备,非重叠IO)这种方式,适用于下位设备实时上发数据的情况,驱动中需要创建一个线程来监视串口事件的通讯类型,采用非重叠IO方式。
o串口驱动(适用于实时上发数据的设备,重叠IO,WinCE不支持)这种方式,同上一种,也是适用于下位设备实时上发数据的情况,驱动中需要创建一个线程来监视串口的通讯类型。
与前一种不同的是:采用了重叠IO方式。
我们不推荐使用这种方式,因为WINCE系统不支持这种方式,使用这种方式开发的驱动,将不能在WINCE系统的嵌入式设备中运行。
o以太网驱动(TCP服务器端)这是针对于TCP方式通讯的驱动,适用于设备为客户端,组态王为Server,组态王查询,设备应答的通讯类型。
如果遇到设备主动实时上发数据的情况,驱动中提供了相应的函数,可以直接调用函数,启动线程来监听网络事件。
o以太网驱动(TCP客户端)这是TCP方式通讯客户端的驱动,适用于组态王查询、设备应答的通讯类型。
这种方式需要驱动主动去连接设备。
如果遇到设备主动实时上发数据的情况,驱动中提供了相应的函数,可以直接调用函数,启动线程来监听网络事件。
o以太网驱动(UDP服务器端)目前还没有实现,参考TCP方式,代码中需要改动的地方有标注。
o以太网驱动(UDP客户端)目前还没有实现,参考TCP方式,代码中需要改动的地方有标注。
设备名称:默认的设备名称是“Name1”,可以自由填写,但须注意应该与设备列表中的设备名称保持一致。
尝试连接类型:当组态王与设备通讯失败了,组态王会周期性的尝试与设备通讯,这个过程,我们称之为“尝试连接”。
尝试连接,目前准备了如下几种类型:o永远为True,常用于板卡驱动。
o程序员自由定义,常用于网络通讯或实时上发数据的设备。
o使用“PACKET”进行通讯,适用于普通的驱动。
(5)第三页是“驱动基本信息”,包含如下条目:驱动基本信息o驱动名称o版本o描述o程序员o项目经理这些信息将被自动保存到历史文件(History.txt)中,同时也是保存在工程的ReadMe文件中,可以随工程浏览。
其他支持:o USB 通讯o ADO 数据库操作(6)点击“确定”后,将完成驱动工程的创建工作。
5. 工程转换工具我们要求通用版和嵌入版使用同一套代码,做到通用版和嵌入版驱动实现同步更新,这就需要一个工具来将通用版工程文件转换为嵌入版工程文件。
同时,考虑到有的开发者习惯使用Visual Studio 98进行开发编译,我们也要有一个工具来将Visual Studio 2003的工程文件转换成Visual Studio 98的工程文件。
我们提供一个转换工具kvdriver(包含3个文件,kvdriver.exe, vc7tovc6.exe,vc7toevc.exe),使用这个工具,可以根据Visual Studio 2003的工程文件,创建成Visual Studio 98和EVC的工程文件,开发者可以在不同的开发环境间自由选择。
驱动开发包安装完成后,这个工具存放在目录KingViewDriver下。
在使用的时候,可以把这个工具放在系统文件夹C:\WINDOWS\system32中,这样可以在命令行中输入“kvdriver”,然后把需要转换的Visual Studio 2003工程文件拖动过来运行即可,如下所示:6. 驱动信息结构所有的结构都定义在文件“Data类型.h”中。
_DevAddr该结构定义了设备地址格式.类型def struct _DevAddr{UINT nDevAddr;TCHAR sDevAddr[MAX_DEV_LEN];}DEVADDR, * PDEVADDR;成员:sDevAddr:用户在组态王中输入的原地址格式字符串。
nDevAddr:实际转换后的设备地址数字.ComDevice这是串口设置信息的结构体.struct ComDevice{short nFlag;WORD deviceKind;TCHAR deviceName[32];int baudRate;short dataBits;short stopBits;short parity;short timeOut;short failTimes;short retryInterval;short isRs232;};成员:nFlag:串口标志,目前没有用到.DeviceKind:设备类型,'1'代表串口设备DeviceName:逻辑名称 =={COM1,COM2...}BaudRate:波特率,范围是从 110到256000。
DataBits:数据位StopBits:停止位.TimeOut:超时,单位是毫秒FailTimes:失败次数RetryInterval:尝试间隔isRs232:通讯模式,'1'代表RS232, '2'代表RS422, '3'代表RS485. PLCVAR该结构定义了用户变量的属性.类型def struct var{WORD wVarID;WORD wVarType;TCHAR szVarName[32];short nDeviceIndex;short nUnitNo;DEVADDR *pDevAddr;TCHAR *pszRegName;short nRegType;short nSubType;short nSubType1;short nSubType2;short nNo;short nDataType;short nAccessMode;long nFrequency;long nTimerCount;CWinThread* pComThread;DDEValue maxRaw;DDEValue minRaw;short bConvertion;short isBad;short isUnvalid;}PLCVAR, * PPLCVAR;成员:wvarID:变量IDwVarType:变量类型,为如下几种:Bit, byte, int, uint, BCD, long, float, longbcd, string szVarName:变量名nDeviceIndex:设备索引nUnitNo:设备地址单元pDevAddr:设备地址pszRegName:寄存器名称nRegType;寄存器类型nSub Type:nSub Type1:nSub Type2:子类型,没有用到,如在驱动中有其他需要,可以自己定义使用。
nNo:寄存器通道nData Type:数据类型nAccessMode:读写属性nFrequency:采集频率nTimerCount:超时次数pComThread:通讯线程maxRaw:最大原始值minRaw:最小原始值PACKET该结构定义了通讯包的属性类型def struct Packet{short nDeviceIndex;short nUnitNo;DEVADDR * pDevAddr;TCHAR * pszDevName;TCHAR *pszRegName;short nRegType;short nSubType;short nSubType1;short nSubType2;int nStartNo;int nEndNo;short nPacketType;CPtrList varList;}PACKET,* PPACKET;成员:nDeviceIndex:设备索引nUnitNo:设备地址单元pDevAddr:设备地址结构指针pszDevName:设备地址nRegType:寄存器类型nSubType:nSubType1:nSubType2:子类型,没有用到,自己可以使用nStartNo:开始通道nEndNo:结束通道nPacketType:包读写类型VarList:变量列表,存储ID_NO和ID_NO2两种类型变量ID_NO该结构定义了老的接口的变量类型def struct IdNo{WORD wVarId;WORD wNo;WORD wDataType;BYTE Special[4];PlcValue plcValue;}ID_NO;成员:wVarId:变量IDwNo:通道wDataType:数据类型Special:目前没有使用plcValue:PLCVAR结构体指针ID_NO2该结构定义了新的接口的变量类型def struct IdNo2{WORD wVarId;WORD wNo;WORD wData Type;PlcValue plcValue;BYTE Special[4];WORD wQualities;FILETIME ftTimeStamps;}ID_NO2;成员:wVarId:变量IDwNo:通道wDataType:数据类型Special:目前没有用到plcValue:PLCVAR结构体指针wQualities:质量戳,0xc0代表GOOD, 0代表BAD.ftTimeStamps:时间戳,在驱动中一般设置当前的时间DEVICE_INFO该结构定义了设备信息类型def struct deviceinfo{TCHAR sDeviceName[32];}DEVICE_INFO;成员:SDeviceName:设备名称,最大允许长度是32,使用TCHAR字符REG_INFO该结构定义了寄存器信息类型def struct reginfo{TCHAR sRegName[8];int nLowIndex;int nUpperIndex;WORD wDataType;int nData;}REG_INFO;成员:sRegName:寄存器名称nLowIndex:开始通道nUpperIndex:结束通道7. 接口函数7.1 接口描述组态王与驱动交互,包括2个COM接口: IprotocolImp(老接口) 和IProtocolImp2(新接口)IProtocolImp::StrToDevAddrXProtocolImp::StrToDevAddr(const TCHAR* str, LPVOID lpDevAddr)类型:Public目的:实现对地址输入的整理,判断用户输入的地址是否合法,并将地址的数值传给组态王,如果必要,也可以将地址以字符串的形式传给组态王。