用户中心
· 企业空间 首页 | 资讯 | 技术 | 产品 | 企业 | 直播 | 专题 | 智能制造 | 论坛| 在线研讨会
紫金桥软件技术有限公司
企业空间 > 案例应用 > 正文
  • 利用紫金桥软件来提高画面组态速度
  • 发布时间:2017/9/15 10:27:47   修改时间:2017/9/15 10:27:47 浏览次数:11116
  • 概述

    编写程序时,我们经常将相似的模块组织成函数,以避免重复编码,这样维护起来也方便。同样在工程组态时,也存在相似的功能,相似的表现形式,如果组织合理,同样可以让我们事半功倍。下面以紫金桥软件为例,来说明如何减少重复工作。

    紫金桥软件提供了间接变量,变量转向、图形模板、图形样板等多种手段来避免画面组态的重复工作,下面就对这些手段予以详细说明。

     

    间接变量的使用

    间接变量是一种特殊形式的中间变量,是能够被动态指向其他变量的变量,或称为指针变量,它类似于C语言中的指针。间接变量在初始状态并不指向任何变量,它需要通过特殊的赋值语句来定向。其形式如下:

      INDIRVAR = &TAGETBAR

    其中INDIRVAR:代表间接变量;TAGETBAR表示目标变量,目标变量一般为数据库变量。


    经过这种变量重定向后,变量INDIRVAR和TAGETBAR的数值将保持一致。改变INDIRVAR的数值就等于改变TAGETBAR的值,反之亦然。二者绑定到一起,这种绑定将一直保持,直到INDIRVAR 变量被重定向为其它变量。利用间接变量可以避免画面上的大量重复的工作,举例如下:


    例如,如上所示为灯光控制画面,图中红色的为照明灯。鼠标单击照明灯将出现照明设置对话框。


    图中有9盏灯,每盏灯的设置框都类似,只是关联的变量不同。如果做将设置对话框画面画好后,复制几份,将变量分别替换为对应的照明灯的变量,倒也不费事。但是困难的是什么时候认为第一幅画面已经定型,决定复制为第二幅。因为一旦幅之后,如果想对画面进行调整,势必两幅画面都要修改。

     

    对于这种情况,在画面中可以使用间接变量。在单击照明灯时,将间接变量重定向指向实际变量。例如在照明灯的鼠标动作中填写如下脚本:

    第一盏灯:

    INDIRVAR = &LAMP1.PV;

    DISPLAY(“站台照明设置”);

     

    第二盏灯:

    INDIRVAR = &LAMP2.PV;

    DISPLAY(“站台照明设置”);

    其他类似。

     

    而在站台照明设置窗口中,只使用间接变量INDIRVAR,这样你只需要做一幅画面就可以了,减少了画面编辑和维护工作量。

     

     

    变量转向功能

    间接变量只能重定向到画面中已经存在的变量,这就无法让间接变量指向数据库动态加入新点。变量转向功能正是为此目的而产生的。

    变量转向是通过VarRedir函数实现的,该函数格式如下:

    VarRedir(Tag, NewTag)

    该函数有两个含义:

    1)如果Tag为数据库变量,则对其进行重定向,即改变变量的数据库参数项,使其指向其他位号。

    2)如果Tag为间接变量,则改变间接变量的指向。

    参数

    Tag:字符串,数据库变量或间接变量,必须是变量本身,不能为变量名称字符串。

    NewTag:字符串,新位号名或变量名。数据库位号要包括参数。

    在上面例子中可以将INDIRVAR = &LAMP1.PV替换为VarRedir(INDIRVAR, "LAMP1.PV")。

    通过间接变量,VarRedir都可以将变量转向到数据库变量、中间变量、窗口变量,那么是不是变量重定向函数可以完全代替间接变量呢?

    不是的。

    · 间接变量在组态时就对变量进行编译、检查,所以使用间接变量更安全些,同样使用VarRedir更灵活,更适合于有规律的、重复度较高的替换。

    · 间接变量在组态时就对变量进行编译、检查,所以其替换是静态的,速度比较快。

     

    图形模板

    当多幅画面图像相同,仅仅是每幅画面显示的点不同时,可以使用图形模板。

    注意这里说的是点不同,而不是变量不同。一个点可以有很多参数,每个”点.参数”对应一个变量。可以认为点是变量的集合。

    下面,我们通过一个简单的例子来说明图形模板对象的使用方法。此例子是使用一幅简单的画面来显示点的NAME、DESC、EU、PV、EULO、EUHI六个基本参数。

    下面是点FI1001的基本参数画面:


    FI1002,FI1003等都有与点FI1001类似的基本参数画面。如果简单的复制,我们可以生成其他点的基本参数画面,但是画面需要调整时就很费事了。

    使用间接变量可以避免画面复制的问题,对于上面的画面我们至少要定义6个间接变量。变量转向动作也要象下面这样写很多行。

    INDIR_NAME = &FI1001.NAME;

    INDIR_DESC = &FI1001.DESC;

    INDIR_EU = &FI1001.EU;

    INDIR_PV = &FI1001.PV;

    INDIR_EULO = &FI1001.EULO;

    INDIR_EUHI = &FI1001.EUHI;

    是不是看起来很麻烦!

    使用图形模板就可以减少替换语句,只是替换点名即可。方法如下:

    在窗口中画出如下图素,并将其与图形模板对象打成单元。


    图中”TP”为图形模板对象,运行时不可见。

    在文本输出动作中,分别输入变量T.NAME、T.DESC、T.EU,在数值输出动画中分别输入T.PV、T.EULO、T.EUHI等。这些变量都定义为模板变量

    变量转向动作只要象下面一行即可。

    #TMPL.ChangeTag("T1", "FI1001");

    TMPL为图形模板对象名称。

     

    图形样板

    以上讲述的都是对变量或点的替换,而样板是对图形的替换。

    在实际绘图中我们经常遇到这样情况,要求画面中相同的元素使用相同的颜色或字体,而在项目实施前一段时间内很难确定下来,即便确定下来在项目实施中难免有些改变。若是没有确定好规则,就无法着手工作,如果已经绘制了大量的画面,修改起来是非常繁琐的事。尤其是对于单元中的图元改动更为复杂(需要拆开单元,改后再合成单元)。

     

    样板就是为了解决上述问题而诞生的。样板用于规定线的颜色、宽度、线性、填充色、填充样式、字体、字号以及图形的形状。利用样板可以方便修改具有相同、相似属性的图元。

     

    例如规定燃油管线使用样板A(绿色),蒸汽管线使用样板B(白色),如果要将所有的燃油管线改为黄色,只需要重新定义样板A的颜色属性为黄色即可,样板负责对所有画面中的燃油管线颜色进行替换。

     

    结论

    紫金桥软件提供了很多独特的方法来减少组态工程师的工作,利用这些方法,可以大大减少重复性劳动,并使得工程易于维护,提高了工作效率。

     

  • 企业介绍
