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

合集下载

历史趋势曲线odbc数据显示解决方案

历史趋势曲线odbc数据显示解决方案

历史曲线控件odbc数据显示解决方案组态王历史趋势曲线控件可以通过odbc数据源将其它数据库的数据显示在组态王的历史趋势曲线界面中,其它数据库中的数据可以是自身存储的,也可以是从组态王采集的数据,对于数据库库表格的要求,应该有一个日期字段(为日期时间类型),有一个表示毫秒的字段(为整型),其它按实际所需数据定义。

首先我们先简单的介绍数据库如何从组态王中采集数据以及注意相关事项一、组态王与Access数据库的数据交换SQL访问管理器SQL访问管理器用来建立数据库列和组态王变量之间的联系。

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

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

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

创建记录体在工程浏览器中左侧工程目录显示区中选择“SQL访问管理器”下的“记录体”项,在右侧目录内容显示区中双击“新建”,弹出“创建记录体”对话框,如下图。

其中:字段名称填写数据库表格中的列名。

组态王变量填写和表格中指定列相关联的组态王变量。

建立Ms Access数据库1.建立一空Access文件,定名1.mdb,在工程文件夹下可以找到。

2.创建表格,必须定义字段为日期字段(日期时间类型),毫秒字段(整型数),其它字段按照实际需求来定义,此例中定义a1,a2,a3三个字段3.定义数据源双击控制面板下的“ODBC数据源(32位)”选项,弹出“ODBC数据源管理器”对话框。

选择“用户DSN”属性页,并单击“添加”按钮。

在弹出的“创建新数据源”对话框中,选择“Mirosoft Access Driver”单击“完成”按钮。

弹出“ODBC Microsoft Access安装”对话框,定义数据源名。

单击“选取”按钮,从中选择相应路径下刚刚定义的数据库文件。

注:本例子请选择本工程路径下的数据库,同时数据源名称请注明:odbc 单击“确定”按钮,完成对数据源的配置。

组态王与Access数据库通讯

组态王与Access数据库通讯

组态王与Access数据库通讯1定义ODBC数据源组态王与Access数据库通讯--①定义ODBC数据源定义ODBC数据源组态王SQL访问功能能够和其他外部数据库(支持ODBC访问接口)之间的数据传输。

实现数据传输必须在系统ODBC数据源中定义相应数据库。

1.0 进入“控制面板”中的“管理工具”,用鼠标双击“数据源(ODBC)”选项,弹出“ODBC数据源管理器”对话框,如图19.6所示。

有些计算机的ODBC数据源是中文的(如上图所示),有些的是英文的,视机器而定,但是两种的使用方法相同。

ODBC数据源管理器”对话框中前两个属性页分别是“用户DSN”和“系统DSN”,二者共同点是:在它们中定义的数据源都存储了如何与指定数据提供者在连接的信息,但二者又有所区别。

在“用户DSN”中定义的数据源只对当前用户可见,而且只能用于当前机器上;在“系统DSN”中定义的数据源对当前机器上所有用户可见,包括NT服务。

因此用户根据数据库使用的范围进行ODBC数据源的建立。

