组态王驱动开发详解

组态王驱动开发详解
组态王驱动开发详解

组态王驱动开发详解

一、为什么需要编写组态王驱动程序?

组态王是监控和操作底层控制器(PLC,单片机等)的软件,在组态王和底层控制器间有数据的交换,对于一些常用设备,组态王已经内置了设备连接的驱动,比如西门子、ABB等,这些设备可以直接通过在串口处添加即可,但是对于那些在列表中无法找到的设备,就需要通过自己编写驱动程序,以实现组态王和底层硬件的通信。

二、驱动程序(接口)主要完成哪些事情?

(1)定义设备的变量

(2)定义驱动类型:串口or网络,什么通讯方式

(3)通讯包的属性等

三、怎么进行驱动程序的开发?

亚控提供了3.0的驱动程序开发包,这是一个使用VC开发DLL驱动的工具

此为开发包用户手册,可参考;开发包可注册亚控论坛后让群组发过来

https://www.360docs.net/doc/583917972.html,/view/19f24f5f804d2b160b4ec0de.html

编写驱动程序就是完成组态王touchexplore.exe和touchview.exe调用的底层函数,在开发前首先需要确定安装了组态王驱动开发包3.0和visual https://www.360docs.net/doc/583917972.html,2003;安装时可能碰到的问题与解决可参见

https://www.360docs.net/doc/583917972.html,/weizier/blog/item/72bf942bd75539fae6cd409d.html

开发主要分为以下6个步骤:

1、分析通讯协议

需要确定数据包的格式,即驱动程序是接受怎么样的数据,怎么检验数据,并把它传给组态王,组态王又怎么根据得到的数据去解析各变量。如可以确定协议如下的类型

2、制定驱动规格

主要包括三部分:

定义设备选择(在组态王设备列表里面怎么找到这个设别)、

设备地址(设备地址的范围,在接口程序中有检测)、

寄存器列表说明(是接口函数主要传递的数据,由下位机采集传输给组态王,也可由组态王发送到下位机)如下为西门子S700的寄存器列表说明

3、编写代码

3.0提供了驱动的框架,包括数据、类和函数的定义,主要需要修改接口函数部分,以使得驱动和下位机、通信协议匹配。

主要的接口函数有以下几个:

1、StrToDevAddr:将字符串转换为设备地址,传递给组态王

2、GetRegisters:确定寄存器的名字和个数;编程时需要在这里定义好设备的寄存器

3、ConvertUserConfigToVar:将用户配置的字符串转化为组态王的结构

4、AddVarToPacket:确定变量类型,打包(首先接受变量,其次打包传给组态王)

5、ProcessPacket2:根据包的状态信息进行处理,主要有数据的读入,物理传送和传递给组态王,是编程时需要重点编写的地方

4、添加设备列表

驱动程序编译通过之后形成的是.dll的文件,需要通过deaedit程序生成des文件,再通过驱动安装程序安装到组态王中,这样驱动才会显示到设备列表中;在此也可直接用设备列表维护工具“Devman.exe”来维护设备列表文件Devlst.dat,这个工具可在kingviewdriver目录中找到。

5、开发态测试

即在串口没有实际的工作之下,看到在添加设备和设置数据类型时实际调用的接口程序

6、运行态测试

可以采用虚拟串口或者实际串口调试,设备真实安装到了计算机上,通过设置断点可以检测到组态王运行时检测到的数据,可以看到主要通过ProcessPacket2的函数来传递数据。

如何安装组态王嵌入版

如何安装组态王嵌入版 1. 系统要求 1.1. 开发系统 这一部分包括嵌入版开发环境和模拟运行系统及驱动程序。 ?适用于IBM586以上的微型机及其兼容机; ?VGA、SVGA以及支持Windows 256色的图形卡; ?主频300MHZ以上,内存不少于32兆;若要同时运行多个大型程序,建议使用更大的内存; ?运行于Windows 2000/NT 4.0补丁6环境。 ?Intel x86或x86兼容CPU,主频200MHz以上; ?64MB RAM ?32MB 存储空间,支持DiskOnChip或Compact Flash ?10Mbps Base-T标准网卡 ?支持VGA的显示卡 ?中文版Windows https://www.360docs.net/doc/583917972.html,(CE4.0) ?支持标准MFC的SDK ?支持DCOM,支持ATL ?支持注册表存储 1.2. 运行系统 1.3. WINCE要求 组态王嵌入版DEMO盘中包括开发系统(64点)和仿真运行环境的安装盘。在PC平台安装之后,可以使用开发系统和仿真运行环境以及一个DEMO工程。开发系统的加密采用加密狗,加密狗和通用版不通用。 提供给客户的正式版中除了以上光盘,还有一个运行系统的光盘。此盘中包括运行在WINCE下的运行系统的所有文件,以及一个DEMO工程。运行系统的加密采用LICENSE方式,即用户在第一次启动组态王时,将弹出窗口,提示一个系统标识号,并要求输入对应的序列号。用户将系统标识号传给亚控公司,亚控公司返回一个序列号,输入即可。(试用版不需要输入序列号)

