System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种用于工业控制的图形化高级数学运算编程编译系统及方法技术方案_技高网

一种用于工业控制的图形化高级数学运算编程编译系统及方法技术方案

技术编号:41750131 阅读:2 留言:0更新日期:2024-06-21 21:34
本发明专利技术涉及一种基于数据和行为模型的工业软件代码自动生成方法,所述方法包括以下步骤:基于模型系统工程进行多视角顶层需求建模;提取数据和行为的特征定义;构建工业软件数据行为处理模型;构建平台无关的数据处理结构,建立特征关系规则引擎;生成信息模板和代码模板;基于面向对象语言建立多目标语言的配置策略;建立代码映射规则;构建自动代码生成引擎,生成目标代码。本发明专利技术可提供面向数据和行为处理的模型定义和代码生成,采用该方法可实现自动生成工业软件复杂数据处理系统的代码框架、数据处理和行为处理代码,有效降低人工编写代码的错误率,保障数据处理代码开发的安全可靠性,提高开发效率,降低开发成本。

【技术实现步骤摘要】

本专利技术涉及工业软件领域,具体是一种用于工业控制的图形化高级数学运算编程编译系统及方法


技术介绍

1、plc中的数学运算包括基本数学运算(如加减乘除、取模、移位等)、逻辑运算(如and、or和not等),以及比较运算。这些运算能够实现对数字量的快速处理和计算,并可以通过公式编程来实现高效控制策略。除了基本的数学运算,plc还支持更复杂的数学运算,如浮点数运算,包括浮点数加法、浮点数减法、浮点数乘法、浮点数除法以及浮点数指数运算等,这些高级数学运算指令使得plc能够进行更精确和复杂的计算,从而满足更为复杂的控制需求。plc还支持数据类型转换函数,如int_to_real和real_to_int等,用于将整数和浮点数之间的转换,这些函数对于实现不同数据类型之间的计算和比较非常有用。此外,plc还支持高级数学运算指令,如:三角函数指令:包括正弦、余弦和正切等函数,用于计算角度的三角函数值;指数函数和对数函数指令:用于计算数值的指数和对数值;平方根指令:用于计算数值的平方根;最大值和最小值指令:用于比较一组数值并找出其中的最大值或最小值。这些高级数学运算指令可以在plc中实现更为复杂的数学计算和控制策略。在一些高级应用场景,plc通常还会应用一些高级数学运算指令,如矩阵运算、多项式运算等。这些高级数学运算指令能够实现更为复杂的数学计算和控制策略。

2、plc中的高级数学运算实现方式主要取决于plc的型号和编程软件的支持。一般来说,plc提供了多种高级数学运算指令,如矩阵运算、多项式运算等,这些指令可以通过编程软件中的函数库进行调用和实现。对于矩阵运算,plc通常提供了专门的矩阵运算指令或函数,可以用于计算矩阵的加法、减法、乘法、逆等操作。在实现过程中,用户需要将矩阵数据作为输入和输出参数传递给相应的指令或函数,并按照矩阵运算的规则进行计算和控制。对于多项式运算,plc通常提供了多项式拟合函数或多项式计算指令,可以用于实现多项式函数的计算和拟合。在实现过程中,用户需要将多项式系数作为输入参数传递给相应的指令或函数,并按照多项式运算的规则进行计算和控制。不同型号plc高级数学运算实现方式可能存在差异,但一般来说,实现方式可以分为以下几种:

3、(1)指令集方式:一些plc提供了丰富的高级数学运算指令集,用户可以通过编程软件直接调用这些指令进行计算。例如,某些plc提供了矩阵运算指令、fft指令等,用户可以将需要计算的数据传递给指令,plc会在内部执行相应的计算并返回结果。

4、(2)函数库方式:plc编程软件中通常提供了丰富的函数库,包括各种高级数学运算函数。用户可以在编程软件中调用这些函数进行计算。例如,某些plc编程软件提供了矩阵运算函数库、多项式计算函数库等,用户可以将需要计算的数据作为函数参数传递给相应的函数进行计算。

5、(3)自定义算法方式:对于不支持直接调用高级数学运算指令或函数的plc,用户可以通过编写自定义算法实现高级数学运算。例如,可以使用基本数学运算指令和逻辑控制指令组合实现复杂的数学运算过程。这需要用户具备一定的编程能力和数学基础。

6、(4)外部扩展模块方式:对于需要进行更复杂数学运算的应用场景,可以通过添加外部扩展模块的方式实现。外部扩展模块可以提供更强大的计算能力和更多的数学运算功能。例如,某些plc支持通过添加数学运算模块、图像处理模块等扩展模块实现更高级的数学运算和图像处理功能。

7、现有实现方式的缺点:

8、(1)编程复杂:由于plc编程需要考虑多种设备和逻辑的组合,编写的程序较为复杂,需要掌握较多的编程技巧和知识。这对plc编程人员的要求较高,增加了编程的难度。

