搜档网
当前位置:搜档网 › 组态王通过数据库实现数据的采集与输出

组态王通过数据库实现数据的采集与输出

组态王通过数据库实现数据的采集与输出
组态王通过数据库实现数据的采集与输出

组态王通过数据库实现数据的采集与输出

作者:蒋妤媜

版本:20100719.1

前提:

数据库用Microsoft Office Access 2003,数据库路径为D:\历史记录.mdb

组态王版本为6.53

PC机系统为XP

一、创建数据库表

1. 新建名为“历史记录”的数据库,新建完成后,打开数据库

2. 创建表,点击使用设计器创建表,进入设计视图对话框,输入字段名日期时间、

毫秒、污泥浓度、溶氧仪、进水COD、电磁流量计、超声波流量计、二在线COD,其中字段名日期时间的数据类型为日期/时间、毫秒的数据类型为数字长整型、其他字段名数据类型为数字单精度型。

3. 保存名为:10分钟记录

二、创建ODBC

打开控制面板→管理工具→数据源(ODBC),弹出“ODBC数据管理器”,在用户DSN标签下,点击添加

弹出“创建数据库源”

创建数据库源完成后弹出

确定完成。

三、组态王内部设置

1. 新建变量

在数据词典中创建本地变量,,变量名称分别为日期时间、DeviceID 、nReturnValue 。

2. 打开到组态王工程浏览器,新建记录体

创建名为“历史记录”的记录体

3. 创建事件命令语言

点击创建,弹出事件命令语言对话框

事件描述为:(((\\本站点\$分)%10==0)&&((\\本站点\$秒-1)%60==0))==1

显示已增加的字段

10分钟记录一次

每10分钟操作一次该命令

4. 创建应用程序命令语言

5. 使用趋势来读取数据库数据

新建趋势画面,趋势控件为历史趋势控件,选中控件并鼠标右击选择“控件属性”,

进入“设置数据库曲线”对话框

在“运行”时标签栏下

输入刷新时间

输入该命令行

添加好的数据

附录:

若要做报表通过读取数据库的数据,则使用通用控件中的KVADODBrid Class 。

并制作查询按钮,脚本如下:

\\本站点\nReturnValue=Ctrl.QueryDialog(); if (\\本站点\nReturnValue==1)

{ Ctrl.FetchData();}

组态王软件详细教程 第九讲 数据库

第九讲组态王与Access数据库连接 组态王SQL访问功能实现组态王和其他外部数据库(支持ODBC访问接口)之间的数据传输。它包括组态王的SQL访问管理器和SQL函数。 以Ms Access数据库为例,下面说明组态王与其相连的例子。 SQL访问管理器 SQL访问管理器用来建立数据库列和组态王变量之间的联系。包括表格模板和记录体两部分功能。通过表格模板在数据库表中建立表格;通过记录体建立数据库表格列和组态王之间的联系,允许组态王通过记录体直接操作数据库中的数据。表格模板和记录体都是在工程浏览器中建立的。 创建表格模板 在工程浏览器中左侧工程目录显示区中选择“SQL访问管理器”下的“表格模板”项,在右侧目录内容显示区中双击“新建”,弹出“创建表格模板对话框”,如下图。

在表格模板中建立五个记录,字段名称,变量类型,变量长度,索引类型分别如上图所示。 建立表格模板的目的在于定义一种格式,在后面用到是SQLCreatTable()以次格式在Access数据库中建立表格。 创建记录体 在工程浏览器左侧的工程目录显示区中选择SQL访问管理器下的记录体,在右侧的目录内容显示区中双击“新建”,弹出“创建表格模板对话框”,如下图。

记录体定义了组态王变量$日期、$时间、原料油液位、催化剂液位、成品油液位和Access 数据库表格中相应字段日期、时间、原料油液位值、催化剂液位值、成品油液位值之间的对应连接关系。(注意:记录体中的 字段名称和顺序必须与表格模板中的字段名称和顺序必须保持一致,记录体中的字段对应的变量的数据类型必须和表格模板中相同字段对应的数据类型相同。) 建立Ms Access数据库 1.建立一空Access文件,定名为mydb.mdb. 2.定义数据源 双击控制面板下的“ODBC数据源(32位)”选项,弹出“ODBC数据源管理器”对话框, 选择“用户DSN”属性页,并单击添加”按钮。 在弹出的“创建新数据源”对话框中,选择“Mirosoft Access Driver” 单击“完成”按钮。 弹出“ODBC Microsoft Access安装”对话框:

组态王曲线数据采集

组态王曲线数据采集 1定义变量 选中工程浏览器左侧数据库\数据词典,在右侧双击新建定义以下变量: 2新建模板和记录体 2.4新建模板 1.选中工程浏览器左侧SQL访问管理器\表格模板。在右侧双击“新建”,建立模板。 2.输入模板名:muban2 字段名称:数据1 变量类型:浮点型 3.点击增加字段,即将字段“数据1”加入到模板中。以同样的变量类型依次将字段 “数据2”到“数据30”加入到模板中最后点击“确认”。如图1: 图1 2.5新建记录体 1.选中工程浏览器左侧SQL访问管理器\记录体。在右侧双击“新建”,建立记录体。 输入记录体名:jiluti3

