概念
紫金桥监控组态软件给组态软件增加了一项新的特性,可以动态地生成画面。动态生成画面即在运行环境下对已有画面进行编辑。它不同于在线组态,在线组态是在画面运行的同时,进入组态环境,在组态环境中对画面进行修改。而动态生成画面是在运行环境中直接修改画面。动态生成画面改变了已往必须在编辑环境下生成的历史。给组态软件带来了新的活力,并预示着组态软件新的发展方向。
动态生成的优点
* 解决了画面不确定问题。本来就存在这样的需求,如需要将某些相关的参数放到一起比较,相关性要依赖运行时产生的事件才能确定,因为参数多,其组合更多,在组态时无法穷举。这时动态的生成各个部件,并将其与各参数相关联就能很容易解决问题。
* 精简画面。已往动态场景的实现在组态环境中必须一一罗列,并且需要在许多画面元素中加入隐藏、显现动画,制作维护非常繁琐,在运行时这些元素不管用到与否都要为其分配空间。动态生成技术可以在需要时创建,不但使画面简化,同时也减小了系统开销。
* 精简组态环境。动态生成画面所使用的构件都是与当前应用相关的,无关的构件不会出现在运行时的“组态”环境中。运行时的“组态”就是动态生成画面,相对于开发环境中的组态要单一得多,工厂的技术人员也很容易掌握。这即保证了最终应用程序的可扩展性,又保证了运行“组态”的简单性、方便性。
* 维护方便。传统意义的组态是在工程组态完成后,应用程序的功能已经固化好了。如果需要修改或增加新功能,还必须进入开发环境重新配置。这一般需要精通开发环境,并且熟悉该工程的工程师来完成。如果工程不是本单位完成的,还要涉及到升级改造,甚至另立项目的费用。动态生成可以保证系统有一定程度的扩展性,并且可以由工厂的一般技术人员来完成。
* 利于组态软件向行业化发展。行业工程师可以针对自己的行业需求,配置运行时所需构件,让普通技术人员使用,这就形成了三级应用模式,软件工程师集中精力开发灵活的手段,行业工程师致力于行业构件的构建,最终技术人员实现自己的应用逻辑。三级应用模式将大大加速组态软件行业化进程。
动态生成的步骤
动态加入图形对象包括脚本创建对象和运行中手工填加图形对象两种方式,下面分别介绍。
脚本动态生成图形的步骤
o 定义图形对象样板。
o 通过下列脚本替换已有对象、增加新对象、替换对象中引用的变量。常用的脚本函数如下:
* 调用RepObj函数替换对象。
* 调用AddObj函数增加新对象。
* 调用RepVar函数替换变量。
* 调用DelObj函数删除对象。
* 在窗口外部可以通过调用RepVarWin对选定对象进行变量替换。
o 将修改完的画面保存到主服务器,其他客户端的画面将自动更新,这一步不是必须的,如果不需要保存到服务器,可以忽略此步。
o 运行时切换到“编辑”模式,这时可以手动加入、修改、删除调整样板对象。并可以对图元对象中引用的变量进行替换。
运行时手工添加图形对象
在运行时手工添加图形对象相对更为灵活,其操作基本步骤如下:
* 在窗口参数中选中“允许运行编辑”复选框。若启动了安全管理,那么还要指定具有“运行时编辑画面”权限帐户,只有该账户能够进行动态生成对象。
* 制作工具画面。在该画面中添加运行时需要的工具,每个工具要打成子图、单元或图形模板,并将其置于拖拽框对象之下。
* 通过导航树中的“画面”选项卡中的“操作面板”添加工具画面。也可以没有该步骤。
* 在运行时,通过拖拽工具画面中的对象,增加图形对象。
* 保存修改,将修改内容传送到服务器端(此步骤不是必须的)。
运行时手工添加的图形对象,在组态时要预先绘制好,并加入到工具画面中。运行时通过拖拽方式将其绘制到相应的画面,然后修改其关联变量等操作,最后保存到服务器,实现动态添加图形对象的操作。
发展方向
组态软件行一般称为通用组态软件。“通用”一词表示它可以适合各种应用领域。不同的应用领域虽然存在许多共性的东西,但是行业的差异是客观存在的。差异表现在画面的组织形式,组成部件,构建逻辑。如果让组态软件能够包罗万象来适应各行各业,那么呈现给用户的软件将过于复杂,最终会使得组态软件本身的友好性太差,失去其存在的意义。如前所述,动态生成的元素是在组态环境下生成的,行业工程师可以在组态环境下构建其应用领域所需模件,然后让专业技术人员运用自己熟知的构件在运行时搭建自己的应用,这样就使组态软件形成三级应用模式:软件工程师-行业工程师-专业技术人员。软件工程师注重的是给行业工程师提供灵活的手段,行业工程师构件行业模件,专业技术人员构件最终的应用。这才会使组态软件深入到行业,这也正式组态软件未来发展之道。