2.0 选择系统DSN,然后点击添加,就会跳出如下界面,选择Microsoft Access Driver,点击完成3.0 如下图,跟这个数据源取个别名,这里就叫mysql,然后要选择数据库,如果没有建的话,点击创建(如果你在外面直接右键新建的话可能格式不一样,我新建的是.accdb格式的,直接不支持,所以如果遇到我这种情况,可以直接创建)3.1 新建数据库,会出现以下画面,这里要填几个参数,数据库名,驱动器(放置位置)其他一般默认就可以了,点击确定就完成了一个ACCESS数据库的创建创建格式的数据库,点击确定成了设置5.0 你在刚刚创建数据库的路径,也能看到实际的数据库文件了组态王与Access数据库通讯--②组态王设置组态王定义设置1.0 立项,这里叫TEST项目2.0 选择数据库--数据词典,新建3个变量,DeviceID(内存整数),level1,level2(内存整数),DeviceID是用来存储SQLConnect分配给每个数据库连接的数值3.0 找到左边栏的SQL访问管理器--表格模板,新建一个叫table的模板3.1 如下图,增加4个字段,这个新增的字段就是表格的横向类别,从上到下对应表格的从左到右,字段的顺序会影响表格表头的左右顺序,如果已经创建表格了,再更改这个字段顺序,那边表格的顺序也不会变了,只有删除数据库文件,才会重置表格,关闭数据库不会删除数据库数据4个字段,日期--定长字符串型--32,时间--定长字符串型--32,level1--整型--1,level2--整型--1如下图4.0 如下图选择记录本,新建bind14.1 在记录本上新建4个字段和变量的衔接,比如字段:日期跟变量\\local\$Date,意思就是\\local\$Date变量代表日期,每次插入记录就会记录一次这个变量的值,如下图做四个变量,时间=\\local\$Time,level1=\\local\level1,level2=\\local\level23.组态王画面设置组态王与Access数据库通讯--③组态王画面设置组态王画面设置1.0 首先要做个组态王的按钮画面,新建画面,命名数据库画面,其他先默认好了2.0 如下图,先建立4个按钮,分别为数据库连接,数据库断开连接,创建数据表格,插入记录3.0 另外要给按钮写入命令语言,双击数据库连接按钮,点击按下时,SQLConnect( \\local\DeviceID, "dsn=mysql;uid=;pwd="); ,\\local\DeviceID 为上一期新建的内存整数变量,用来存储SQLConnect 分配给每个数据库的值,(这里注意,SQL 在断开连接之前,重复执行SQLConnect 会增加DeviceID 的值,最大值为255);而dsn 为需要连接的数据库,这里就写上我们在ODBC 数据源配置的数据库,uid 和pwd 账号密码有就设没有就不写;小知识点:在命令语言界面下方,有归总的函数集,SQL里面有很多,双击SQL连接函数,出来是SQLConnect( DeviceID, "dsn=;uid=;pwd=");整体的格式就出来了还是挺方便,双击DeviceID,然后在左下角点击变量,就会跳转到数据词典中的变量,选择你需要的变量就可以直接替代3.1 如上所述,其他几句命令语言分别是断开连接SQLDisconnect( \\local\DeviceID);,创建数据库表格SQLCreateTable(\\local\DeviceID, "表格", "table" );,插入记录SQLInsert( \\local\DeviceID, "表格", "bind1" );都是设置在按下时激活4.数据库测试组态王与Access数据库通讯--④数据库测试数据库测试1.0 打开组态王,点击运行2.0 界面如下,点击数据库连接,创建数据库表格,如果不创建表格,打开数据库文件的话,是空的3.0 找到刚才我们放置的数据库文件,双击打开,就会看到下面的表格,可以看到表格的表头分别是我们在组态王中设置的字段,从左到右分别是日期,时间,level1,level2,这里就说明我们的建表已经完成4.0 再回到组态王界面,点击插入记录三下,你会发现表格中还是空的,怎么样才能看到最新的呢,重新打开表格就可以了4.1 如下图,重新打开后的数据库表格,可以看到我们插入的三次记录,可以看到日期,时间你可以看到秒数的变化,level1和level2的值都是50,60,就是我们设置的初始值,他没有发生变化。

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

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

关于组态王历史曲线的绘制在作项目中,常常遇到需要查看工程的历史数据图和历史曲线。

在使用组态王的过程中遇到了以下问题。

问题;工程要求要能查找历史数据和查看历史曲线。

组态王内置历史曲线可以绘制,但数据不能第三方访问。

且历史数据记录不能停止。

要绘制历史曲线,首先要有历史数据,组态王本身有历史数据库。

也可使用第三方数据库。

组态王自己的历史数据库不开放(只可用函数语句表另存为),第三方不能访问。

第三方数据库是微软的access数据库或者是SQL sever 数据库等。

在测试access数据时发现。

组态王保存的历史数据在绘制历史曲线调用时,有个日期时间格式的数据需要选取。

但在数据库里边没有符合这个格式的选项。

经查看发现组态王合成的日期时间格式在access里是字符串(文本)格式,不符合datetime格式。

于是手动更改为datetime格式,组态王可以调用历史数据绘制曲线了。

但数据又不能插入了。

测试失败。

方法1.在SQL several数据库中同时插入两个一摸一样的表格,表格1插入数据,表二在表1插入时同时插入数据并转换数据格式,然后在历史曲线控件里调用。

在表格1调用触发器,然后再插入数据到表格2,同时更改日期时间字符串为datetime格式,直接在组态王历史控件里调用即可。

create trigger myinsertaon MODEfor insertasdeclare @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 INSERTEDINSERT INTO MODE1 values(@a,@b,@c,@d,@e,@f,@g,@h,@i,@j,@k,@l,@m);上面第一个触发器定义中间变量和数据长度和格式,定义的格式应当和组态王模板设定的长度和数据类型一致。

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