将光盘放入PC的光驱,自动弹出安装向导或运行光盘上的\setup.exe,根据向导提示进行安装。详细的安装过程和加密锁驱动的安装请参考手册。 安装之前,请确认您的嵌入式系统已经安装了WINCE操作系统,并且满足以上的系统要求。 第一步:将拷贝有运行系统的PC机和嵌入式系统连接在同一个局域网的同一个网段中。 第二步:上电启动预先安装在系统上的WinCE系统。 第三步:设置WinCE上的网络和拨号连接,给这个设备分配一个IP地址。 第四步:共享PC机上的运行系统目录;在嵌入式机器的WinCE中,在资源浏览器的地址栏中输入PC机的UNC地址,如PC机机器名为aaa,则输入\\aaa。这样就应该能看到PC机中所有的共享目录。(注:不能用中文名,否则显示乱码)。 第五步:在嵌入式系统的存储器上,比如DiskOnChip或Hard Disk,建立一个kingview的目录,将PC机上共享的运行系统的所有文件及目录拷贝到此目录下。 第六步:执行目录下的SelfReg.exe,将运行系统所需要的所有文件拷贝到 \\Program files\\kingview目录下,向注册表中写入运行系统需要的注册表内容,包括组件的注册内容,驱动程序的注册表内容,以及运行系统在存储设备上的路径。 第七步:执行目录下的Flush.exe,存储注册表内容。 第八步:在目录\\Program files\\kingview下,双击touchvew.exe,启动运行系统。 如果需要自启动,把SelfST.exe定制到WINCE中,使得系统在启动时,调用此程序。此程序从注册表中找到运行系统在存储设备上的路径,拷贝文件到 \\Program files\\kingview,并启动touchvew.exe。 重新启动嵌入式系统,系统自动启动组态王嵌入版的运行系统。

组态王软件教程

组态王软件教程 软件教程 一、概述 1.概述 组态王软件结构由工程管理器、工程浏览器及运行系统三部分构成。 工程管理器:工程管理器用于新工程的创建和已有工程的管理,对已有工程进行搜索、添加、备份、恢复以及实现数据词典的导入和导出等功能。 工程浏览器:工程浏览器是一个工程开发设计工具,用于创建监控画面、监控的设备及相关变量、动画链接、命令语言以及设定运行系统配置等的系统组态工具。 运行系统:工程运行界面,从采集设备中获得通讯数据,并依据工程浏览器的动画设计显示动态画面,实现人与控制设备的交互操作。 2.建立应用工程的一般过程 1)创建新工程 为工程创建一个目录用来存放与工程相关的文件。 2)定义硬件设备并添加工程变量 添加工程中需要的硬件设备和工程中使用的变量,包括内存变量和I/O 变量。 3)制作图形画面并定义动画连接 按照实际工程的要求绘制监控画面并使静态画面随着过程控制对象产生动态效果。 4)编写命令语言 通过脚本程序的编写以完成较复杂的操作上位控制。 5)进行运行系统的配置

对运行系统、报警、历史数据记录、网络、用户等进行设置,是系统完成用于现场前的必备工作。 6)保存工程并运行 完成以上步骤后,一个可以拿到现场运行的工程就制作完成了。 二、建立一个新工程 1.工程管理器 组态王工程管理器是用来建立新工程,对添加到工程管理器的工程做统一的管理。工程管理器的主要功能包括:新建、删除工程,对工程重命名,搜索组态王工程,修改工程属性,工程备份、恢复,数据词典的导入导出,切换到组态王开发或运行环境等。 2.工程浏览器 工程浏览器是组态王6.55 的集成开发环境。 3.定义外部设备和数据变量 组态王把那些需要与之交换数据的硬件设备或软件程序都作为外部设备使用。外部硬件设备通常包括PLC、仪表、模块、变频器、板卡等;外部软件程序通常指包括DDE、OPC 等服务程序。按照计算机和外部设备的通讯连接方式,则分为:串行通信(232/422/485)、以太网、专用通信卡(如CP5611)等。 组态王与外部设备的通讯方式:如COM1、COM2、DDE、板卡、OPC 服务器、网络站点,其中COM1、COM2 表示组态王支持串口的通讯方式,DDE表示支持通过DDE 数据传输标准进行数据通讯,其他类似。 注意:标准的计算机都有两个串口,所以此处作为一种固定显示形式,这种形、COM2,也不表示组态王计算机上肯定有两个式并不表示组态王只支持COM1 串口;并且“设备”项下面也不会显示计算机中实际的串口数目,用户通过设备定义向导选择实际设备所连接的PC 串口即可。

组态王实例教程入门

组态王实例教程入门 组态王kingview6.55是亚控科技根据当前的自动化技术的发展趋势,面向低端自动化市场及应用,以实现企业一体化为目标开发的一套产品。该产品以搭建战略性工业应用服务平台为目标,集成了对亚控科技自主研发的工业实时数据库(KingHistorian)的支持,可以为企业提供一个对整个生产流程进行数据汇总、分析及管理的有效平台,使企业能够及时有效地获取信息,及时地做出反应,以获得最优化的结果。 组态王保持了其早期版本功能强大、运行稳定且使用方便的特点,并根据国内众多用户的反馈及意见,对一些功能进行了完善和扩充。组态王kingview6.55提供了丰富的、简捷易用的配置界面,提供了大量的图形元素和图库精灵,同时也为用户创建图库精灵提供了简单易用的接口;该款产品的历史曲线、报表及web发布功能进行了大幅提升与改进,软件的功能性和可用性有了很大的提高。 组态王在保留了原报表所有功能的基础上新增了报表向导功能,能够以组态王的历史库或KingHistorian为数据源,快速建立所需的班报表、日报表、周报表、月报表、季报表和年报表。此外,还可以实现值的行列统计功能。 组态王在web发布方面取得新的突破,全新版的Web发布可以实