字段名称:数据1 2.点击图2中“?”按钮关联变量“数据1”,点击增加字段即将数据1加入到“jiluti3” 中。依次将“数据2”到“数据30”增加到“jiluti3”中最后点击“确认”。 图2 3命令语言 3.4应用程序命令语言 在工程浏览器左侧命令语言\应用程序命令语言\启动时增加如下语句: SQLCreateTable( DeviceID, "quxian", "muban2" ); 3.5数据改变命令语言 在工程浏览器左侧命令语言\数据改变命令语言\启动时输入如图3语句,通过点击图中“?”按钮选择关联变量“采集次数”。即当变量“采集次数”值改变时执行命令语言。 图3

3.6事件命令语言 1.选中工程浏览器左侧命令语言\事件命令语言新建命令语言在存在时输入如图4 语句: 图4 a)事件描述:(\\本站点\采集间隔= =0.5)&&(\\本站点\计数标志= =1) b)注意图4中语句执行频率是500毫秒 语句一直要写到:if(\\本站点\采集次数1= =30) \\本站点\数据30=\\本站点\a; 2.在命令语言\事件命令语言\存在时输入语句: SQLInsert( DeviceID, "quxian", "jiluti3" ); 3.如图5创建另一个事件命令语言,“存在时”和“消失时”语句内容同第1步。 图5 区别在于: a)事件描述:(\\本站点\采集间隔= =1)&&(\\本站点\计数标志= =1) b)注意图5中语句执行频率是1000毫秒

组态王与单片机通信协议1

一、通讯参数: 通讯参数包括数据位,停止位,波特率、校验方式。 数据位、停止位、波特率由单片机决定。组态王中的设定和单片机一致即可。校验方式参照“数据传输格式”中相关部分。 二、数据传输格式: 格式1、组态王发送地址请求格式:(此时检验位为1) ENQ Sta EOT CRC 格式2、单片机应答地址格式:(此时检验位为0) ACK Sta ETX CRC 格式3、组态王读数据请求格式:(此时检验位为0) ENQ R DataType DataAddr DataNum EOT CRC 格式4、单片机应答读数据格式(正确):(此时检验位为0) ACK DataLong Data….ETX CRC 格式5、单片机应答读数据格式(错误):(此时检验位为0) NAK ErrorCode ETX CRC 格式6、组态王写数据请求格式:(此时检验位为0) ENQ W DataType DataAddr Data….EOT CRC 格式7、单片机应答写数据格式(正确):(此时检验位为0) ACK ErrorCode ETX CRC 三、时序: 读数据: 组态王单片机

第一步:格式1 第二步:格式2 第三步:格式3 第四步:格式4或格式5 第五步:如果第四步单片机执行格式4, 结束。否则,执行格式1。 第六步:格式2 第七步:格式3 第八步:格式4或格式5 写数据: 组态王单片机 第一步:格式1 第二步:格式2 第三步:格式6 第四步:格式7 第五步:如果第四步单片机执行格式7 的ErrorCode=0,结束。否则,执行格 式1。 第六步:格式2 第七步:格式6 第八步:格式7 四、协议说明: 数据传输:所有数据均为16进制数 ENQ(头) H05 询问请求帧的开始代码 ACK(头) H06 确认ACK应答帧的开始代码NAK(头) H15 否认NAK应答帧的开始代码EOT(尾) H04 正文的结束请求帧的结束ASCII代码ETX(尾) H03 结束正文应答帧的结束ASCII代码 Sta::设备地址1字节 R:读标志1字节(0x52) W:写标志1字节(0x57)

组态王与数据库连接

首先,安装SQL server,和组态王。 1.将采集到的数据需要存入数据库的先编辑到记录体。 a.记录体名可以按照存储变量来设定,与存入数据库表格名称可以不一样(建议设置 一样)。 b.字段名称不需要和变量名称一致,设置简单明了的标示名称即可,但是必须要和存 入数据库表格名称一致。 c.记录体变量顺序必须和存入数据库表格顺序一致,否则数据不能插入表格。 d.时间:建议可新建一个内存字符串,并在命令语言内如图定义。 2.新建数据库以及数据库表格。 新建数据库:名称可随意设置(如:ceshi) 新建数据库表格: 列名:必须和记录体内字段名称一致(在报表调用时名称可以修改)。 数据类型:和存入的数据类型要一致,时间varchar模拟量float 开关量bit

长度:根据数据类型自动设置。 保存表格时输入表格名称即可。(名称尽量和记录体一致,操作起来方便一些)

3.创建数据源(ODBC) 依次打开控制面板→管理工具→数据源(ODBC) →系统DSN 步骤(只是需要修改的,其他都默认): a.添加→选择新数据源SQL sever(下拉最后一个)→完成 b.名称可随意设置,(建议和数据库名称一样,如:ceshi),描述可以省略,服务器: (local) c.使用用户输入登录ID和密码的SQLserver 验证。登录ID:sa,密码:安装数据库时 设置的密码(如,admin)。 d.更改默认的数据库,选择刚刚新建的数据库(如ceshi),创建完成。 4.连接组态和数据库插入数据 a.在组态王数据词典中新建内存整形变量DeviceID b.应用程序命令语言启动时: SQLConnect( DeviceID, "dsn=数据源名称;uid=sa(登录ID);pwd=admin(密码)"); 该命令语言是组态王连接上数据。 c.SQLInsert( DeviceID, "记录体名称", "数据库表格名称" ); 该命令语言是将记录体数据插入数据库表格内,可根据不同需求设定不同是采集频率。(如图,为一分钟采集一次;) 注:如果采集时间为十分钟可以建内存实数,让新建变量等于10分钟,并在命令语言中实现。 报表功能下期再见。

