组态软件操作指引与数据库连接

合集下载

杰控组态手册22.数据库连接

杰控组态手册22.数据库连接

22.数据库连接序号 内容 页码22.1 功能描述 22-122.2 建立数据库连接文件 22-122.3 进行数据库连接 22-822.4 自动启动数据库连接 22-822.1功能描述系统为用户提供了强大的数据库连接功能,也被称为数据库归档;能在系统的运行实时数据库与用户自定义的ODBC数据库之间建立联系,把实时数据经各种处理,通过时间或事件触发,把数据存入数据库,为企业服务器提供数据,或作为历史数据,进行数据分析和报表输出;22.2建立数据库连接文件通过建立数据库连接文件,能使系统与自定义的数据库建立联系,每个数据库连接文件能定义与某个数据库中某个表的某些字段的某种连接关系;可以定义多个数据库连接文件,从而与多个数据库建立连接;最多可以定义32个数据库连接文件,即可以与32个不同的数据表建立连接;通过组态管理器中的“我的系统->设置”功能,执行<1.定制系统>,选择“ 数据库连接”,否则组态管理器中不能支持数据库连接功能;选择<数据库连接>功能,执行<1.制作数据库连接文件>任务:启动<1.制作数据库连接文件>任务后,新建一个连接文件如testdb1,如下图所示:新的数据库连接文件内容如下图:选择与数据库连接的方式,可以是追加数据、读取数据、修改数据、存储过程四种方式:<追加数据>是把字段所对应变量的数值,作为新的记录添加到数据表中;<读取数据>是把数据表中某个记录的内容赋值到字段所对应的变量中,要读取的记录通过<记录号指示变量>来定义,如果不选择<记录号指示变量>,则总默认为读取第一条记录;<修改数据>是把字段所对应变量的数值,更新数据表中某个的记录内容,所要修改的记录通过<记录号指示变量>来定义,如果不选择<记录号指示变量>,则总默认为修改第一条记录;<执行存储过程>能够执行数据库服务器中的1个过程,并附带参数;选择触发数据库连接的方式,即何时进行数据库连接,有以下几种触发方式:定时触发,以一定时间周期间隔,定时的触发数据库连接,只需在<定时触发周期(秒)>处填入时间值,范围为0-86400秒,如果为0则不进行工作;如果希望从某个时刻开始工作,则需选择开始时间;例如希望在每天的整点进行数据库连接,请按下图所示:功能块[FB]触发,运行数据库中提供了FB38来触发数据库连接,如下图所示,选择38号功能类型和数据库连接文件;此功能可以首次运行或一直循环执行,也可以通过其他事件触发;变量事件触发,通过AI/AO/AR/DI/DO/DR/VA/VD等变量的事件触发,调用FB38功能来执行数据库连接,以DI变量为例,如下图:时间中断[TM]触发,时间中断[TM]提供了功能强大的时间管理功能,能以各种方式执行数据库连接,下面是几种最常用的方法:(1)从每天的00:00:00开始,每5秒钟执行一次数据库连接:(2) 从每天的00:00:00开始,每隔1小时,在正点时执行一次数据库连接:(3)在每天的17:00点钟执行一次数据库连接:(4)在每天结束时,即23:59:00,执行一次数据库连接:(5) 在每个月结束时,即每月最后一天的23:59:00,执行一次数据库连接:编写脚本触发,画面脚本和全局脚本中都支持数据库连接函数:RunSys.RunDatabaseLink"testdb.udl"选择数据源,为避免错误,必须通过<连接数据源>按钮,来选择要使用的ODBC数据源,会出现下面的对话框界面,所建立的数据源会出现在列表中,从中选择即可;建议使用系统缺省提供的数据源FameView UserData Source,可简化项目的备份与安装;如果数据源需要登录访问,还需输入用户名和口令;选择数据表,从数据源中选择要连接的数据表,为避免错误,必须通过<数据表>按钮选择,数据库中所包含的数据表都会出现在列表中,如下图所示:设置数据保存的天数和数据库维护的时间;保存天数取值为0-3650天,如果为0则永久保存,如果设为10在被保存的数据只能保存10天,过期会被删除;维护时间取值为0-23,只在保存天数大于0时有效,如果设为8,则在每天的8-9点钟之间删除数据库中过期的数据;变量与字段进行对应;通过<字段名称>按钮,出现下面的对话框,数据表中包含的字段全部出现在字段列表中;一个数据库连接中必须包含一个日期/时间字段,否则将不支持时间查询:选择字段的类型;在选择字段名称后,会自动更新字段的类型,也可以手动选择,字段类型必须严格匹配,否则会招致数据库连接失败;支持的字段类型与Access、SQL Server数据库字段类型的对应关系如下:系统支持的字段类型 Access SQL Server 举例Long长整型 数字[长整型] Int 56789Byte字节 数字[字节] Tinyint 255Short整数 数字[整型] Smallint 123Real实数/浮点数 数字[单精度] Real 123.12Double双精度 数字[双精度] Float 123.123Bool布尔 是/否 Bit 1String字符串 文本 Char ABCKLDate日期/时间 日期/时间 Datetime 2003/12/11 05:45:00DTText日期/时间文本 文本 Char 2003/12/11 05:45:00Dtext日期文本 文本 Char 2003/12/11Ttext时间文本 文本 Char 05:45:00Wtext星期文本 文本 Char 星期一Year年份 数字[整型] Smallint 2003Month月 数字[整型] Smallint 12Day日 数字[整型] Smallint 11Hour小时 数字[整型] Smallint 05Minute分钟 数字[整型] Smallint 45Second秒 数字[整型] Smallint 18MillSecond毫秒 数字[整型] Smallint 600选择对应的系统变量,必须通过<对应变量>按钮来选择变量,变量的类型必须与字段的类型匹配;如果字段类型为< Date日期/时间>,则不需要选择对应变量,系统会把当前的日期/时间赋给字段;选择变量的数值类型,通过选择数值类型,可以是对应变量的值经过前期处理以后,再赋值给字段,使数据库中存储的数据更加简洁、有效;支持以下数值类型:序号 类型 描述0 当前值 使变量值不加任何处理,直接赋值给字段;1 累加值 把两次存储之间时间分为n个累加间隔,每个间隔累加一次,把最后的累加值赋给字段进行存储,累加间隔通过<采样参数>按钮来设定;2 平均值 把两次存储之间时间分为n个平均间隔,每个间隔累加一次,把m=(最后的累加值/n)赋给字段进行存储,间隔通过<采样参数>按钮来设定;3 最大值 把两次存储之间时间分为n个取值间隔,每个取值间隔取得一个数值,把n个数值中的最大值赋给字段进行存储,取值间隔通过<采样参数>按钮来设定4 最小值 把两次存储之间时间分为n个取值间隔,每个取值间隔取得一个数值,把n个数值中的最小值赋给字段进行存储,取值间隔通过<采样参数>按钮来设定;5 变化值 两次存储之时的变量值分别为x1、x2,把(x2-x1)赋给字段进行存储;6 增加值 两次存储之时的变量值分别为x1、x2,如果x2>x1,则把(x2-x1)赋给字段进行存储,否则把0赋给字段进行存储;7 减少值 两次存储之时的变量值分别为x1、x2,如果x2<x1,则把(x1-x2)赋给字段进行存储,否则把0赋给字段进行存储;8 绝对值 两次存储之时的变量值分别为x1、x2,把|x2-x1|赋给字段进行存储;9 sqrt(x)把变量当前值进行开方之后再存储;10 |x| 把变量当前值取绝对值之后存储;11 sin(x) 把变量当前值进行正弦运算之后进行存储;12 cos(x) 把变量当前值进行余弦运算之后进行存储;13 tan(x) 把变量当前值进行正切运算之后进行存储;14 asin(x)把变量当前值进行反正弦运算之后进行存储;15 acos(x)把变量当前值进行反余弦运算之后进行存储;16 atan(x)把变量当前值进行反正切运算之后进行存储;17 exp(x) 把变量当前值进行exp(x)运算之后进行存储;18 Ln(x) 把变量当前值进行ln(x)运算之后进行存储;19 Lg(x) 把变量当前值进行lg(x)运算之后进行存储;20 X/2 把变量当前值进行x/2运算之后进行存储;21 X*2 把变量当前值进行x*2运算之后进行存储;22 ITB(x) 把变量当前值由整数转换为BCD格式后进行存储;23 BTI(x) 把变量当前值由BCD格式转换为整数后进行存储;24 VBS(x) 把变量当前值经过VBScript脚本运算后进行存储;添加字段对应关系,通过<添加>按钮使所建立的对应关系有效;修改字段对应关系,通过<修改>按钮使所修改的对应关系有效;删除字段对应关系,通过<删除>按钮删除一个对应关系;22.3进行数据库连接您所建立的数据库连接文件,此时还不能被系统所认可;必须选择<数据库连接>功能,执行<进行数据库连接>任务,出现下面对话框:通过“<<添加”按钮选择数据库连接文件,添入文件列表中,最多可以选择32个连接文件:22.4启动数据库连接任务系统缺省并不启动数据库连接任务;选择“我的系统->设置”功能,执行<2.启动任务>,出现下面对话框:从“系统任务”列表中选中“ 数据库连接+报表”,系统启动时,能够自动启动数据库连接功能;。

