一种基于AMBA总线的PLC程序调度器IP核制造技术

技术编号:11421580 阅读:121 留言:0更新日期:2015-05-06 23:20
本发明专利技术公开了一种基于AMBA总线的PLC程序调度器IP核,包括:AHB接口模块,AHB接口模块包括多个寄存器,控制器通过AMBA总线对寄存器配置任务信息、监控任务状态,任务信息包括程序段段号和数据段段号,基于AMBA总线的PLC程序调度器IP核将程序段段号和数据段段号提供给执行器以执行相应的任务;循环任务调度模块,连接AHB接口模块,用以调度循环任务;定时任务调度模块,连接AHB接口模块以及循环任务调度模块,用以调度定时任务以及挂起循环任务调度模块;中断任务调度模块,连接AHB接口模块、循环任务调度模块以及定时任务调度模块,用以调度中断任务、挂起循环任务调度模块以及挂起定时任务调度模块。

【技术实现步骤摘要】
一种基于AMBA总线的PLC程序调度器IP核
本专利技术涉及可编程逻辑控制器领域,特别涉及一种基于AMBA总线的PLC程序调度器IP核。
技术介绍
随着自动控制技术的发展,可编程逻辑控制器(PLC)已经越来越多的应用在各个行业领域中,标准化水平越来越高。目前,已形成了PLC控制器典型结构、编程语言、通信、用户使用导则等系列国际标准(IEC61131)。其中,以编程语言标准(IEC61131-3)最为广泛应用,所有可编程控制器均需要支持该标准支持的五种语言,包括IL、ST、LD、FBD和SFC。在以微程序控制器(MCU)为处理核心的PLC控制器结构中,无论是PLC的任务调度还是具体任务的执行,都是基于MCU和嵌入式运行系统工作的,PLC任务调度和执行时需要占用大量MCU的工作,而MCU通常还需要完成其它重要任务(如通讯、显示),PLC任务的执行和响应速度也因此受MCU其它工作的影响,难以保障其实时性和可靠性。为了有限地提高PLC任务处理性能,当前的PLC系统都在往更高级更快速的MCU方向上努力,但MCU的目标通用性势必就造成了这些高级MCU的很多功能部件的空闲和浪费。而且每一次提升MCU的同时,需要重新设计基于该MCU的PLC运行系统,升级成本大而性能提升有限。。
技术实现思路
本专利技术针对现有技术存在的上述不足,提供了一种基于AMBA总线的PLC程序调度器IP核。本专利技术通过以下技术方案实现:一种基于AMBA总线的PLC程序调度器IP核,通过AMBA总线连接控制器、执行器;基于AMBA总线的PLC程序调度器IP核包括:AHB接口模块,连接AMBA总线,AHB接口模块包括多个寄存器,控制器通过AMBA总线对寄存器配置任务信息、监控任务状态,任务信息包括程序段段号和数据段段号,基于AMBA总线的PLC程序调度器IP核将程序段段号提供给执行器以执行相应的任务,任务执行状态和新任务触发的剩余周期或时间;循环任务调度模块,连接AHB接口模块,用以调度循环任务;定时任务调度模块,连接AHB接口模块以及循环任务调度模块,用以调度定时任务以及挂起循环任务调度模块;中断任务调度模块,连接AHB接口模块、循环任务调度模块以及定时任务调度模块,用以调度中断任务、挂起循环任务调度模块以及挂起定时任务调度模块。较佳的,循环任务的任务信息包括:执行周期、任务状态、剩余空循次数;执行周期表示在多少次循环内执行一次循环任务,任务状态包括等待、就绪、运行、已运行、停止,剩余空循次数表示还需要多少次空闲循环才会启动一次循环任务。较佳的,在前一循环任务完成时,循环任务调度模块根据程序段号和剩余空循次数选择下一循环任务并启动执行,直至被定时任务调度模块或中断任务调度模块挂起,并在挂起撤消后继续运行。较佳的,定时任务的任务信息包括:定时时间、任务状态、剩余时间、优先级;以一个定时周期的整数倍为定时时间,每过定时时间执行一次定时任务,剩余时间表示定时任务还需要多少个定时周期才会运行,在执行过程中,若有中断任务或者更高优先级的定时任务,则挂起当前定时任务,在执行完中断任务或更高优先级的中断任务后再执行之前挂起的定时任务。较佳的,在每一定时任务的定时周期到达时,根据定时任务的优先级和剩余时间触发新定时任务的选择和执行。较佳的,中断任务的任务信息包括:中断源、任务状态、中断优先级;根据中断源选择对应的中断任务,在执行过程中,若有更高优先级的中断任务,则挂起当前中断任务,在执行完更高优先级的中断任务后再执行之前挂起的中断任务。本专利技术实现PLC任务的自动快速切换调度,从而大幅度提高PLC的处理性能。解放MCU工作负担,避免了依靠MCU处理而带来的性能影响和硬件相关等缺点,接口开放易移植。基于本专利技术,配合用硬件方式实现的IL语言程序执行模块,可以实现高速任务调度、程序执行、接口开放的SoC芯片,并基于此可以实现高性能的可编程控制器。附图说明图1所示的是本专利技术的结构示意图;图2所示的是循环任务调度模块的循环任务属性列表示意图;图3所示的是循环任务调度模块的工作流程图;图4所示的是定时任务调度模块的工作流程图;图5所示的是一实施例的调度流程示意图。具体实施方式以下将结合本专利技术的附图,对本专利技术实施例中的技术方案进行清楚、完整的描述和讨论,显然,这里所描述的仅仅是本专利技术的一部分实例,并不是全部的实例,基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术的保护范围。为了便于对本专利技术实施例的理解,下面将结合附图以具体实施例为例作进一步的解释说明,且各个实施例不构成对本专利技术实施例的限定。如图1所示,本专利技术提供的一种基于AMBA总线的PLC程序调度器IP核(以下简称IP核),通过AHB接口挂接在AMBA总线系统上,提供控制和状态寄存器作为操作接口。AMBA总线系统上的MCU或其他主设备对该IP核的控制寄存器进行配置;调度器IP在获取到各任务信息和控制信号后自动调度选择正确的任务并启动该任务的执行;每一个任务有对应的程序段和数据段,IP核通过向任务执行器模块提供任务的程序段段号来启动任务的执行。该IP主要包含以下几个部分模块:循环任务调度模块。循环任务调度模块用于调度任务(PLC程序)中的循环任务(或称循检任务)。每一个循环任务有独立的执行周期、任务状态、剩余空循次数。在前一循环任务完成时,循环任务调度模块根据任务排序和各任务剩余空循次数选择下一任务并启动执行。循环任务调度模块持续进行以上轮循选择触发,直至被定时任务调度模块或中断任务调度模块打断挂起,在挂起请求撤消后继续运行。定时任务调度模块。定时任务调度模块用于调度PLC程序中的定时任务(或称定时事件触发任务),每一个定时任务有独立的定时时间、任务状态和剩余时间。在定时器被触发时,定时任务调度模块根据任务排序和定时时间判断选择下一任务并启动执行。定时任务调度模块在每个定时点顺序判断并启动执行定时任务,直至被中断任务调度模块打断挂起,在挂起请求撤消后继续运行。中断任务调度模块。中断任务调度模块用于调度PLC程序中定义的中断任务(或称中断事件触发任务),每一个任务有独立的中断源、中断优先级、任务状态。在中断源被触发时,中断任务调度模块根据中断源选择对应的中断任务启动执行。AHB接口模块。AHB接口模块用于提供IP核挂接到AMBA总线的操作接口,包括AHB主接口和AHB从接口。AHB从接口模块用以支持总线上其它主设备(如MCU)对本IP核寄存器的配置和读取,AHB主接口用于操作AMBA总线上的执行器模块(如启动任务的执行)。AHB接口模块中包含多个控制和状态寄存器,同时提供中断信号输入和输出。如图2所示,循环任务调度模块中包含一个循环任务属性列表,该列表可以以寄存器组的方式或以RAM块的方式提供,为一组同样格式反映任务属性和状态的数据,供循环任务调度使用。每个循环任务的属性状态至少包含以下内容:该任务的程序段段号、数据段段号、执行周期、任务状态、剩余空循次数。程序段段号、数据段段号、执行周期:在PLC程序编译下载时,编译器会将任务和功能块等程序模块分为程序段和数据段,并为每一个任务分配唯一的程序段段号和数据段段号;循环任务在组态时也定义了该任务的执行周期,即在多少次循环内执本文档来自技高网...
一种基于AMBA总线的PLC程序调度器IP核