组态王连接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 数据源的定义,如图所示。

组态王历史趋势控件使用详解

组态王历史趋势控件使用详解

组态王历史趋势控件使⽤详解KVHTrend控件使⽤⽅法KVHTrend曲线控件是组态王以Active X控件形式提供的绘制历史曲线和ODBC数据库曲线的功能性⼯具。

通过该控件,不但可以实现历史曲线的绘制,还可以实现ODBC数据库中数据记录的曲线绘制,⽽且在运⾏状态下,可以实现在线动态增加/删除曲线、曲线图表的⽆级缩放、曲线的动态⽐较、.曲线的打印等。

该曲线控件最多可以绘制16条曲线。

1、创建历史曲线控件:在组态王开发系统中新建画⾯,在⼯具箱中单击“插⼊通⽤控件”或选择菜单“编辑”下的“插⼊通⽤控件”命令,弹出“插⼊控件”对话框,在列表中选择“历史趋势曲线”,单击“确定”按钮,对话框⾃动消失,⿏标箭头变为⼩“⼗”字型,在画⾯上选择控件的左上⾓,按下⿏标左键并拖动,画⾯上显⽰出⼀个虚线的矩形框,该矩形框为创建后的曲线的外框。

当达到所需⼤⼩时,松开⿏标左键,则历史曲线控件创建成功,画⾯上显⽰出该曲线,如图1所⽰。

图1 历史曲线控件2、设置控件固有属性:控件创建完成后,在控件上单击右键,在弹出的快捷菜单中选择“控件属性”命令,弹出历史曲线控件的固有属性对话框,如图2所⽰。

北京亚控科技发展有限公司北京亚控科技发展有限公司控件固有属性含有两个属性页:曲线、坐标系。

下⾯详细介绍每个属性页中的含义。

2、1 曲线属性页如图2所⽰,曲线属性页中下半部分为定义在绘制曲线时,历史数据的来源,可以选择组态王的历史数据库或其它数据库为数据源。

曲线属性页中上半部分“曲线”是定义曲线图表初始状态的曲线变量、绘制曲线的⽅式、是否进⾏曲线⽐较等:列表框:显⽰已经添加的变量的名称及绘制⽅式定义等。

“增加”按钮:增加变量到曲线图表,并定义曲线绘制⽅式。

单击该按钮,弹出如图3所⽰的对话框。

图2 历史曲线控件固有属性图3 增加曲线l变量名称:在“变量名称”⽂本框中输⼊要添加的变量的名称,或在左侧的列表框中选择,该列表框中列出了本⼯程中所有定义了历史记录属性的变量,单击⿏标选择,则选中的变量名称⾃动添加到“变量名称”⽂本框中。

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

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

组态王通过数据库access实现数据的采集与输出前提:➢数据库用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 4. 创建应用程序命令语言输入记录体名称字段名称要与数据库中的名称相一致添加数据词典中已存在的变量显示已增加的字段10分钟记录一次每10分钟操作一次该命令5. 使用趋势来读取数据库数据新建趋势画面,趋势控件为历史趋势控件,选中控件并鼠标右击选择“控件属性”,进入“设置数据库曲线”对话框在“运行”时标签栏下输入刷新时间输入该命令行点击此按钮,添加数据库中的变量添加好的数据附录:若要做报表通过读取数据库的数据,则使用通用控件中的KVADODBrid Class 。

并制作查询按钮,脚本如下:\\本站点\nReturnValue=Ctrl.QueryDialog(); if (\\本站点\nReturnValue==1) { Ctrl.FetchData();}选择表名称选择数据库中的“日期时间” 选择数据库中的“毫秒”选择数据库中的要显示的趋势数据选择线颜色输入最大值、最小值。

组态王和Access数据库交互(1)

组态王和Access数据库交互(1)

组态王和Access数据库交互新建一个access数据库文件,mdb格式或者accdb都可以然后在里面建立一个表,命名为table1,插入几个字段如下图。

姓名格式为文本,年龄格式是长整型,成绩为单精度型也就是小数,点击保存2.建立odbc数据源依次点击计算机->控制面板->管理工具->数据源(odbc)第一步:第二步:然后点击系统DNS点击添加找到驱动点击完成。

