System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种面向不同体系架构控制器的一体化编译下装方法技术_技高网

一种面向不同体系架构控制器的一体化编译下装方法技术

技术编号:40450048 阅读:6 留言:0更新日期:2024-02-22 23:09
本发明专利技术公开了一种面向不同体系架构控制器的一体化编译下装方法,涉及工业控制领域。该方法提出了面向不同体系架构控制器的组态编程平台编译下装框架,在组态程序开发前,用户通过配置组态程序版本信息、程序开发语言、目标控制器编号、程序功能描述等信息生成对应的配置文件;在配置完成后,用户使用相应开发语言进行组态程序编程,组态编程平台基于版本控制方法,支持多用户协同开发组态程序;程序编写完毕后,将用户源程序文件与对应配置文件依次发送至统一语言转换、编译/解释型统一编译、组态程序在线更新模块。该方法支持面向不同体系架构硬件平台的编译下装,提高了组态编程平台的兼容性和灵活性,从而促进便捷化的设备管理与生产调整。

【技术实现步骤摘要】

本专利技术涉及工业控制领域,尤其涉及一种面向不同体系架构控制器的一体化编译下装方法


技术介绍

1、随着智能制造概念的逐渐深化与智能工厂的不断发展,工业制造领域倾向于以集成与多工序协同的方式实现大规模工业生产,其中多硬件平台设备统一开发成为了高效制造关键。但在我国由传统工业向智能化生产转型的过程中,作为工业生产控制系统核心的组态编程平台存在“专机专用”、硬件依赖度高等问题。在复杂的工业生产场景下,这些多元化的生产设备为多工序协同带来了阻碍,各式各样的产线终端设备导致组态程序开发流程繁杂、设备间合作困难,为适应工业智能化的发展趋势上述问题迫切需要解决,而一体化编译下装是可行解决方案之一。

2、工控系统的组态编程平台负责将生产工序对应的组态程序通过编译后下装到如plc或边缘控制器等工业控制器中运行。传统组态编程平台往往仅支持特定体系架构设备,不同厂商设备编程环境及接口不相兼容,导致不同体系架构的多设备协同效率低,并且对开发过程中现场设备存在解释型与编译型两种代码执行方式的现状力不从心。

3、为了支持智能工厂生产中的多设备统一开发以实现多工序协同,需要一套灵活高效的跨平台统一化开发方案,支持面向不同体系架构硬件平台的编译下装,提高组态编程平台的兼容性和灵活性,从而促进便捷化的设备管理与生产调整。


技术实现思路

1、有鉴于现有技术的上述缺陷,本专利技术所要解决的技术问题是如何提高组态编程平台的兼容性和灵活性。

2、为实现上述目的,本专利技术提供了一种面向不同体系架构控制器的一体化编译下装方法,其特征在于,该方法提出了面向不同体系架构控制器的组态编程平台编译下装框架,在组态程序开发前,用户通过配置组态程序版本信息、程序开发语言、目标控制器编号、程序功能描述等信息生成对应的配置文件;在配置完成后,用户使用相应开发语言进行组态程序编程,组态编程平台基于版本控制方法,支持多用户协同开发组态程序;程序编写完毕后,将用户源程序文件与对应配置文件依次发送至统一语言转换、编译/解释型统一编译、组态程序在线更新模块。

3、进一步地,所述版本信息主要包括版本号、版本修改时间、版本修改者、版本修改描述等内容;

4、所述目标控制器编号是指用来区分不同控制器个体的数字序号,与控制器体系架构无关;

5、所述版本控制方法是基于乐观/悲观冲突消解策略的自适应并发控制方法,所述组态编程平台根据当前版本的读写状态和冲突率动态地切换冲突消解策略,实现不同版本程序的分支与合并,从而保证多用户开发场景下组态程序版本的一致性;

6、所述统一语言转换模块依据配置文件中的程序开发语言信息,自动选取用以指导程序开发语言向统一中间语言转换的规则模板;基于所述规则模板实现所述用户源程序文件向统一中间语言源程序文件的高效、规范转换;将统一中间语言源程序文件及其对应配置文件共同发送至编译/解释型统一编译模块;

7、所述规则模板是指用以指导语义树向统一中间语言代码文本进行转换的规则,所述规则模板包括基本元素转换规则、代码生成规范;

8、所述基本元素转换规则包括类型转换、引用转换、全局变量转换等内容;

9、所述代码生成规范包括命名规范、格式规范、注释规范等内容。

10、进一步地,所述编译/解释型统一编译模块基于统一中间语言源程序对应配置文件的所述目标控制器编号获取对应控制器的信息模型;通过解析所述信息模型获得目标控制器的体系架构信息,所述组态编程平台基于该信息自动进行编译/解释型分支的选择;基于makefile、代码归一等方法实现编译执行方式、解释型执行方式控制器所述的统一中间语言源程序统一编译,生成对应的目标文件/容器。