现画面发布,数据发布和OCX控件发布,同时保留了组态王Web的所有功能:IE浏览客户端可以获得与组态王运行系统相同的监控画面,IE客户端与Web服务器保持高效的数据同步,通过网络您可以在任何地方获得与Web服务器上相同的画面和数据显示、报表显示、报警显示等,同时可以方便快捷的向工业现场发布控制命令,实现实时控制的功能。 组态王集成了对KingHistorian的支持,且支持数据同时存储到组态王历史库和工业库,极大地提高了组态王的数据存储能力,能够更好地满足大点数用户对存储容量和存储速度的要求。KingHistorian是亚控新近推出的独立开发的工业数据库。具有单个服务器支持高达100万点、256个并发客户同时存储和检索数据、每秒检索单个变量超过20,000 条记录的强大功能。能够更好地满足高端客户对存储速度和存储容量的要求,完全满足了客户实时查看和检索历史运行数据的要求。

wdm驱动开发之路

WDM驱动开发之路 写在前面:在专栏的前几期中,我们一起初步学习了vxd的开发技术。Vxd技术是很深奥的,不是一篇两篇文章能讲清楚,但你已经入了门,剩下的就要看你的修行了。多看书,多泡论坛(当然是上咱们的驱动开发网论坛了:->),多写程序…我的手不够用了。功到自然成嘛。不过话又说回来,vxd只是权宜之计,WDM才符合当今的潮流(程序员都是时髦人士,君不见先是VB、VC然后是asp、JSP、PHP,数也数不过来呀),Win9x寿终正寝时也就是vxd的末日,你不想随它而去吧(开个玩笑),那就随我来。 按笔者的想法,这篇文章写成连载形式,一次讲一个主题,并且必要时带着例子,让大伙step by step地把WDM驱动弄个透底,不想让大家觉得稀里糊涂,也不想让大家觉得白买杂志了。 今天我们一起讨论第一部分,了解篇。 (一)了解篇 WDM模型(Windows Driver Model)是微软公司为当前主流操作系统Windows98和Windows 2000的驱动程序设计的一种构架。它和传统的win3.x和win95使用的vxd的驱动是完全不同的体系结构。不过对于最终用户来说,WDM驱动程序在Windows98和Windows2000下的表现很相似。作为驱动开发人员来说,它在两者中有很多的不同。并且Windows98中的WDM只能算是Windowss2000中的WDM的一个了集。在Windows98中有一些驱动程序只能使用VXD来实现,如串行通讯驱动等。 要写驱动程序,首先要了解操作系统的结构。在WDM体系中,windows2000操作系统中是最标准的实现方式,Windows98则是部分兼容WDM结构。照微软的说法,Windows98和Windows2000 X86(Intel 架构)版本实现二进制码兼容(参见98DDK),Windows2000 x86版本与其它CPU平台版本实现源码级兼容(因为Windows 2000是基本NT相似的结构,最底层是硬件抽象层HAL,所有我们相信它们之间能源码级兼容)。但实际上,Windows2000的WDM实现中有很多例程在Windows98中没有实现,一旦试图加载这样的WDM驱动程序到Windows98中,则不能正常加载,当然我们也有办法实现它,那就是利用“桩”技术。具体可参见Walter Oney写的《Programming the Microsoft Windows Driver Model》一书。我们首先来看看Windows 2000的系统结构,然后再来看看Windows 98的。 图一是Windows 2000的系统结构图。从图中我们可以看出:整个系统被分为两个态,用户态和核心态。 从图中可以明显看出I/O操作最后是怎样作用到硬件上的。用户态应用程序对Windows 子系统进行win32 API调用,这个调用由系统服务接口作用到I/O管理器(严格地说,在Windows 系统中不存在I/O管理器这样的独立模块,这个只是为了方便叙述而将各种核心功能调用的集合称作I/O管理器,业界人士都这样称呼这个部分),I/O管理器进行必要的参数匹配和操作安全性检查,然后由这个请求构造出合适的IRP(IO Request Package,I/O请求包),并把此IRP传给驱动程序。简单情况下,驱动程序直接执行这个请求包,并与硬件打交道,从而完成I/O请求工作,最后由I/O管理器将执行结果返回给用户态程序。但在WDM体系结构中,大部分实行分层处理。即在图中“设备驱动“这部分,分成了若干层,典型地分成高层驱动程序、中间层驱动程序、底层驱动程序。每层驱动再把I/O请求划分成更简单的请求,以传给更下层的驱动执行。以文件系统驱动为例,最高层驱动只知道文件如何在磁盘上表示,但不知到怎样得到数据。最低层驱动程序只知道怎样从磁盘取出512B为单的数据块,但不知道文件怎样表示。举个更具体的生活例子。主人(最高层驱动)知道(并且需要)笔计本电脑,但不知道具体放在什么位置;而仆人(最底层驱动)却知道它放在具体什么地方,但

组态安装配置完整说明

1安装组态王; 安装目录d:\ Program Files\.... 安装光盘版时,安装随盘附带的驱动程序及加密狗程序 安装破解版时,安装外部驱动程序,不安装加密狗程序 2安装采集程序;安装目录d:\ Program Files\.... 3安装虚拟串口程序(采集程序与组态串口通讯),安装目录d:\ Program Files\..... 安装完成第一次运行时,按照提示输入使用密码KEY: User Name: dT2003 Serial Number: 4D90-C7B3-EE33-4304-33B3-A776-AA86-C76F-E62D-4E25 启动运行后配置好串口COM4~COM5,COM6~COM7; 配置方法,在窗口右侧两个串口选择栏选好串口好,点击ADD按钮即可,配置完成后关闭窗口。 4注册波形控件:开始-运行regsvr32 D:\郑西线绝缘在线检测\wave\XjScanWave.ocx-回车。“D:\郑西线绝缘在线检测\wave”为存放控件“XjScanWave.ocx”的文件夹,根据实际情况输入。 安装IIS程序(波形查询),发布wave_data为目录可以浏览方式。 (1)在采集程序安装目录里有一个“Wave_Data”的文件夹,如果没有可以手动添加一个名为“Wave_Data”的文件夹,点击右键,如图所示:

