组态王,历史趋势曲线控件例程说明文档概述
组态王教学-趋势曲线

趋势曲线常见问题解答北京亚控科技发展有限公司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)2.14 使用组态王的历史趋势曲线控件时,能否通过拖动游标上的直线来拖动游标,而不是只能拖动游标下的小三角块? (5)2.15 使用组态王的历史趋势曲线控件时,该控件提供了时间轴(X轴)纵向的游标,有没有数据轴(Y轴)横向的游标? (5)2.16 组态王的历史趋势曲线控件有没有曲线叠加的功能? (5)2.17 使用组态王的历史趋势曲线控件,通过ODBC数据源绘制关系数据库数据曲线时,能否只绘制符合条件的数据曲线? (6)2.18 使用组态王的历史趋势曲线控件,当我改变时间轴起始时间和结束时间时,为什么历史曲线有时候能绘制出曲线,有时又没有曲线? (7)1. 实时趋势曲线1.1我发现组态王的实时曲线控件只能显示百分比量程,请问能否显示工程的实际量程呢?早期版本的组态王中的实时曲线控件都只提供的百分比量程,在6.52版本的组态王软件中对实时曲线控件进行了修改,提供了变量实际量程的选项。
关于组态王数据库绘制曲线的方式

关于组态王历史曲线的绘制在作项目中,常常遇到需要查看工程的历史数据图和历史曲线。
在使用组态王的过程中遇到了以下问题。
问题;工程要求要能查找历史数据和查看历史曲线。
组态王内置历史曲线可以绘制,但数据不能第三方访问。
且历史数据记录不能停止。
要绘制历史曲线,首先要有历史数据,组态王本身有历史数据库。
也可使用第三方数据库。
组态王自己的历史数据库不开放(只可用函数语句表另存为),第三方不能访问。
第三方数据库是微软的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);上面第一个触发器定义中间变量和数据长度和格式,定义的格式应当和组态王模板设定的长度和数据类型一致。
组态软件操作指南 趋势曲线

第七章趋势曲线本章内容定义变量的记录属性趋势曲线趋势曲线方法概述趋势曲线是用来反应变量随时间的变化情况,趋势曲线有两种:实时趋势曲线和历史趋势曲线。
KingSCADA提供的趋势曲线既可以显示实时趋势曲线又可以显示某一时间段的历史趋势曲线,并且提供了丰富的控件方法和控件事件,使趋势曲线的查询显得更加灵活、方便。
第一节定义变量的记录属性要想查询变量的历史趋势曲线,就需要定义变量的记录属性。
在KingSCADA工程设计器中双击“liquid_level”变量,弹出变量属性对话框,选择“历史”选项卡,设置变量的记录属性,如图8-1所示:图8-1记录属性设置对话框当“liquid_level”值变化时,系统自动保存该数值。
注意:如果配置保存到KingHistorian中,由于KingIOServer也可以保存数据到工业库,注意不要重复保存,选择其一即可。
第二节趋势曲线图素趋势曲线的展示是通过趋势曲线图素来实现的,图素的使用方法如下:第一步:在KingSCADA画面编辑器中打开已建立好的画面:趋势曲线。
第二步:在图形编辑器中,执行“对象”菜单→“扩展图素”→“趋势曲线”命令或者单击工具箱中的图标→鼠标移到画面中,光标呈‘+’状,按住鼠标左键并拖动绘出一趋势曲线窗口,如图8-2所示:图8-2趋势曲线窗口同时弹出窗口属性对话框,对话框设置如图8-3所示:图8-3曲线窗口属性对话框其他属性可根据需要设置。
第三步:选中图8-2曲线窗口→单击鼠标右键→在弹出的菜单中执行“编辑”命令→鼠标单击标题栏(位于曲线窗口的上面)→弹出标题栏属性对话框,对话框设置如下:图8-4标题栏属性设置第四步:选中图8-2曲线窗口→单击鼠标右键→在弹出的菜单中执行“编辑”命令→鼠标单击网格区(位于曲线窗口中间)选中此区域→在该区域中单击鼠标右键→在弹出的右键菜单中执行“添加曲线”命令→选中添加的曲线后同时弹出曲线属性对话框,如图8-5所示:图8-5曲线属性对话框在DataSource属性中连接“liquid_level”变量,曲线颜色设置为:绿色。
组态王历史曲线控件使用方法