11、所述信息模型内容包括设备标识、基本信息属性、通用功能方法、自定义功能属性;其中,所述设备标识描述设备id、产品型号、产品cpu体系架构、设备代码执行方式等内容;所述基本信息属性包括输入/输出数据类型与格式、控制模型、模型参数等内容;所述通用功能方法包括读取控制输入/输出、读取/写入控制模型、读取设备工作状态等内容;所述自定义功能属性是指由设备生产厂商自定义实现的设备特有属性与功能方法。

12、进一步地,对于所述编译型执行方式控制器,基于解析所述信息模型获得的目标控制器体系架构信息,基于文件隔离的方式实现代码归一,将同一架构源程序存储到一个文件中;基于makefile实现分文件编译,生成对应不同体系架构的目标文件,进一步地,将生成的目标文件及其对应配置文件共同发送至组态程序在线更新模块;

13、对于所述解释型执行方式控制器,通过解析所述信息模型获得其功能属性,基于所述功能属性信息与配置文件的程序功能描述信息将所述统一中间语言源程序文件依次封装为感知/计算/控制类容器,进而将生成的多类型容器及其对应配置共同发送至组态程序在线更新模块。

14、进一步地,所述组态程序在线更新模块基于所述目标文件/容器对应配置文件的所述目标控制器编号信息获取对应控制器的所述信息模型;通过解析所述信息模型获得目标控制器的体系架构信息,基于该信息与冗余内存分配、cpu实时监控等方法将目标文件/容器在线更新至目标控制器;通过同步更新策略保障多控制器协同的可靠性,避免因多控制器内部组态程序版本不一致而导致的控制系统运行故障和停车风险。

15、进一步地,对于所述编译型执行方式控制器,由组态平台负责不同体系架构控制器的统一下装,在各控制器cpu空闲时间将程序下装至控制器的休眠状态内存区,因此下装过程不影响控制器现有程序的正常运行,较先完成下装过程的控制器向平台发送下装完成信号,平台在接受到所有控制器发送的下装完成信号后发送切换信号,指导多控制器进行同步的程序切换,实现程序的同步在线更新;为避免下装过程控制器cpu负荷过高导致的系统故障,这里实时监控每个周期内的cpu瞬时空闲时间比,并基于该数据指导实现下装文件自适应切分;基于cpu瞬时空闲时间比信息在线优化多控制器下装策略,自动规划下装顺序,以减少在线下装带来的时间延迟。

16、进一步地,所述程序切换基于冗余内存分配实现,每个应用程序会被分配执行所需内存与同样大小的冗余内存,两者分别处于激活状态和休眠状态,组态编程平台下装程序至休眠状态内存区域,直至程序下装完成且收到切换信号后进行两块内存区域的状态切换;

17、所述激活状态是指此时该内存区域程序正在被执行,所述休眠状态是指此时该内存区域程序并没有在被执行,只要控制器在正常运行,则两块内存区域有且只有一块处于激活状态。

18、进一步地,对于所述解释型执行方式控制器,由组态平台负责多控制器的统一下装,在各控制器cpu空闲时间获取对应补丁包,实现在线下装,先下装完毕的控制器向平台发送下装完成信号,平台在接受到所有控制器发送的下装完成信号后发送切换信号,指导多控制器进行同步的新版本容器实例化。

19、进一步地,所述补丁包内容包括对应补丁的版本信息、容器镜像的历史修改等内容。本文档来自技高网...

【技术保护点】

1.一种面向不同体系架构控制器的一体化编译下装方法,其特征在于,该方法提出了面向不同体系架构控制器的组态编程平台编译下装框架,在组态程序开发前,用户通过配置组态程序版本信息、程序开发语言、目标控制器编号、程序功能描述等信息生成对应的配置文件;在配置完成后,用户使用相应开发语言进行组态程序编程,组态编程平台基于版本控制方法,支持多用户协同开发组态程序;程序编写完毕后,将用户源程序文件与对应配置文件依次发送至统一语言转换、编译/解释型统一编译、组态程序在线更新模块。

2.如权利要求1所述的一种面向不同体系架构控制器的一体化编译下装方法,其特征在于,所述版本信息主要包括版本号、版本修改时间、版本修改者、版本修改描述等内容;

3.如权利要求2所述的一种面向不同体系架构控制器的一体化编译下装方法,其特征在于,所述编译/解释型统一编译模块基于统一中间语言源程序对应配置文件的所述目标控制器编号获取对应控制器的信息模型;通过解析所述信息模型获得目标控制器的体系架构信息,所述组态编程平台基于该信息自动进行编译/解释型分支的选择;基于makefile、代码归一等方法实现编译执行方式、解释型执行方式控制器所述的统一中间语言源程序统一编译,生成对应的目标文件/容器。

4.如权利要求3所述的一种面向不同体系架构控制器的一体化编译下装方法,其特征在于,对于所述编译型执行方式控制器,基于解析所述信息模型获得的目标控制器体系架构信息,基于文件隔离的方式实现代码归一,将同一架构源程序存储到一个文件中;基于makefile实现分文件编译,生成对应不同体系架构的目标文件,进一步地,将生成的目标文件及其对应配置文件共同发送至组态程序在线更新模块;

