System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及工业自动化智能控制领域,尤其涉及一种工业python语言功能块的开发方法。
技术介绍
1、在工业控制领域中,一个工厂或一个车间或一个核心装置的智能优化控制一般需要工厂运行专家、研究院专家、核心装置生产厂家、dcs厂家等多方提供专家知识,并将专家知识通过编码等方式转换为软件功能,才能实现最优的智能控制,功能块图语言中的功能块是针对对应的硬件的功能进行开发的,各个功能块与硬件之间是紧密相关的。
2、传统功能块开发难以将开发的功能块应用于其他硬件编程开发,实现的功能块对于不同硬件难以复用,同时无法满足在一些复杂工业领域中的应用,例如:针对一些工业海量历史数据的分析建模推理,传统功能块则无法实现;此外,传统的功能块无法进行跨平台应用,智能制造背景下,要实现智能控制,需要多种算法部署在多种宿主机上,同时支持多种操作系统,如windows、linux等,并且工业领域的专家知识作为用户核心资产,因此还需要解决保密性的问题。
3、目前智能优化控制一般提供c/c++高级语言的方式编写优化算法,但存在着如下缺点:随着ai及数据分析技术的发展,c++语言对大数据以及ai技术支持受限,采用c/c++语言开发的功能块存在开发高复杂度,并且受制于稀缺的c++算法开发人员和技术困难,而拥有丰富生态的python语言越来越体现出价值,但是python源码具有保密性,目前业界普遍采用加密和混淆的方式提供python代码文件。
技术实现思路
1、本专利技术的目的是为了解决现有技术
2、步骤s1:通过python功能块开发标准接口框架,配合算法开发出python功能块库,并将所述python功能块库进行打包提供;
3、步骤s2:通过上位机组态软件导入对应的所述python功能块库文件;
4、步骤s3:在所述上位机组态软件中通过图形化编程拖拽各个功能块,并将所述功能块对应的参数引脚通过连线来进行并联,编制成混合用户程序;
5、步骤s4:将所述上位机组态软件与智能控制引擎建立通讯连接,所述上位机组态软件对所述混合用户程序进行编译并下载到所述智能控制引擎,所述智能控制引擎对编译后的所述用户程序的组态进行合法性校验;
6、步骤s5:所述智能控制引擎启动用户程序进程解析所述的混合的用户程序并调度运行,进行周期性实时控制。
7、进一步地,在步骤s1中,所述python功能块开发标准接口框架的核心标准接口包括初始化、数据准备、计算和终止在内的接口。
8、进一步地,在步骤s1中,所述python功能块库的打包文件包括二进制动态库文件、以json文件格式结尾的标准算法功能块库描述文件、以json文件格式结尾的标准功能块描述文件在内的打包文件。
9、优选的,所述二进制动态库文件基于所述python功能块按照规则编译成,所述二进制动态库文件与c++相同,实现与c++功能块混合调度和保密性功能。
10、更优地,提供所述python功能块统一标准的json文件格式结尾的描述文件,实现所述python功能块多语言展示。
11、进一步地,在步骤s2中,所述上位机为能够直接发出操控命令的计算机,显示各种信号变化,所述上位机组态软件用于导入常规工业算法功能块以及编制算法程序。
12、进一步地,在步骤s3中,所述混合用户程序是基于使用python语言编制而成的功能块pyfbd功能块和使用c++语言编制而成的功能块cppfbd功能块组成的用户程序。
13、优选的,所述pyfbd功能块和所述cppfbd功能块通过上位机组态软件导入后,混合编制算法程序。
14、进一步地,在步骤s4中,所述智能控制引擎为用于解析所述pyfbd功能块和所述cppfbd功能块组成的用户程序并执行程序调度控制的引擎系统。
15、进一步地,在步骤s5中,一个所述python功能块库同时支持多个算法函数,由所述智能控制引擎创建出多实例进行使用。
16、与现有技术相比,本专利技术的有益效果是:
17、(1)引入高级语言python编写的功能块,同时也拥有了丰富的第三方生态,例如可以将一些大数据分析的框架以及深度学习的一些第三方库引入,并且可通过按照智能控制引擎平台的规则,将其开发的功能块编译封装成二进制动态库,提升性能来弥补原有python性能不足的弱点;
18、(2)python功能块可结合传统c++功能块组成的混合自定义程序,能够同时引入两者的优势,如:python三方生态丰富,c++性能高,从而弥补各自缺点,如:pyfbd三方扩展丰富但性能相比cppfbd弱,cppfbd性能高但三方扩展明显相比pyfbd不足;
19、(3)解决功能块基于python语言开发的保密性问题,通过一定的规则按照智能控制引擎平台要求,编译成与c++相同的二进制库文件,从而支持与c++功能块混合调度,同时二进制文件也能够解决用户功能块库的保密性问题来保证核心资产安全;
20、(4)工业领域中算法工程师具备c++开发能力的极少,但普遍具备python开发能力,因此引入python语言开发功能块,极大降低了算法工程师开发门槛。
本文档来自技高网...【技术保护点】
1.一种工业Python语言功能块的开发方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的工业Python语言功能块的开发方法,其特征在于,在步骤S1中,所述Python功能块开发标准接口框架的核心标准接口包括初始化、数据准备、计算和终止在内的接口。
3.根据权利要求1所述的工业Python语言功能块的开发方法,其特征在于,在步骤S1中,所述Python功能块库的打包文件包括二进制动态库文件、以json文件格式结尾的标准算法功能块库描述文件、以json文件格式结尾的标准功能块描述文件在内的打包文件。
4.根据权利要求3所述的工业Python语言功能块的开发方法,其特征在于,所述二进制动态库文件基于所述Python功能块按照规则编译成,所述二进制动态库文件与C++相同,实现与C++功能块混合调度和保密性功能。
5.根据权利要求3所述的工业Python语言功能块的开发方法,其特征在于,提供所述Python功能块统一标准的json文件格式结尾的描述文件,实现所述Python功能块多语言展示。
6.根据权利要求1所述的工
7.根据权利要求1所述的工业Python语言功能块的开发方法,其特征在于,在步骤S3中,所述混合用户程序是基于使用Python语言编制而成的功能块PyFBD功能块和使用C++语言编制而成的功能块CppFBD功能块组成的用户程序。
8.根据权利要求7所述的工业Python语言功能块的开发方法,其特征在于,所述PyFBD功能块和所述CppFBD功能块通过上位机组态软件导入后,混合编制算法程序。
9.根据权利要求7所述的工业Python语言功能块的开发方法,其特征在于,在步骤S4中,所述智能控制引擎为用于解析所述PyFBD功能块和所述CppFBD功能块组成的用户程序并执行程序调度控制的引擎系统。
10.根据权利要求1所述的工业Python语言功能块的开发方法,其特征在于,在步骤S5中,一个所述Python功能块库同时支持多个算法函数,由所述智能控制引擎创建出多实例进行使用。
...【技术特征摘要】
1.一种工业python语言功能块的开发方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的工业python语言功能块的开发方法,其特征在于,在步骤s1中,所述python功能块开发标准接口框架的核心标准接口包括初始化、数据准备、计算和终止在内的接口。
3.根据权利要求1所述的工业python语言功能块的开发方法,其特征在于,在步骤s1中,所述python功能块库的打包文件包括二进制动态库文件、以json文件格式结尾的标准算法功能块库描述文件、以json文件格式结尾的标准功能块描述文件在内的打包文件。
4.根据权利要求3所述的工业python语言功能块的开发方法,其特征在于,所述二进制动态库文件基于所述python功能块按照规则编译成,所述二进制动态库文件与c++相同,实现与c++功能块混合调度和保密性功能。
5.根据权利要求3所述的工业python语言功能块的开发方法,其特征在于,提供所述python功能块统一标准的json文件格式结尾的描述文件,实现所述python功能块多语言展示。
6.根据权利要求1所述的工业pyth...
【专利技术属性】
技术研发人员:马立鹏,柯体杰,王方平,付倩文,施江林,
申请(专利权)人:中控技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。