组态王连接Accesss大数据库与历史曲线显示
历史趋势曲线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数据库通讯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大数据库与历史曲线显示
我是依据组态王帮助文件里面的案例,不过我写的会更详细!以某工业现场应用为例,需要对原料进行称量,并记录原料的生产厂家、原料编号、称量日期、称量时间,值班人员、原料重量。
针对这种关系数据,使用组态王的历史库是无法记录的,因此我们使用关系数据库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实现数据的采集与输出前提:➢数据库用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数据库交互新建一个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表中。
打开始别忘了安全警告,到时别乱点,现在是不会有数的,因为还没做完呢。
图是这样的:还不行,呵呵,把历史控件和数据库连上(还得写数据改变命令呢,咱先不搞那个),是怎么连得呢,图:然后在在历史控件中添加变量吧,在历史控件上,右键----控件属性就出来了—数据库中添加,日期,和毫秒是必须有的,如果没有的话,看看你表中这两个数据的类型不对,日期是,日期时间型的,我的毫秒是长整形的。
组态王绘制历史曲线
报警显示颜色
12
CurveHideCurve
Bool
是否隐藏曲线
13
CurveMilliSecondField
String
毫秒字段名称
14
CurveDataField
String
数据字段名称
15
CuryeInvalidValue
String
无效值字段名称
16
CurveUser
String
Long
返回当前曲线图表中的曲线数目
57
AdjustWidth
Long
时间轴调整宽度
58
AdjustWidthUnit
short
时间轴调整宽度单位:秒、分、时、日、毫秒
59
Percent
Bool
是否按百分比绘制
60
YMinReal
Double
Y轴最小值
61
YMaxReal
Double
Y轴最大值
62
SampleInterval
第二种实现方法的优点在于支持同时绘制16条曲线,功能比较完善,可以在系统运行时动态增加、删除、隐藏曲线,还可以修改曲线属性,实现无级缩放,曲线打印等等。许多功能都不需要通过编写脚本的方法实现,使用比较方便。缺点在于无法进行WEB的发布。
操作步骤
1.
KVHTrend曲线控件是组态王以Active X控件形式提供的绘制历史曲线和ODBC数据库曲线的功能性工具。该曲线具有以下特点:
功能概述
常规需求:很多工业现场都会要求显示采集量的趋势曲线,包括实时曲线、历史曲线。
组态王中的趋势曲线的实现方法:
1、利用组态王的“工具箱”中的“实时曲线”、“历史曲线”实现。
组态王历史趋势控件使用详解
图 1 历史曲线控件
2、设置控件固有属性:
控件创建完成后,在控件上单击右键,在弹出的快捷菜单中选择“控件属性”命令,弹 出历史曲线控件的固有属性对话框,如图 2 所示。
北京亚控科技发展有限公司
历史曲线控件使用方法
控件固有属性含有两个属性页:曲线、坐标系。下面详细介绍每个属性页中的含义。
2、1 曲线属性页
选择上面定义的数据源。 表名称: 选择曲线使用的数据来自所选数据库的某一个表 时间字段: 选择曲线数据对应的时间记录,日期/时间类型 数据字段: 选择曲线对应的数据值,长整型或浮点型 毫秒字段: 选择曲线数据对应的毫秒记录,数字类型 无效值: 每一条曲线都和表中一个表示其值的字段关联,这个字段的 值在某一时点可能是无效的, 但表的结构决定了这个字段在一条记录 中的值不能为空白,所以就有了无效值的定义。 比如: 1)当表中数值字段的值为 NULL 时表示该点数据无效,那么
《组态王 6.0使用手册》第十五章
“控件”。
4、控件属性、方法列表
4.1 控件属性列表
序号 1 2 3 4
名称 CurveUseKVHistData CruveDSN CurveTable CurveDateTimeField
数据类型 Long Long Long Long
含
义
使用组态王历史数据 使用数据源名称 数据库的表名 数据库的时间字段名
图 4 增加变量到曲线列表 ? “删除”如按上钮所:述删,除可当以前增列加表多框个中变选量中到的曲曲线线列定表义中。。 ? “修改”:修改当前列表框中选中的曲线定义。 ? “显示列表”选项:是否显示如图 1 中的曲线变量列表。 ? 数据源:显示曲线使用数据源的信息。
2.2 坐标系属性页
组态王6.5常见疑难问题解答
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh85AE.htm
2011-2-28
组态王6
页码,2/17
[数据库中保存一个月的历史数据,自动删除一个月以前的数据。命令语言放在应用程序命令语言启动时或者事件命令语言$时==1中: SQLConnect( DeviceID, "dsn=历史;uid=er;pwd=0");
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh85AE.htm
2011-2-28
组态王6
返回页首
6.用IE客户端能够访问到组态王WEB服务器,在进度条进度程序完成后,画面呈灰色,不能正常显示?
[用户曾经安装过JAVA插件,但与组态王的JAVA插件不兼容 重新安装组态王自带的JAVA程序包即可] 返回页首
[通过dde和OPC这两种途径来完成] 返回页首
修订日期:2004年11月24日
WEB发布 file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh85AE.htm
2011-2-28
组态王6
1. 组态王web发布时的常见注意事项? 2. 在作为WEB服务器的计算机上用IE客户端无法访问到组态王WEB服务器? 3. 在与WEB服务器相连的局域网其他计算机上用IE客户端无法访问到组态王WEB服务器? 4. 用IE客户端能够访问到组态王WEB服务器,但是只能看到上部的组态王的图标。其他空白? 5. 用IE客户端能够访问到组态王WEB服务器,在进度条进度程序完成后,白屏,画面不显示? 6. 用IE客户端能够访问到组态王WEB服务器,在进度条进度程序完成后,画面呈灰色,不能正常显示? 7. 用户在公共网络上进行组态王web发布的条件? 8. 用户在局域网进行组态王web发布,通过域名映射发布到广域公共网上的注意事项? 9. 组态王网页发布后,IE画面上某些字体无法正常显示,被一个个的小方块代替了? 10. 组态王网页发布后,IE画面上的实时数据有些刷新,有些不刷新?
组态王与数据库连接的实现方法
组态王与数据库连接的实现方法1准备工作1.1创建数据源及数据库1.右键新建一个Access数据库(D:\example,数据库名:ku.mdb)。
2.依次点击屏幕左下角“开始\控制面板\管理工具”,双击“数据源(ODBC)”打开ODBC数据源管理器如错误!未找到引用源。
:图 13.点击“添加”新建一个数据源,驱动程序选择“Microsoft Access Driver(*.mdb)”点击“完成”,如错误!未找到引用源。
:图 24.配置该数据源,数据源名:yuan。
指向新建的Access 数据库(ku.mdb)步骤如错误!未找到引用源。
所示:图 31.2创建表格模板打开工程“yangli”在工程浏览器窗口左侧找到“系统\SQL访问管理器\表格模板”选项如图 4,在右侧双击“新建”打开如图 5“创建表格模板”对话框。
图 4模板名称:muban1,,依次输入字段名称:ziduan1、字段长度:9,选择变量类型为:定长字符串型,点击增加字段。
用同样方法增加字段ziduan2、ziduan3。
图 51.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”为前面配置的数据源的名称。
组态王与Access数据库连接的配置及使用说明
组态王与Access数据库的数据交换SQL访问管理器SQL访问管理器用来建立数据库列和组态王变量之间的联系。
包括表格模板和记录体两部分功能。
通过表格模板在数据库表中建立表格;通过记录体建立数据库表格列和组态王之间的联系,允许组态王通过记录体直接操纵数据库中的数据。
表格模板和记录体都是在工程浏览器中建立的。
创建表格模板在工程浏览器中左侧工程目录显示区中选择“SQL访问管理器”下的“表格模板”项,在右侧目录内容显示区中双击“新建”,弹出“创建表格模板”对话框,如下图。
建立表格模板的目的在于定义一种格式,在后面用到是SQLCreatTable(),以次格式在Access数据库中建立表格。
创建记录体在工程浏览器中左侧工程目录显示区中选择“SQL访问管理器”下的“记录体”项,在右侧目录内容显示区中双击“新建”,弹出“创建记录体”对话框,如下图。
其中: 字段名称填写数据库表格中的列名。
组态王变量填写和表格中指定列相关联的组态王变量。
建立Ms Access数据库 1.建立一空Access文件,定名。
2.定义数据源 双击控制面板下的“ODBC数据源(32位)”选项,弹出“ODBC数据源管理器”对话框。
选择“用户DSN”属性页,并单击“添加”按钮。
在弹出的“创建新数据源”对话框中,选择“Mirosoft Access Driver”单击“完成”按钮。
弹出“ODBC Microsoft Access安装”对话框,定义数据源名。
单击“选取”按钮,从中选择相应路径下刚刚定义的数据库文件。
单击“确定”按钮,完成对数据源的配置。
对数据库的操作 首先在数据词典里建立变量DeviceID,为内存整形,是数据库连接时产生的连接号。
1.连接数据库 函数SQLConnect( DeviceID, "dsn=;uid=;pwd="); 参数说明: DeviceID SQLConnct()产生的连接号 "dsn=;uid=;pwd=" 连接语句,包括 ODBC中定义的数据源名、用户名和密码,用户名和密码可以缺省。
组态王历史趋势曲线控件演示教学
组态王历史趋势曲线控件组态王历史趋势曲线控件使用配置参考文档北京亚控科技发展有限公司技术部目录一、功能概述 (3)一、功能概述 (3)二、工程实例 (3)三、操作步骤: (3)1、历史趋势曲线控件的特点: (3)2、创建新的工程: (4)2.1) 定义设备: (4)2.2) 定义变量: (4)2.3) 创建趋势曲线: (6)2.4) 添加曲线变量: (6)3、切换到运行系统: (8)4、控件的属性、方法: (9)2.1) 控件的属性与方法: (9)2.2) 属性方法的使用举例: (17)四、注意事项 (23)图表图一定义变量压力 (5)图二定义变量流量 (5)图三记录和安全区属性 (7)图四历史趋势曲线 (7)图五历史趋势曲线 (8)图六运行系统 (9)图七画面属性 (18)图八画面命令语言编辑框 (19)图九控件属性 (20)图十画面命令语言 (21)图十一运行画面 (21)图十一控件方法的使用 (22)图十二运行画面 (23)一、功能概述常规需求:很多工业现场都会要求显示采集量的趋势曲线,包括实时曲线、历史曲线。
组态王中的趋势曲线的实现方法:1、利用组态王的“工具箱”中的“实时曲线”、“历史曲线”实现。
2、利用组态王的“插入通用控件”中的“历史趋势曲线”实现。
第一种实现方法的优点在于可以进行WEB的发布,实现通过IE浏览器进行浏览。
缺点为支持的曲线笔比较少,许多功能的实现需要通过组态王的函数来实现,使用相对要麻烦。
第二种实现方法的优点在于支持同时绘制16条曲线,功能比较完善,可以在系统运行时动态增加、删除、隐藏曲线,还可以修改曲线属性,实现无级缩放,曲线打印等等。
许多功能都不需要通过编写脚本的方法实现,使用比较方便。
缺点在于无法进行WEB的发布。
二、工程实例以一个简单的例程来说明“历史趋势曲线控件”的使用。
三、操作步骤:1、历史趋势曲线控件的特点:KVHTrend曲线控件是组态王以Active X控件形式提供的绘制历史曲线和ODBC数据库曲线的功能性工具。
组态王6.53修改历史曲线
组态王历史曲线修改最近,一客户由于其污水厂仪表经常出问题,为使得上级部门检查顺利通过,向我们提出了修改历史曲线的问题。
经查询组态王帮助文档和咨询其技术支持后,首先明确了组态王加上外接数据库可以实现此功能,但是在历史曲线选择上必须选用其通用库中所提供的控件。
此方案选用组态王和ms access双向存取,经过测试,此方案已通过客户要求。
具体步骤如下:1:建立access数据库,命名为sql数据库,路径为D盘根目录。
范例如图1所示:图12:关联ODBC数据源在“控制面板” “管理工具”路径下找到“数据源”后,打开它后,在选项卡中选择“系统DSN(data source name)”。
如图2所示图3单击“添加”按钮后,选择“Microsoft Access Driver(*mdb)”驱动,然后点击“完成”按钮。
进入“ODBC Microsoft Access安装”面板中,如图4所示数据源名可以随便命名,不过要记到,方便后面用,“—数据库—选择”选择上面简历数据库的路径。
一路确定后即完成了ODBC数据库的关联。
图43:配置表格进入刚建立的Access数据库中中后,以设计模式建立表格“table1”,根据客户要求,表格设计如图5所示,其中“日期时间”和“毫秒字段”是为组态王历史曲线控件二设置,其他字段根据客户要求,均设置为单精度型2位小数的数字型数据类型。
图54:配置组态王记录体在组态王“SQL访问管理器”中双击“记录体”后,弹出“创建记录体”面板,配置如图6所示。
图65:配置组态王历史曲线控件在选择组态王历史曲线控件时候选择通用控件中的“历史曲线控件”,选择“控件属性”后,进入“修改曲线”(若没有,选择增加),在“数据来源”中选中“使用ODBC数据源”,如图7所示。
图7在单击“数据源”后,进入“选择数据源”面板后,选中“Machine Data Source”选项卡,选中刚建立的ODBC数据源名“db”。
组态王历史趋势控件使用详解
北京亚控Bo科o技l 发展有限公司 X 轴标记格式—是否显示月
历史曲线控件使用方法48源自XlabelFmtDayBool
X 轴标记格式—是否显示日
49
XlabelFmtHour
Bool
X 轴标记格式—是否显示时
50
XlabelFmtMinute
Bool
X 轴标记格式—是否显示分
51
XlabelFmtSecond
l 曲线比较 :通过设置曲线比较时间差, 使曲线绘制位置有一个时间轴 上的平移,这样通过关联的变量名相同, 但一个是显示与时间轴相同 的时间的数据,另一个作比较的曲线显示与时间轴的时间差为某个值 的数据(如一天前),从而达到用两条曲线来实现了曲线比较的目的。
l 数据来源 :选择曲线使用的数据来源,可同时支持组态王历史库和 ODB 数 C 据源。若选择 ODB 数 C 据源,必须先配置数据源.具体配置方 法如下: 1、 启动控制面板中的数据源 ODBC。单击“系统 DSN”项。单击“增 加”,弹出“创建新数据源”对话框。 2、 选择所需数据源的驱动如“ Microsoft Accress Driver(*.mdb)”,单 击“完成”按钮。弹出“ ODBC Microsoft Accress安装”对话框。 3、 在“数据源名”中定义一个数据源名称,数据库“选择”中选择 曲线数据所在的数据库,此数据库的表至少有三个字段:时间字 段、数据字段、毫秒字段。单击“确定” ,新创建的数据源就添 加到“系统 DSN”列表中。 数据源: 选择曲线使用的数据库,在弹出的“ Select Data Source ”中
Bool
是否绘制坐标轴
24
AxisLineType
Long
坐标轴线型
组态王与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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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即可。