力控组态软件使用指南

力控组态软件使用指南

概述:力控6.0监控组态软件是北京三维力控科技根据当前的自动化技术的发展趋势,总结多年的开发、实践经验和大量的用户需求而设计开发的高端产品,是三维力控全体研发工程师集体智慧的结晶,该产品主要定位于国内高端自动化市场及应用,是企业信息化的有力数据处理平台。

力控6.0在秉承力控5.0成熟技术的基础上,对历史数据库、人机界面、I/O驱动调度等主要核心部分进行了大幅提升与改进,重新设计了其中的核心构件,力控6.0面向. NET开发技术,开发过程采用了先进软件工程方法:“测试驱动开发”,产品品质将得到充分保证。

与力控早期产品相比,力控6.0产品在数据处理性能、容错能力、界面容器、报表等方面产生了巨大飞跃。

主要指标:方便、灵活的开发环境,提供各种工程、画面模板、大大降低了组态开发的工作量;高性能实时、历史数据库,快速访问接口在数据库4万点数据负荷时,访问吞吐量可达到20000次/秒;强大的分布式报警、事件处理,支持报警、事件网络数据断线存储,恢复功能;支持操作图元对象的多个图层,通过脚本可灵活控制各图层的显示与隐藏;强大的ACTIVEX控件对象容器,定义了全新的容器接口集,增加了通过脚本对容器对象的直接操作功能,通过脚本可调用对象的方法、属性;全新的、灵活的报表设计工具:提供丰富的报表操作函数集、支持复杂脚本控制,包括:脚本调用和事件脚本,可以提供报表设计器,可以设计多套报表模板;企业信息化的有力平台Internet时代的创举:提供在Internet/Intranet上通过IE浏览器以“瘦”客户端方式来监控工业现场的解决方案;支持通过PDA掌上终端在Internet实时监控现场的生产数据;WWW服务器端与客户端画面的数据高度同步,浏览器上看到的图形界面与通用组态软件生成的过程画面效果完全相同;“瘦”客户端与WWW网络服务器的实时数据传输采用事件驱动机制、变化传输方式,因此通过Internet远程访问力控Web服务器,IE“瘦”客户端显示的监控数据具有更好的实时性;WWW网络服务器面向.NET技术开发,易于使用等快速开发工具集成力控来构建企业信息门户;强大的移动网络支持:支持通过移动GPRS、CDMA网络与控制设备或其它远程力控节点通讯,力控移动数据服务器与设备的通讯为并发处理、完全透明的解决方案,消除了一般软件采用虚拟串口方式造成数据传输不稳定的隐患,有效的流量控制机制保证了远程应用中节省通讯费用。