(2)“控制面板”-“管理工具”-Internet 信息服务

1安装SQL SERVER 2000数据库(数据库用户名和密码为sa); 第一步:将Microsoft SQL Server 2000安装光盘放入光驱中,安装程序会自动运行出现版本选择界面,我们以选择个人版为例。如下图: 图1 版本选择 第二步:在接下来的界面中选择“安装SQL Server 2000组件”选项。如下图:

组态王软件驱动程序开发

组态王驱动开发包 用户手册 北京亚控科技发展有限公司

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 https://www.360docs.net/doc/583917972.html, 2003。 (2)新建一个工程,“项目类型”选择“Visual C++项目”,“模板”选择“KingView Wizard”,在下面的编辑框中输入工程的名字以及存储路径,点击“确定”。(3)这个创建向导分3页,第一页是“概述”,显示的是默认的设置信息,如果您不需要改变这些,直接点击“确定”即可成功的创建驱动框架。 (4)第二页是“驱动类型和编译选项”,包含如下部分:

Windows 内核技术与驱动开发笔记(完整版)

Windows 内核技术与驱动开发笔记 1.简述Driver Entry例程 动程序的某些全局初始化操作只能在第一次被装入时执行一次,而Driver Entry例程就是这个目的。 * Driver Entry是内核模式驱动程序主入口点常用的名字。 * Driver Entry的第一个参数是一个指针,指向一个刚被初始化的驱动程序对象,该对象就代表你的驱动程序。WDM驱动程序的Driver Entry例程应完成对这个对象的初始化并返回。非WDM驱动程序需要做大量额外的工作,它们必须探测自己的硬件,为硬件创建设备对象(用于代表硬件),配置并初始化硬件使其正常工作。 * Driver Entry的第二个参数是设备服务键的键名。这个串不是长期存在的(函数返回后可能消失)。如果以后想使用该串就必须先把它复制到安全的地方。 * 对于WDM驱动程序的Driver Entry例程,其主要工作是把各种函数指针填入驱动程序对象,这些指针为操作系统指明了驱动程序容器中各种例程的位置。 2.简述使用VC进行内核程序编译的步骤 编译方式是使用VC++进行编译 1.用VC新建工程。 2.将两个源文件Driver.h和Driver.cpp拷贝到工程目录中,并添加到工程中。 3.增加新的编译版本。 4.修改工程属性,选择“project | setting”将IterMediate file和Output file 都改为MyDriver_Check。 5.选择C/C++选项卡,将原有的Project Options内容全部删除替换成相关参数。 6.选择Link选项卡,将原有的Project Options内容删除替换成相关Link。 7.修改VC的lib目录和include的目录。 8.在VC中选择tools | options,在弹出的对话框中选择“Directories”选项卡,在“Show directories for”下拉菜单中选择“Include file”菜单。添加DDK的相关路径。 3.简述单机内核调试技术 答:1.下载和安装WinDbg能够调试windows内核模块的调试工具不多,其中一个选择是微软提供的WinDbg 下载WinDbg后直接双击安装包执行安装。 2.安装好虚拟机以后必须把这个虚拟机上的windows设置为调试执行。在被调试系统2000、2003或是xp的情况下打开虚拟机中的windows系统盘。 3.将boot.ini文件最后一行复制一下,并加上新的参数使之以调试的方法启动。重启系统,在启动时就可以看到菜单,可以进入正常windows xp,也可以进入Debug模式的windows xp。 4.设置VMware管道虚拟串口。调试机与被调试机用串口相连,但是有被调试机是虚拟机的情况下,就不可能用真正的串口连接了,但是可以在虚拟机上生成一个用管道虚拟机的串口,从而可以继续内核调试。 4.请画出Windows架构简图

组态王教程1

组态王软件培训

培训内容 内容包括: 1、组态王介绍 2、新建工程 3、建立IO设备通信 4、建立数据词典 5、画面组态 6、设置,然后运行 7、脚本编程,函数等。

组态王软件是一种通用的工业监控软件, 它适用于从单一设备的生产运营管理和故障诊断,到网络结构分布式大型集中监控管理系统的开发。支持与国内外常见的PLC、智能模块、智能仪表、变频器、数据采集板卡进行数据通讯组态王软件结构由工程管理器、工程浏览器及运行系统三部分构成。

组态软件的安装 1、运行安装组态王程 序。直接安装。 2、安装完后直接安装 驱动。 3、其它内容可以不安 装。

工程管理器:工程管理器用于新工程的创建和已有工程的管理,对已有工程进行搜索、添加、备份、恢复以及实现数据词典的导入和导出等功能。 工程浏览器:工程浏览器是一个工程开发设计工具,用于创建监控画面、监控的设备及相关变量、动画链接、命令语言以及设定运行系统配置等的系统组态工具。 运行系统:工程运行界面,从采集设备中获得通讯数据,并依据工程浏览器的动画设计显示动态画面,实现人与控制设备的交互操作。

组态王软件是一种通用的工业监控软件, 它适用于从单一设备的生 产运营管理和故障诊断,到网络结构分布式大型集中监控管理系统的开发。支持与国内外常见的PLC、智能模块、智能仪表、变频器、数据采集板卡进行数据通讯组态王软件结构由工程管理器、工程浏览器及运行系统三部分构成。 工程管理器:工程管理器用于新工程的创建和已有工程的管理,对已有工程进行搜索、添加、备份、恢复以及实现数据词典的导入和导出等功能。 工程浏览器:工程浏览器是一个工程开发设计工具,用于创建监控画面、监控的设备及相关变量、动画链接、命令语言以及设定运行系统配置等的系统组态工具。 运行系统:工程运行界面,从采集设备中获得通讯数据,并依据工程浏览器的动画设计显示动态画面,实现人与控制设备的交互操作。