组态王教学-趋势曲线

趋势曲线 常见问题解答 北京亚控科技发展有限公司 2010年01月

目录 1. 实时趋势曲线 (1) 1.1 我发现组态王的实时曲线控件只能显示百分比量程,请问能否显示工程的实际量程呢? (1) 1.2 使用组态王实时趋势曲线控件时,控件属性设置没有问题,但为何看不到曲线? (1) 1.3 在组态王画面上添加一实时趋势曲线控件,如何修改控件的背景颜色? (1) 2. 历史趋势曲线 (1) 2.1 在组态王的历史趋势曲线中看不到曲线为何? (1) 2.2 使用组态王的历史趋势曲线控件时,如何实现自动更新控件右侧时间为系统的当前时间? (1) 2.3 使用组态王历史趋势曲线控件查询时,在查询不存在的历史数据时,组态王是如何处理的? (2) 2.4 在历史趋势曲线控件中增加变量时,为何无法选择变量? (2) 2.5 使用组态王提供的历史趋势曲线控件读取数据库中的数据为何显示不出曲线? (2) 2.6 使用组态王历史趋势曲线控件,查询出来的趋势曲线比实际的历史数据要提前8个小时? (2) 2.7 在组态王运行环境中,能否改变历史趋势曲线控件连接的曲线? (3) 2.8 组态王提供的历史曲线控件中曲线形式能否画成阶梯式的而不是斜线式的? (3) 2.9 通过组态王提供的历史趋势曲线控件查询Access数据库中的数据,"时间字段"的下拉框中为何没有任何选项? (3) 2.10 我想通过指定一个变量的名称来删除历史曲线控件中此变量对应的曲线,在组态王中应如何实现? (3) 2.11 我有100多个设备,每个设备有10几个参数,我想通过改变设备号,在一个历史趋势曲线里查询不同设备的各个参数的历史曲线? (3) 2.12 使用组态王的历史趋势曲线控件时,选择变量时能否显示变量描述? (4) 2.13 使用组态王的历史趋势曲线控件时,怎样对曲线进行删除操作? (4)

组态王6.53与51单片机上课讲义

组态王6.53与51单 片机

基于51单片机的智能仪表与组态王的通讯 1242人阅读 | 0条评论发布于:2009-8-10 23:01:00 1、引言 随着工业自动化进程的不断加快,现场仪器、仪表、设备正不断向数字化、智能化和网络化方向推进。 单片机以其强大的现场数据处理能力,低廉的价格,紧凑的系统结构、高度的灵活性,微小的功耗等一系列优良特性成为构建智能化现场仪器仪表、设备的重要手段,现已广泛应用于工业测量和控制系统中。 组态王 Kingview工控组态软件以其工作性能稳定可靠、人机界面友善、硬件配置方便以及编程简单易用同时其驱动程序较为丰富,如支持DDE、板卡、OPC服务器、PLC、智能仪表、智能模块等;支持ActiveX控件、配方管理、数据库访问、网络功能、冗余功能。其扩展性强,配有加密锁,支持工程加密;可方便与管理计算机或控制计算机联网通信等优良特性,提供了对工业控制现场大量数据进行采集、监控、处理的解决方案。在各种工业控制领域中得到了大量使用[1-2]。 将单片机和组态王优良的特性结合起来,使它们实现“强强联合”,成为改造传统工业,提升企业技术竞争力的重要趋势。 目前许多测控系统是由通用机或工控机和底层单片机控制装置组成,通用机或工控机通过组态软件控制现场仪器设备,单片机采集数据和现场状态通过串行口传送到通用机或工控机,由组态软件对采集到的现场数据进行分析、存储或显示,并将命令和控制通过串行口传到单片机以监控现场设备的运转。可靠地实现它们之间的通讯是实现各种测控任务必须解决的首要问题。对于一些重要名家厂商的板卡和模块,一般组态王可直接提供为数据采集和控制所需的底层硬件设备的驱动程序。但对于绝大多数一般用户自行设计开发的采集、控制装置则没有驱动程序提供。因此实现它们“强强联合”,必须解决它们之间之间的通信问题。迄今为止,人们对单片机与组态王的通信问题进行了广泛的研究[1-2]。 目前,单片机与组态王的通讯方法有主要有3种[3]:①利用组态的驱动程序开发包进行驱动开发自己的通讯驱动程序,该方法适用于专业厂商;②通过动态数据交换(DDE)方式进行通讯,该方法带来一些额

组态王与ACCESS数据库的数据交换的例子