5.如权利要求4所述的一种面向不同体系架构控制器的一体化编译下装方法,其特征在于,所述组态程序在线更新模块基于所述目标文件/容器对应配置文件的所述目标控制器编号信息获取对应控制器的所述信息模型;通过解析所述信息模型获得目标控制器的体系架构信息,基于该信息与冗余内存分配、CPU实时监控等方法将目标文件/容器在线更新至目标控制器;通过同步更新策略保障多控制器协同的可靠性,避免因多控制器内部组态程序版本不一致而导致的控制系统运行故障和停车风险。

6.如权利要求5所述的一种面向不同体系架构控制器的一体化编译下装方法,其特征在于,对于所述编译型执行方式控制器,由组态平台负责不同体系架构控制器的统一下装,在各控制器CPU空闲时间将程序下装至控制器的休眠状态内存区,因此下装过程不影响控制器现有程序的正常运行,较先完成下装过程的控制器向平台发送下装完成信号,平台在接受到所有控制器发送的下装完成信号后发送切换信号,指导多控制器进行同步的程序切换,实现程序的同步在线更新;为避免下装过程控制器CPU负荷过高导致的系统故障,这里实时监控每个周期内的CPU瞬时空闲时间比,并基于该数据指导实现下装文件自适应切分;基于CPU瞬时空闲时间比信息在线优化多控制器下装策略,自动规划下装顺序,以减少在线下装带来的时间延迟。

7.如权利要求6所述的一种面向不同体系架构控制器的一体化编译下装方法,其特征在于,所述程序切换基于冗余内存分配实现,每个应用程序会被分配执行所需内存与同样大小的冗余内存,两者分别处于激活状态和休眠状态,组态编程平台下装程序至休眠状态内存区域,直至程序下装完成且收到切换信号后进行两块内存区域的状态切换;

8.如权利要求7所述的一种面向不同体系架构控制器的一体化编译下装方法,其特征在于,对于所述解释型执行方式控制器,由组态平台负责多控制器的统一下装,在各控制器CPU空闲时间获取对应补丁包,实现在线下装,先下装完毕的控制器向平台发送下装完成信号,平台在接受到所有控制器发送的下装完成信号后发送切换信号,指导多控制器进行同步的新版本容器实例化。

9.如权利要求8所述的一种面向不同体系架构控制器的一体化编译下装方法,其特征在于,所述补丁包内容包括对应补丁的版本信息、容器镜像的历史修改等内容。

10.如权利要求9所述的一种面向不同体系架构控制器的一体化编译下装方法,其特征在于,所述方法包括如下步骤:

...

【技术特征摘要】

1.一种面向不同体系架构控制器的一体化编译下装方法,其特征在于,该方法提出了面向不同体系架构控制器的组态编程平台编译下装框架,在组态程序开发前,用户通过配置组态程序版本信息、程序开发语言、目标控制器编号、程序功能描述等信息生成对应的配置文件;在配置完成后,用户使用相应开发语言进行组态程序编程,组态编程平台基于版本控制方法,支持多用户协同开发组态程序;程序编写完毕后,将用户源程序文件与对应配置文件依次发送至统一语言转换、编译/解释型统一编译、组态程序在线更新模块。

2.如权利要求1所述的一种面向不同体系架构控制器的一体化编译下装方法,其特征在于,所述版本信息主要包括版本号、版本修改时间、版本修改者、版本修改描述等内容;

3.如权利要求2所述的一种面向不同体系架构控制器的一体化编译下装方法,其特征在于,所述编译/解释型统一编译模块基于统一中间语言源程序对应配置文件的所述目标控制器编号获取对应控制器的信息模型;通过解析所述信息模型获得目标控制器的体系架构信息,所述组态编程平台基于该信息自动进行编译/解释型分支的选择;基于makefile、代码归一等方法实现编译执行方式、解释型执行方式控制器所述的统一中间语言源程序统一编译,生成对应的目标文件/容器。

4.如权利要求3所述的一种面向不同体系架构控制器的一体化编译下装方法,其特征在于,对于所述编译型执行方式控制器,基于解析所述信息模型获得的目标控制器体系架构信息,基于文件隔离的方式实现代码归一,将同一架构源程序存储到一个文件中;基于makefile实现分文件编译,生成对应不同体系架构的目标文件,进一步地,将生成的目标文件及其对应配置文件共同发送至组态程序在线更新模块;

5.如权利要求4所述的一种面向不同体系架构控制器的一体化编译下装方法,其特征在于,所述组态程序在线更新模块基于所述目标文件/容器对应配置文件的所述目标控制器编号信息获取对应控制器的所述信息模型;通过解析所述信息模型获得目标控制器的体系架构信息,基于该信息与冗余内存分配、cpu实时监控等方法将...

【专利技术属性】
技术研发人员:朱善迎吴温文许齐敏陈彩莲关新平
申请(专利权)人:上海交通大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1