从零开始搭建Linux驱动开发环境

参考: 韦东山视频第10课第一节内核启动流程分析之编译体验 第11课第三节构建根文件系统之busybox 第11课第四节构建根文件系统之构建根文件系统韦东山书籍《嵌入式linux应用开发完全手册》 其他《linux设备驱动程序》第三版 平台: JZ2440、mini2440或TQ2440 交叉网线和miniUSB PC机(windows系统和Vmware下的ubuntu12.04) 一、交叉编译环境的选型 具体的安装交叉编译工具,网上很多资料都有,我的那篇《arm-linux- gcc交叉环境相关知识》也有介绍,这里我只是想提示大家:构建跟文件系统中所用到的lib库一定要是本系统Ubuntu中的交叉编译环境arm-linux- gcc中的。即如果电脑ubuntu中的交叉编译环境为arm-linux-

二、主机、开发板和虚拟机要三者互通 w IP v2.0》一文中有详细的操作步骤,不再赘述。 linux 2.6.22.6_jz2440.patch组合而来,具体操作: 1. 解压缩内核和其补丁包 tar xjvf linux-2.6.22.6.tar.bz2 # 解压内核 tar xjvf linux-2.6.22.6_jz2440.tar.bz2 # 解压补丁

cd linux_2.6.22.6 patch –p1 < ../linux-2.6.22.6_jz2440.patch 3. 配置 在内核目录下执行make 2410_defconfig生成配置菜单,至于怎么配置,《嵌入式linux应用开发完全手册》有详细介绍。 4. 生成uImage make uImage 四、移植busybox 在我们的根文件系统中的/bin和/sbin目录下有各种命令的应用程序,而这些程序在嵌入式系统中都是通过busybox来构建的,每一个命令实际上都是一个指向bu sybox的链接,busybox通过传入的参数来决定进行何种命令操作。 1)配置busybox 解压busybox-1.7.0,然后进入该目录,使用make menuconfig进行配置。这里我们这配置两项 一是在编译选项选择动态库编译,当然你也可以选择静态,不过那样构建的根文件系统会比动态编译的的大。 ->Busybox Settings ->Build Options

驱动程序开发技术-过滤键盘驱动

《驱动程序开发技术》大作业 ——过滤键盘驱动 姓名:梁海杰 学号:2009441624 班级:计科普0902

摘要 Kbdclass.sys是键盘的类驱动,无论是USB键盘,还是PS/2键盘都要经过它的处理;在键盘类驱动之下,和实际硬件打交道的驱动叫做“端口驱动”,比如:i8042prt.sys是ps/2键盘的端口驱动,Kbdhid.sys是USB键盘的端口驱动。键盘中断导致键盘中断服务例程被执行,导致最终i8042prt的I8042KeyboardInterruptService被执行。在I8042KeyboardInterruptService中,从端口读取扫描码,放到一个KEYBOARD_INPUT_DATA 结构中。并把这个结构放到i8042prt的输入队列中。最后会调用内核api函数KeInsertQueueDpc。在这个调用中会调用上层KbdClass.sys中处理输入的回调函数KeyboardClassServiceCallback,取走i8042prt的输入数据队列里的数据。利用驱动分层机制,使用过滤驱动捕获键盘的扫描码并保存下来;应用程序定时访问驱动程序取回扫描码,转换成相应的按键名称并显示;通过应用程序设定按键映射,应用程序将指令传送给驱动程序,以实现将指定的按键消息转换成其他按键。 关键词:过滤键盘;驱动分层;映射;扫描码

过滤键盘驱动 一、主要设计思路 利用驱动分层机制,使用过滤驱动捕获键盘的扫描码并保存下来;应用程序定时访问驱动程序取回扫描码,转换成相应的按键名称并显示;通过应用程序设定按键映射,应用程序将指令传送给驱动程序,以实现将指定的按键消息转换成其他按键。 键盘过滤驱动是工作在异步模式下的。系统为了得到一个按键操作,首先要发送一个IRP_MJ_READ消息到驱动的设备栈,驱动收到这个IRP后,会一直保持这个IRP为未确定(pending)态,因为当时并没有按键操作。直到一个键被真正的按下,驱动此时就会立刻完成这个IRP,并将刚按下的键的相关数据做为该IRP的返回值。在该IRP带着对应的数据返回后,操作系统将这些值传递给对应的事件系统来处理,然后系统紧接着又会立刻发送一个IRP_MJ_READ请求,等待下次的按键操作,重复以上的步骤。 为了实现截获键盘消息,需要在过滤驱动程序中创建一个挂接到物理键盘设备上层的过滤驱动设备。系统发送的IRP_MJ_READ消息会首先到达过滤驱动设备,这样就可以有机会给IRP_MJ_READ设置指定的完成例程,然后将消息下传给物理键盘设备。当有按键动作发生时,IRP_MJ_READ消息在完成后就会调用指定的完成例程,这时就可以在完成例程中读出键盘动作的内容,或者修改这些信息,以实现按键的映射。

组态王使用说明

皖西学院 监控组态软件实验指导书 机械与电子工程学院 电气工程教研室 2013.3

实验一监控组态工程建立与工艺流程图绘制 一、实验目的 熟练掌握工控组态软件的绘图工具 二、实验内容 熟悉工控组态软件的绘图工具,完成反应工段工艺流程绘制以及外部设备和变量的定义。 三、实验步骤 1.1创建工程 在工程管理器中选择菜单“文件/新建工程”,或者点击工具栏的“新建”按钮,根据“新建工程向导”对话框完成工程创建,如图一所示 图一工程管理器 1.2 组态画面 双击工程管理器中的工程,打开工程浏览器,在工程浏览器中左侧的“工程目录显示区”中选择“画面”,在右侧视图中双击“新建”,弹出新建画面对话框如图一所示。