紫金桥软件技术有限公司(RealSoft)是由中石油出资成立的专门从事计算机软件产品开发的高新技术企业,是中国石油天然气集团的软件开发基地。公司专注于自主知识产权软件产品“实时数据库系统”和“监控组态软件”的开发与推广工作,以为企业集团及客户…  更多>>
  • 联系方式

紫金桥软件技术有限公司

联系人:李磊

地址:黑龙江省大庆市高新区服务外包产业园C1-817室

邮编:163316

电话:400-6996-515

传真:0459-8151391-808

公司网址:http://www.realsoft.cc

  • 该空间手机版

扫描此二维码即可访问该空间手机版

  • 在线反馈
1.我有以下需求:



2.详细的需求:
姓名:
单位:
电话:
邮件:
您还没有登录,请登陆,
如果您还没有注册,点击这里注册.
  • 网友反馈
  • 戴永铁 在2024/6/11 14:51:00留言
  • 留言类型:贵公司产品销售人员联系我,贵公司技术支持人员联系我,
  • 详细留言:需要制药工业领域的实时库报表,包含矩阵配?、参数配方、数据(统计和历史)、曲线、事件、报警、审计追踪,这些内容可以组态化
  • 晓同 在2024/5/16 11:06:00留言
  • 留言类型:我让贵公司产品销售人员联系我,
  • 详细留言:紫金桥组态软件V6.5,512点授权
  • 在2023/10/21 16:03:00留言
  • 留言类型:贵公司技术支持人员联系我,
  • 详细留言:OPC
  • 郑鑫汶 在2023/6/1 14:58:00留言
  • 留言类型:我想得到贵公司产品详细资料,我想得到贵公司产品的价格信息,我让贵公司产品销售人员联系我,我让贵公司技术支持人员联系我,
  • 详细留言:需要咨询贵公司软件的价格功能
  • 吴吉校 在2023/3/15 7:45:00留言
  • 留言类型:我想得到贵公司产品详细资料,我想得到贵公司产品的价格信息,我让贵公司产品销售人员联系我,我让贵公司技术支持人员联系我,
  • 详细留言:组态软件咨询
更多请进入空间管理中心查看
关于我们 | 网站地图 | 联系我们
© 2003-2018    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688
我要反馈