CN103345402A - 基于中间代码的显示模组图形化组态方法 - Google Patents
基于中间代码的显示模组图形化组态方法 Download PDFInfo
- Publication number
- CN103345402A CN103345402A CN2013102025583A CN201310202558A CN103345402A CN 103345402 A CN103345402 A CN 103345402A CN 2013102025583 A CN2013102025583 A CN 2013102025583A CN 201310202558 A CN201310202558 A CN 201310202558A CN 103345402 A CN103345402 A CN 103345402A
- Authority
- CN
- China
- Prior art keywords
- intermediate code
- configuration method
- graphical configuration
- code
- module based
- 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
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种基于中间代码的显示模组图形化组态方法,属于代码自动生成领域,通过二次开发平台实现,所述二次开发平台包括上位机和下位机,所述上位机提供图形化组态接口,并将图形化组态编译成与下位机平台无关的中间代码,所述下位机包括代码解释器,所述代码解释器解析所述中间代码并调用与所述二次开发平台相关的GUI图形库的驱动显示。本发明升级时只需要升级本平台的GUI库及驱动,而不需要升级上位机工具,上位机工具可做到与平台无关;二次开发的程序改动只需要编译和下载图形化组态,而不需要下载影像文件,提高了效率。
Description
技术领域
本发明涉及代码自动生成技术,尤其涉及一种基于中间代码的显示模组图形化组态方法。
背景技术
显示图形界面的二次开发尤为重要,为了满足快速开发的要求,设计开发主要采用了组态式软件技术。“组态(Configure)”的含义是“配置”、“设定”、“设置”等意思,是指用户通过类似“搭积木”的简单方式来完成自己所需要的软件功能,而不需要编写计算机程序,也就是所谓的“组态”,它有时候也称为“二次开发”,组态软件就称为“二次开发平台”。通过二次开发软件进行组态并将组态编译成目标代码,下载到模组中实现人机交互功能。组态式开发提供了封装好的图形化组态接口,将二次开发通过配置的方式实现,极大简化了客户的二次开发代码量,缺点是开发过程中的任何变动都需要将整个工程重新编译下载,当工程文件包含图形、影像、库文件等较大的资源文件时,会直接影响效率。
现有技术中,编译一般都在上位机实现,因此当显示芯片平台改变时,除了升级本平台的GUI库之外,还需要升级二次开发软件的编译器,即整个开发过程无法做到与平台无关。
发明内容
有鉴于此,本发明提出一种基于中间代码的显示模组图形化组态方法,通过二次开发软件生成中间代码,将中间代码下载到下位机中进行解释后再执行,通过上下位机实现开发分离。
为达到上述目的,本发明的技术方案是这样实现的:
一种基于中间代码的显示模组图形化组态方法,通过二次开发平台实现,其中:
所述二次开发平台包括上位机和下位机,所述上位机提供图形化组态接口,并将图形化组态编译成与下位机平台无关的中间代码,所述下位机包括代码解释器,所述代码解释器解析所述中间代码并调用与所述二次开发平台相关的GUI图形库的驱动显示。
根据上述基于中间代码的显示模组图形化组态方法之构想,其中,所述下位机对所述中间代码进行解析,根据所述中间代码中的编号调用GUI图形库函数。
根据上述基于中间代码的显示模组图形化组态方法之构想,其中,所述下位机调用所述GUI图形库函数后更新所述GUI图形库函数的参数,所述GUI图形库函数调用与所述二次开发平台相关的驱动函数。
根据上述基于中间代码的显示模组图形化组态方法之构想,其中,用户通过装载于所述上位机上的二次开发软件工具进行图形化组态设计显示界面,所述二次开发软件工具将所述图形化组态编译成所述中间代码并将其下载到所述下位机。
根据上述基于中间代码的显示模组图形化组态方法之构想,其中,所述中间代码包括用户设计信息,所述用户设计信息包括图形界面、事件和通信,所述图形界面主要由窗体、窗体中的控件和控件的属性组成。
根据上述基于中间代码的显示模组图形化组态方法之构想,其中,所述GUI图形库实现基本图形绘制,包括点、直线、矩形绘制与填充、圆形绘制与填充、椭圆绘制与填充、多边形绘制与填充、弧形、位图显示和网格或表格绘制。
根据上述基于中间代码的显示模组图形化组态方法之构想,其中,所述上位机和所述下位机均为PC机或工控机。
与已有技术相比,本发明的有益效果在于:
升级时只需要升级本平台的GUI库及驱动,而不需要升级上位机工具,上位机工具可做到与平台无关;二次开发的程序改动只需要编译和下载图形化组态,而不需要下载影像文件,提高了效率。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明基于中间代码的显示模组图形化组态方法的原理框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
本发明的基本思想在于:设计一种基于中间代码的显示模组图形化组态方法,通过二次开发软件生成中间代码,将中间代码下载到下位机中进行解释后再执行,实现开发分离。
下面结合原理图和具体操作实施例对本发明作进一步说明。
如图1所示,在本发明基于中间代码的显示模组图形化组态方法的实施例中,通过二次开发平台实现,二次开发平台包括上位机和下位机,此处的上位机和下位机为PC机或工控机,对于工控机来说,更多被应用于工程控制领域,而PC机的界面显示相对于工控机要更加丰富一些。
进一步地,上位机提供图形化组态接口,并将图形化组态编译成与芯片平台无关的中间代码(Intermediate Code),中间代码作为源程序的一种内部表示,易于机械生成目标代码及其优化。
在本发明的优选实施例中,下位机包括一个代码解释器,代码解释器用于解析中间代码并调用与二次开发平台相关的GUI图形库(Graphical User Interface,简称GUI,又称图形用户接口)的驱动显示,即调用相对应的库文件(DLL)。
下位机对中间代码进行解析,并根据中间代码中的编号调用GUI图形库函数,编号和函数之间的定义关系可以预先设定。下位机调用GUI图形库函数后更新GUI图形库函数的参数,该参数一般为动态数据,GUI图形库函数调用与二次开发平台相关的驱动函数。
用户通过装载于上位机上的二次开发软件工具进行图形化组态设计显示界面,二次开发软件工具将图形化组态编译成中间代码并将其下载到下位机。常用的二次开发工具有:族表(Family Table)、用户定义特征(UDF)、Pro/Program、J-link、Pro/toolkit等。在关于基于VB API的二次开发过程,Pro/E Wildfire开始可以采用Visual BasicAPI,通过Visual Basic NET应用程序和其他应用程序(如MicrosoftWord、Excel或Access)中的Visual Basic宏来进行二次开发。一般情况下,采用比较多的是Pro/Toolkit。
中间代码包括用户设计信息,用户设计信息包括图形界面、事件和通信,图形界面主要由窗体、窗体中的控件和控件的属性组成。控件包括常用的控件类型及操作,比如控件移动、控件隐藏显示、控件按钮动态效果和编辑框键盘输入等,控件的工作原理是:首先创建控件,主要是为控件分配内存空间,设置控件的初始属性和状态及默认属性和状态,设置控件的默认回调函数用以处理一些默认的消息。控件创建成功以后,返回控件的句柄,在以后的程序中就是通过这个句柄来操作控件的,包括向控件发送消息、改变控件的属性值等等。
GUI图形库实现基本图形绘制,包括点、直线、矩形绘制与填充、圆形绘制与填充、椭圆绘制与填充、多边形绘制与填充、弧形、位图显示和网格或表格绘制等。GUI图形库可以看作基本的图形绘制支撑库,其核心模块包括输入控制、输出显示等。GUI图形库还包括字库,字库包括字库解析和解码,以实现在输出界面上显示不同的字体。
本发明升级时只需要升级本平台的GUI库及驱动,而不需要升级上位机工具,上位机工具可做到与下位机平台无关;二次开发的程序改动只需要编译和下载图形化组态,而不需要下载影像文件,提高了开发效率。
以上对本发明的具体实施例进行了详细描述,但本发明并不限制于以上描述的具体实施例,其只是作为范例。对于本领域技术人员而言,任何等同修改和替代也都在本发明的范畴之中。因此,在不脱离本发明的精神和范围下所作出的均等变换和修改,都应涵盖在本发明的范围内。
Claims (7)
1.一种基于中间代码的显示模组图形化组态方法,通过二次开发平台实现,其特征在于:
所述二次开发平台包括上位机和下位机,所述上位机提供图形化组态接口,并将图形化组态编译成与下位机平台无关的中间代码,所述下位机包括代码解释器,所述代码解释器解析所述中间代码并调用与所述二次开发平台相关的GUI图形库的驱动显示。
2.根据权利要求1所述基于中间代码的显示模组图形化组态方法,其特征在于,所述下位机对所述中间代码进行解析,根据所述中间代码中的编号调用GUI图形库函数。
3.根据权利要求2所述基于中间代码的显示模组图形化组态方法,其特征在于,所述下位机调用所述GUI图形库函数后更新所述GUI图形库函数的参数,所述GUI图形库函数调用与所述二次开发平台相关的驱动函数。
4.根据权利要求1所述基于中间代码的显示模组图形化组态方法,其特征在于,用户通过装载于所述上位机上的二次开发软件工具进行图形化组态设计显示界面,所述二次开发软件工具将所述图形化组态编译成所述中间代码并将其下载到所述下位机。
5.根据权利要求4所述基于中间代码的显示模组图形化组态方法,其特征在于,所述中间代码包括用户设计信息,所述用户设计信息包括图形界面、事件和通信,所述图形界面主要由窗体、窗体中的控件和控件的属性组成。
6.根据权利要求1至5中任意一项所述基于中间代码的显示模组图形化组态方法,其特征在于,所述GUI图形库实现基本图形绘制,包括点、直线、矩形绘制与填充、圆形绘制与填充、椭圆绘制与填充、多边形绘制与填充、弧形、位图显示和网格或表格绘制。
7.根据权利要求6所述基于中间代码的显示模组图形化组态方法,其特征在于,所述上位机和所述下位机均为PC机或工控机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013102025583A CN103345402A (zh) | 2013-05-27 | 2013-05-27 | 基于中间代码的显示模组图形化组态方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013102025583A CN103345402A (zh) | 2013-05-27 | 2013-05-27 | 基于中间代码的显示模组图形化组态方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103345402A true CN103345402A (zh) | 2013-10-09 |
Family
ID=49280200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013102025583A Pending CN103345402A (zh) | 2013-05-27 | 2013-05-27 | 基于中间代码的显示模组图形化组态方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103345402A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572125A (zh) * | 2015-01-28 | 2015-04-29 | 中国农业银行股份有限公司 | 实体关系图的绘制方法、存储方法、绘制装置及存储装置 |
CN105593815A (zh) * | 2013-07-23 | 2016-05-18 | 华为技术有限公司 | 在编译器中构建基于图的中间表示的方法 |
CN105843659A (zh) * | 2016-03-17 | 2016-08-10 | 深圳市金玺智控技术有限公司 | 一种嵌入式c编译器的实现方法及系统 |
CN107340995A (zh) * | 2016-04-29 | 2017-11-10 | 中国铁道科学研究院 | 一种牵引控制应用软件开发系统 |
CN111880793A (zh) * | 2020-07-21 | 2020-11-03 | 上海繁易信息科技股份有限公司 | 一种基于二进制文件的hmi组态配置系统和方法 |
CN112579065A (zh) * | 2019-09-27 | 2021-03-30 | 北京广利核系统工程有限公司 | 一种将图形组态画面生成跨平台代码的方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101135965A (zh) * | 2006-08-29 | 2008-03-05 | 深圳达实智能股份有限公司 | 组态控制的实现方法 |
CN101295247A (zh) * | 2008-06-24 | 2008-10-29 | 杭州义益自动化有限公司 | 一种跨cpu平台的嵌入式图形界面生成方法 |
CN101630865A (zh) * | 2009-08-19 | 2010-01-20 | 江苏省电力公司淮安供电公司 | 数字化变电站保护组态与工程配置一体化平台 |
CN103049954A (zh) * | 2012-12-27 | 2013-04-17 | 福州福大自动化科技有限公司 | 门禁系统的图形化控制策略组态方法 |
CN103064682A (zh) * | 2012-12-27 | 2013-04-24 | 福州福大自动化科技有限公司 | 面向设备的人机界面组态设计方法 |
-
2013
- 2013-05-27 CN CN2013102025583A patent/CN103345402A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101135965A (zh) * | 2006-08-29 | 2008-03-05 | 深圳达实智能股份有限公司 | 组态控制的实现方法 |
CN101295247A (zh) * | 2008-06-24 | 2008-10-29 | 杭州义益自动化有限公司 | 一种跨cpu平台的嵌入式图形界面生成方法 |
CN101630865A (zh) * | 2009-08-19 | 2010-01-20 | 江苏省电力公司淮安供电公司 | 数字化变电站保护组态与工程配置一体化平台 |
CN103049954A (zh) * | 2012-12-27 | 2013-04-17 | 福州福大自动化科技有限公司 | 门禁系统的图形化控制策略组态方法 |
CN103064682A (zh) * | 2012-12-27 | 2013-04-24 | 福州福大自动化科技有限公司 | 面向设备的人机界面组态设计方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105593815A (zh) * | 2013-07-23 | 2016-05-18 | 华为技术有限公司 | 在编译器中构建基于图的中间表示的方法 |
CN105593815B (zh) * | 2013-07-23 | 2019-08-20 | 华为技术有限公司 | 在编译器中构建基于图的中间表示的方法 |
US10896029B2 (en) | 2013-07-23 | 2021-01-19 | Huawei Technologies Co., Ltd. | Method for constructing a graph data structure |
CN104572125A (zh) * | 2015-01-28 | 2015-04-29 | 中国农业银行股份有限公司 | 实体关系图的绘制方法、存储方法、绘制装置及存储装置 |
CN104572125B (zh) * | 2015-01-28 | 2018-10-16 | 中国农业银行股份有限公司 | 实体关系图的绘制方法、存储方法、绘制装置及存储装置 |
CN105843659A (zh) * | 2016-03-17 | 2016-08-10 | 深圳市金玺智控技术有限公司 | 一种嵌入式c编译器的实现方法及系统 |
CN107340995A (zh) * | 2016-04-29 | 2017-11-10 | 中国铁道科学研究院 | 一种牵引控制应用软件开发系统 |
CN107340995B (zh) * | 2016-04-29 | 2020-11-20 | 中国铁道科学研究院 | 一种牵引控制应用软件开发系统及对平台无关代码的优化编译方法 |
CN112579065A (zh) * | 2019-09-27 | 2021-03-30 | 北京广利核系统工程有限公司 | 一种将图形组态画面生成跨平台代码的方法及系统 |
CN111880793A (zh) * | 2020-07-21 | 2020-11-03 | 上海繁易信息科技股份有限公司 | 一种基于二进制文件的hmi组态配置系统和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10067757B2 (en) | Dynamic update of an application in compilation and deployment with hot-swapping | |
CN108228287B (zh) | 基于qt的用户界面控件的生成方法及装置 | |
CN103345402A (zh) | 基于中间代码的显示模组图形化组态方法 | |
CN105302545B (zh) | 一种组态软件的自定义控件开发方法及装置 | |
EP3304286B1 (en) | Data binding dependency analysis | |
CN108351764B (zh) | 数据处理方法和系统 | |
EP2539810B1 (en) | Image file as container for widgets in gui authoring tool | |
Petzold | Creating Mobile Apps with Xamarin. Forms Preview Edition 2 | |
US20170262262A1 (en) | Application platform for designing and executing applications | |
CN101226479A (zh) | 一种实现手机菜单动态配置的方法 | |
US20100077329A1 (en) | Method and system for creating a free-form visual user interface element | |
WO2017087801A1 (en) | Dynamic update of an application in compilation and deployment | |
CN103809983A (zh) | 一种修改bios setup界面的方法 | |
CN102364437A (zh) | 多语言站点开发系统及其实现方法 | |
KR20170024998A (ko) | 규칙 기반의 업무 애플리케이션 작성 및 실행 시스템 | |
CN114115923A (zh) | 一种操作系统搭建方法及系统 | |
KR101636124B1 (ko) | 다수의 이기종 컴퓨팅 플랫폼을 지원하며 타분야 간에 데이터 상호호환이 가능한 크로스 플랫폼 기반의 개방형 bim 시스템의 구축 방법 | |
CN103150198A (zh) | 一种组态软件的显示方法 | |
CN107153563B (zh) | 一种软件版本生成方法及装置 | |
CN104133706A (zh) | 固件修改方法及固件修改装置 | |
CN102662662A (zh) | 嵌入式图形界面生成系统及方法 | |
US20070006199A1 (en) | Methods and apparatus for communicating between multiple levels of software components | |
US9280323B2 (en) | Display of source code semantic layers | |
CN107092472A (zh) | 一种动态发布方法及设备 | |
US10222944B1 (en) | Embedding user interface elements in documents containing code |
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 |
Application publication date: 20131009 |
|
RJ01 | Rejection of invention patent application after publication |