输入数据源名称点击选择找到你建立的数据库然后点击确定打开组态王新建三个变量姓名:内存字符串年龄内存实数(也可以为整数)成绩内存实数点击记录体插入三个字段字段名称必须和数据库名称一样,但是数量不必相同,你可以只建姓名跟年龄字段,成绩不建也能插入数据库然后建立一个内存整形变量DeviceID在画面建立三个输入框当按下时插入记录按钮代码如下dsn=所建立的dsn名称table1是数据库表名T1是记录体名称点击插入记录试一下输入小数的年龄可以看到年龄四舍五入了2,查询数据库插入控件并且改一下名字然后右键选择控件属性点击浏览点击连接找到你的数据源点击确定。

新建一个查询按钮插入一下命令SQLConnect( DeviceID, "dsn=linjjl;uid=;pwd=");查询表.Where="姓名='linjjl'";查询表.FetchData();查询表.FetchEnd();SQLDisconnect( DeviceID);注意查询表.Where 双引号里面的内容姓名=’linjjl’注意单引号在画面上新建一个字符串输出变量把查询表.Where 显示一下方便调试点击查询查询上面是查询表.Where 字符串的内容我们可以根据输入内控查询先在数据库增加几条内容在组态王新建一个字符串变量查询的姓名然后在画面上做一个字符串输入查询按钮的代码改一下注意姓名后面有个单引号最后双引号里面有个单引号组态王中字符串拼接用+ 号运行一下多加一个查询条件年龄=5时排序按成绩排序为了试验先把数据库里的成绩改一下然后改一下组态王代码运行情况如下看看Id号反过来了判断单元格是不是空行如图建立几个单元格为空的行改一下查询语句注意空检测的语句IsNull()区分大小写就这么写小写是错的查询结果更新数据库把上次我们查到的成绩为空的改成100 新建一个变量初始值改成100然后再见一个记录体再画面新建一个按钮更新成绩运行一下完。

组态王历史曲线控件使用方法

组态王历史曲线控件使用方法

最近学习了组态王历史曲线控件现将使用方法分享如下:新建工程什么的我就不说了图太大,看不到的地方不用看了,没有用。

来个图吧有图有真相!!建一个这样的工程,我尽量截全工程名:zt3 存在d盘中了。

插入通用控件—历史控件。

然后建记录体SQL管理器—纪录体。

纪录体--新建我相信你能建成我这样的如图:我还能看得清,字段名称是输入的,最好和你的表里的名一样,要不该乱了,还得屡屡那就不好玩了,这里的变量时选出来的,变量的类型,链接设备等我再在给你来个图在下图图的下面,即下下图,变量的类型,名称,连接的设备图中有了,设备PLC是仿真的,仿真的建立方法:我是这样做的---在设备中 COM2然后新建---亚控---仿真PLC—COM然后一直下一步下一步直到完成。

然后建数据库,就建在zt3里,如果没有安装access的话是建不了的,就不用费心思了,右键,建立取名hhh。

建完数据库后,把hhh打开,在里面设计表。

用向导创建表,取名b1,打开时:提示安全警告—否---打开。

选中b1,点设计会弹出一个窗口,按图中来,第一列是填的,第二列点格子会有下拉箭头选的,第一行开始的钥匙,是主键,选中那一行右键,选主键。

一步一步来。

现在在来下一步,在历史控件中连变量。

别急,连变量之前,先把数据库添到数据源管理器中,他就能当数据源了,就可以用了,我是这么理解的,这么连得,看图,9步走,12,3,4,5,6,7,8,9,都有按数字点下去,控制面板找到先。

然后就能在历史控件中控件属性---数据库中添加。

,添加变量了,我这变量是带数据记录功能地,记录在hhh---b1表中。

打开始别忘了安全警告,到时别乱点,现在是不会有数的,因为还没做完呢。

图是这样的:还不行,呵呵,把历史控件和数据库连上(还得写数据改变命令呢,咱先不搞那个),是怎么连得呢,图:然后在在历史控件中添加变量吧,在历史控件上,右键----控件属性就出来了—数据库中添加,日期,和毫秒是必须有的,如果没有的话,看看你表中这两个数据的类型不对,日期是,日期时间型的,我的毫秒是长整形的。

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

我是依据组态王帮助文件里面的案例,不过我写的会更详细!
以某工业现场应用为例,需要对原料进行称量,并记录原料的生产厂家、原料编号、称量日期、称量时间,值班人员、原料重量。