【技术保护点】
一种基于AMBA总线的PLC程序调度器IP核,其特征在于,所述基于AMBA总线的PLC程序调度器IP核通过AMBA总线连接控制器、执行器;所述基于AMBA总线的PLC程序调度器IP核包括:AHB接口模块,连接所述AMBA总线,所述AHB接口模块包括多个寄存器,所述控制器通过AMBA总线对所述寄存器配置任务信息、监控任务状态,所述任务信息包括程序段段号和数据段段号,所述基于AMBA总线的PLC程序调度器IP核将所述程序段段号提供给所述执行器以执行相应的任务;循环任务调度模块,连接所述AHB接口模块,用以调度循环任务;定时任务调度模块,连接所述AHB接口模块以及所述循环任务调度模块,用以调度定时任务以及挂起所述循环任务调度模块;中断任务调度模块,连接所述AHB接口模块、所述循环任务调度模块以及所述定时任务调度模块,用以调度中断任务、挂起所述循环任务调度模块以及挂起所述定时任务调度模块。

【技术特征摘要】
1.一种基于AMBA总线的PLC程序调度器IP核,其特征在于,所述基于AMBA总线的PLC程序调度器IP核通过AMBA总线连接控制器、执行器;所述基于AMBA总线的PLC程序调度器IP核包括:AHB接口模块,连接所述AMBA总线,所述AHB接口模块包括多个寄存器,所述控制器通过AMBA总线对所述寄存器配置任务信息、监控任务状态,所述任务信息包括程序段段号和数据段段号,所述基于AMBA总线的PLC程序调度器IP核将所述程序段段号提供给所述执行器以执行相应的任务;循环任务调度模块,连接所述AHB接口模块,用以调度循环任务;定时任务调度模块,连接所述AHB接口模块以及所述循环任务调度模块,用以调度定时任务以及挂起所述循环任务调度模块;中断任务调度模块,连接所述AHB接口模块、所述循环任务调度模块以及所述定时任务调度模块,用以调度中断任务、挂起所述循环任务调度模块以及挂起所述定时任务调度模块。2.根据权利要求1所述的基于AMBA总线的PLC程序调度器IP核,其特征在于,循环任务的任务信息包括:执行周期、任务状态、剩余空循次数;所述执行周期表示在多少次循环内执行一次所述循环任务,所述任务状态包括等待、就绪、运行、已运行、停止,所述剩余空循次数表示还需要多少次空闲循环才会启动一次所述循环任务。3.根据权利要求2所述的基于AMBA总线的PLC程序调度器...

【专利技术属性】
技术研发人员:童庆施一明潘再生唐艳丽王挺
申请(专利权)人:浙江中控研究院有限公司
类型:发明
国别省市:浙江;33

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

1