注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

紫金桥软件

大庆紫金桥软件技术有限公司—监控组态软件,实时数据库,管控一体化专业厂商

 
 
 

日志

 
 

图形模版  

2013-12-31 17:00:32|  分类: 紫金桥软件,组态 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
定义
图形模版是一种事先定义一套数据的处理方式或数据的外观展现形式,然后通过输入不同的变量或常量生成不同实例对象的机制。这种机制为批量组态提供了方便,并提高了工程的灵活性。
组成元素
用一句概括性的话来说,窗口中可以创建的对象,图形模版几乎都可以创建。比如:基本图元、窗口组件、精灵等。另外,与窗口相对应,图形模版拥有自己的变量、脚本、内置函数、自定义函数、事件响应函数等。
载体
那么,图形模版的存在依赖于什么载体呢?请看运行状态示意图:




图中最外层标题为“紫金桥运行系统-[DRAW1]”的框架为view.exe(人机界面)程序,标题为“DRAW1”的框架为窗口,窗口内的对象为模版实例对象。也就是说图形模版需要通过实例化工具(即模板容器)实例化,然后创建于窗口中才能使用。目前,模版实例化工具包括模版单实例和模版多实例两种。
值得一提的是,模板中可以嵌套其他模版实例对象。这使得模版的功能更为强化,例如可以实现树形结构数据的显示。
实例化原理
模版实例化是通过对模版实例所使用的模版中的替换变量进行输入或映射来完成的。模版替换变量可以被映射为人机界面中的变量或者是数据库中的点(或数据库点参数),也可以通过直接输入常量来赋值。
在模版实例对象创建阶段,系统会根据其指定的变量映射关系来生成相应实例。对于单实例对象来说,系统只需要将模板中每个替换变量与指定变量绑定或用指定常量赋值;对于多实例对象来说,系统首先需要根据指定的替换规则确定需要创建的实例个数,然后创建这些实例对象,再将每个实例中的每个替换变量与指定变量绑定或用指定常量赋值。
当模版变量与目标变量绑定后,二者就建立了一种对等关系,任意一方的数据改变都会通知另一方随之改变,任意时刻二者的数据始终保持相等。
变量替换规则的指定
可以静态指定,也可以动态指定。静态指定就是指在组态时指定替换规则;动态指定是指在运行状态使用函数指定。
对于单实例来说,模版变量的替换目标可以为变量名或常量值。对于多实例来说,模版变量的替换目标可以为以下值:变量名列表、常量值列表、数据库点名列表、数据库点参数列表、内置SQL查询语句、历史数据查询语句、数据库点组织机构名。
应用
图形模版的应用十分广泛,下面仅就几点典型应用作出简单介绍。
  1. 颜色选择对话框
使用常量对模版多实例中的替换变量赋值,不需要与数据库通讯。下图显示了通过脚本使用这种方法编写出来的颜色选择对话框。


  1. 使用内置SQL语句或历史数据查询语句显示历史数据
通过模版多实例使用历史数据查询语句查询前一分钟的历史,如下图所示。




该多实例使用的历史查询语句为:
NAME=F1001.PV;BEFORE=00:01:00;INTERVAL=1s;FIELDS=VALUE AS PV,DATETIME AS TIME
也可以换为内置SQL查询语句:
SELECT VALUE AS PV FROM HISDATA WHERE NAME='F1001.PV' AND DATETIME > GetDate()-60 AND DATETIME <= GetDate() AND INTERVAL=1000
使用另一个图形模版以曲线的型式显示该历史数据,如下图所示。


  1. 使用模板静态嵌套来显示多条曲线
模版A中嵌套模版单实例(使用模版B),然后使用模版A生成模版多实例,再输入内置SQL语句,最终将多个位号的历史数据用多条曲线显示在一个画面中,如下图所示。

  1. 使用模板动态嵌套来显示数据库总貌
使用模版A生成模版多实例,然后在每个实例中根据目标数据库点的点类型,动态选择相应模版(模版B、模版C、模版D...)嵌套创建不同模版单实例,进而满足同一个模版适应显示不同点类型数据的需要。如下图所示。


图中显示的是一个模版多实例对象,同时显示了3中不同点类型:模拟点、数字点和累计点。
  评论这张
 
阅读(8)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017