掌握组态软件与数据采集设备的联动方式

掌握组态软件与数据采集设备的联动方式

掌握组态软件与数据采集设备的联动方式现代工业生产中,为了实现对各种设备、系统的自动化控制和监测,组态软件和数据采集设备的联动方式变得至关重要。

本文将探讨如何掌握组态软件与数据采集设备的联动方式,从而实现工业生产的高效运行。

1. 了解组态软件和数据采集设备的基本概念和功能组态软件是一种用于配置和管理工业自动化系统的软件工具,它可以通过人机界面实现与设备的交互和控制。

而数据采集设备是用于采集和传输各种工业过程数据的硬件设备,包括传感器、数据采集卡等。

2. 确定联动方式的目标和需求在选择组态软件和数据采集设备的联动方式之前,我们需要明确联动的目标和需求。

这包括了要监测和控制的设备类型、传输数据的频率和方式等。

根据不同的目标和需求,选择适合的联动方式是至关重要的。

3. 串口通信方式串口通信是一种常见且可靠的组态软件和数据采集设备的联动方式。

通过串口通信,组态软件可以与数据采集设备进行数据的交互和控制。

串口通信需要设置好波特率、数据位、停止位和校验位等参数,确保数据的正确传输和解析。

4. 以太网/局域网通信方式以太网/局域网通信是一种高速、稳定的组态软件和数据采集设备的联动方式。