针对这种关系数据,使用组态王的历史库是无法记录的,因此我们使用关系数据库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 定义请参考相关文档。

3.组态王中定义变量:
3.1) 定义变量:
在组态王中定义四个变量:原料厂家(内存字符串)、原料编号(内存字符串)、原料重量(内存实数)、DeviceID(内存整数),其中原料重量是从称重仪表设备中采集的。

DeviceID变量是使用组态王SQL 函数时需要用到的变量。

其他需要记录的称量日期、称量时间为系统的日期、时间,值班人员为组态王登录的用户。

称重仪表的判稳可以通过仪表上传稳定信号也可以通过操作人员来判断,因为此例程中需要输入原料厂家以及编号,因此有操作人员进行重量稳定的判断,并有操作人员确定后记入数据库。

4.组态王中定义记录体:
记录体是用来连接数据库的表格的字段和组态王数据词典中的变量。

创建记录体:如图七所示:记录体名:Bind,字段名称为数据库中表的字段名称,变量名称为组态王数据词典中的变量。

字段类型与变量类型需要一致。

字段名称要与数据库中表的字段名称一致。

变量名称与字段名称可以不同。

图七定义记录体
5.建立组态王与数据库的关联:
组态王与数据库建立与断开关联主要是通过 SQL 函数来实现。

通过 SQLConnect()函数建立组态王与数据库的连接。

通过 SQLDisconnect()函数断开组态王与数据库的连接。

对于本例程用到的函数的详细说明请参考函数手册或者帮助文档。

本例程中数据库无用户名和密码,具体用法如下:
SQLConnect( DeviceID, "dsn=数据;uid=;pwd=");
其中DeviceID 是用户在数据词典中创建的内存整型变量,用来保存SQLConnect()为每个数据库连接分配的一个数值。

建议将建立数据库连接的命令函数放在组态王的应用程序命令语言的启动时执行,这样当组态王进入运行系统后自动连接数据库。

如下图八所示:
图八
建议将断开数据库连接的命令函数放在组态王的应用程序命令语言的停止时执行,这样当组态王退出运行系统时自动断开数据库的连接。

如下图图九所示:
图九
注意:此函数在组态王运行中只须进行一次连接,不要把此语句写入“运行时”,多次执行此命令而造成错误。

6.记录数据到数据库:
数据库连接成功后,我们就可以通过执行 SQLinsert()函数插入数据到创建好的Access数据库的表格中。

首先利用组态王提供的画图工具新建一个组态王画面,如下图所示:
日期、时间、值班人员动画连接为字符串输出,连接的变量为\\本站点\$日期、\\本站点\$时间、\\本站点\$用户名。

原料厂家、原料编号动画连接为字符串输入、字符串输出,连接的变量为\\本站点\原料厂家、\\本站点\原料编号。

原料重量动画连接为模拟值输出,连接的变量为\\本站点\原料重量。

“用户登录”按钮的弹起时命令语言为登录函数:LogOn();
“用户注销”按钮的弹起时命令语言为注销函数:LogOff();
“称量确认”按钮的弹起时命令语言为SQL 插入函数:SQLInsert( DeviceID, "原料数据",
"Bind" ); 其中“原料数据”为数据库的表的名称,“Bind”为记录体的名称。

“称量确认”的优先级设置为300,这样就要求值班人员必须登录并且权限大于300 才可以进行称量确认。

“系统退出”按钮的弹起时命令语言为系统退出函数:Exit( 0 );
关于使用到的函数的详细使用方法请参考函数使用手册或者帮助文档。

7.进入运行系统:
画面开发完成后保存画面,在工程浏览器的“系统设置”-“设置运行系统”-“主画面配置”中,将新建的画面设置为主画面。

确认后点击工程浏览器的“View”按钮切换到运行系统。

系统运行后会将主画面打开,如下图所示:
如果操作人员不进行登录则“称量确认”按钮为灰色,不允许进行“称量确认”操作。

只有值班人员以自己的用户名、密码登录后此按钮才处于激活状态,操作人员才可以操作。

其中“原料厂家”、“原料编号”可以有操作人员手动输入,原料重量来自于称量仪表采集的数据。

当值班人员确认本次称量有效时可以执行“称量确认”,点击“称量确认”后会将数据存入Access数据库“数据.mdb”的数据表“原料数据”中。

我们可以打开数据库看数据是否写入数据表中。

历史曲线显示
正常的添加控件,时间选择datetime,毫秒选择ID即可。

相关文档
最新文档