图二画面属性设置 点击图二确定按钮后,在工具箱和图库中选中相应图素进行监控画面组态,绘制工艺流程图如图三所示。 图三反应车间监控画面 1.3定义设备 根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为“PLC”。

1.4定义变量 在组态王中定义三个变量:原料油液位(IO实数类型)、成品油液位(IO实数类型)、催化剂液位(IO实数类型)。 原料油液位变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。 催化剂液位变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。 成品油液位变量:最小值0,最大值200,最小原始值0,最大原始值200,连接设备PLC,寄存器INCREA200,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。 四、实验报告 实验报告包括实验目的、实验内容、设计说明、实验体会等。

行为驱动开发

行为驱动开发 行为驱动开发(简称BDD)是测试驱动开发的升级版。它是一套软件工程实践方法,能帮助研发团队更快地构建和交付更有价值和更高质量的软件产品。采用BDD思想编写的测试读起来更像规格说明书而不是单元测试,所以它是使用测试作为表达和验证行为的一种手段。基于这个特性,BDD也非常适合应用在需求分析中。 一、行为驱动开发的原则 1.聚焦交付业务价值。使用验收标准作为目标,帮助业务实现更实际的可交付的功能。 2.团队共同确定交付标准。业务分析人员,开发人员,测试人员与最终用户一起定义和指定功能。 3.拥抱变化。项目开始时不锁定需求,而是假设需求,从用户那里得到早期的反馈,对需求的理解将在项目的整个生命周期中演进和变更。 4.不仅仅编写自动化测试,而是编写可执行规范和底层规范。团队将验收标准转换为自动化的验收测试,更准确地说是转换为可执行规范。在编写任何代码之前,开发人员将考虑代码实际上应该做什么,并将其表示为底层的可执行规范。可执行规范是一种自动化测试,它演示和验证应用程序如何交付特定的业务需求。自动化测试作为构建过程的一部分运行,并在对应用程序进行更改时运行,进行验收测试和回归测试。 5.交付活文档,并使用活文档来支持后续维护工作。在项目结束后持续维护项目可执行规范。 二、行为驱动开发的优势 1.专注业务目标,避免工程师把工作量浪费在不提供业务价值的功能上,能够降低成本,减少浪费。

2.完整的可执行规范,可充当开发人员的辅助技术文档,更容易理解现有的代码库并进行更改。 3.全面的自动化验收测试和回归测试,不仅可以提升执行效率,也能降低手工测试的出错率,使得迭代速度更快更可靠。 三、行为驱动开发的缺陷 1. 需要多个角色高度参与和协作,涉众如果不愿意或不能参与对话和协作,或者等到项目结束后才给出反馈,就很难充分利用BDD的优点。 2.比较适用于敏捷开发,但不太适用于瀑布式开发。 3.对参与角色能力要求很高,尤其是测试团队,不仅需要精通业务,对业务目标清晰,而且对测试技术能力要求更高,如果编写的自动化测试很烂,会导致更高的测试维护成本。

组态王驱动的编写

组态王驱动 今天简单的总结下组态王驱动的添加和编写,主要是对整个驱动的流程做一个梳理,为具体的编写做个引导。 驱动的添加步骤: 1.将Debug里生成的dll文件复制到DRIVER里面 2.添加submit里的注册表项 3.添加设备:将Device Manage Tool里的devman.exe打开,新建设备,设备名称要和驱动名称一样,ID号为Readme.txt里的MBCS,描述不能为空,将生成的DevLst.Dat复制到组态王安装文件夹下,并运行DevLstUpdate.exe 4.打开组态王,新建工程,新建设备,新建变量(IO离散类型),建画面(离散输入(指从外设输入到组态王)) 驱动的编写: 1.首先新建一个基于组态驱动的工程(VS2003),把设备类Dev……中的static DEVICE_INFO gsDeviceInfo[]=中的_T(……)写成文件名。 2.在static REG_INFO gsRegInfo[]=里添加寄存器的名字,地址,类型等,其次在下面的#define中添加宏定义,方便以后的调用。 3.总体顺序是这样的: 首先调用processPacket2,其中调用函数GetSendString,将要发送的数据打包,然后调用CopyMemory(m_bySndBuf,StrSend.GetBuffer(StrSend.GetLength()

),StrSend.GetLength())函数,将要发送的数据放到缓冲区。 其次调用Transmission函数,不用修改,主要作用是处理发送的过程。 然后调用PreProcessData,对接收到的数据进行处理,其中,接收数据调用CopyMemory(StrRecBuf.GetBufferSetLength(nExpectedLen),m_byR ecBuf,nExpectedLen);

组态王日报表例程

组态王日报表的实现例程 配置参考文档 北京亚控科技发展有限公司 技术部 目录 一、功能概述 (2) 一、功能概述 (2) 二、工程实例 (2) 三、操作步骤: (2) 1、定义设备: (2) 2、定义变量: (2) 3.制作画面: (3) 3.1) 创建报表: (3) 3.2) 创建日历控件: (5) 4.进入运行系统: (11) 四、注意事项 (12) 图表 图一报表 (4) 图二报表设计 (4) 图三日报表 (5) 图四日历控件 (6) 图五控件事件函数 (9) 图六保存报表 (9) 图七打印报表 (10) 图八打印报表 (10) 图九运行系统 (11) 图十打印预览 (12)