通过连接到共享的以太网或局域网中,组态软件可以通过IP地址和端口号与数据采集设备进行通信。

这种通信方式支持远程监控和控制,方便运维人员进行工业生产的实时管理。

5. 无线通信方式随着无线技术的发展,无线通信方式也逐渐应用于组态软件和数据采集设备的联动中。

通过无线通信方式,组态软件可以通过无线网络与数据采集设备进行数据的交互和控制,从而消除了传统的有线连接所带来的局限性。

6. 定制化联动方式除了上述常见的联动方式外,根据实际需求,我们还可以定制化一些特殊的联动方式。

比如通过编程和脚本语言来实现数据的处理和传输,或者通过使用特殊的硬件设备来实现组态软件和数据采集设备的联动。

总结:掌握组态软件与数据采集设备的联动方式对于实现工业生产的自动化控制和监测至关重要。

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

组态王与数据库连接的实现方法
图10
4.设置完毕后关闭此对话框,利用按钮的弹起时命令语言实现数据库查询,操作设置如图11:
图11
5.
设置完毕依次点击确定。保存画面并且换到运行系统可看到如图12效果。
图12
6.用同样方法创建一个“清除记录”按钮用于清除数据库表格中的记录,命令语言如下:
SQLClearTable( DeviceID, "biaoge1");
图5
1.3
注意:记录体中的字段名称必须与表格模板中的字段名称保持一致,记录体中字段对应的变量数据类型必须和表格模板中相同字段对应的数据类型相同。
1.在工程浏览器窗口“数据库\数据词典”中新增三个内存字符串型变量(ziduan1、ziduan2、ziduan3)。
2.找到工程浏览器窗口左侧“SQL访问管理器\记录体”选项,双击右侧“新建”图标建立名为“jiluti1”的记录体,对话框设置如图6所示:
2.在数据库操作画面中添加一个名为“字段一”的文本
3.在“字段一”的动画连接中添加对应类型的值输入和值输出并关联到变量:ziduan1。
4.添加文本“字段二”、“字段三”,分别关联变量“ziduan2”、“ziduan3”并添加值输入、值输出动画连接。
5.添加一按钮,按钮文本为“插入记录”在按钮的弹起事件中输入如图6所示命令语言。
图6
依次增加ziduan1、ziduan2、ziduan3三个字段点击“确认”。
2
2.1
1.在工程浏览器窗口“数据库\数据词典”中定义一个内存整型变量:
变量名:DeviceID
变量类型:内存整型
2.在工程浏览器窗口的“命令语言\应用程序命令语言\启动时”窗口输入命令:
SQLConnect( DeviceID, "dsn=yuan;uid=;pwd=");

组态王连接SQL数据库操作步骤

组态王连接SQL数据库操作步骤

1、建立ODBC连接配置:(1)开始——设置——控制面板——管理工具——数据源:(2)双击“数据源”,选择“用户DSN”选项卡:(3)点击“添加”,选择“SQL Server”,点击“完成”:(4)写入“数据源名称”,选择需要连接的“服务器”,点击“下一步”:(5)选择“使用用户输入登录ID和密码的SQL Server验证”,“登录ID”输入“sa”,如有密码则输入密码,点击“下一步”:(6)将“更改默认的数据库为”打勾,选择需要连接的数据库名称,点击“下一步”:(7)点击“完成”:(8)点击“测试数据源”,如果提示“测试成功”,表示配置正确,点击“确定”,完成ODBC 连接配置:2、组态王——变量(1)工程浏览器——变量——新建:(2)双击“新建”,输入变量名,变量类型,变量名为需要保存到SQL数据库中的数值,如开关量,模拟量,字符串等,点击“确定”:(3)如有多个变量,重复第(2)步骤:3、组态王——新建记录体:(1)工程浏览器——系统——SQL访问管理器——记录体:(2)双击“新建”,输入“记录体名”,“字段名称”输入SQL数据表中的字段名称,“组态王变量”输入保存数值的变量名(可点击“?”选择),点击“增加字段”,可以保存该条记录,如有其它字段需要保存,可重复录入。