组态王与ACCESS数据库的数据交换 ——以中山创污水处理为例 一、创建表格模板和记录体。 在组态王工程浏览器中的SQL访问管理器点击表格模板。在右侧目录内容中双击“新建”创建一个名称为“1”且字段为“工号”“日期”“时间”“酸”“碱”“混凝剂”“还原剂”“氯化钙”“PAM正”“PAM负”的表格。注意:当编辑字段名称时,应与新建组态王变量一样(最好不要用字符),不含非法字符,如:“+”“-”“=”“#”等。此表格格式决定了ACCESS数据库的表格格式。 同样在SQL管理器中点击记录体,在右侧目录内容中双击“新建”,创建一个名称为“1”的记录体。其字段名称与表格模板中的字段相对应。组态王变量是连接的组态王内部变量。编辑字段名称的规则与编辑表格模板一样。 二、建立MS ACCESS数据库。 1.建一个空的ACCESS数据库,定名为20,保存在D:\29所污水处理工程。 2.定义数据源 双击控制面板下的“ODBC数据源(32位)”选项,弹出“ODBC数据源管理器” 对话框。 选择“用户DSN”属性页,并单击“添加”按钮。 在弹出的“创建新数据源”对话框中,选择“Mirosoft Access Driver”单击“完成”按钮。 弹出“ODBC Microsoft Access安装”对话框,定义数据源名为“20” 单击“选择”按钮,从中选择路径D:\29所污水处理工程\20.MDB 单击“确定”按钮,完成对数据源的配置。

三、组态王开发界面的组态 在组态王开发系统中创建如下画面: 其中表格为KV ADODBGrid CLASS控件。 四、对数据库的操作。 点保存弹出对话框。在“确定”按钮的动画连接向导的“弹起时”输入命令语言 SQLConnect( \\本站点\ID, "dsn=20;DATABASE=20;uid=;pwd="); //连接名称为“20”,数据源名称为“20”的数据库。 SQLCreateTable( \\本站点\ID, "10", "1" ); //在数据库“20”内创建名称为“10”的表格,表格模板名称为“1”表格模板在组态王中已编辑。 SQLInsert( \\本站点\ID, "10", "1" ); //在名称为“10”的表格内插入名称为“1”的记录体。记录体在组态王中已编辑。 ClosePicture("手动确定"); //关闭“手动确定”画面。 数据库中的被记录变量必须要先被当前组态画面显示后才能在数据库中记录下来。(本工程中要记录的变量已经在KV ADODBGrid CLASS控件上方显示过了,即褐色的部分,显示后再点击“保存”按钮,进入保存对话框,点击“确定”按钮,数据才能进入数据库。 五:进入组态王运行状态,点击保存弹出对话框,点击“确定”按钮;将会自动在Microsoft Access 中生成名字为“10”的数据库表格;

基于组态王OPC的数据采集的组态方案设计

基于组态王OPC的数据采集的组态方案设计 【摘要】在开发自动控制系统中,能否准确无误的采集输入数据,完成数据输入,直接制约系统功能的预定实现,同时完成系统的仿真测试是及其重要的一步,通过测试,可以验证系统功能能否达到实际需求,能否满足系统响应的速度,本文就基于组态王OPC的数据采集介绍一种简单有效的方案。 【关键词】组态王;数据采集;OPC;仿真 一、模型OPC服务器设置 先设置模型的OPC服务器,因为OPC技术是基于DCOM基础上的,所以在添加OPC服务器前,必须完成PC机上的DCOM设置。在运行窗口中输入“dcomcnfg”,对Knight.OPC.Server.VC模型OPC Server编辑以下分布式COM配置属性:进入“默认安全机制”属性页进行定义,对“默认访问权限”、“默认启动权限”和“默认配置权限”进行设置,将everyone用户设置为“允许访问”、“允许调用”和“完全控制”。然后选中“OpcEnum”,进行“属性”配置。在“安全性”属性页中选中“使用自定义访问权限”,“使用自定义启动权限”和“使用自定义配置权限”,并分别编辑,把“Everyone”用户设置为允许访问、允许调用和完全控制。然后再“身份标识”属性页中选中“交互式用户”。 针对不通的模型建立不同的工程,并进行数据库组态。 四、基于组态王的过程控制仿真实验流程组态 (一)控制方案组态 1.单回路PID控制控制方案组态 在组态画面中插入通用PID控件,并进行变量连接,在组态王的PID控件中,SP关联数据库中的液位设定,PV关联液位测量值,YOUT关联阀位输出。 2.串级控制组态 该控制回路与变频支路控制回路相同,只是有2个被控变量,主控变量是下水箱液位,副控制变量是支路流量。串级控制包括2个控制器,在画面组态中,需要2个PID控件,在关联变量时,主控制器的输出YOUT是关联到副控制器的SP。另外也需要变频器的初始化控制按钮和变频器状态输出框。 3.仿真实验系统流程组态 下面以二阶系统为例来说明组态的过程。

组态王与SQL SERVER 2000交互教程

目录 1.SQL SERVER2000的准备工作 (2) 1.1安装SQL S ERVER2000数据库(安装方法略),新建数据库K ING V IEW (2) 1.2在K ING V IEW数据库中新建数据表R EAL D ATA、H ISTORY D ATA,用于存放组态王中的实时和 历史数据 (2) 2.组态王的准备工作 (4) 2.1在组态王建立两个内存实数变量,作为H ISTORY D ATA和R EAL D ATA的数据源,提供数据 变化至SQL S ERVER2000的数据库K ING V IEW (4) 2.2新建组态王画面T EST F OR SQLS ERVER2000,设置标签监控内存实数变量K ING1和K ING25 2.3建立一个内存字符串变量,时刻记录组态王的日期加时间,写入历史数据表作为时 间变量6 3.数据库与组态王数据交互 (6) 3.1建立组态王与数据库表之间的连接 (7) 3.2建立ODBC数据源,建立组态王与数据库之间的数据通道 (7) 3.3组态王打开数据库连接 (10) 3.4利用组态王脚本语言实现捕捉字段变化进而触发数据库操作 (13) 3.5组态王显示SQL S ERVER中历史数据表内容 (14) 3.6实际测试 (17)