一、功能概述 常规需求:很多工业现场会用到报表功能,而日报是其中最基本的一种报表形式。 日报表一般为每天整点的数据,每一个变量有24个数据。 组态王中的实现方法: 利用组态王内置报表以及报表的函数来实现对日数据的查询生成日报表。 组态王内置报表的操作类似excel,操作简单、方便,并且组态王提供了大量的报表函数来实现各种复杂功能。 二、工程实例 我们举一个例子来说明日报表的实现方法。在此例程中我们定义五个变量,分别为“压力”、“温度”、“密度”、“电流”、“电压”,运行系统运行后记录历史数据,查询日报表数据时自动从历史数据中查询整点数据生成报表,并可以保存、打印报表。下面就以此为例来演示完成这一要求的具体步骤。 三、操作步骤: 1、定义设备: 根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为”PLC”。 2、定义变量: 在组态王中定义三个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO实数类型)。压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。 温度变量:最小值0,最大值50,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择

组态王实例教程入门

Kingview简介:本教程是学习Kingview软件的入门课程,涵盖了Kingview软件的大多数基本功能。学习完本教程后,您将能够建立上位机监控系统的功能齐全,实用的应用程序。以下课程向您展示如何:*使用工程浏览器*创建新项目*绘制图片*使用库和控件*构造数据库*与较低端的计算机通信*生成动画效果*查看趋势曲线和警报信息*设计自定义报告*系统安全性您可以按照上述步骤配置化工厂反应车间的模型并建立监控中心。完成后的配置将具有操作按钮,趋势曲线和警报功能。以下是配置屏幕:Kingview 教程课程1了解Kingview。在本课程中,您将:·了解Kingview软件的整体结构,了解Kingview的工件模式,并了解构建应用程序的一般过程。组态王软件“组态王”的结构是在Microsoft Windows 98 / NT的中文平台上运行的配置软件。多线程和COM组件等新技术用于实现实时多任务。该软件运行稳定可靠。Kingview具有集成的开发环境“Kingview项目浏览器”。在项目浏览器中,您可以查看项目的各个组件,还可以完成构建数据库和定义外部设备的工作。屏幕的开发和操作通过项目浏览器调用图片制作系统touchmak和图片运行系统touchview来完成。Touchmak是一个应用程序开发环境。

您需要在此环境中完成设计屏幕,动画连接等。Touchmak具有先进而完善的图形生成功能;数据库中有许多数据类型,可以合理地抽象控制对象的特征。它具有重要功能的简单操作方法,例如可变警报,趋势曲线,过程记录,安全性等。Touchview是Kingview 软件的实时运行环境。在touchmap中创建的图形只能在touchview中运行。Touchview 从工业控制对象收集数据并将其记录在实时数据库中。它还负责以动画形式显示数据的变化,同时,它还可以完成诸如可变警报,操作记录和趋势曲线的监视功能,并生成历史数据文件。Kingview如何与下位计算机通信?组态王将第一台较低的计算机视为外部设备。在开发过程中,您可以根据“设备配置向导”逐步完成连接过程。在运行期间,Kingview通过驱动程序与这些外部设备交换数据,包括收集数据和发送数据/指令。每个驱动程序都是一个COM对象,使通讯程序和Kingview构成一个完整的系统,不仅保证了运行系统的高效率,而且使系统可以大规模使用。如何产生动画效果?开发人员在touchmak中制作的图片是静态的,那么它们如何通过动画来反映工业场景的情况?这需要通过实时数据库完成,因为只有数据库中的变量才与现场条件同步。数据库变量的更

USB驱动开发

第17章USB设备驱动 USB设备驱动和PCI设备驱动是PC中最主要的两种设备驱动程序。与PCI协议相比,USB协议更复杂,涉及面较多。本章将介绍USB设备驱动开发。首先介绍USB协议,使读者对USB协议有个整体认识。然后介绍USB设备在WDM中的开发框架。由于操作系统的USB总线驱动程序提供了丰富的功能调用,因此开发USB驱动开发变得相对简单,只需要调用USB总线驱动接口。 17.1 USB总线协议 USB总线协议比PCI协议复杂的多,涉及USB物理层协议,又涉及USB传输层协议等。对于USB驱动程序开发者来说,不需要对USB协议的每个细节都很清楚。本节概要地介绍USB总线协议,并对驱动开发者需要了解的地方进行详细介绍。 17.1.1 USB设备简介 USB即通用串行总线(Universal Serial Bus),是一种支持即插即用的新型串行接口。也有人称之为“菊链(daisy-chaining)”,是因为在一条“线缆”上有链接127 个设备的能力。USB要比标准串行口快得多,其数据传输率可达每秒4Mb~12Mb(而老式的串行口最多是每秒115Kb)。除了具有较高的传输率外,它还能给外围设备提供支持。 需要注意的是,这不是一种新的总线标准,而是计算机系统连接外围设备(如键盘、鼠标、打印机等)的输入/输出接口标准。到现在为止,计算机系统连接外围设备的接口还没有统一的标准,例如,键盘的插口是圆的、连接打印机要用9针或25针的并行接口、鼠标则要用9针或25针的串行接口。USB能把这些不同的接口统一起来,仅用一个4针插头作为标准插头,如图17-1所示。通过这个标准插头,采用菊花链形式可以把所有的外设连接起来,并且不会损失带宽。USB正在取代当前PC上的串口和并口。

组态王6.55简体版 安装说明书

组态王6.55 简体版工业通用组态软件 安装说明书

1.安装注意事项 1.1安装要求: 软件环境要求: 组态王6.55软件安装在Windows XP(sp2)/Win7 简体中文版操作系统下使用。 硬件环境要求: 1)P4 1G以上的微型机及其兼容机; 2)至少128M内存,推荐256M,使用WEB功能或2000点以上推荐512M; 3)至少1G的硬盘剩余空间; 4)VGA、SVGA及支持Windows 256色以上的图形显示卡。 2.软件安装 2.1将组态王6.55的安装光盘放入电脑光驱,读取光盘约需1-5分钟; 2.2读取光盘成功后,光驱图标如图2-1所示。 图2-1 光驱成功读取安装光盘

