控制器程序的生成方法、生成装置、控制器和存储介质
文献发布时间:2024-04-18 19:58:30
技术领域
本发明涉及工业自动化技术领域,特别涉及一种控制器程序的生成方法、控制器程序的生成装置、可编程逻辑控制器和计算机可读存储介质。
背景技术
在工业自动化领域,控制程序的编写是一个重要的任务。传统的控制程序编写方法需要经验丰富的工程师进行手动编写,这种方法效率低、成本高、容易出现错误。
随着近年人工智能技术的发展,在相关技术中,通常是利用人工智能基于模板数据库对当前工程进行模板匹配,从数据库中选取最接近的代码,其本质是数据库匹配的方式,然而,这样获取的代码无法从方案本身生成工程代码,导致生成的控制程序无法满足用户需求。
发明内容
有鉴于此,本发明的实施例提供了一种控制器程序的生成方法、控制器程序的生成装置、可编程逻辑控制器和计算机可读存储介质。
本申请实施方式的控制器程序的生成方法,所述生成方法包括:
通过生成式人工智能根据输入的框架描述信息构建任务工程的程序主题框架,所述程序主题框架定义了任务和所述任务的程序组织单元;
对所述任务工程进行格式转换处理,生成工业自动化编程标准格式的目标任务工程;
通过所述生成式人工智能根据所述程序组织单元的程序描述信息生成所述程序组织单元的程序代码;
对所述程序代码进行格式转换处理,生成工业自动化编程标准格式的目标代码;
根据所述目标代码和所述目标任务工程生成所述控制器程序。
在某些实施方式中,所述对所述任务工程进行格式转换处理,生成工业自动化编程标准格式的目标任务工程,包括:
通过编译器检查所述任务工程的格式,并解析所述任务工程,生成多个功能模块;
分别对每个所述功能模块进行格式转换处理,生成工业自动化编程标准格式的目标功能模块。
在某些实施方式中,所述通过所述生成式人工智能根据所述程序组织单元的程序描述信息生成所述程序组织单元的程序代码,包括:
根据所述程序组织单元的输入信息和输出信息构建所述程序描述信息;
将所述程序描述信息输入至所述生成式人工智能以生成所述程序组织单元的程序代码。
在某些实施方式中,所述通过所述生成式人工智能根据所述程序组织单元的程序描述信息生成所述程序组织单元的程序代码,包括:
通过程序开发工具定义所述程序组织单元的输入信息和输出信息以编译生成编译文件;
根据所述编译文件构建所述程序描述信息;
将所述程序描述信息输入至所述生成式人工智能以生成所述程序组织单元的程序代码。
在某些实施方式中,所述生成方法还包括:
检验所述程序主题框架的生成结果;
在所述程序主题框架不符合规定的情况下,更新所述框架描述信息;
通过生成式人工智能根据更新后的所述框架描述信息构建任务工程的程序主题框架。
在某些实施方式中,所述生成方法还包括:
检验所述程序代码的生成结果;
在所述程序代码不符合规定的情况下,更新所述程序描述信息;
通过生成式人工智能根据更新后的所述程序描述信息构建任务工程的程序代码。
在某些实施方式中,所述生成方法还包括:
运行所述控制器程序;
根据所述控制器程序的运行结果对所述控制器程序进行调试以修正所述控制器程序。
本申请实施方式的控制器程序的生成装置,所述生成装置包括:
构建模块,用于通过生成式人工智能根据输入的框架描述信息构建任务工程的程序主题框架,所述程序主题框架定义了任务和所述任务的程序组织单元;
第一格式转换模块,用于对所述任务工程进行格式转换处理,生成工业自动化编程标准格式的目标任务工程;
第一生成模块,用于通过所述生成式人工智能根据所述程序组织单元中的程序描述信息生成所述程序组织单元的程序代码;
第二格式转换模块,用于对所述程序代码进行格式转换处理,生成工业自动化编程标准格式的目标代码;
第二生成模块,用于根据所述目标代码和所述目标任务工程生成所述控制器程序。
本申请实施方式的可编程逻辑控制器,包括处理器和存储器,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器实现上述任一项所述的控制器程序的生成方法的指令。
本申请实施方式的包含计算机程序的非易性计算机可读存储介质,当所述计算机程序被处理器执行时,使得所述处理器实现上述任一项所述的控制器程序的生成方法。
本申请的控制器程序的生成方法中,通过在生成式人工智能中输入描述信息可以生成任务工程的程序主题框架,使得生成式人工智能生成的任务工程满足用户需求,并将任务工程转换为满足工业自动化编程标准格式的目标任务工程,然后在生成式人工智能中描述任务工程中的程序组织单元,生成满足用户需求的程序代码,并将程序代码转换为满足自动化编程标准格式的目标代码,从而根据目标任务工程和目标代码生成控制器程序,如此,控制器程序的代码是根据用户需求通过生成式人工智能生成的,使得控制器程序满足用户需求。
本申请实施方式的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变的明显,或通过本申请的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变的明显和容易理解,其中:
图1是本发明某些实施方式的控制器程序的生成方法的流程示意图;
图2是本发明某些实施方式的控制器程序的生成装置的模块示意图;
图3是本发明某些实施方式的生成式人工智能的示意图;
图4是本发明某些实施方式的程序主题框架的示意图;
图5是本发明某些实施方式的生成式人工智能的示意图;
图6是本发明某些实施方式的格式转换的示意图;
图7是本发明某些实施方式的控制器程序的生成方法的流程示意图;
图8是本发明某些实施方式的控制器程序的生成方法的流程示意图;
图9是本发明某些实施方式的控制器程序的生成方法的流程示意图;
图10是本发明某些实施方式的控制器程序的生成方法的流程示意图;
图11是本发明某些实施方式的控制器程序的生成方法的流程示意图;
图12是本发明某些实施方式的更新程序描述的对比示意图;
图13是本发明某些实施方式的控制器程序的生成方法的流程示意图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接或可以相互通讯;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。
下文的公开提供了许多不同的实施方式或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。此外,本发明提供了的各种特定的工艺和材料的例子,但是本领域普通技术人员可以意识到其他工艺的应用和/或其他材料的使用。
请参阅图1,本申请提供了一种控制器程序的生成方法,生成方法包括:
S10:通过生成式人工智能根据输入的框架描述信息构建任务工程的程序主题框架,程序主题框架定义了任务和任务的程序组织单元;
S20:对任务工程进行格式转换处理,生成工业自动化编程标准格式的目标任务工程;
S30:通过生成式人工智能根据程序组织单元的程序描述信息生成程序组织单元的程序代码;
S40:对程序代码进行格式转换处理,生成工业自动化编程标准格式的目标代码;
S50:根据目标代码和目标任务工程生成控制器程序。
请参阅图2,本申请还提供了一种控制器程序的生成装置100,生成装置100包括构建模块10、第一格式转换模块20、第一生成模块30、第二格式转换模块40和第二生成模块50,S10可以由构建模块10实现,S20可以由第一格式转换模块20实现,S30可以由第一生成模块30实现,S40可以由第二格式转换模块40实现,S50可以由第二生成模块50实现,也即是,构建模块10用于通过生成式人工智能根据输入的框架描述信息构建任务工程的程序主题框架,程序主题框架定义了任务和任务的程序组织单元,第一格式转换模块20用于对任务工程进行格式转换处理,生成工业自动化编程标准格式的目标任务工程,第一生成模块30用于通过生成式人工智能根据程序组织单元的程序描述信息生成程序组织单元的程序代码,第二格式转换模块40用于对程序代码进行格式转换处理,生成工业自动化编程标准格式的目标代码,第二生成模块50用于根据目标代码和目标任务工程生成控制器程序。
本申请还提供了一种可编程逻辑控制器,可编程逻辑控制器包括处理器和存储器,存储器存储有计算机程序,当计算机程序被处理器执行的情况下,处理器用于实现上述的控制器程序的生成方法,也即是,处理器用于通过生成式人工智能根据输入的框架描述信息构建任务工程的程序主题框架,程序主题框架定义了任务和任务的程序组织单元,及用于对任务工程进行格式转换处理,生成工业自动化编程标准格式的目标任务工程,及用于通过生成式人工智能根据程序组织单元的程序描述信息生成程序组织单元的程序代码,及用于对程序代码进行格式转换处理,生成工业自动化编程标准格式的目标代码,以及用于根据目标代码和目标任务工程生成控制器程序。
控制器程序是用于控制工业设备和过程的程序,通常使用可编程逻辑控制器(PLC)来编写和实现。PLC是一种专门为工业环境设计的数字计算机,它使用可编程存储器存储用户程序,通过输入/输出(I/O)接口与工业生产过程中的各种开关、传感器、马达、阀门等设备进行通信,实现生产过程的自动化控制。
生成式人工智能(ArtificialIntelligenceGeneratedContent,AIGC)是指基于生成对抗网络、大型预训练模型等人工智能的技术方法,通过已有数据的学习和识别,以适当的泛化能力生成相关内容的技术,生成式人工智能可以基于训练数据和生成算法模型,自主生成创造新的文本、图像、音乐、视频、3D交互内容等各种形式的内容和数据。
程序组织单元(Programming Organisation Unit,POU)是标准中定义的五种语言的通用模型,POU可以是函数块、程序、函数或方法,POU是可重用的代码单元,可以在程序中多次调用。PLC程序通常由多个POU组成,每个POU都有自己的输入和输出,可以与其他POU进行交互。POU可以包含逻辑、算法和数据定义,可以实现各种控制任务。
工业自动化编程标准格式可以为IEC61131-3,工业自动化编程标准格式是用于规范PLC、DCS、IPC、CNC和SCADA的编程系统的标准,在PLC方面,编辑软件只需符合IEC 61131-3国际标准规范,便可借由符合各项标准的语言架构,进而能建立任何人皆可了解的程序。
具体地,首先,用户可以在集成开发环境(IntegratedDevelopmentEnvironment,IDE)中新建一个任务工程,IDE可以是一种软件工具,IDE用于提供编程开发环境,帮助程序员编写、调试和测试计算机程序。IDE通常包括文本编辑器、编译器、调试器和其他开发工具,例如代码版本控制系统和自动化测试工具。IDE集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套,所有具备这一特性的软件或者软件组都可以叫IDE,常见的IDE工具有Pycharm、VisualStudioCode等。
其次,用户可以在AIGC中输入框架描述信息,使得AIGC可以生成构建任务工程的程序主题框架的代码,例如,请结合图3,用户可以在AIGC中输入:“生成一个水流控制器程序,并分解成多个模块,每个模块用PROGRAM和END_PROGRAM包装”,使得AIGC可以生成如图4所示的任务工程程序主题框架,程序主题框架定义了主程序模块、输入模块、控制模块等多个程序组织单元,并定义了每个程序组织单元的任务,如主程序模块用于整合其它模块并控制整个水流控制器程序的流程,输入模块用于接收用户输入的流量、压力等参数,控制模块用于根据用户输入的参数控制水泵、阀门等设备的开关状态。其中,AIGC生成的程序符合IEC61131-3标准,每个程序组织单元PROGRAM定义任务的开始,并由END_PROGRAM定义任务的结束。
再次,由AIGC生成的任务工程程序主题框架代码可以应用于集成开发环境中新建的任务工程,以生成目标任务工程,由于AIGC生成的代码为IEC61131-3标准格式,在AIGC生成的主体框架应用至集成开发环境的过程中,集成开发环境可以将IEC61131-3标准格式转换为PLCopenXML格式,从而生成PLCopenXML格式的目标任务工程。其中,PLCopenXML格式是IEC61131-3标准的一部分,具体来说,PLCopenXML是一种基于XML的数据格式,用于IEC61131-3标准的程序项目的导入和导出。PLCopenXML格式可以促进不同编程环境下的数据交换,使得使用IEC61131-3标准的项目可以在不同的编程工具或平台上使用。
进一步地,用户可以在AIGC中描述每个程序组织单元的程序描述信息,使得AIGC可以根据程序描述信息生成程序组织单元的程序代码,例如,请结合图5,用户可以在AIGC中输入:“控制模块根据用户输入的参数控制水泵、阀门等设备的开关状态”,使得AIGC可以生成控制模块的程序代码。进而,分别描述主程序模块、输入模块等程序组织单元的程序描述信息,可以生成每个程序组织单元的程序代码并应用于集成开发环境。
值得说明的是,请结合图6,AIGC生成的程序代码同样为IEC61131-3标准格式,将AIGC生成的程序代码应用至集成开发环境需要进行格式转换处理,以生成目标代码,目标代码为PLCopenXML格式。
最后,在集成开发环境中结合目标任务工程和目标代码,从而生成控制器程序,例如,将控制模块的目标代码填充至控制模块的程序组织单元中,使得控制模块可以根据目标代码的运行逻辑运行,将输入模块的目标代码填充至输入模块的程序组织单元中,使得输入模块可以根据目标代码的运行逻辑运行,也即是,将所有的目标代码填充至对应的程序组织单元,从而生成水流控制器程序。
本申请的控制器程序的生成方法中,通过在生成式人工智能中输入描述信息可以生成任务工程的程序主题框架,使得生成式人工智能生成的任务工程满足用户需求,并将任务工程转换为满足工业自动化编程标准格式的目标任务工程,然后在生成式人工智能中描述任务工程中的程序组织单元,生成满足用户需求的程序代码,并将程序代码转换为满足自动化编程标准格式的目标代码,从而根据目标任务工程和目标代码生成控制器程序,如此,控制器程序的代码是根据用户需求通过生成式人工智能生成的,使得控制器程序满足用户需求。
请参阅图7,在某些实施方式中,S20包括:
S21:通过编译器检查任务工程的格式,并解析任务工程,生成多个功能模块;
S22:分别对每个功能模块进行格式转换处理,生成工业自动化编程标准格式的目标功能模块。
在某些实施方式中,S21和S22可以由第一格式转换模块20实现,也即是,第一格式转换模块20用于通过编译器检查任务工程的格式,并解析任务工程,生成多个功能模块,以及用于分别对每个功能模块进行格式转换处理,生成工业自动化编程标准格式的目标功能模块。
在某些实施方式中,处理器用于通过编译器检查任务工程的格式,并解析任务工程,生成多个功能模块,以及用于分别对每个功能模块进行格式转换处理,生成工业自动化编程标准格式的目标功能模块。
集成开发环境中设置有编译器,编译器可以把源代码翻译成目标语言的机器代码,从而实现程序的运行。编译器通常分为前端和后端两部分,前端负责词法分析、语法分析、语义分析和中间代码生成等,后端负责目标代码优化、目标代码生成等。编译器通常用于将高级语言程序翻译成低级语言程序,以增加程序的可移植性和可维护性,使得软件开发变得更加高效、便捷和准确。
具体地,当生成式人工智能完成任务工程的程序主题框架时,生成式人工智能可以将任务工程的程序主体框架应用至集成开发环境中,由于生成式人工智能生成的代码为IEC61131-3标准格式,应用于集成开发环境中时需要转换成为PLCopenXML格式,因此,首先可以通过编译器的前端对任务工程的IEC61131-3标准格式代码进行词法分析和语法分析等,以检测任务工程的代码是否符合IEC61131-3标准格式要求,然后对任务工程进行解析,以生成多个功能模块,例如,可以将任务工程解析成主程序模块、输入模块和控制模块等。并采用编译器的后端分别对每个功能模块进行格式转换,以生成工业自动化编程标准格式的目标功能模块,也即是,将IEC61131-3标准格式的功能模块转换为PLCopenXML格式的目标功能模块。
如此,采用编译器检测任务工程的代码,确定任务工程的代码符合IEC61131-3标准格式要求,并对任务工程进行解析,可以将任务工程解析成多个功能模块,由于集成开发环境运行工业自动化编程标准格式,因此利用编译器将每个功能模块进行格式转换,生成工业自动化编程标准格式的目标功能模块,使得功能模块的代码格式可以应用于集成开发环境。
请参阅图8,在某些实施方式中,S30包括:
S31:根据程序组织单元的输入信息和输出信息构建程序描述信息;
S32:将程序描述信息输入至生成式人工智能以生成程序组织单元的程序代码。
在某些实施方式中,S31和S32可以由第一生成模块30实现,也即是,第一生成模块30用于根据程序组织单元的输入信息和输出信息构建程序描述信息,以及用于将程序描述信息输入至生成式人工智能以生成程序组织单元的程序代码。
在某些实施方式中,处理器用于根据程序组织单元的输入信息和输出信息构建程序描述信息,以及用于将程序描述信息输入至生成式人工智能以生成程序组织单元的程序代码。
具体地,程序组织单元的数量为多个,例如,程序组织单元可以包括主程序模块、输入模块和控制模块等,以控制模块示例,控制模块的输入信息可以为用户输入的参数,输出信息为水泵和阀门等设备的开关状态,根据控制模块的输入信息和输出信息可以构建控制模块的程序描述信息,请结合图5,将程序描述信息输入至生成式人工智能中,生成式人工智能可以生成控制模块的程序代码,从而将程序代码应用至集成开发环境中,使得控制模块可以根据程序代码的运行逻辑运行。根据上述实施方式,分别根据主程序模块、输入模块等多个程序组织单元的输入信息和输出信息构建程序描述信息,并分别输入至生成式人工智能,从而生成对应的程序代码,将程序代码应用至集成开发环境中,从而生成控制器程序。
如此,根据程序组织单元的输入信息和输出信息构建程序描述信息,并将程序描述信息输入至生成式人工智能,使得生成式人工智能可以根据程序描述信息生成程序组织的程序代码,生成式人工智能从用户的需求出发以标准格式生成程序代码,使得构建的程序组织单元满足用户需求。
请参阅图9,在某些实施方式中,S30包括:
S33:通过程序开发工具定义程序组织单元的输入信息和输出信息以编译生成编译文件;
S34:根据编译文件构建程序描述信息;
S35:将程序描述信息输入至生成式人工智能以生成程序组织单元的程序代码。
在某些实施方式中,S33、S34和S35可以由第一生成模块30实现,也即是,第一生成模块30用于通过程序开发工具定义程序组织单元的输入信息和输出信息以编译生成编译文件,及用于根据编译文件构建程序描述信息,以及用于将程序描述信息输入至生成式人工智能以生成程序组织单元的程序代码。
在某些实施方式中,处理器用于通过程序开发工具定义程序组织单元的输入信息和输出信息以编译生成编译文件,及用于根据编译文件构建程序描述信息,以及用于将程序描述信息输入至生成式人工智能以生成程序组织单元的程序代码。
具体地,程序开发工具可以为IDE,IDE可以提供编程开发环境,帮助程序员编写、调试和测试计算机程序,例如,IDE工具可以为Pycharm、VisualStudioCode等,也即是,用户可以在IDE中定义每个程序组织单元的输入信息和输出信息,例如,控制模块的输入信息可以是用户输入的参数,输出信息可以为对应参数下水泵和阀门的开闭状态。用户还可以通过IDE将输入信息和输出信息进行编程以生成编程代码。
进一步地,用户可以将编程代码进行编译生成编译文件,也即是,将用户编辑的编程代码转换为可执行的代码文件,从而使得用户可以根据编译文件构建程序组织单元的程序描述信息,并将程序描述信息输入至生成式人工智能,程序描述信息定义了程序组织单元的功能,生成式人工智能可以根据程序描述信息生成程序组织单元的程序代码,进而将IEC61131-3标准格式的程序代码转换为PLCopenXML格式,并替换程序组织单元中的节点,使得程序组织单元可以在IDE中运行。
如此,通过程序开发工具定义程序组织单元的输入信息和输出信息可以确定程序组织单元的内容,将程序组织单元编译生成编译文件,使得用户可以根据编译文件构建程序描述信息,通过程序描述信息定义程序组织单元的功能,从而通过生成式人工智能生成程序代码,以实现程序组织单元的功能。
请参阅图10,在某些实施方式中,生成方法还包括:
S61:检验程序主题框架的生成结果;
S62:在程序主题框架不符合规定的情况下,更新框架描述信息;
S63:通过生成式人工智能根据更新后的框架描述信息构建任务工程的程序主题框架。
在某些实施方式中,处理器用于检验程序主题框架的生成结果,及用于在程序主题框架不符合规定的情况下,更新程序描述信息,以及用于通过生成式人工智能根据更新后的框架描述信息构建任务工程的程序主题框架。
具体地,在生成式人工智能根据用户输入的框架描述信息生成程序主体框架后,可以检验生成的程序主题框架是否符合规定,若程序主体框架不符合规定,更新框架描述信息,例如,请结合图3,在生成式人工智能生成程序主体框架后,用户可以检验程序主体框架的生成结果,判断程序主体框架是否满足需求,如用户需要程序主体框架中包括主程序模块、输入模块和控制模块,而已生成的程序主体框架仅包括主程序模块和控制模块,则确定程序主体框架不符合规定。在程序主体框架不符合规定的情况下,用户可以在生成式人工智能中修改框架描述信息,使得生成式人工智能生成的程序主体框架中包括主程序模块、输入模块和控制模块,从而满足程序主体框架的规定。
如此,通过检验程序主体框架的生成结果,可以从任务工程的程序主体框架阶段确定控制器程序的是否符合规定,并在不符合规定的情况下,更新框架描述信息,采用生成式人工智能重新构建程序主体框架,使得程序主体框架满足用户需求,从而生成用户期望的控制器程序。
请参阅图11和图12,在某些实施方式中,生成方法还包括:
S71:检验程序代码的生成结果;
S72:在程序代码不符合规定的情况下,更新程序描述信息;
S73:通过生成式人工智能根据更新后的程序描述信息构建任务工程的程序代码。
在某些实施方式中,处理器用于检验程序代码的生成结果,及用于在程序代码不符合规定的情况下,更新程序描述信息,以及用于通过生成式人工智能根据更新后的程序描述信息构建任务工程的程序代码。
具体地,在通过生成式人工智能根据程序描述信息生成程序组织单元的程序代码后,用户可以检测程序代码是否符合规定,例如,检验控制模块的程序代码是否可以根据用户输入的参数控制水泵和阀门等设备的开关状态。在程序代码不符合规定的情况下,更新程序描述信息,例如,初始程序描述信息可以为“根据用户输入的参数控制水泵的开关状态”,用户可以将初始程序描述信息修改为“根据用户输入的参数控制水泵、阀门的开关状态”,使得生成式人工智能根据更新后的程序描述信息构建的程序代码符合规定。
在某些实施方式中,由生成式人工智能生成的程序组织单元中的各模块代码是由“PROGRAM”定义开始,并由“END_PROGRAM”定义结束,用户通过观察各个模块的代码判断是否符合规定,如不符合规定,用户可以更新程序描述信息,如“每个模块用PROGRAM和END_PROGRAM包装”,并通过生成式人工智能根据更新后的程序描述信息构建程序代码,使得每个模块的代码符合规定。
如此,在生成式人工智能生成程序代码后,用户可以检验程序代码是否符合规定,并在程序代码不符合规定的情况下更新程序描述信息,使得生成式人工智能可以根据更新后的程序描述信息重新生成程序代码,使得生成式人工智能生成的程序代码满足用户需求,从而使得控制器程序满足用户需求。
请参阅图13,在某些实施方式中,生成方法还包括:
S81:运行控制器程序;
S82:根据控制器程序的运行结果对控制器程序进行调试以修正控制器程序。
在某些实施方式中,处理器用于运行控制器程序,及用于根据控制器程序的运行结果对控制器程序进行调试以修正控制器程序。
具体地,在生成控制器程序后,运行控制器程序,并观察控制器程序的运行结果,用户可以根据运行结果判断控制器程序是否需要修正,例如,在用户期望的水流控制器程序中,在用户输入第一预设值时,开启阀门,而控制器程序的运行结果中,用户输入第一预设值时,阀门处于关闭状态,可以确认控制器程序需要修正。
进一步地,根据控制器程序的运行结果确认控制器程序需要修改的位置,例如,需要修改的位置可以为程序主体框架和程序组织单元。根据上述实施例可以确定水流控制器程序需要修改的位置为程序组织单元中的控制模块,用户可以更新控制模块的程序描述信息,并由生成式人工智能重新生成控制模块的程序代码,使得控制模块满足用户需求,也即是,使得水流控制器程序满足用户需求。
在某些实施方式中,控制器程序还可以是程序主体框架需要修正,用户可以更新框架描述信息,使得生成式人工智能重新构建任务工程的程序主体框架,使得程序主体框架中定义的任务和程序组织单元满足用户需求。
如此,通过运行控制程序生成运行结果,并根据运行结果对控制器程序进行调试,在控制器程序不满足用户需求的情况下,修正控制器程序的程序主体框架和程序组织单元,使得控制器程序满足用户需求。
本申请还提供了一种包括计算机程序的非易失性计算机可读存储介质,计算机程序被处理器执行时,使得处理器执行上述任意一项的控制器程序的生成方法。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)等。
在本说明书的描述中,参考术语“一个实施方式”、“某些实施方式”、“示意性实施方式”、“示例”、“具体示例”、或“一些示例”等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
- 组装顺序生成装置、存储介质和组装顺序生成方法
- 图像生成方法、装置,图像显示方法、装置和存储介质
- 样本存储路径生成方法、装置、计算机设备及存储介质
- 报告生成方法及装置,存储介质,电子装置
- 图片生成方法和装置、存储介质及电子装置
- 可编程控制器用程序生成装置、方法及程序存储介质
- 可编程控制器用程序生成装置、方法及程序存储介质