9、(2)适用性限制:不同型号的plc可能具有不同的高级数学运算功能和实现方式,用户需要根据具体的plc型号和编程软件选择合适的方式实现所需的高级数学运算功能。同时,对于需要进行更复杂数学运算的应用场景,可能需要通过添加外部扩展模块的方式实现,这可能会增加系统的复杂性和成本。

10、(3)调试困难:由于plc编程的复杂性和高级数学运算的复杂性,当程序出现错误或异常时,调试可能会比较困难。需要编程人员具备较高的技术水平和实践经验,才能快速定位和解决问题。

11、(4)软件工具的限制:plc的编程软件可能不包含用于高级数学运算的所有必要工具。这可能需要开发人员手动编写算法,或者寻找第三方软件库来执行所需的计算。

12、(5)算法优化的挑战:在plc中实现高级数学运算时,可能需要优化算法以提高性能。这可能需要开发人员具备深入的数学知识,以及优化算法的经验。

13、(6)错误处理和异常情况的考虑:在plc中实现高级数学运算时,需要考虑到错误处理和异常情况的处理。例如,如果输入数据无效或计算结果超出预期范围,plc应如何响应?这需要开发人员在编程时考虑到这些情况,并编写适当的错误处理代码。

14、(7)维护和升级的困难:随着技术的不断进步,可能需要升级或替换现有的plc硬件和软件以支持更高级的数学运算。这可能需要开发人员花费大量的时间和精力来升级和维护plc系统。


技术实现思路

1、本专利技术拟提供一种用于工业控制的图形化高级数学运算编程编译系统及方法。通过研究可集成在plc编程软件中的图形化高级数学运算编程编译系统,提出一种用于工业控制的图形化高级数学运算编程编译方法,降低plc中高级数学运算的编程复杂度,减少开发、调试和异常处理数学运算的困难程度,突破软件工具的限制,更具扩展性,提升更复杂数学运算的应用场景的适用性,提高在工业控制系统中采用数学公式编程的易用性。

2、本专利技术的目的之一在于提供一种图形化高级数学运算编程编译系统,其能够提供高级数学运算的图形化编程平台,并编译成可在plc中运行的目标程序。

3、本专利技术的另一方面目的在于提供一种图形化高级数学运算编程编译系统及方法,其能够支持一般数学公式、矩阵编程、多项式、微积分方程等复杂数学运算,并通过编译后支持不同的目标平台。

4、本专利技术的另一方面目的在于提供一种图形化高级数学运算编程编译系统及方法,其能够实现高级数学运算的分解和调试功能。

5、本专利技术的另一方面目的在于提供一种图形化高级数学运算编程编译系统及方法,其能够进行错误处理和异常情况检查。

6、本专利技术的另一方面目的在于提供一种图形化高级数学运算编程编译系统及方法,其能够直接集成在plc编程软件中,无需plc再扩展多个外部模块,无需用户在多个开发工具中切换,无需频繁的升级plc控制器或编程软件。

7、本专利技术的各方面和优点将部分地在以下描述中阐述,或可从所述描述显而易见,或可通过本专利技术的实践而得知。

8、本专利技术提供一种用于工业控制的图形化高级数学运算编程编译系统,包括高级数学运算图形化编程组件、工控程序关联配置组件、数学运算语法分析组件、运算优化分解组件、运算编译组件、异常处理和调试组件;其中,<本文档来自技高网...

【技术保护点】

1.一种用于工业控制的图形化高级数学运算编程编译系统,包括高级数学运算图形化编程组件、工控程序关联配置组件、数学运算语法分析组件、运算优化分解组件、运算编译组件、异常处理和调试组件;其中,

2.根据权利1要求,所述运算识别单元将所述数学运算程序进行符号识别生成符号流;所述运算解析单元将所述符号流根据数学语法解析成为对应的函数和操作符,转化为ST语言可识别的语法格式;所述运算转换单元确定变量类型,选择适用于PLC程序的合适变量类型,用ST语言的运算符号替换数学符号,处理括号,确保优先级正确的执行计算,将所述数学函数转换为控制器可识别的等效函数。最终生成直接ST语言程序。

3.一种用于工业控制的图形化高级数学运算编程编译方法,其特征在于包括如下步骤:

【技术特征摘要】

1.一种用于工业控制的图形化高级数学运算编程编译系统,包括高级数学运算图形化编程组件、工控程序关联配置组件、数学运算语法分析组件、运算优化分解组件、运算编译组件、异常处理和调试组件;其中,

2.根据权利1要求,所述运算识别单元将所述数学运算程序进行符号识别生成符号流;所述运算解析单元将所述符号流根据数学语法解析成为对应的函数和...

【专利技术属性】
技术研发人员:赵德政郭肖旺赵奇伟郭传伟张聪霍书侠王成海
申请(专利权)人:中电智能科技有限公司
类型:发明
国别省市:

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

1