最近学习了组态王历史曲线控件现将使用方法分享如下:新建工程什么的我就不说了图太大,看不到的地方不用看了,没有用。
来个图吧有图有真相!!建一个这样的工程,我尽量截全工程名:zt3 存在d盘中了。
插入通用控件—历史控件。
然后建记录体SQL管理器—纪录体。
纪录体--新建我相信你能建成我这样的如图:我还能看得清,字段名称是输入的,最好和你的表里的名一样,要不该乱了,还得屡屡那就不好玩了,这里的变量时选出来的,变量的类型,链接设备等我再在给你来个图在下图图的下面,即下下图,变量的类型,名称,连接的设备图中有了,设备PLC是仿真的,仿真的建立方法:我是这样做的---在设备中 COM2然后新建---亚控---仿真PLC—COM然后一直下一步下一步直到完成。
然后建数据库,就建在zt3里,如果没有安装access的话是建不了的,就不用费心思了,右键,建立取名hhh。
建完数据库后,把hhh打开,在里面设计表。
用向导创建表,取名b1,打开时:提示安全警告—否---打开。
选中b1,点设计会弹出一个窗口,按图中来,第一列是填的,第二列点格子会有下拉箭头选的,第一行开始的钥匙,是主键,选中那一行右键,选主键。
一步一步来。
现在在来下一步,在历史控件中连变量。
别急,连变量之前,先把数据库添到数据源管理器中,他就能当数据源了,就可以用了,我是这么理解的,这么连得,看图,9步走,12,3,4,5,6,7,8,9,都有按数字点下去,控制面板找到先。
然后就能在历史控件中控件属性---数据库中添加。
,添加变量了,我这变量是带数据记录功能地,记录在hhh---b1表中。
打开始别忘了安全警告,到时别乱点,现在是不会有数的,因为还没做完呢。
图是这样的:还不行,呵呵,把历史控件和数据库连上(还得写数据改变命令呢,咱先不搞那个),是怎么连得呢,图:然后在在历史控件中添加变量吧,在历史控件上,右键----控件属性就出来了—数据库中添加,日期,和毫秒是必须有的,如果没有的话,看看你表中这两个数据的类型不对,日期是,日期时间型的,我的毫秒是长整形的。
6、组态控件和趋势曲线

6.6.3 历史趋势曲线控件
总体说来:易用性和方便性很好的平衡,推荐使用 注意:新版本中增加了些功能,部分与书上不一致。
作为特殊控件,既 有设置属性,也有 控件属性,也提供各 种属性和方法
6.6.4 个性化历史趋势曲线
个性化历史趋势曲线与实时趋势曲线的设置类似 ,但不自动更新历史趋势曲线画面,需要为历史 趋势曲线建立操作按钮,通过命令语言或使用函 数改变历史趋势曲线变量的域。 编程可以完成查看、打印、换笔等功能。 使用方法:工具\历史趋势曲线”项或单击工具 箱中的“画历史趋势曲线”按钮 具体使用参看相关参考文献
6.6 历史趋势曲线
组态王提供三种形式的历史趋势曲线: 工具箱中调用个性化历史趋势曲线 用户需要对曲线的各个操作按扭进行定义 ,即建立命令语言连接才能操作历史曲线, 对于这种形式,用户使用时自主性较强,能 做出个性化的历史趋势曲线;无法实现曲线 打印功能。
无论使用哪一种历史趋势曲线, 都要进行相关配置。
6.4 趋势曲线曲线变化的情况 。 曲线中一般纵轴代表温度 值,横轴对应时间的变化 ,同时将每一个温度采样 点显示在曲线中。 主要适用于温度控制,流 量控制等等。
6.4 趋势曲线概述
X−Y 曲线主要是用曲线来显示两个变量之间 的运行关系,例如电流—转速曲线等。
6.5 实时趋势曲线
曲线定义选项卡
6.5 实时趋势曲线
标示定义选项卡
6.6 历史趋势曲线
组态王提供三种形式的历史趋势曲线: 图库中通用历史趋势曲线 用户只需要定义几个相关变量,适当调整 曲线外观即可完成历史趋势曲线的复杂功能 ,使用简单方便,曲线打印功能 历史趋势曲线控件 功能强大,使用较简单。既可实现组态王 历史数据的曲线绘制,也可实现ODBC数据 库中数据记录的曲线绘制。而且在运行状态 下,可以实现在线动态增加/删除曲线、曲线 图表的无级缩放、曲线的动态比较、曲线的 打印等等
组态王教学-趋势曲线