1.SQL Server2000的准备工作 1.1安装SQL Server2000数据库(安装方法略),新建数据库 KingView 新建kingView数据库 1.2在KingView数据库中新建数据表RealData、HistoryData, 用于存放组态王中的实时和历史数据 定义历史数据表字段,注意需要把ID设置成自增1,才可以保证你数据表中记录不断的增加

组态王连接Accesss数据库与历史曲线显示

我是依据组态王帮助文件里面的案例,不过我写的会更详细! 以某工业现场应用为例,需要对原料进行称量,并记录原料的生产厂家、原料编号、称量日期、称量时间,值班人员、原料重量。针对这种关系数据,使用组态王的历史库是无法记录的,因此我们使用关系数据库Access 进行记录。下面就以此为例来演示完成这一现场需求的设置步骤。 操作步骤: 1、新建数据库以及表: 1.1)在Access 中新建一个空数据库,例如建立路径为:D:\数据库存储例程\数据.mdb。 1.2)在数据库D:\数据库存储例程\数据.mdb 中创建一个数据表:表的名称为:原料数据。字段为:称量日期、称量时间、原料重量、原料厂家、原料编号、值班人员、datetime(这个变量是我自己需要历史曲线用的)。如下图所示:(下面的值是我测试的) 其中原料重量字段类型为“数字”设置为“单精度”,datetime设置为日期/时间默认值改为now()。其余为“文本”类型。(这里默认的视图是数据表视图,要切换到设计视图,如图所示:)

在这下面设置字段大小为单精度型,小数位数为2(这个按自己需求设置位数)。 2、设置ODBC 数据源: 2.1) 在“控制面板”-----“管理工具”----“ODBC 数据源” 中建立ODBC 数据源,点击“ODBC数据源”弹出“ODBC 数据源管理器”,如下图所示:(这里注意的是如果系统是64位系统的话,则打开C:\Windows\SysWOW64\odbcad32.exe)

2.2) 在“用户DSN”中点击“添加”,弹出“选择数据源驱动程序”窗口,如下图所示:选择“Microsoft Access Driver (*.mdb)”驱动,点击“完成”。弹出如图所示窗口,填写ODBC数据源的名称,根据需要对数据源进行命名,如“数据”,点击“选择(S)”,如图所示,选择我们前面定义的数据库文件“D:\数据库存储例程\数据.mdb”。点击“确定”完成ODBC 数据源的定义,如图所示。其他数据库如SQLServer 的ODBC 定义请参考相关文档。

031第八讲_组态王与数据库连接

第八讲 组态王与数据库连接 第一节 SQL 访问管理器 概述 组态王SQL 访问功能实现组态王和其他外部数据库(通过ODBC 访问接口)之间的数据传输。它包括组态王的SQL 访问管理器和相关的SQL 函数。 SQL 访问管理器用来建立数据库字段和组态王变量之间的联系,包括“表格模板”和“记录体”两部分。通过表格模板在数据库表中建立相应的表格;通过记录体建立数据库字段和组态王之间的联系。同时允许组态王通过记录体直接操作数据库中的数据。 创建数据源及数据库 首先外建一个数据库,这里我们选用Access 数据库(路径:d:\peixun ,数据库名为:mydb.mdb )。 然后,用Windows 控制面板中自带的ODBC Data Sources (32bit)管理工具新建一个Microsoft Access Driver(*.mdb)驱动的数据源,名为:mine ,然后配置该数据源,指向刚才建立的Access 数据库(即mydb .mdb ),如图8-1所示: 图8-1ODBC 数据源的建立

创建表格模板 1、在工程浏览器窗口左侧“工程目录显示区”中选择“SQL访问管理器”中的“表格模板”选项,在右侧“目录内容显示区”中双击“新建”图标弹出创建表格模板对话框,在对话框中建立三个字段,如图8-2所示: 图8-2创建表格模板对话框 2、单击“确认”按钮完成表格模板的创建。 建立表格模板的目的是定义数据库格式,在后面用到SQLCreatTable()函数时以此格式在Access数据库中自动建立表格。 创建记录体 1、在工程浏览器窗口左侧“工程目录显示区”中选择“SQL访问管理器”中的“记录体”选项,在右侧“目录内容显示区”中双击“新建”图标弹出创建记录体对话框,对话框设置如图8-3所示: 图8-3创建记录体对话框 记录体中定义了Access数据库表格字段与组态王变量之间的对应关系,对应关系如下所示:

组态王与单片机的通信