全部录入完毕后,点击“确认”完成:4、组态王——将变量值保存到SQL中:(1)工程浏览器——系统——文件——画面——新建:(2)新建“文本”——“开关量”,新建“按钮”——“连接SQL”,新建“按钮”——“插入一条记录”,新建“按钮”——“查询记录”,新建“按钮”——“断开SQL”:(3)双击“文本”——“开关量”,“值输出”——“模拟值输出”——选择“Test_KGL_Z”变量,“权限保护动画连接”——“值输入”——“模拟值输入”——选择“Test_KGL_Z”变量:(4)双击“按钮”——“连接SQL”,“命令语言连接”——“按下时”,写入以下语句:SQLConnect(ConnectionID, "dsn=SQL_Test;uid=sa;pwd=apply");(5)双击“按钮”——“插入一条记录”,“命令语言连接”——“按下时”,写入以下语句:SQLInsert(ConnectionID, "Test_Table","Test" );(6)双击“按钮”——“查询记录”,“命令语言连接”——“按下时”,写入以下语句:SQLSelect(ConnectionID, "Test_Table","Test", "SQL_KGL='1'", "" );(7)双击“按钮”——“断开SQL”,“命令语言连接”——“按下时”,写入以下语句:SQLDisconnect(ConnectionID);。

组态王连接本地数据库操作文档

组态王连接本地数据库操作文档

组态王连接本地数据库操作文档
1配置数据源ODBC
控制面板->ODBC
或者控制面板->管理工具-> ODBC
双击打开ODBC数据源管理器,在系统DSN标签中,点击添加按
钮,创建新数据源。

选择SQL Server为安装数据源的驱动程序。

填写创建到SQL Server的新数据源的名称,本例中以“yue1”为例,在服务器中选择(local)作为需要连接的SQL Server。

其他选项保存默认设置即可,配置ODBC数据源完成后在系统数据源列表中出现新添加的数据源。

2 组态王连接数据库
数据词典中新建变量DeviceID
新建画面SQLtest,在画面中添加按钮
双击新添加的按钮,弹出动画连接对话框。

点击命令语言连接“按下时”,弹出命令语言编辑对话框
点击SQL…按钮,在弹出的选择函数对话框中选择SQLConnect函数,点击确定。

修改函数中的参数,点击确认。

保存画面,并运行整个系统,
3 运行组态王“运行系统”
打开组态王“运行系统”
定。

点击文本按钮,在信息窗口可以看到系统信息SQL数据库连接成功。

组态软件操作指南与数据库连接

组态软件操作指南与数据库连接

第八章与数据库连接本章容创建数据源及数据库创建表格模板创建记录体对数据库的操作数据集函数在关系库中的应用概述本章我们将讲解如何将阀门的状态变化记录到数据库中并进行查询。

数据库我们选择Access数据库,记录的容包括:日期、时间、阀门描述、阀门状态四个字段。

我们利用KingSCADA的SQL访问功能来实现。

KingSCADA SQL访问功能实现KingSCADA和其他外部数据库之间的数据传输。

提供2种访问方式:一种是记录体的方式,即变量和数据库表中的字段建立绑定关系;一种是数据集方式。

记录体方式就是通过记录体配置项,实现把数据库里面的字段和KingSCADA的变量建立绑定关系。

绑定后,可以通过SQL插入或更新函数将绑定变量插入或更新到数据库的对应字段中;也可以通过SQL 查询函数将数据库中对应字段数据查询并保存到绑定变量中,实现KingSCADA和关系数据库的数据交互。

记录体方式只能在KingSCADA服务器端应用。

数据集方式就是通过KingSCADA提供的一系列数据集函数,执行标准SQL语句,实现KingSCADA 与关系数据库之间的增、查、删、改等所有数据交互功能,尤其可以通过数据集函数,实现从数据库查询出符合SQL语句的数据集合,并在报表、曲线中进行批量数据展示。

数据集方式支持在KingSCADA服务器端、C/S客户端、WEB上使用。

在这里建议采用数据集方式,更加方便、灵活。

下面具体介绍2种方式的具体使用第一节记录体方式在关系数据库中的应用(仅参考)一、创建数据源及数据库以KingSCADA带的DEMO工程中的mine.mdb数据库为例,首先将mine.mdb文件从DEMO工程中拷贝到我们新建的这个培训工程中。

然后,用Windows控制面板中自带的ODBC Data Sources (32bit)管理工具新建一个Microsoft Access Driver(*.mdb)驱动的数据源,名为:mine,然后配置该数据源,指向刚才拷贝过来的Access数据库(即mydb.mdb),如图8-1所示:图8-1ODBC数据源的建立二、创建表及记录体创建表用ACCESS打开mine.mdb数据库,在库中新建表“KingTable”,在表中建立三个字段日期时间、液位、温度,如图8-2所示:图8-2在mine数据库中创建表日期时间字段为日期时间类型。