常见问题解答北京亚控科技发展有限公司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)2.14 使用组态王的历史趋势曲线控件时,能否通过拖动游标上的直线来拖动游标,而不是只能拖动游标下的小三角块? (5)2.15 使用组态王的历史趋势曲线控件时,该控件提供了时间轴(X轴)纵向的游标,有没有数据轴(Y轴)横向的游标? (5)2.16 组态王的历史趋势曲线控件有没有曲线叠加的功能? (5)2.17 使用组态王的历史趋势曲线控件,通过ODBC数据源绘制关系数据库数据曲线时,能否只绘制符合条件的数据曲线? (6)2.18 使用组态王的历史趋势曲线控件,当我改变时间轴起始时间和结束时间时,为什么历史曲线有时候能绘制出曲线,有时又没有曲线? (7)1. 实时趋势曲线1.1我发现组态王的实时曲线控件只能显示百分比量程,请问能否显示工程的实际量程呢?早期版本的组态王中的实时曲线控件都只提供的百分比量程,在6.52版本的组态王软件中对实时曲线控件进行了修改,提供了变量实际量程的选项。
超级XY曲线控件例程说明文档
超级XY曲线控件例程说明文档北京亚控科技发展有限公司2009年6月目录1. 功能概述 (1)2. 工程实例 (1)3. 操作步骤 (1)3.1 定义设备 (1)3.2 定义变量 (1)3.3 制作画面 (2)3.4 功能实现说明 (10)3.5 进入运行系统 (12)4. 注意事项 (14)1. 功能概述常规需求:很多工业现场会用到XY曲线,也就是X轴非时间轴的情况。
组态王中的实现方法:1)利用组态王内置控件中的X-Y轴曲线,通过调用此控件的函数来实现。
2)利用组态王通用控件中的超级XY曲线,通过调用此控件的属性、方法来实现。
超级XY曲线相对于X-Y轴曲线功能更加强大,使用更方便。
其主要优势在于提供了更加灵活方便的控件方法来实现更多的功能,Y轴支持多个坐标,最多可以支持16条曲线,曲线可以保存、调用等,所有的功能都提供了相应的控件方法,可以根据需要灵活的在各种命令语言脚本程序中进行调用。
2. 工程实例我们举一个例子来说明超级XY曲线控件的使用。
在此例程中我们定义三个变量,分别为“压力”、“温度”、“密度”,通过XY曲线来观察压力、温度对于密度的影响。
下面就以此为例来演示完成这一要求的具体步骤。
3. 操作步骤3.1定义设备新建一个工程,根据工程中实际使用的设备进行定义,本例程使用亚控的仿真PLC 设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为“PLC”。
3.2定义变量在组态王中定义三个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO 实数类型)。
压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。
温度变量:最小值0,最大值50,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。
密度变量:最小值0,最大值1,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。
组态王教学-历史数据查询例程[精品文档]
组态王历史数据查询例程配置参考文档北京亚控科技发展有限公司技术部目录一、功能概述 (3)一、功能概述 (3)二、工程实例 (3)三、操作步骤: (3)1、定义设备: (3)2、定义变量: (3)3.制作画面: (4)3.1) 创建报表: (4)3.2) 命令语言: (5)4.进入运行系统: (10)四、注意事项 (14)图表图一报表 (4)图二报表设计 (5)图三历史数据报表 (5)图四快捷菜单 (6)图五按钮属性 (6)图六按钮属性 (6)图七动画连接 (7)图八选择函数 (8)图九命令语言 (8)图十打印报表 (9)图十一历史数据查询画面 (10)图十二报表属性 (11)图十三时间属性 (11)图十四变量属性 (12)图十五变量顺序设置 (12)图十六历史数据查询 (13)图十七报表打印 (14)一、功能概述常规需求:很多工业现场会存储数据并对存储的历史数据进行查询、打印输出。
历史数据查询一般为起始时间、结束时间、间隔时间都不固定,最终用户根据实际需要进行查询。
组态王中的实现方法:利用组态王内置报表以及报表的函数来实现对历史数据的查询。
组态王内置报表的操作类似excel,操作简单、方便,并且组态王提供了大量的报表函数来实现各种复杂功能。
二、工程实例我们举一个例子来说明日报表的实现方法。
在此例程中我们定义五个变量,分别为“压力”、“温度”、“密度”、“电流”、“电压”,运行系统运行后记录历史数据,查询日报表数据时自动从历史数据中查询整点数据生成报表,并可以保存、打印报表。
下面就以此为例来演示完成这一要求的具体步骤。
三、操作步骤:1、定义设备:根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为”PLC”。
2、定义变量:在组态王中定义三个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO实数类型)。
压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。
组态王教学-历史大数据查询例程
组态王历史数据查询例程配置参考文档北京亚控科技发展有限公司技术部目录一、功能概述 (3)一、功能概述 (3)二、工程实例 (3)三、操作步骤: (3)1、定义设备: (3)2、定义变量: (3)3.制作画面: (4)3.1) 创建报表: (4)3.2) 命令语言: (5)4.进入运行系统: (10)四、注意事项 (14)图表图一报表 (4)图二报表设计 (5)图三历史数据报表 (5)图四快捷菜单 (6)图五按钮属性 (6)图六按钮属性 (6)图七动画连接 (7)图八选择函数 (8)图九命令语言 (8)图十打印报表 (9)图十一历史数据查询画面 (10)图十二报表属性 (11)图十三时间属性 (11)图十四变量属性 (12)图十五变量顺序设置 (12)图十六历史数据查询 (13)图十七报表打印 (14)一、功能概述常规需求:很多工业现场会存储数据并对存储的历史数据进行查询、打印输出。
历史数据查询一般为起始时间、结束时间、间隔时间都不固定,最终用户根据实际需要进行查询。
组态王中的实现方法:利用组态王内置报表以及报表的函数来实现对历史数据的查询。
组态王内置报表的操作类似excel,操作简单、方便,并且组态王提供了大量的报表函数来实现各种复杂功能。
二、工程实例我们举一个例子来说明日报表的实现方法。
在此例程中我们定义五个变量,分别为“压力”、“温度”、“密度”、“电流”、“电压”,运行系统运行后记录历史数据,查询日报表数据时自动从历史数据中查询整点数据生成报表,并可以保存、打印报表。
下面就以此为例来演示完成这一要求的具体步骤。
三、操作步骤:1、定义设备:根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为”PLC”。
2、定义变量:在组态王中定义三个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO实数类型)。
压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。
组态王软件详细教程第五讲趋势曲线
组态王软件详细教程第五讲趋势曲线第五讲趋势曲线在本课程您将:, 了解实时趋势曲线和历史趋势曲线的作用, 掌握实时趋势曲线的使用方法, 掌握历史趋势曲线的使用方法趋势曲线的作用趋势曲线用来反应数据变量随时间的变化情况。
趋势曲线有两种:实时趋势曲线和历史趋势曲线。
这两种曲线外形都类似于坐标纸,X轴代表时间,Y轴代表变量的量程百分比。
所不同的是,在您的画面程序运行时,实时趋势曲线随时间变化自动卷动,以快速反应变量的新变化,但是不能时间轴“回卷”,不能查阅变量的历史数据;历史趋势曲线可以完成历史数据的查看工作,但它不会自动卷动(如果实际需要自动卷动可以通过编程实现),而需要通过带有命令语言的功能按钮来辅助实现查阅功能。
在同一个实时趋势曲线中最多可同时显示四个变量的变化情况,在同一个历史趋势曲线口中最多可同时显示十六个变量的变化情况。
首先让我们先来了解一下实时趋势曲线的使用。
实时趋势曲线将“反应罐压力”的变量值在实时趋势曲线中显示出来。
,激活Touchmak程序,选择菜单“文件,新画面”,建立一个新画面。
画面名称:“实时趋势曲线”, 在工具箱中选用“实时趋势曲线”工具,然后在画面上绘制趋势曲线,如下图:1601990194.doc2, 双击此实时趋势曲线对象,弹出“实时趋势曲线”对话框,对话框设置如下图:曲线1:\\本站点\反应罐压力X、Y方向的主次分割线的数目和属性您可以任意设置。
, 单击“标识定义”配置页,对话框设置如下:2第五讲趋势曲线 3可以对时间轴和数值轴进行任意设置。
注:如果需要Y轴标识实际工程值,可以在标识定义内不选择标识Y轴,然后在曲线Y轴用字符按比例标出。
, 单击“确定”,关闭此对话框。
保存后激活运行系统Touchview,画面运行效果如下:历史趋势曲线组态王目前有三种历史趋势曲线,工具箱上的、图库内的以及新增的一种KVHTrend曲线控件。
第三种控件是组态王以Active X控件形式提供的绘制历史曲线和ODBC 数据库曲线的功能性工具。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
历史趋势曲线 1,功能概述 常规需求:很多工业现场都会要求显示采集量的趋势曲线,包括实时曲线、历史曲线。 组态王中的趋势曲线的实现方法: 1)利用组态王的“工具箱”中的“实时曲线”、“历史曲线”实现。 2)利用组态王的“插入通用控件”中的“历史趋势曲线”实现。 第一种实现方法的优点在于可以进行WEB的发布,实现通过IE浏览器进行浏览。缺点为支持的曲线笔比较少,许多功能的实现需要通过组态王的函数来实现,使用相对要麻烦。
第二种实现方法的优点在于支持同时绘制16条曲线,功能比较完善,可以在系统运行时动态增加、删除、隐藏曲线,还可以修改曲线属性,实现无级缩放,曲线打印等等。许多功能都不需要通过编写脚本的方法实现,使用比较方便。缺点在于无法进WEB的发布。
工程实例 以一个简单的例程来说明“历史趋势曲线控件”的使用。 操作步骤 1.1 创建新工程
打开组态王工程管理器,创建一个新工程。 1.2 定义设备
进入工程浏览器,在设备处新建设备,我们在本例中定义一个仿真PLC的设备,设备列表为“PLC-亚控-仿真PLC-串口” ,设备名称为“PLC1”。此仿真PLC可以做为虚拟设备与组态王进行通讯。仿真PLC主要有如下的寄存器:自动加1寄存器INCREA,自动减1寄存器DECREA,随机寄存器RADOM,常量寄存器 STATIC,常量字符串寄存器STRING,CommErr寄存器。具体的寄存器的使用请参考组态王IO驱动帮助。 1.3 定义变量
在数据词典中新建两个IO变量,变量名称分别为“压力”、“流量”,变量类型为IO实数,连接的设备为前面定义的仿真PLC设备“PLC1”,寄存器分别为INCREA100,DECREA100,数据类型为short,读写属性为“只读”。这样压力变量就会从0开始自动加1,其变化范围是0到100,流量变量从100开始自动减1,其变化范围是0到100。变量基本属性定义画面如下图一、图二所示:
图一 定义变量压力 图二 定义变量流量 在记录和安全区属性选项卡中我们定义压力和流量变量的数据记录属性,如图三所示,选择“数据变化”记录,变化灵敏度设置为0。 图三 记录和安全区属性 1.4 创建趋势曲线
在组态王开发系统中新建“趋势曲线”画面,在工具箱中单击“插入通用控件”或选择菜单“编辑”下的“插入通用控件”命令,弹出“插入控件”对话框,在列表中选择“历史趋势曲线”,单击“确定”按钮,对话框自动消失,鼠标箭头变为小“十”字型,在画面上选择控件的左上角,按下鼠标左键并拖动,画面上显示出一个虚线的矩形框,该矩形框为创建后的曲线的外框。当达到所需大小时,松开鼠标左键,则历史曲线控件创建成功,画面上显示出该曲线,如图四所示。双击趋势曲线,弹出“动画连接属性”,控件名命名为“HT”。点击确定完成对历史趋势曲线的命名。 图四 历史趋势曲线 1.5 添加曲线变量
选中曲线控件点击右键,弹出菜单,选择“控件属性”,弹出历史趋势曲线控件的属性对话框,在“曲线”选项卡,点击“增加”按钮,选择变量“压力”,选择“线类型”、“线颜色”,点击“确定”完成压力曲线的添加。再点击“增加”按钮,选择变量“流量”,选择“线类型”、“线颜色”,点击“确定”完成流量曲线的添加。
在趋势曲线控件属性的“坐标系”选项卡中对坐标系进行设置,我们设置Y轴的起始值为0,最大值为100,不按照百分比绘制,而是按照实际值显示。设置时间轴的显示格式为显示年、月、日、时、分、秒。
添加完成后开发画面如图五所示: 图五 历史趋势曲线 1.6 切换到运行系统
保存画面后,在工程浏览器的“系统配置”-“设置运行系统”中进行“主画面配置”,将“历史曲线”画面设置为主画面。
然后切换到运行系统。运行如下图六所示: 趋势曲线控件自带的工具栏中提供了很多方便实用的控制按钮功能供用户来使用,主要包括:调整跨度设置按钮,设置Y轴标记,曲线图表无级缩放,打印曲线,定义新曲线,更新曲线图表终止时间为当前时间,设置图表数值轴和时间轴参数,隐藏/显示变量列表。
这些工具栏基本可以满足客户的使用了,如果还需要进一步的功能可以通过控件的属性、方法来实现。下面我们简单的举例说明控件的属性、方法的使用。 图六 运行系统 2. 历史趋势曲线控件的特点 KVHTrend曲线控件是组态王以Active X控件形式提供的绘制历史曲线和ODBC数据库曲线的功能性工具。该曲线具有以下特点:
1)即可以连接组态王的历史库,也可以通过ODBC数据源连接到其它数据库上,如Access、SQLServer等。
2)连接组态王历史库时,可以定义查询数据的时间间隔,如同在组态王中使用报表查询历史数据时使用查询间隔一样。
3)完全兼容了组态王原有历史曲线的功能。最多可同时绘制16条曲线。 4)可以在系统运行时动态增加、删除、隐藏曲线。还可以修改曲线属性。 5)曲线图表实现无级缩放。 6)可实现某条曲线在某个时间段上的曲线比较。 7)数值轴可以使用工程百分比标识,也可用曲线实际范围标识,二者之间自由切换。
8)可直接打印图表曲线。 9)可以自由选择曲线列表框中的显示内容。 10)可以选择移动游标时是否显示曲线数值。 11)可以在曲线中显示报警区域的背景色
3. 控件的属性、方法 3.1 控件的属性与方法
(1)属性及含义列表: 序号 名 称 数据类型 含 义 1 CurveUseKVHistData Bool 使用组态王历史数据 2 CruveDSN String 使用数据源名称 3 CurveTable String 数据库的表名 4 CurveDateTimeField String 数据库的时间字段名 5 CurveInvalidColor OLE_COLOR 数据库的无效值 6 CurveVarName String 连接变量名 7 CurveColor OLE_COLOR 曲线颜色 8 CurveLineType Short 曲线线形 9 CurveTimeDelay String 曲线比较时间差 10 CurveDrawType Short 曲线绘制方式 11 CurveAlmColor OLE_COLOR 报警显示颜色 12 CurveHideCurve Bool 是否隐藏曲线 13 CurveMilliSecondField String 毫秒字段名称 14 CurveDataField String 数据字段名称 15 CuryeInvalidValue String 无效值字段名称 16 CurveUser String ODBC数据源用户名 17 CurvePwd String ODBC数据源密码 18 CurveSavePwd Bool ODBC是否保存密码 19 CurveList Bool 是否显示曲线列表 20 CtrlBtn Bool 是否显示控制按钮 21 BorderColor OLE_COLOR 边界颜色 22 BakColor OLE_COLOR 背景颜色 23 DrawXYAxis Bool 是否绘制坐标轴 24 AxisLineType Short 坐标轴线型 25 AxisColor OLE_COLOR 坐标轴颜色 26 ShortDivLine Bool 分割线是否为短线 27 MajXDivNum Short X轴主分割线数 28 MinXDivNum Short X轴副分割线数 29 MajYDivNum Short Y轴主分割线数 30 MinYDivNum Short Y轴副分割线数 31 MajXDivLineType Short X轴主分割线线型 32 MinXDivLineType Short X轴副分割线线型 33 MajYDivLineType Short Y轴主分割线线型 34 MinYDivLineType Short Y轴副分割线线型 35 MajXDivColor OLE_COLOR X轴主分割线颜色 36 MinXDivColor OLE_COLOR X轴副分割线颜色 37 MajXDivColor OLE_COLOR Y轴主分割线颜色 38 MinYDivColor OLE_COLOR Y轴副分割线颜色 39 YLabelNum Short Y轴标记数 40 YminVal Double Y轴标记最小值 41 YmaxVaL Double Y轴标记最大值 42 YLableFont IFontDisp Y轴标记字体 43 XLabelNum Short X轴标记数 44 Xwidth Short X轴宽度 45 XLableFont IFontDisp X轴标记字体 46 XLabelFmtYear Bool X轴标记格式—是否显示年 47 XlabelFmtMonth Bool X轴标记格式—是否显示月 48 XlabelFmtDay Bool X轴标记格式—是否显示日