2.3点击光驱图标,自动运行图2-2所示的安装程序,否则请看2.4; 图2-2 自动运行安装程序界面 2.4如果点击图标后,进入光盘根目录,如图2-3所示,而没有自动运行安装程序,只需点击 图2-3中 install.exe文件, 即可进入图2-2; 图2-3 组态王安装光盘根目录

2.5在图2-2的安装光盘自动运行界面,单击“安装组态王程序”开始安装组态王,进入图2-4 所示 图2-4 组态王安装准备界面 2.6等待大概1-3分钟,进入图2-5所示安装界面,点击“下一步”,进入图2-6的安装界面二, 选择“是”进入图2-7 注册信息界面,“用户名”和“公司名称”请按实际情况填写;填写完成后,点击“下一步”,进入图2-8注册信息确认界面;

图2-5 安装界面一 图 2-6 安装界面二

图2-7 注册信息界面 图2-8 注册信息确认界面

单片机驱动开发班

单片机驱动开发班 课程背景: 随着经济的发展,科技的突飞猛进,芯片技术也取得了飞速发展,这就使单片机技术在各种民用和工业测控等领域得到更为广泛应用。包括如今异常火爆的汽车电子中的车身控制、底盘控制、发动机控制、安全控制、娱乐系统等;包括传统的工业控制中的电机控制、温控系统、仪表设备、楼宇自控系统、数据采集系统等;包括计算机网络通信、数据传输、军用设备、航空航天等。单片机凭借其低成本、高性能的不可替代优势,已经成为微电脑控制的主力军。据统计,我国的单片机年需求量已达2亿片以上,且每年以大约15%的速度增长,发展迅速的单片机行业有着广阔的前景。 相比于发展迅猛的单片机行业,国内的单片机设计开发从业人员缺口很大。据统计,到2015年,我国单片机开发从业人员将达350万人,而目前的从业者只有大约一百五十万人,两百万的人才缺口正驱动大量人员加入这个庞大的群体。 学院优势: 硅谷芯微是深圳市硅谷龙科技有限公司教育产业下属专门从事IT实训的独立机构,深圳市硅谷龙科技有限公司始创于中国深圳,由侯工单片机工作室投资成立,致力于通过创新、高品质的课程体系和高效、实用的教育服务推动我国芯片级IT教育体系的建设。 深圳市硅谷龙科技有限公司致力于提供个性化、着眼于未来的教育服务,把国际先进且具有自主知识产权的案例全面应用于教育服务,在IT职业教育领域,硅谷龙以实用型的工程师人才培养理念作导引,以学生就业和职业生涯发展为指向,以成熟的IT开发经验为基础,通过完善、创新的课程体系以及全球化的企业合作为保障开展IT各类职业人才教育。硅谷龙在全国范围内建立实训基地,通过系统的实训,帮助学生提高职业素质及就业竞争力,并最终完成学员的就业服务。 面向行业及岗位: 面向行业:消费类电子、工控、汽车电子、监控电子等 主要岗位:单片机工程师、单片机硬件工程师、单片机技术支持工程师、单片机销售工程师、单片机驱动工程师。 教学目标:

组态王 实例

一、概述 组态王软件结构由工程管理器、工程浏览器及运行系统三部分构成。工程管理器:工程管理器用于新工程得创建与已有工程得管理,对已有工程进行搜索、添加、备份、恢复以及实现数据词典得导入与导出等功能。工程浏览器:工程浏览器就是一个工程开发设计工具,用于创建监控画面、监控得设备及相关变量、动画链接、命令语言以及设定运行系统配置等得系统组态工具。运行系统:工程运行界面,从采集设备中获得通讯数据,并依据工程浏览器得动画设计显示动态画面,实现人与控制设备得交互操作。 通常情况下,建立一个应用工程大致可分为以下六个步骤: 1.创建新工程为工程创建一个目录用来存放与工程相关得文件。 2.定义硬件设备并添加工程变量添加工程中需要得硬件设备与工程中使 用得变量,包括内存变量与 I/O 变量。 制作图形画面并定义动画连接按照实际工程得要求绘制监控画面并 使静态画面随着过程控制对象产生动态效果。 4.编写命令语言通过脚本程序得编写以完成较复杂得操作上位控制。 进行运行系统得配置对运行系统、报警、历史数据记录、网络、用户 等进行设置,就是系统完成用于现场前得必备工作。 6.保存工程并运行完成以上步骤后,一个可以拿到现场运行得工程就制 作完成了。 接下来我将建立一个反应车间得监控中心。监控中心从现场采集生产数据,以动画形式直观得显示在监控画面上。监控画面还将显示实时趋势与报警信息,并提供历史数据查询得功能,完成数据统计得报表。将实时数据保存到关系数据库中,并进行数据库得查询等。 二、建立一个新工程 一) 建立一个新工程 点击“开始”---〉“程序”---〉“组态王 6、5”---〉“组态王6、5”(或直接双桌面上组态王得快捷方式),启动后得工程管理窗口如图2-1 所示: 图2-1 图2-2 新建:单击此快捷键,弹出新建工程对话框建立组态王工程。点击工程管 理器上得“新建”,弹出“新建工程向导之一”,接下来一直按下一步直到点 击完成后会出现“就是否将新建得工程设为组态王当前工程”得提示,选择 “就是”即可新建一工程如图2-2: 二) 工程浏览器

相关文档
最新文档