CN103744667A - 一种基于Silverlight实现组态功能的系统 - Google Patents
一种基于Silverlight实现组态功能的系统 Download PDFInfo
- Publication number
- CN103744667A CN103744667A CN201310734779.5A CN201310734779A CN103744667A CN 103744667 A CN103744667 A CN 103744667A CN 201310734779 A CN201310734779 A CN 201310734779A CN 103744667 A CN103744667 A CN 103744667A
- Authority
- CN
- China
- Prior art keywords
- configuration
- data
- animation
- silverlight
- control module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种基于Silverlight实现组态功能的系统,包括设计器、组态元件和运行时,所述组态元件包括图片模块、动画模块和控制器,所述控制器包括图片控制模块和动画控制模块,所述组态元件通过呈现和根据配置数据触动动画控制模块。本发明将脚本部分内置到了组态元件内部,使用者只需要进行简单的配置,就可控制动画。本发明无须不断升级、无兼容问题、美观,具有强大的图形、动画能力,而且用法简单,操作也快捷。
Description
技术领域
本发明涉及一种组态实现,尤其涉及一种基于Silverlight实现组态功能的系统。
背景技术
Windows Form是Microsoft Windows应用程序开发平台,以.NET Framework为基础。它能够让我们开发各种Windows应用程序,另外它还可以作为分层分散式方案中的本机使用者界面。 Windows Form技术是比较老的技术体系,由于受当时各种因素影响该技术框架在美化方面未能做到尽如人意。
脚本语言是批处理文件的延伸,是一种纯文本保存的程序,一般来说的计算机脚本程序是确定的一系列控制计算机运行操作动作的组合,在其中可以实现一定的逻辑分支等。脚本是一条条的文字命令,脚本文件可以使用通常的文本编辑器打开查看、编辑。脚本通常是由应用程序临时调用执行的。现有技术方案多是采用自家的脚本解析器而非标准化脚本解析器,这就导致脚本解析器需要不断升级,而升级会给使用者带来负担,例如新解析器是否能够兼容已有脚本问题。
现有技术方案主要是结合使用Windows Form和脚本技术来实现组态。其中使用Windows Form绘制一些简单的静态2D图形库,以及制作一个脚本解析器来解释执行用户脚本,呈现组态图形、动画和数据。脚本是由组态系统使用者编写,它主要用来控制怎么呈现数据、呈现什么数据和控制静态图形的移动、变换来构成动画。
发明内容
针对现有技术脚本升级负担、兼容性问题、技术框架不美观等缺陷,本发明一种无须不断升级、无兼容问题、美观的基于Silverlight实现组态功能的系统,具有强大的图形、动画能力,而且用法简单,操作也快捷。
本发明通过以下技术方案予以实现:
一种基于Silverlight实现组态功能的系统,包括设计器、组态元件和运行时,所述设计器按照实际设备摆放情况将若干组态元件摆放在一张画布上,然后配置各个组态元件和实际设备映射关系、各个元件动画触发条件以及动画种类,所述运行时通过加载设计器输出的配置文档解析出各个组态元件的参数,将其展示在界面上,并结合实际设备上送的数据将其呈现到组态元件上,通过配置的动画参数和数据的逻辑判断来显示或不显示动画以及显示何种动画,所述组态元件包括图片模块、动画模块和控制器,所述控制器包括图片控制模块和动画控制模块,所述组态元件通过呈现和根据配置数据触动动画控制模块。现有技术中组态元件只包括有图片模块,动画模块则是由脚本控制图片移动构成,因此动画往往很简单,而且动画质量直接受到使用者的脚本编写能力的影响。而本发明的组态元件不仅包含图片而且还包含有真正的动画,并且将脚本部分内置到了组态元件内部,使用者只需要进行简单的配置,就可控制动画,而不需要像开发人员一样写脚本程序。
进一步地,所述设计器序列化组态元件并输出一个配置文档,保存到持久化介质;所述运行时读入配置文档,然后反序列化配置文档,将数据呈现到组态元件上。组态元件是组态的最小组成单位,它承担这显示数据和根据数据形象的展示设备状态的责任,组态元件在整个系统中是动态增加的;开发者可以根据需求,开发出各种各样的组态元件来满足用户需求;运行时是系统的展示层,呈现组态和数据处理。所述持久化介质可对应多个运行时,多个运行时可同时接入持久化介质读取配置文档。
所述配置文档包含画布上组态元件的位置和大小、实际设备对应关系以及动画相关参数。
所述组态元件数据处理步骤如下:
S1.检查数据合法性:所述组态元件收到运行时上送数据时,对数据合法性进行检查;
所述合法性检查包括检查数据有效与否和该组态元件是否映射的设备的数据;
S2.判断是否显示:根据组态元件内缓存的规则判断数据是否需要显示,如果需要显示,则将数据加载到组态元件内;
S3.判断是否触动动画:根据所述规则判断该数据是否能触发元件内的某一动画,如果能则将数据送至元件相应的动画控制模块;
S4.调用动画控制模块:动画控制模块收到数据,首先对数据进行再次校验,确保数据无异常。然后从所述规则内读取动画控制相关参数,并进行相应控制;
S5.该条数据处理流程完毕,组态元件进入等待数据状态。
其中,所述规则来源于组态配置文档的反序列化,所述反序列化的结果缓存在相应的组态元件内。
与现有技术相比,本发明的有益效果如下:
(1)系统扩展:本方案将现有技术方案的脚本部分内置到了组态元件内部,不再将难以控制的脚本暴露出来。虽然,不提供脚本功能可能会降低系统的灵活性,但是本技术方案通过将脚本部分整合到组态元件内部,组态元件以配置的方式来达到实现脚本功能的目的。从而很好地规避了灵活性降低的问题。由于没有了脚本部分自然的就少了脚本升级这个步骤,从而使本技术方案在扩展性方面强于现有技术方案;
(2)美观:本发明提供有强大的图形、动画能力,该技术的图形显示、控制能力都在Windows Form技术之上,并且还提供了更多地流媒体支持。因此本解决方案在组态外观方面也是优于现有技术方案的;
(3)用法简单,操作快捷:本发明采用的是Silverlight前端技术,该技术可以同时用到C/S与B/S系统中,而且是跨平台的技术,这大大减少了多类客户端、多平台系统的复杂度。该技术提供有强大的图形、动画能力,而且用法简单,操作也快捷。
说明书附图
图1为本发明各部件的协作关系;
图2为设计器流程;
图3为运行时呈现组态图形流程;
图4为运行时数据处理图形流程;
图5为组态元件结构图;
图6为组态元件数据处理流程。
具体实施方式
下面结合说明书附图和具体实施例对本发明作出进一步地详细阐述,但实施例并不对本发明做任何形式的限定。
实施例1
如图1所示,一种基于Silverlight实现组态功能的系统,包括设计器、组态元件和运行时,所述设计器序列化组态元件并输出一个配置文档,保存到持久化介质;所述运行时读入配置文档,然后反序列化配置文档,将数据呈现到组态元件上。所述配置文档包含画布上组态元件的位置和大小、实际设备对应关系以及动画相关参数。
设计器按照实际设备摆放情况将若干组态元件摆放在一张画布上,然后配置各个组态元件和实际设备映射关系、各个元件动画触发条件以及动画种类。如图2所示,所述设计器通过判断操作组态元件的合法性来将操作结果呈现于画布,然后判断操作成功与否,如果是成功,就将其序列化并保存到介质,如果不成功或者之前操作组态原件不合法就直接显示错误。
运行时通过加载设计器输出的配置文档解析出各个组态元件的参数,将其展示在界面上,并结合实际设备上送的数据将其呈现到组态元件上,通过配置的动画参数和数据的逻辑判断来显示或不显示动画以及显示何种动画。如图3所示,运行时先对读入的配置文档判断其合法性,不合法就结束,如果合法就对其反序列化,反序列化成功就呈现组态,不成功就就结束;如图4所示,运行时对收到的设备数据进行解析,并对其判断合法性,若不合法就结束,如合法就对发送到组态元件。
如图5所示,组态元件包括图片模块、动画模块和控制器,所述图片模块包括静态图片模块和动态图片模块,所述动画模块包括Flash动画模块和Silverlight动画模块,所述控制器包括图片控制模块和动画控制模块,除此之外,还包括大小控制模块、位置控制模块、旋转控制模块、开始控制模块、停止控制模块、暂停控制模块和继续控制模块,所述组态元件通过呈现和根据配置数据触动动画控制模块。
如图6所示,所述组态元件数据处理步骤如下:
S1.检查数据合法性:所述组态元件收到运行时上送数据时,对数据合法性进行检查;
所述合法性检查包括检查数据有效与否和该组态元件是否映射的设备的数据;
S2.判断是否显示:根据组态元件内缓存的规则判断数据是否需要显示,如果需要显示,则将数据加载到组态元件内;
S3.判断是否触动动画:根据所述规则判断该数据是否能触发元件内的某一动画,如果能则将数据送至元件相应的动画控制模块;
S4.调用动画控制模块:动画控制模块收到数据,首先对数据进行再次校验,确保数据无异常。然后从所述规则内读取动画控制相关参数,并进行相应控制;
S5.该条数据处理流程完毕,组态元件进入等待数据状态。
其中,所述规则来源于组态配置文档的反序列化,所述反序列化的结果缓存在相应的组态元件内。
Claims (5)
1.一种基于Silverlight实现组态功能的系统,其特征在于,包括设计器、组态元件和运行时,所述设计器按照实际设备摆放情况将若干组态元件摆放在一张画布上,然后配置各个组态元件和实际设备映射关系、各个元件动画触发条件以及动画种类,所述运行时通过加载设计器输出的配置文档解析出各个组态元件的参数,将其展示在界面上,并结合实际设备上送的数据将其呈现到组态元件上,通过配置的动画参数和数据的逻辑判断来显示或不显示动画以及显示何种动画,所述组态元件包括图片模块、动画模块和控制器,所述控制器包括图片控制模块和动画控制模块,所述组态元件通过呈现和根据配置数据触动动画控制模块。
2.根据权利要求1所述的一种基于Silverlight实现组态功能的系统,其特征在于,所述设计器序列化组态元件并输出一个配置文档,保存到持久化介质;所述运行时读入配置文档,然后反序列化配置文档,将数据呈现到组态元件上。
3.根据权利要求2所述的一种基于Silverlight实现组态功能的系统,其特征在于,所述配置文档包含画布上组态元件的位置和大小、实际设备对应关系以及动画相关参数。
4.根据权利要求1所述的一种基于Silverlight实现组态功能的系统,其特征在于,所述组态元件数据处理步骤如下:
S1.检查数据合法性:所述组态元件收到运行时上送数据时,对数据合法性进行检查;
所述合法性检查包括检查数据有效与否和该组态元件是否映射的设备的数据;
S2.判断是否显示:根据组态元件内缓存的规则判断数据是否需要显示,如果需要显示,则将数据加载到组态元件内;
S3.判断是否触动动画:根据所述规则判断该数据是否能触发元件内的某一动画,如果能则将数据送至元件相应的动画控制模块;
S4.调用动画控制模块:动画控制模块收到数据,首先对数据进行再次校验,确保数据无异常,然后从所述规则内读取动画控制相关参数,并进行相应控制;
S5.该条数据处理流程完毕,组态元件进入等待数据状态。
5.根据权利要求4所述的一种基于Silverlight实现组态功能的系统,其特征在于,所述规则来源于组态配置文档的反序列化, 所述反序列化的结果缓存在相应的组态元件内。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310734779.5A CN103744667A (zh) | 2013-12-27 | 2013-12-27 | 一种基于Silverlight实现组态功能的系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310734779.5A CN103744667A (zh) | 2013-12-27 | 2013-12-27 | 一种基于Silverlight实现组态功能的系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103744667A true CN103744667A (zh) | 2014-04-23 |
Family
ID=50501687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310734779.5A Pending CN103744667A (zh) | 2013-12-27 | 2013-12-27 | 一种基于Silverlight实现组态功能的系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103744667A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461618A (zh) * | 2014-11-26 | 2015-03-25 | 北京国双科技有限公司 | 加载模块的方法及装置 |
CN107203389A (zh) * | 2016-03-18 | 2017-09-26 | 百度在线网络技术(北京)有限公司 | 控件展现方法及装置 |
CN112395206A (zh) * | 2020-12-08 | 2021-02-23 | 珠海格力电器股份有限公司 | 组态软件纠错方法及系统 |
CN114545828A (zh) * | 2022-02-25 | 2022-05-27 | 浙江中控技术股份有限公司 | 分散控制系统运行逻辑展示方法、装置、设备及存储介质 |
-
2013
- 2013-12-27 CN CN201310734779.5A patent/CN103744667A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461618A (zh) * | 2014-11-26 | 2015-03-25 | 北京国双科技有限公司 | 加载模块的方法及装置 |
CN104461618B (zh) * | 2014-11-26 | 2018-06-26 | 北京国双科技有限公司 | 加载模块的方法及装置 |
CN107203389A (zh) * | 2016-03-18 | 2017-09-26 | 百度在线网络技术(北京)有限公司 | 控件展现方法及装置 |
CN107203389B (zh) * | 2016-03-18 | 2021-01-22 | 百度在线网络技术(北京)有限公司 | 控件展现方法及装置 |
CN112395206A (zh) * | 2020-12-08 | 2021-02-23 | 珠海格力电器股份有限公司 | 组态软件纠错方法及系统 |
CN114545828A (zh) * | 2022-02-25 | 2022-05-27 | 浙江中控技术股份有限公司 | 分散控制系统运行逻辑展示方法、装置、设备及存储介质 |
WO2023160082A1 (zh) * | 2022-02-25 | 2023-08-31 | 浙江中控技术股份有限公司 | 分散控制系统运行逻辑展示方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8819630B2 (en) | Automatic test tool for webpage design with micro-browsers on mobile platforms | |
EP3123316B1 (en) | Supporting dynamic behavior in statically compiled programs | |
US9836290B2 (en) | Supporting dynamic behavior in statically compiled programs | |
US9323514B2 (en) | Resource package indexing | |
EP3005100B1 (en) | Bundle package generation | |
US9069549B2 (en) | Machine processor | |
US20140359606A1 (en) | Bundle package retrieving | |
US9715440B2 (en) | Test scope determination based on code change(s) | |
US20140359605A1 (en) | Bundle package signing | |
US20130198325A1 (en) | Provision and running a download script | |
CN109966742B (zh) | 游戏运行中获取渲染性能数据的方法及装置 | |
CN103793249A (zh) | 一种Java虚拟机中类库的多线程预加载方法 | |
CN103744667A (zh) | 一种基于Silverlight实现组态功能的系统 | |
WO2017166448A1 (zh) | 内核漏洞修复方法和装置 | |
US9553761B2 (en) | Dynamic server to server configuration and initialization | |
US20130176320A1 (en) | Machine processor | |
CN102541620A (zh) | 无缝应用集成设备和方法 | |
US20130125093A1 (en) | Generating object-oriented programming language code from a multi-domain dynamic simulation model | |
US20130103931A1 (en) | Machine processor | |
US10013732B2 (en) | Externally directed GPU data | |
US9448823B2 (en) | Provision of a download script | |
US11281477B2 (en) | Assigning computing resources to execution of evaluators for image animation | |
CN110930499B (zh) | 一种3d数据处理方法及装置 | |
CN104461636B (zh) | 一种皮肤资源加载方法及电子设备 | |
US9159160B1 (en) | Texture sharing between application modules |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140423 |