组态王与Access数据库连接

组态王与Access数据库连接

组态王与Access数据库连接第九讲组态王与Access数据库连接 90第九讲组态王与Access数据库连接在本课程您将:, 了解组态王SQL访问管理器。

, 了解如何与通用数据库进行连接, 了解如何想向数据库插入记录组态王SQL访问功能实现组态王和其他外部数据库(支持ODBC访问, 了解如何查询数据库中记录接口)之间的数据传输。

它包括组态王的SQL访问管理器和SQL函数。

,以Ms Access数据库为例,下面说明组态王与其相连的例子。

北京亚控科技发展有限公司第九讲组态王与Access数据库连接 91SQL访问管理器SQL访问管理器用来建立数据库列和组态王变量之间的联系。

包括表格模板和记录体两部分功能。

通过表格模板在数据库表中建立表格;通过记录体建立数据库表格列和组态王之间的联系,允许组态王通过记录体直接操作数据库中的数据。

表格模板和记录体都是在工程浏览器中建立的。

北京亚控科技发展有限公司第九讲组态王与Access数据库连接 92创建表格模板,在工程浏览器中左侧工程目录显示区中选择“SQL访问管理器”下的“表格模板”项,在右侧目录内容显示区中双击“新建”,弹出“创建表格模板对话框”,如下图。

在表格模板中建立五个记录,字段名称,变量类型,变量长度,索引类型分别如上图所示。

建立表格模板的目的在于定义一种格式,在后面用到是SQLCreatTable ()以次格式在Access数据库中建立表格。

北京亚控科技发展有限公司第九讲组态王与Access数据库连接 93创建记录体在工程浏览器左侧的工程目录显示区中选择SQL访问管理器下的记录体,在右侧的目录内容显示区中双击“新建”,弹出“创建表格模板对话框”,如下图。

记录体定义了组态王变量$日期、$时间、原料油液位、催化剂液位、成品油液位和Access数据库表格中相应字段日期、时间、原料油液位值、催化剂液位值、成品油液位值之间的对应连接关系。