组态王与单片机的通信与设计 前言本文主要是解决装有组态王的PC机与单片机的通信问题,这里选择通过计算机的COM1口进行串行通信。单片机和PC机的串行通行一般采用RS-232、RS-422或RS-485总线标准接口,也有采用非标准的20mA电流环的。为保证通信的可靠,在选择接口时必须注意:(1)通信的速率;(2)通信距离:(3)抗干扰能力;(4)组网方式,既可以保证正常通信时的最大通信端口数量。这里采用RS-232接口与单片机通信的方法。由于两者间的电平规范不一致,实现两者间的通信要解决接口电路的电平转换问题。 正文 选题背景随着单片机和微机技术的不断发展,单片机的应用也从独立的单机向网络发展,由PC机和多台单片机构成的多级网络测控系统已成为单片机技术发展的一个方向。在一个大型的应用系统中,通常由单片机完成数据的采集和上传,后台则通过PC机对数据进行分析并处理,复杂的还要建立数据库形成网络,二者的结合,充分发挥了单片机在实时数据采集和微机对图形处理、显示以及数据库管理上的优点,使得单片机的应用已不仅仅局限于传统意义上的自动监测或控制,而形成了向以网络为核心的分布式多点系统发展的趋势。 随着微电子技术、计算机控制技术、工业以太网技术及现场总线技术的发展,作为用户无需改变运行程序原代码的软件平台工具——工控组态软件日渐成熟。由于工控组态软件在实现工业控制的过程中免去了大量烦琐的编程工作,解决了长期以来控制工程人员缺乏计算机专业知识与计算机专业人员缺乏控制操作技术和经验的矛盾,极大地提高了自动化工程的工作效率。近年来,工控组态软件在中小型工业过程控制工程、工业自动化工程中越来越受到欢迎。不仅如此,工控组态软件还在配电自动化、智能楼宇、农业自动化、能源监测等领域也逐步展示了其独特的优势。 单片机控制系统以其高性能价格比、稳定、易于实现等特点而被广泛使用,但他难以实现动态复杂的图形监控界面;而组态王软件具有强大丰富的监控界面设计功能,却难以实现复杂的控制算法,而单片机则难以实现动态复杂的图形监控界面,若采用以单片机为下位机,以装有组态王的PC极为上位机的控制方式,将彻底改变原来单片机控制系统的单调、简单的控制界面的缺陷,进一步推动单片机控制方式的广泛应用。 在这个设计中有以下问题待以解决:1、TTL/RS232电平转换及其接口电路的处理。2、由于组态王接收的是数据的ASCII码,因此要实现数据与它所对应的ASCII码的转换。3、组态王监控界面的设计。 设计要求 设计组态王监控界面,编写单片机发送接受程序以实现组态王与单片机两者间的通信。 方案论证 过程论证

组态王及数据库连接的实现方法

组态王与数据库连接的实现方法 1准备工作 1.1创建数据源及数据库 1.右键新建一个Access数据库(D:\example,数据库名:ku.mdb)。 2.依次点击屏幕左下角“开始\控制面板\管理工具”,双击“数据源 (ODBC)”打开ODBC数据源管理器如错误!未找到引用源。: 图 1 3.点击“添加”新建一个数据源,驱动程序选择“Microsoft Access Driver(*.mdb)”点击“完成”,如错误!未找到引用源。:

图 2 4.配置该数据源,数据源名:yuan。指向新建的Access 数据库 (ku.mdb)步骤如错误!未找到引用源。所示: 图 3

1.2创建表格模板 打开工程“yangli”在工程浏览器窗口左侧找到“系统\SQL访问管理器\表格模板”选项如图 4,在右侧双击“新建”打开如图 5“创建表格模板”对话框。 图 4 模板名称:muban1,,依次输入字段名称:ziduan1、字段长度:9,选择变量类型为:定长字符串型,点击增加字段。用同样方法增加字段ziduan2、ziduan3。 图 5 1.3创建记录体 注意:记录体中的字段名称必须与表格模板中的字段名称保持一致,记录体中字段对应的变量数据类型必须和表格模板中相同字段对应的数据类型相同。 1.在工程浏览器窗口“数据库\数据词典”中新增三个内存字符串型变量 (ziduan1、 ziduan2、ziduan3)。

2.找到工程浏览器窗口左侧“SQL 访问管理器\记录体”选项,双击右侧 “新建”图标建立名为“jiluti1”的记录体,对话框设置如图 6所 示: 图 6 依次增加ziduan1、ziduan2、ziduan3三个字段点击“确认”。 2连接并插入记录 2.1连接数据库并创建数据库表格 1.在工程浏览器窗口“数据库\数据词典”中定义一个内存整型变量: 变量名:DeviceID 变量类型:内存整型 2.在工程浏览器窗口的“命令语言\应用程序命令语言\启动时”窗口输入 命令: SQLConnect( DeviceID, "dsn=yuan;uid=;pwd="); SQLCreateTable( DeviceID, "biaoge1", "muban1" ); 命令语言中的“yuan”为前面配置的数据源的名称。 3.在工程浏览器窗口的“命令语言\应用程序命令语言\停止时”窗口输入 命令: SQLDisconnect( DeviceID);

关于组态王数据库绘制曲线的方式

