一种基于风力发电机组PLC的通用控制开发方法及系统与流程
本发明涉及风电机组控制的,尤其是指一种基于风力发电机组plc的通用控制开发方法及系统。
背景技术:
1、运行时系统runtime是运行在工业控制设备操作系统之上的软件。runtime接收集成开发环境ide开发的控制程序,在runtime中执行这些程序。同时实现了对软件运行状态的实时监控,还负责管理与连接到系统的硬件设备的接口,支持工业通信协议,如profinet、ethercat等。使得控制程序能够与其他设备或系统交换数据,实现控制功能。
2、随着现在风力发电机组及工业控制技术的发展,能够适配风机的plc各类越来越多。但不同厂家的控制器使用不同的软件运行时系统,且由于不同厂家控制器往往使用不同工业控制总线、cpu类型、开发环境ide及操作系统。软件的运行时系统不能相互兼容,导致在风机控制程序开发时,对于相同的功能,在不同的plc中需要按各厂家的runtime和ide技术路线,重复开发测试,这对风机的控制程序开发测试时效及人力成本都是极大的挑战。同时对于不同io配置的风机主控程序,传统方案中ide绑定io配置与主控程序,io配置增多时,需要多个项目工程,程序难以统一维护。此外,国外厂商对于runtime的使用需要单独收取软件授权费用,且费用占比较高。
3、在中国发明专利申请cn117231416a中,公开了一种基于自主可控plc的风力发电机组主控系统及控制方法。采集风力发电机组的主要参数数据,对采集的风力发电机组主要参数数据进行预处理,对发电机组各个子系统进行分析,利用主控控制策略,对不同功率段的风机主控系统进行控制,加入故障诊断和保护机制,应对异常情况,并设计与上位监控系统、远程控制系统的通信,实时监测主要参数数据,用于运维管理和故障诊断,通过对风力发电机叶轮旋转速度和桨距的实时控制调节,提高了发电效率,达到了最佳发电效率,并能够高效利用风能。此发明专利只涉及风机控制软件上层设计,不涉及风机控制软件运行环境runtime。
4、在中国发明专利申请cn115453961a中,公开了一种风力发电机组plc自主可控方法,根据现有sl1500风电机组abb plc机型的控制原理,结合自主可控plc硬件特征和软件编程平台,设计一套可应用于现有sl1500风电机组的plc自主可控方法,用以实现sl1500风电机组主控系统plc硬件100%国产化和软件100%国产化。此发明专利是参照abb plc重新设计实现一种自主可控的plc,不涉及多种plc软件开发兼容性问题。
技术实现思路
1、本发明的目的在于克服现有技术的不足,提出了一种基于风力发电机组plc的通用控制开发方法及系统,统一风力发电机组控制程序的开发方式,兼容多种plc;设计一种跨平台运行时系统,能够适配多种不同的cpu架构;同时硬件配置与控制程序分离,实现主控程序统一,降低维护成本。
2、本发明的目的通过下述技术方案实现:一种基于风力发电机组plc的通用控制开发方法,该方法是应用统一集成开发环境编写风力发电机组的主控源代码并加载导入的配置文件,由统一集成开发环境实现兼容多种语言的代码编写、编译并调试;使用跨平台运行时系统替代风力发电机组plc中的原运行时系统;其中,所述跨平台运行时系统对主控源代码经编译后得到主控程序,所述跨平台运行时系统包括用户接口组件、核心组件以及系统接口组件,用于启动主控程序与通信服务;主控程序加载并解析配置文件,再根据配置文件中预设的映射启动相应的总线协议栈,实现风力发电机组的主控与总线配置的解耦。
3、进一步,所述跨平台运行时系统执行以下操作:
4、执行初始化流程,包括检测系统设置、加载系统组件、加载其他组件、加载主控程序、根据主控程序内任务参数配置创建用户任务、启动主控程序运行以及启动跨平台运行时系统与统一集成开发模块的通信服务,最后完成跨平台运行时系统启动。
5、进一步,所述统一集成开发环境执行以下操作:
6、项目配置,根据目标风力发电机组plc的cpu和操作系统匹配编译器以及选择开发语言;
7、任务创建,根据实际需求能够创建基本任务,基本任务包括周期循环任务、事件触发任务以及自由运行任务;周期循环任务按设定周期时间循环调用,同时设置看门狗,当任务实际执行周期超过设置的看门狗时间后停止任务,当任务实际执行周期不超过设置的看门狗时间则继续任务;事件触发任务绑定事件触发变量,变量由0变为1的上升沿时触发任务;自由运行任务由系统自由调度任务重复执行;对每种基本任务设置优先级,高优先级的基本任务抢占低优先级的基本任务,在同一个cpu内核中,优先级相同的任务则被交替处理,每个基本任务均被分配到一个时间片,并在该时间片内被激活,时间片结束后,列表中的下一个基本任务将被激活;
8、设备通讯,统一集成开发环境实现对运行有跨平台运行时系统的设备进行设备扫描,包括任务监控、在线调试、程序下载以及实时日志;其中,任务监控为查看任务运行实时周期、抖动;在线调试为进行断点调试,在线变量监控;程序下载为在程序编译后自动下载到plc中,由跨平台运行时系统自动调用;实时日志为通过跨平台运行时系统的日志文件组件实时接收日志记录。
9、进一步,所述跨平台运行时系统包括应用程序组件,执行以下操作:应用程序组件预设有应用管理逻辑,用于处理与统一集成开发环境之间的应用程序服务、所有应用程序的管理数据以及判断所有应用程序的当前状态,若应用程序已加载且存在与其相关的其它应用程序,则启动该应用程序;若应用程序产生异常,则控制应用程序将进入停止状态,并记录异常产生的原因;每个应用程序均能够独立加载和运行,每个应用程序定义至少一个任务,根据任务属性处理任务,所有应用程序的任务均存放在预设的公共任务池中管理,任务的时间控制由运行时系统的调度程序执行。
10、一种基于风力发电机组plc的通用控制开发系统,用于实现上述基于风力发电机组plc的通用控制开发方法,包括:
11、统一集成开发环境,用于编写风力发电机组的主控源代码并加载输入的配置文件;
12、主控模块,内置有跨平台运行时系统,由跨平台运行时系统接收与加载集成开发模块的主控源代码,并与总线协议栈模块通信连接;其中,所述跨平台运行时系统对主控源代码经编译后得到主控程序,所述跨平台运行时系统包括用户接口组件、核心组件以及系统接口组件,用于启动主控程序与通信服务;
13、总线协议栈模块,根据主控模块的通信启动,最终实现对风力发电机组的控制。
14、进一步,所述用户接口组件包括任务服务接口、总线服务接口、数据服务接口、设备服务接口、日志服务接口以及通信服务接口,用于提供统一上层接口;
15、所述核心组件包括配置文件组件、日志文件组件、总线管理组件、事件管理组件、设备管理组件以及任务管理组件,用于实现主控模块的核心功能;
16、所述系统接口组件包括文件系统组件、内存管理组件、网络接口组件、任务调度组件、线程同步组件以及cpu架构组件,用于提供统一底层接口,实现对接入的操作系统的api封装。
17、进一步,所述跨平台运行时系统包括应用程序组件,执行以下操作:应用程序组件预设有应用管理逻辑,用于处理与统一集成开发环境之间的应用程序服务、所有应用程序的管理数据以及判断所有应用程序的当前状态,若应用程序已加载且存在与其相关的其它应用程序,则启动该应用程序;若应用程序产生异常,则控制应用程序将进入停止状态,并记录异常产生的原因;每个应用程序均能够独立加载和运行,每个应用程序定义至少一个任务,根据任务属性处理任务,所有应用程序的任务均存放在预设的公共任务池中管理,任务的时间控制由运行时系统的调度程序执行。
18、进一步,该系统执行以下操作:
19、配置文件通过硬件组态进行硬件配置并导出,由主控程序加载启动,实现硬件组态和主控程序解耦,以保持主控程序的统一;硬件组态包括总线配置、选择总线类型、修改模块名称、模块参数配置以及配置文件导出;主控程序进行配置文件加载和解析,获取总线和模块配置数据,并与程序内变量进行映射,根据实际网络设备进行总线绑定,最后启动总线运行,完成对总线上各模块数据的读写。
20、一种存储有指令的非暂时性计算机可读介质,当所述指令由处理器执行时,执行上述基于风力发电机组plc的通用控制开发方法的步骤。
21、一种计算设备,包括处理器以及用于存储处理器可执行程序的存储器,所述处理器执行存储器存储的程序时,实现上述基于风力发电机组plc的通用控制开发方法。
22、本发明与现有技术相比,具有如下优点与有益效果:
23、本发明中使用跨平台运行时系统runtime替代各平台原plc中的运行时系统runtime,同时使用统一集成开发环境ide进行风力发电机组的主控程序的开发,总线配置分离的方式实现了风力发电机组主控程序开发、维护过程的统一。减少了风机主控程序开发的人工成本和时间成本。同时,软件层面实现了自主可控,降低风力发电机组控制系统成本。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com