(注意:记录体中的字段名称和顺序必须与表格模板中的字段名称和顺序必须保持一致,记录体中的字段对应的变量的数据类型必须和表格模板中相同字段对应的数据类型相同。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

`与数据库连接第八章本章容?创建数据源及数据库创建表格模板?创建记录体?对数据库的操作?数据集函数在关系库中的应用?概述数据库,本章我们将讲解如何将阀门的状态变化记录到数据库中并进行查询。

数据库我们选择Access访问功能来实KingSCADA的SQL记录的容包括:日期、时间、阀门描述、阀门状态四个字段。

我们利用现。

种访问方式:提供2KingSCADAKingSCADA SQL访问功能实现和其他外部数据库之间的数据传输。

一种是记录体的方式,即变量和数据库表中的字段建立绑定关系;一种是数据集方式。

的变量建立绑定关系。

记录体方式就是通过记录体配置项,实现把数据库里面的字段和KingSCADASQLSQL插入或更新函数将绑定变量插入或更新到数据库的对应字段中;也可以通过绑定后,可以通过和关系数据库的数据交互。

实现KingSCADA查询函数将数据库中对应字段数据查询并保存到绑定变量中,服务器端应用。

记录体方式只能在KingSCADAKingSCADA语句,实现数据集方式就是通过KingSCADA提供的一系列数据集函数,执行标准SQL与关系数据库之间的增、查、删、改等所有数据交互功能,尤其可以通过数据集函数,实现从数据库查询服务并在报表、语句的数据集合,曲线中进行批量数据展示。

数据集方式支持在KingSCADA出符合SQL C/S客户端、WEB上使用。

器端、在这里建议采用数据集方式,更加方便、灵活。

下面具体介绍2种方式的具体使用第一节记录体方式在关系数据库中的应用(仅参考)一、创建数据源及数据库工程中文件从DEMOmine.mdb带的DEMO工程中的mine.mdb数据库为例,首先将以KingSCADA 拷贝到我们新建的这个培训工程中。

Access Microsoft Sources (32bit)管理工具新建一个控制面板中自带的然后,用WindowsODBC Data数据库(即,然后配置该数据源,指向刚才拷贝过来的AccessDriver(*.mdb)驱动的数据源,名为:mine 所示:8-1)mydb.mdb,如图文档Word`图8-1ODBC数据源的建立二、创建表及记录体创建表用ACCESS打开mine.mdb数据库,在库中新建表“KingTable”,在表中建立三个字段日期时间、液位、温度,如图8-2所示:图8-2在mine数据库中创建表日期时间字段为日期时间类型。

液位和温度字段为数字类型,并都设置为单精度浮点型。

创建记录体记录体是建立数据库中数据表的字段和KingSCADA的变量之间的联系。

第一步:在KingSCADA工程设计器中选择“通用数据源”→“记录体”选型,在右侧容显示区中单击“新建”按钮,弹出创建记录体对话框,对话框设置如下:文档Word`8-3创建记录体对话框图变量之间的对应关系,对应关系如下所示:SCADA记录体中定义了Access数据库数据表字段SCAD变Acces数据库表格字日期时间日期时间\\local\\\local\liquid_level液位\\local\temperature温度即:将KingSCADA中\\local\日期时间变量值写到Access数据库表格日期时间字段中;将\\local\liquid_level值写到Access数据库表格液位字段中;将\\local\temperature值写到Access数据库表格温度字段中。

\\local\日期时间=\\local\$Date+“”+\\local\$Time;,表示计算机系统当前的日期和时间。

第二步:单击“确认”按钮完成记录体的创建。

注:记录体中的字段名称必须与表格模板中的字段名称保持一致,记录体中字段对应的变量数据类型必须和表格模板中相同字段对应的数据类型相同。

三、对数据库的操作1、连接数据库第一步:在KingSCADA工程设计器的数据词典中定义一个存整型变量变量名:DeviceID文档Word`变量类型:存整型第二步:在画面编辑器中新建一画面,名称为:数据库操作,并在画面上添加一按钮,按钮属性设置如下:按钮文本:数据库连接“按钮左键弹起”动画设置如下:图8-4数据连接脚本程序上述脚本的作用是使SCADA与mine数据源建立了连接(即与mydb.mdb数据库建立了连接)。

在实际工程中将此命令写入:树型目录→脚本→系统脚本→应用程序脚本→应用程序启动时,即系统开始运行就连接到数据库上。

2、断开数据库的连接在数据库操作画面中添加一按钮,按钮属性设置如下:按钮文本:断开连接“按钮左键弹起”动画设置如下:文档Word`图8-5断开数据库连接脚本程序在实际应用中将此命令写入:树型目录→脚本→应用程序脚本→应用程序关闭时,即系统退出后断开与数据库的连接。

4、插入记录我们要将液位和温度定时记录到数据库中,因此利用定时器脚本编写脚本程序即可。

新建一个定时器脚本“定时存储”,每60000毫秒执行一次,编写脚本程序如下:文档Word`图8-7插入记录脚本程序上述脚本的作用是每分钟在数据表KingTable中插入一条新的记录。

5、查询记录用户如果需要将数据库中的数据调入到KingSCADA中来显示,需要另外建立一个记录体,此记录体的字段名称要和数据库表格中的字段名称一致,连接的变量类型与数据库中字段的类型一致,操作过程如下:第一步:在KingSCADA工程设计器的数据词典中定义三个存变量:a、变量名:日期时间记录变量类型:存字符串b、变量名:液位记录变量类型:存实型c、变量名:温度记录变量类型:存实型第二步:在数据库操作画面上添加三个文本框,在文本框的“字符串输出”动画中分别连接变量日期时间记录、液位记录、温度记录,用来显示查询出来的结果。

第三步:在KingSCADA的通用数据源中定义一个记录体,记录体窗口属性设置如图8-8所示:文档Word`图8-8记录体属性设置对话框第四步:在画面中添加一按钮,按钮属性设置如下:按钮文本:全部查询“按钮左键按下”动画设置如下:图8-9记录查询脚本程序此脚本的作用是:以记录体Bind2中定义的格式返回KingTable表格中第一条数据记录。

进入运行系统,运行此画面,单击“全部查询”按钮数据库中的数据记录显示在文本框中。

第五步:在画面上添加四个按钮,按钮属性设置如下:文档Word`a、按钮文本:第一条记录“按钮左键按下”动画:SQLFirst( DeviceID );b、按钮文本:下一条记录“按钮左键按下”动画:SQLNext( DeviceID );c、按钮文本:上一条记录“按钮左键按下”动画:SQLPrev( DeviceID );d、按钮文本:最后一条记录“按钮左键按下”动画:SQLLast( DeviceID );上述脚本的作用分别为查询数据中第一条记录、下一条记录、上一条记录和最后一条记录从而达到了数据查询的目的。

第二节数据集函数在关系库中的应用(重点推荐)KingSCADA提供一系列数据集函数,通过数据集函数使用标准SQL语句可以与关系数据库进行数据交互,下面举例说明通过数据集函数实现对关系数据库进行简单的增、查、删、改操作。

以上面的mine.mdb数据库中的KingTable表为例进行实例说明。

1、保存数据到关系库假如系统要求每10秒钟将液位和温度记录到数据库中,那么我们可以在定时器脚本中实现。

新建一个定时器脚本“定时存储”,每10000毫秒执行一次,编写脚本程序如下:图8-10插入记录脚本程序详细脚本如下,作用是每分钟在数据表KingTable中插入一条新的记录。

string ConnectStr,SqlCommand;//通过OLEDB方式连接ACCESS数据库的连接字符串文档Word`ConnectStr=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\培训\培训工程\培训工程屜業敮洮扤倻牥楳瑳匠捥牵瑩?湉潦?污敳;//将系统时间日期和时间合成一个包含日期和时间的字符串\\local\日期时间记录=\\local\$Date+?+\\local\$Time;//SQL语句,将日期时间、液位、温度的数据值插入数据到数据库的KingTable表中SqlCommand=楜獮牥?湩潴?湩呧扡敬嘠污敵??+\\local\日期时间记录+???+\\local\liquid_level+???+\\local\temperature+??;//数据集函数,执行SQL语句KDBExecuteStatement(ConnectStr, SqlCommand);2、查询数据并显示到报表在工程中新建画面“数据集函数与关系库”,在画面上添加一个“查询”按钮,一个报表控件、两个日期时间控件,如下图所示。

图8-11数据集函数与关系库画面在查询脚本里写如下脚本:string ConnectStr;string SqlStr;//通过OLEDB方式连接ACCESS数据库的连接字符串ConnectStr=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\培训\培训工程\培训工程文档Word`屜業敮洮扤倻牥楳瑳匠捥牵瑩?湉潦?污敳;//起始时间和结束时间从日期时间控件获取string StartTime,EndTime;StartTime=UIDateTime1.Value;EndTime=UIDateTime2.Value;SqlStr=select 日期时间,液位,温度 from KingTable where 日期时间?尣+StartTime+?+ and 日期时间?尣+EndTime+?;Trace(卜汱瑓屲+SqlStr);//数据集函数,执行SQL语句KDBGetDataset(?瑡獡瑥, ConnectStr, SqlStr);Report1.SetDataset2(?瑡獡瑥,2,1); //将查询的结果显示在报表里3、删除数据库中数据在画面“数据集函数与关系库”上添加一个“删除”按钮,在按钮脚本里写如下脚本:string ConnectStr;string SqlStr;//通过OLEDB方式连接ACCESS数据库的连接字符串ConnectStr=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\培训\培训工程\培训工程屜業敮洮扤倻牥楳瑳匠捥牵瑩?湉潦?污敳;文档Word`//起始时间和结束时间从日期时间控件获取string StartTime,EndTime;StartTime=UIDateTime1.Value;EndTime=UIDateTime2.Value;SqlStr=delete * from KingTable where 日期时间?尣+StartTime+?+ and 日期时间?尣+EndTime+?;//Trace(SqlStr+SqlStr);//数据集函数,执行SQL语句删除数据库中的记录bool a= KDBExecuteStatement(ConnectStr, SqlStr);//Trace(a=+a);4、更改数据库中数据在画面“数据集函数与关系库”上添加一个“修改”按钮,在按钮脚本里写如下脚本:string ConnectStr;string SqlStr;//通过OLEDB方式连接ACCESS数据库的连接字符串ConnectStr=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\培训\培训工程\培训工程屜業敮洮扤倻牥楳瑳匠捥牵瑩?湉潦?污敳;//将温度大于等于0的数据改为“\\local\temperature”变量实际值SqlStr=%update KingTable set 温度尽+\\local\temperature+ where 温度?尰;文档Word`//Trace(SqlStr+SqlStr);//数据集函数,执行SQL语句,将温度大于等于0的数据改为“\\local\temperature”变量实际值bool a= KDBExecuteStatement(ConnectStr, SqlStr);图数据集函数与关系库画面8-12文档Word`注意:KingSCADA和数据库之间是同步方式,尽量保证数据库网络通畅性,防止阻塞,造成KingSCADA卡顿。

相关文档
最新文档