关于组态王历史曲线的绘制 在作项目中,常常遇到需要查看工程的历史数据图和历史曲线。 在使用组态王的过程中遇到了以下问题。 问题;工程要求要能查找历史数据和查看历史曲线。组态王内置历史曲线可以绘制,但数据不能第三方访问。且历史数据记录不能停止。 要绘制历史曲线,首先要有历史数据,组态王本身有历史数据库。也可使用第三方数据库。 组态王自己的历史数据库不开放(只可用函数语句表另存为),第三方不能访问。 第三方数据库是微软的access数据库或者是SQL sever 数据库等。 在测试access数据时发现。组态王保存的历史数据在绘制历史曲线调用时,有个日期时间格式的数据需要选取。但在数据库里边没有符合这个格式的选项。 经查看发现组态王合成的日期时间格式在access里是字符串(文本)格式,不符合datetime格式。于是手动更改为datetime格式,组态王可以调用历史数据绘制曲线了。但数据又不能插入了。测试失败。 方法1.在SQL several数据库中同时插入两个一摸一样的表格,表格1插入数据,表二在表1插入时同时插入数据并转换数据格式,然后在历史曲线控件里调用。 在表格1调用触发器,然后再插入数据到表格2,同时更改日期时间字符串为datetime格式,直接在组态王历史控件里调用即可。 create trigger myinserta on MODE for insert as declare @a char(15),@b int,@c char(8),@d char(10),@e char(24),@f int,@g int,@h int,@i int,@j int,@k int,@l int,@m char(10); select @a=工件号编码,@b=序号,@c=时间,@d=日期,@e=DATATIME,@f=毫秒,@g=轨顶温度,@h=轨顶温度,@i=轨低温度,@j=轨低温度,@k=喷风温度,@l=喷风压力,@m=用户FROM INSERTED INSERT INTO MODE1 values (@a,@b,@c,@d,@e,@f,@g,@h,@i,@j,@k,@l,@m); 上面第一个触发器定义中间变量和数据长度和格式,定义的格式应当和组态王模板设定的长度和数据类型一致。 下面的触发器在每次插入触发时更改DATATIME列的格式为datetime日期时间格式。 create trigger STTTOTIMEa on MODE --(//记录体名称) ALTER TABLE MODE1 ALTER COLUMN DATATIME datetime; 方法2还是使用SQL several数据库。 在定义组态王模板时定义一个内部空变量,定义类型为long,长整型。随模板一起插入,在组态里,转换DATATIME字符串为datetime日期时间格式,并赋值给定义的长整型(long),在组态历史控件里就可以调用了

亚控科技公司提供的通用单片机通讯协议

组态王通用单片机协议(ASCII) 概述 通用单片机ASCII协议支持单片机与组态王通讯,用户只要按照我们的协议编写单片机通讯程 序就可实现与组态王的通讯. 组态王设置 1、定义组态王设备 定义组态王定义设备时请选择:智能模块\单片机\通用单片机ASCII\串口 组态王的设备地址定义格式:##.# 前面的两个字符是设备地址,范围为0-255,此地址为单片机的地址,由单片机中的程序决定; 后面的一个字符是用户设定是否打包,"0"为不打包、"1"为打包,用户一旦在定义设备时确定了 打包,组态王将处理读下位机变量时数据打包的工作,与单片机的程序无关. 2、组态王通讯 通讯方式:RS-232,RS-485,RS-422均可。 波特率:由单片机决定(2400,4800,9600and19200bps)。 注意:在组态王中设置的通讯参数如波特率,数据位,停止位,奇偶校验必须与单片机编程中 的通讯参数一致 组态王数据词典--变量定义 在组态王中定义的寄存器数据格式(类型):由单片机决定。

斜体字dd代表数据地址,此地址与单片机的数据地址相对应. 注意: 在组态王中定义变量时,一个X寄存器根据所选数据类型(BYTE,USHORT,FLOAT)的不同,分别 占用一个、两个,四个字节,定义不同的数据类型要注意寄存器后面的地址,同一数据区内 不可交叉定义不同数据类型的变量。为提高通讯速度建议用户使用连续的数据区。 例如, 1、在单片机中定义从地址0开始的数据类型为BYTE型的变量: 则在组态王中定义相应的变量 的寄存器为X0、X1、X2、X3、X4。。。。。。。。,数据类型为BYTE,每个变量占一个字节 2、在单片机中定义从地址100开始的数据类型为USHORT型的变量: 则在组态王中定义相应的变 量的寄存器为X100、X102、X104、X106、X108。。。数据类型USHORT,每个变量占两个字节 3、在单片机中定义从地址200开始的数据类型为FLOAT型的变量: 则在组态王中定义相应的变 量的寄存器为X200、X204、X208、X212。。。。。。数据类型FLOAT,每个变量占四个字节 组态王与单片机通讯的命令格式: 具体协议内容请参看组态王安装盘:\Value Pack\单片机\通用单片机通讯协 议(ASCII).doc

组态王历史趋势曲线控件

组态王历史趋势曲线控件使用 配置参考文档 北京亚控科技发展有限公司 技术部

目录 一、功能概述 .............................................................................................. 错误!未定义书签。 一、功能概述 .............................................................................................. 错误!未定义书签。 二、工程实例 .............................................................................................. 错误!未定义书签。 三、操作步骤: .......................................................................................... 错误!未定义书签。 1、历史趋势曲线控件的特点:..................................................................... 错误!未定义书签。 2、创建新的工程: ........................................................................................ 错误!未定义书签。 定义设备: .............................................................................................. 错误!未定义书签。 定义变量: .............................................................................................. 错误!未定义书签。 创建趋势曲线: ...................................................................................... 错误!未定义书签。 添加曲线变量: ...................................................................................... 错误!未定义书签。 3、切换到运行系统: .................................................................................... 错误!未定义书签。 4、控件的属性、方法:................................................................................. 错误!未定义书签。 控件的属性与方法: .............................................................................. 错误!未定义书签。 属性方法的使用举例: .......................................................................... 错误!未定义书签。 四、注意事项 .............................................................................................. 错误!未定义书签。 图表 图一定义变量压力 .................................................................................... 错误!未定义书签。 图二定义变量流量 .................................................................................... 错误!未定义书签。 图三记录和安全区属性 ............................................................................ 错误!未定义书签。 图四历史趋势曲线 .................................................................................... 错误!未定义书签。 图五历史趋势曲线 .................................................................................... 错误!未定义书签。 图六运行系统 ............................................................................................ 错误!未定义书签。

基于51与组态王的智能仪表

基于51单片机的智能仪表与组态王的通讯 圈子类别:嵌入式系统 (未知) 2009-8-10 23:01:00 [我要评论] [加入收藏] [加入圈子] 1、引言 随着工业自动化进程的不断加快,现场仪器、仪表、设备正不断向数字化、智能化和网络化方向推进。 单片机以其强大的现场数据处理能力,低廉的价格,紧凑的系统结构、高度的灵活性,微小的功耗等一系列优良特性成为构建智能化现场仪器仪表、设备的重要手段,现已广泛应用于工业测量和控制系统中。 组态王Kingview工控组态软件以其工作性能稳定可靠、人机界面友善、硬件配置方便以及编程简单易用同时其驱动程序较为丰富,如支持DDE、板卡、OPC服务器、PLC、智能仪表、智能模块等;支持ActiveX控件、配方管理、数据库访问、网络功能、冗余功能。其扩展性强,配有加密锁,支持工程加密;可方便与管理计算机或控制计算机联网通信等优良特性,提供了对工业控制现场大量数据进行采集、监控、处理的解决方案。在各种工业控制领域中得到了大量使用[1-2]。 将单片机和组态王优良的特性结合起来,使它们实现“强强联合”,成为改造传统工业,提升企业技术竞争力的重要趋势。 目前许多测控系统是由通用机或工控机和底层单片机控制装置组成,通用机或工控机通过组态软件控制现场仪器设备,单片机采集数据和现场状态通过串行口传送到通用机或工控机,由组态软件对采集到的现场数据进行分析、存储或显示,并将命令和控制通过串行口传到单片机以监控现场设备的运转。可靠地实现它们之间的通讯是实现各种测控任务必须解决的首要问题。对于一些重要名家厂商的板卡和模块,一般组态王可直接提供为数据采集和控制所需的底层硬件设备的驱动程序。但对于绝大多数一般用户自行设计开发的采集、控制装置则没有驱动程序提供。因此实现它们“强强联合”,必须解决它们之间之间的通信问题。迄今为止,人们对单片机与组态王的通信问题进行了广泛的研究[1-2]。 目前,单片机与组态王的通讯方法有主要有3种[3]:①利用组态的驱动程序开发包进行驱动开发自己的通讯驱动程序,该方法适用于专业厂商;②通过动态数据交换(DDE)方式进行通讯,该方法带来一些额外的开销,如会降低系统实时性,增加系统的不可靠性等,对开发人员的要求也更高。而自己开发通讯驱动程序,有一定的难度,且增加开发周期、成本。⑧利用组态王提供的与单片机的通用通讯协议,该方法简单且实时性好,适用于一般用户。 本文介绍了一种采用通用单片机通讯协议,通过RS485接口实现组态王与基于51单片机的智能化仪器、仪表、设备的通讯方法,描述了单片杌和组态王通信的系统结构,电路组成,采用的通讯协议。并将该方法用于熔融氧化锑液位高度的实时远程测量中。

组态王通用单片机协议(ASCII)说明

组态王通用单片机协议(ASCII)说明 概述 通用单片机ASCII协议支持单片机与组态王通讯,用户只要按照我们的协议编写单片机通讯程 序就可实现与组态王的通讯. 组态王设置 1、定义组态王设备 定义组态王定义设备时请选择:智能模块\单片机\通用单片机ASCII\串口 组态王的设备地址定义格式:##.# 前面的两个字符是设备地址,范围为0-255,此地址为单片机的地址,由单片机中的程序决定;后面的一个字符是用户设定是否打包,"0"为不打包、"1"为打包,用户一旦在定义设备时确定了打包,组态王将处理读下位机变量时数据打包的工作,与单片机的程序无关. 2、组态王通讯 通讯方式:RS-232,RS-485,RS-422均可。 波特率:由单片机决定(2400,4800,9600and19200bps)。 注意:在组态王中设置的通讯参数如波特率,数据位,停止位,奇偶校验必须与单片机编程中的通讯参数一致 3.组态王数据词典--变量定义 在组态王中定义的寄存器数据格式(类型):由单片机决定。 斜体字dd代表数据地址,此地址与单片机的数据地址相对应. 注意:

在组态王中定义变量时,一个X寄存器根据所选数据类型(BYTE,USHORT,FLOAT)的不同,分别占用一个、两个,四个字节,定义不同的数据类型要注意寄存器后面的地址,同一数据区内不可交叉定义不同数据类型的变量。为提高通讯速度建议用户使用连续的数据区。 例如, 1、在单片机中定义从地址0开始的数据类型为BYTE型的变量: 则在组态王中定义相应的变量 的寄存器为X0、X1、X2、X3、X4。。。。。。。。,数据类型为BYTE,每个变量占一个字节 2、在单片机中定义从地址100开始的数据类型为USHORT型的变量: 则在组态王中定义相应的变 量的寄存器为X100、X102、X104、X106、X108。。。数据类型USHORT,每个变量占两个字节 3、在单片机中定义从地址200开始的数据类型为FLOAT型的变量: 则在组态王中定义相应的变 量的寄存器为X200、X204、X208、X212。。。。。。数据类型FLOAT,每个变量占四个字节

相关主题