一种组态软件画面编辑工具的设计方法_2

文档序号:9910670阅读:来源:国知局
厂模式结合所述策略模式与工厂模式包括策略类、具体策略类、策略工厂类、上下文类;所述策略类将组件的不同显示状态封装成统一的抽象接口 ;所述具体策略类有多个,每个具体策略类封装有组件的不同显示状态;所述策略工厂类为将上下文类传导过来的代表具体策略类的字符串用于构建不同的具体策略类对象;所述上下文类用于将代表具体策略类的字符串作为参数传导给策略工厂类实现新策略的添加;将获取的组件属性信息传给上下文类,由上下文类根据这些信息通过策略类动态选择具体策略类从而选择不同显示状态的组件;在需求变更时需更改策略工厂类和具体策略类;上下文类根据策略类对象类别调用策略工厂类,策略工厂类调用具体策略类,具体策略类覆写策略类。并在工厂中添加一个Case判断即可能够实现新策略的添加,而在主窗体程序中代码无需更改。不仅如此,这两种模式结合的运用简化了测试,可针对每个具体策略进行单独测试,修正其中的一个策略不影响其他的策略。使代码容易扩展维护。
[0036]画面编辑设计(Controller)难点在于tag属性绑定技术,即如何将画面、组件与其各自参数关联起来。首先,需要通过链表的形式分别存储画面、画面属性、组件属性;然后,由于组件属性与组件在其各自存储链表的顺序并不完全一致,因此为了快速索引到组件属性,每当新加入一个组件需要设置该组件的Tag属性(该属性记录组件属性的唯一标识),使其与在组件属性链表中的该组件属性相关联,这样组件与组件属性就关联在一起了,Tag属性在.net里面控件自带,其他开发环境则自定义Tag属性器。因此,在设置参数时只需要单击相应的组件即可完成设置;否则,无法找到相应的属性。这样做的好处是:组件的外观总是与其部分属性有直接关系,一旦这些属性变化,组件的显示外观就要改变,这时只需要通过Tag属性值找到原组件的属性记录下来,然后将外观改变后产生的新组件与其绑定即可。
[0037]由于人机界面主要与各类PLC配合使用文字或指示灯等形式监视、修改PLC内部寄存器或继电器的数值及状态,而生产PLC的厂家采用的标准不同,因此组态式人机界面的开发需要兼容各PLC厂家的产品。人机界面中用户定制的功能组件属性除了与PLC相关的寄存器地址、位数等不太一致外,其他的参数基本相同,因此只需要封装不同厂家PLC有差异的部分,系统运行时做出合适的选择即可,即采用工厂模式与反射技术结合。
[0038]如图3所示,兼容性设计(View)采用工厂模式与反射技术结合的方式,将其与不同PLC产品规格结合起来,并将他们的差异部分封装成不同的接口。需要设计PLCFactory类、IComponent接口,PLCFactory类定义为动态选择调用哪个IComponent接口 ;IComponent定义为封装不同厂家PLC产品的差异。采用反射技术后,如果要增加新的策略工厂类,在主体程序中只需要修改策略工厂名属性(PLCName)为新的工厂名字符串即可,若增加新的组件,只需增加与其相关的类并修改PLCFactory类,在PLCFactory类中增加CreateComponentnO方法返回新创建的接口对象就能实现对不同PLC产品差异的封装和调用。采用反射技术是在主体程序中通过用户选择的PLCName属性值与具体的接口类别串接后的字符串实现对具体IComponent接口对象的唯一构建,这种由一条公共接口语句代替繁杂的switch或if语句,从而消除分支判断带来的耦合,因此在功能组件定制的模式应用中也可以加入反射技术以消除分支判断。
[0039]用户安装该组态软件,然后运行编辑工具。之后就运用该编辑工具制作画面:首先,创建工程或打开已有工程,根据不同的PLC厂家制作不同的画面;接着,点击新建画面,即可开始制作画面,可以设置画面号及画面属性;然后,根据定制的功能组件,产生一副副画面,对每副画面上的组件分别设置其属性,并设置报警信息等工程参数;最后,将制作好的一副副画面转变为数据流,一方面用于仿真、下载,另一方面用于工程保存。具体的流程图如图4所示。
【主权项】
1.一种组态软件画面编辑工具的设计方法,其特征在于,采用MVC框架模型将画面编辑工具设计分离为三部分:功能组件设计、画面编辑设计、兼容性设计; 所述功能组件设计,用于根据用户的当前需求,封装具有不同显示状态的组件,以自适应定制画面,并根据不同的PLC产品规格显示不同的组件属性,将设置的影响组件显示状态的属性参数传递给功能组件设计模块进而更新组件的显示状态; 所述画面编辑设计,用于加载相应的组件制作不同的画面,保存画面的信息,绑定画面、组件及其各自参数,并设置PLC产品的不同规格从而输出不同的界面外观; 所述兼容性设计,用于封装不同产品规格的PLC产品之间的差异属性。2.根据权利要求1所述的一种组态软件画面编辑工具的设计方法,其特征在于,所述功能组件设计采用策略模式与工厂模式结合的方式,将具有不同显示状态的组件封装成不同的策略类。3.根据权利要求2所述的一种组态软件画面编辑工具的设计方法,其特征在于,所述策略模式与工厂模式包括策略类、具体策略类、策略工厂类、上下文类; 所述策略类将组件的不同显示状态封装成统一的抽象接口; 所述具体策略类有多个,每个具体策略类封装有组件的不同显示状态; 所述策略工厂类为将上下文类传导过来的代表具体策略类的字符串用于构建不同的具体策略类对象; 所述上下文类用于将代表具体策略类的字符串作为参数传导给策略工厂类实现新策略的添加; 将获取的组件属性信息传给上下文类,由上下文类根据这些信息通过策略类动态选择具体策略类从而选择不同显示状态的组件;在需求变更时需更改策略工厂类和具体策略类;上下文类根据策略类对象类别调用策略工厂类,策略工厂类调用具体策略类,具体策略类覆写策略类。4.根据权利要求1所述的一种组态软件画面编辑工具的设计方法,其特征在于,所述画面编辑设计采用tag属性绑定技术绑定组件及其参数,tag绑定技术用于将画面和组件的唯一标识分别与画面属性和组件属性的唯一标识关联起来。5.根据权利要求1所述的一种组态软件画面编辑工具的设计方法,其特征在于,所述兼容性设计采用工厂模式与反射技术结合的方式,将其与不同PLC产品规格结合起来,并将他们的差异属性封装成不同的接口。6.根据权利要求5所述的一种组态软件画面编辑工具的设计方法,其特征在于,所述工厂模式与反射技术结合的方式设计PLCFactory类和多个IComponent接口 ;所述PLCFactory类用于动态选择调用某个IComponent接口 ; IComponent为封装不同PLC产品的差异属性。7.根据权利要求6所述的一种组态软件画面编辑工具的设计方法,其特征在于,当需要增加新的PLC产品的差异属性时,增加新的IComponent接口,同时更改PLCFactory类中的对应的PLCName属性值与该IComponent接口的字符串拼接;所述PLCName属性值就是代表具体PLC产品的名字字符串。8.根据权利要求1所述的一种组态软件画面编辑工具的设计方法,其特征在于,所述差异属性包括指示灯线圈类型、寄存器地址位数、寄存器类型。
【专利摘要】本发明属于工控人机界面领域,具体说是一种组态软件画面编辑工具的设计方法,采用MVC框架模型将画面编辑工具设计分离为三部分:功能组件设计、画面编辑设计、兼容性设计。功能组件设计,用于根据用户的当前需求,自适应定制画面,封装具有不同显示状态的组件;画面编辑设计根据不同的产品规格制作不同的画面;兼容性设计实现对PLC不同规格产品的匹配;独立开发功能组件方便用户二次开发。本发明为框架设计,可以满足多样化的用户需求、实现可加载的功能组件用于画面编辑,根据不同的PLC生产规格制定不同的画面展示,提供实现更好用户当前及未来需求的画面编辑工具,使画面编辑的开发易复用、可维护、低耦合;扩展性更好,兼容性更高且开发成本更低。
【IPC分类】G06F9/44
【公开号】CN105677303
【申请号】
【发明人】马跃, 张琼琼, 杜桂红, 王泽鹏, 王志成
【申请人】中国科学院沈阳计算技术研究所有限公司
【公开日】2016年6月15日
【申请日】2014年11月17日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1