一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

具有子周期高频处理功能的总线控制系统及方法与流程

2021-12-04 01:18:00 来源:中国专利 TAG:


1.本发明涉及运动控制技术领域,尤其涉及一种具有子周期高频处理功能的总线控制系统及方法。


背景技术:

2.输入输出模块一般作为控制器,特别是硬件控制器的一部分,起到对外部输入输出设备进行信号处理的作用。总线型控制方案包含控制系统和输入输出模块因为其可控制规模大,可灵活配置,可分布式布线以及抗干扰能力强等优点在现在的工厂智能自动化控制和精密设备控制中得到了越来越广泛的应用。总线型输入输出模块可以针对设备中的数字量输入输出、模拟量输入输出、脉冲宽度调制等信号进行采集和控制,并且一般以总线周期为最小单位进行信号处理。
3.虽然总线型控制方案有着大规模部署及灵活配置等诸多优点,但是受制于当前总线周期不能太小的特点,因此对于高频的信号处理有着天然的不足。例如,因为当前实时总线的带宽限制,控制器处理能力以及总线通讯的延迟等因素影响,大部分总线控制周期相对应的频率只能在1k至几k,而在高精密测量及加工设备中,不乏有部分输入输出信号频率为几m,而目前的总线型控制器和总线型输入输出模块的方案很难满足这样的需求。


技术实现要素:

4.针对上述技术中存在的不足之处,本发明提供一种具有子周期高频处理功能的总线控制系统及方法,通过在pc端的实时控制系统内设置子周期处理单元以及输入输出模块内设置可编程逻辑处理单元和缓冲处理单元,在用户应用程序端提前对输入和输出进行预处理周期的设置后,进行周期处理,以达到可以处理细分之后的子周期数据的效果,实现总线型输入输出模块可以同时发送更高频率和控制精度的输出指令,也可以同时接收更高频率和精度的输入数据。
5.为实现上述目的,本发明提供一种具有子周期高频处理功能的总线控制方法,包括安装于pc端的实时操作系统和非实时操作系统,实时操作系统和非实时操作系统之间通过共享内存进行数据交换,还包括输入输出模块,输入输出模块通过实时总线连接至实时操作系统;控制方法包括以下步骤:非实时操作系统的用户应用程序将每个输入和输出设置为普通周期处理或者子周期处理;将设置信息保存至实时操作系统的实时控制内核以及输入输出模块的可编程逻辑处理单元;当输入和/或输出需要普通周期处理,则实时操作系统的实时控制内核调用普通周期处理单元进行实时处理;输入输出模块的微控制单元直接控制可编程逻辑处理单元进行处理;当输入和/或输出需要子周期处理,则实时操作系统的实时控制内核调用子周期
处理单元进行实时处理;输入输出模块的微控制单元控制缓冲处理单元对子周期数据进行缓存后通过可编程逻辑处理单元进行处理。
6.具体的:在实时操作系统的实时控制内核调用子周期处理单元进行实时处理的步骤中,子周期处理单元包括缓冲单元,在缓冲单元对子周期数据进行缓存后再进行子周期处理。
7.作为优选:在将设置信息保存至实时操作系统的实施控制内核以及输入输出模块的可编程逻辑处理单元的步骤中,同时进行子周期处理和缓冲单元以及缓冲处理单元的大小配置。
8.具体的:在非实时操作系统的用户应用程序将每个输入和输出设置为普通周期处理或者子周期处理的步骤中,子周期处理的处理周期小于普通周期处理的处理周期。
9.作为优选:在输入输出模块的微控制单元控制缓冲处理单元对子周期数据进行缓存后通过可编程逻辑处理单元进行处理的步骤之后,还包括一个步骤:判断是否周期处理结束,若判断为否,则用户应用程序将处理后的数据作为输出继续共享至实时控制内核进行周期处理。
10.一种具有子周期高频处理功能的总线控制系统,包括安装于pc端的实时操作系统和非实时操作系统,实时操作系统和非实时操作系统之间通过共享内存进行数据交换,还包括输入输出模块,输入输出模块通过实时总线连接至实时操作系统;非实时操作系统包括用户应用程序,用户应用程序将每个输入和输出设置为普通周期处理或者子周期处理并保存至实时操作系统的实时控制内核以及输入输出模块的可编程逻辑处理单元;实时操作系统设置有子周期处理单元和普通周期处理单元,输入输出模块设置有缓冲处理单元,当输入和/或输出需要普通周期处理,则实时操作系统的实时控制内核调用普通周期处理单元进行实时处理;输入输出模块的微控制单元直接控制可编程逻辑处理单元进行处理;当输入和/或输出需要子周期处理,则实时操作系统的实时控制内核调用子周期处理单元进行实时处理;输入输出模块的微控制单元控制缓冲处理单元对子周期数据进行缓存后通过可编程逻辑处理单元进行处理。
11.具体的:子周期处理单元包括缓冲单元,在缓冲单元对子周期数据进行缓存后再进行子周期处理。
12.作为优选:用户应用程序将每个输入和输出设置为普通周期处理或者子周期处理并保存至实时操作系统的实时控制内核以及输入输出模块的可编程逻辑处理单元的同时进行子周期处理和缓冲单元以及缓冲处理单元的大小配置。
13.具体的:子周期处理单元的处理周期小于普通周期处理单元的处理周期。
14.作为优选:用户应用程序包括判定单元,判定单元判断是否周期处理结束,若判断为否,则用户应用程序将处理后的数据作为输出继续通过共享内存共享至实时控制内核进行周期处理。
15.本发明的有益效果是:与现有技术相比,本发明提供一种具有子周期高频处理功能的总线控制系统及方法,包括安装于pc端的实时操作系统和非实时操作系统,实时操作系统和非实时操作系统之间通过共享内存进行数据交换,还包括输入输出模块,输入输出模块通过实时总线连接至实时操作系统;通过在pc端的实时控制系统内设置子周期处理单
元以及输入输出模块内设置可编程逻辑处理单元和缓冲处理单元,在用户应用程序端提前对输入和输出进行预处理周期的设置后,进行周期处理,以达到可以处理细分之后的子周期数据的效果,实现总线型输入输出模块可以同时发送更高频率和控制精度的输出指令,也可以同时接收更高频率和精度的输入数据。
附图说明
16.图1为本发明的系统工作原理示意图;图2为本发明的工作流程示意图;图3为本发明的普通周期示意图;图4为本发明的子周期示意图;图5为本发明的总线控制系统连接示意图;图6为本发明的方法流程图。
具体实施方式
17.为了更清楚地表述本发明,下面结合附图对本发明作进一步地描述。
18.因为当前实时总线的带宽限制,控制器处理能力以及总线通讯的延迟等因素影响,大部分总线控制周期相对应的频率只能在1k至几k,而在高精密测量及加工设备中,不乏有部分输入输出信号频率为几m,而目前的总线型控制器和总线型输入输出模块的方案很难满足这样的需求。
19.为解决现有技术的缺陷和不足,本发明具体的提供一种具有子周期高频处理功能的总线控制方法,请参阅图1

图6,包括安装于pc端的实时操作系统和非实时操作系统,实时操作系统和非实时操作系统之间通过共享内存进行数据交换,还包括输入输出模块,输入输出模块通过实时总线连接至实时操作系统;控制方法包括以下步骤:非实时操作系统的用户应用程序将每个输入和输出设置为普通周期处理或者子周期处理;将设置信息保存至实时操作系统的实时控制内核以及输入输出模块的可编程逻辑处理单元;当输入和/或输出需要普通周期处理,则实时操作系统的实时控制内核调用普通周期处理单元进行实时处理;输入输出模块的微控制单元直接控制可编程逻辑处理单元进行处理;当输入和/或输出需要子周期处理,则实时操作系统的实时控制内核调用子周期处理单元进行实时处理;输入输出模块的微控制单元控制缓冲处理单元对子周期数据进行缓存后通过可编程逻辑处理单元进行处理;在实际的运用时,多个总线型输入输出模块可以作为从站,可以通过实时总线和运动控制电脑相连接。运动控制电脑中安装有实时软件控制系统,作为实时总线控制的主站。
20.在一个已经实施的实例中,运动控制电脑由实时软件控制系统(软件)及相关硬件组成;实时软件控制系统由非实时操作系统和实时操作系统组成;非实时操作系统和实时操作系统藉由共享内存进行实时的数据交互,进行控制指令和状态反馈;非实时操作系统运行着用户应用程序,用户应用程序通过控制接口模块和通讯接口模块将控制指令和通讯
指令在每个总线周期内通过共享内存下发给实时操作系统中的实时控制内核和实时通讯内核,并且接收其返回的控制和通讯状态。
21.同时,用户应用程序会对输入输出设定信息进行设置,指定每个输入输出是否需要进行普通的周期性处理,还是要进行子周期的处理,这些设置信息会同时保存到实时操作系统的实时控制内核以及输入输出模块的可编程逻辑处理单元中,并做好子周期缓存和处理单元,以及缓冲处理单元的大小等配置。
22.实施例1:将普通周期细分成1000份子周期,这样每个子周期的处理效率为普通周期的1000倍,这样在一些需要更加细分和高速处理的输入或者输出数据进入该系统时,能够通过子周期进行处理,无需像传统的总线输入输出模块一样固定按照总线的普通周期进行传输和处理,提升了数据处理的频率和精度。
23.在本实施例中提及:在实时操作系统的实时控制内核调用子周期处理单元进行实时处理的步骤中,子周期处理单元包括缓冲单元,在缓冲单元对子周期数据进行缓存后再进行子周期处理;缓冲单元主要对设置为子周期处理的输入或者输出数据起到一个缓存的作用,由于数据的处理周期小,并且速度快,故采用子周期处理的数据量在相同的时间内是非常大的,故设置缓冲单元对数据进行缓存后再进行处理,能够有效的缓解处理负担,提高处理的精度。
24.在一个优选的实施例中提及:在将设置信息保存至实时操作系统的实施控制内核以及输入输出模块的可编程逻辑处理单元的步骤中,同时进行子周期处理和缓冲单元以及缓冲处理单元的大小配置;此步骤主要用于在设置为普通周期处理或者子周期处理的时候读取数据量的大小,以此调整子周期和普通周期处理单元的数据处理量的大小以及缓冲单元以及缓冲处理单元的数据处理量的大小,以适应即将到来的输入输出数据。
25.在本实施例中提及:在非实时操作系统的用户应用程序将每个输入和输出设置为普通周期处理或者子周期处理的步骤中,子周期处理的处理周期小于普通周期处理的处理周期;优选的,子周期处理的处理周期为普通周期处理的处理周期的1000份之一或者1500份之一或者500份之一。
26.在一个优选的实施例中提及:在输入输出模块的微控制单元控制缓冲处理单元对子周期数据进行缓存后通过可编程逻辑处理单元进行处理的步骤之后,还包括一个步骤:判断是否周期处理结束,若判断为否,则用户应用程序将处理后的数据作为输出继续共享至实时控制内核进行周期处理;由于完成一个周期处理并不是所有的输入或者输出数据均完成了全部数据的处理,故需要多次进行输出或者输入周期才能完成完整的数据处理,在此判定步骤中即可识别判定数据是否处理完毕,若处理完毕直接输出即可,未处理完毕的则需要通过用户应用程序将处理后的数据作为输出继续共享至实时控制内核进行周期处理,多次循环之后完成完整的数据处理。
27.一种具有子周期高频处理功能的总线控制系统,包括安装于pc端的实时操作系统和非实时操作系统,实时操作系统和非实时操作系统之间通过共享内存进行数据交换,还包括输入输出模块,输入输出模块通过实时总线连接至实时操作系统;非实时操作系统包括用户应用程序,用户应用程序将每个输入和输出设置为普通周期处理或者子周期处理并保存至实时操作系统的实时控制内核以及输入输出模块的可编程逻辑处理单元;实时操作
系统设置有子周期处理单元和普通周期处理单元,输入输出模块设置有缓冲处理单元,当输入和/或输出需要普通周期处理,则实时操作系统的实时控制内核调用普通周期处理单元进行实时处理;输入输出模块的微控制单元直接控制可编程逻辑处理单元进行处理;当输入和/或输出需要子周期处理,则实时操作系统的实时控制内核调用子周期处理单元进行实时处理;输入输出模块的微控制单元控制缓冲处理单元对子周期数据进行缓存后通过可编程逻辑处理单元进行处理;在实际的运用时,多个总线型输入输出模块可以作为从站,可以通过实时总线和运动控制电脑相连接。运动控制电脑中安装有实时软件控制系统,作为实时总线控制的主站。
28.在一个已经实施的实例中,运动控制电脑由实时软件控制系统(软件)及相关硬件组成;实时软件控制系统由非实时操作系统和实时操作系统组成;非实时操作系统和实时操作系统藉由共享内存进行实时的数据交互,进行控制指令和状态反馈;非实时操作系统运行着用户应用程序,用户应用程序通过控制接口模块和通讯接口模块将控制指令和通讯指令在每个总线周期内通过共享内存下发给实时操作系统中的实时控制内核和实时通讯内核,并且接收其返回的控制和通讯状态。
29.同时,用户应用程序会对输入输出设定信息进行设置,指定每个输入输出是否需要进行普通的周期性处理,还是要进行子周期的处理,这些设置信息会同时保存到实时操作系统的实时控制内核以及输入输出模块的可编程逻辑处理单元中,并做好子周期缓存和处理单元,以及缓冲处理单元的大小等配置。
30.实施例2:将普通周期细分成1500份子周期,这样每个子周期的处理效率为普通周期的1500倍,这样在一些需要更加细分和高速处理的输入或者输出数据进入该系统时,能够通过子周期进行处理,无需像传统的总线输入输出模块一样固定按照总线的普通周期进行传输和处理,提升了数据处理的频率和精度。
31.在本实施例中提及:子周期处理单元包括缓冲单元,在缓冲单元对子周期数据进行缓存后再进行子周期处理;缓冲单元主要对设置为子周期处理的输入或者输出数据起到一个缓存的作用,由于数据的处理周期小,并且速度快,故采用子周期处理的数据量在相同的时间内是非常大的,故设置缓冲单元对数据进行缓存后再进行处理,能够有效的缓解处理负担,提高处理的精度。
32.在一个优选的实施例中提及:用户应用程序将每个输入和输出设置为普通周期处理或者子周期处理并保存至实时操作系统的实时控制内核以及输入输出模块的可编程逻辑处理单元的同时进行子周期处理和缓冲单元以及缓冲处理单元的大小配置;此步骤主要用于在设置为普通周期处理或者子周期处理的时候读取数据量的大小,以此调整子周期和普通周期处理单元的数据处理量的大小以及缓冲单元以及缓冲处理单元的数据处理量的大小,以适应即将到来的输入输出数据。
33.在本实施例中提及:子周期处理单元的处理周期小于普通周期处理单元的处理周期;优选的,子周期处理的处理周期为普通周期处理的处理周期的1000份之一或者1500份之一或者500份之一。
34.在一个优选的实施例中提及:用户应用程序包括判定单元,判定单元判断是否周
期处理结束,若判断为否,则用户应用程序将处理后的数据作为输出继续通过共享内存共享至实时控制内核进行周期处理;由于完成一个周期处理并不是所有的输入或者输出数据均完成了全部数据的处理,故需要多次进行输出或者输入周期才能完成完整的数据处理,在此判定步骤中即可识别判定数据是否处理完毕,若处理完毕直接输出即可,未处理完毕的则需要通过用户应用程序将处理后的数据作为输出继续共享至实时控制内核进行周期处理,多次循环之后完成完整的数据处理。
35.在一个优选的实施例中提及:输入输出模块优选的可以设置有多个,多个输入输出模块之间通过实时总线进行连接。
36.以下对本系统的工作原理做一个详细的介绍:多个总线型输入输出模块可以作为从站,可以通过实时总线和运动控制电脑相连接。运动控制电脑中安装有实时软件控制系统,作为实时总线控制的主站。
37.运动控制电脑由实时软件控制系统(软件)及相关硬件组成。实时软件控制系统由非实时操作系统和实时操作系统组成。非实时操作系统和实时操作系统藉由共享内存进行实时的数据交互,进行控制指令和状态反馈。
38.非实时操作系统运行着用户应用程序,用户应用程序通过控制接口模块和通讯接口模块将控制指令和通讯指令在每个总线周期内通过共享内存下发给实时操作系统中的实时控制内核和实时通讯内核,并且接收其返回的控制和通讯状态。同时,用户应用程序会对输入输出设定信息进行设置,指定每个输入输出是否需要进行普通的周期性处理,还是要进行子周期的处理(例如,将普通周期细分成1000份的子周期),这些设置信息会同时保存到实时操作系统的实时控制内核以及输入输出模块的可编程逻辑处理单元中,并做好子周期缓存和处理单元,以及缓冲处理单元的大小等配置。
39.实时操作系统运行着实时控制内核以及实时通讯内核,对用户的指令进行处理,通过实时总线对控制对象进行实时控制和状态收集。对每个输入输出点,如果需要周期处理,则实时控制内核直接调用周期处理单元进行实时处理;如果需要子周期处理,则实时控制内核将用户的输入输出指令缓存到子周期缓存和处理单元,之后再通过实时通讯内核,将当前周期的输入输出指令通过实时总线发送给输入输出模块,并接收当前的输入输出的状态。
40.输入输出模块由两个实时总线接口、网络处理单元、微控制单元、缓冲处理单元、可编程逻辑处理单元和硬件接口单元组成。实时总线接口负责通过实时总线接受和发送指令和状态数据,并交给网络处理单元进行数据处理。微控制单元是输入输出单元的大脑,负责对所有数据进行综合运算处理,并通过可编程逻辑处理单元对硬件接口单元进行信号输出和采集。针对每个输入输出点,如果需要周期处理,则微控制单元直接控制可编程逻辑处理单元来进行处理;如果需要子周期处理,则微控制单元和可编程逻辑处理单元通过缓冲处理单元对细分后的子周期数据进行缓存和处理。硬件接口单元分为数字输入、数字输出、模拟输入、模拟输出和脉宽调制输出部分。
41.以下结合附图对本技术的一个完整的工作流程做一个介绍:系统启动开始运行,输入输出模块初始化,此时用户应用程序设置输入输出信息;在控制系统端设置普通周期处理单元和子周期缓冲处理单元;在输入输出模块端设置缓冲处理单元;
此时开始实时总线的周期循环;用户输出操作指令信息,实时控制内核对每个输出进行处理;判断每个输出是否采用子周期处理;是则进行最多m个周期的子周期数据缓冲(m为设定的缓存大小);否则采用普通周期处理;处理完毕将普通周期和子周期处理数据通过实时总线发送至输入输出模块;输入输出模块的微控制单元将m个周期的子周期数据存入缓冲处理单元;此时判断每个输出是否采用子周期处理;是则可编程逻辑处理单元进行子周期细分处理后输出;否则可编程逻辑处理单元直接处理输出;于此同时输入输出模块端接收并读取输入数据;判断每个输入是否采用子周期处理;是则可编程逻辑处理单元进行子周期细分处理,处理后将子周期处理的数据存入缓冲处理单元;否则可编程逻辑处理单元直接处理;将可编程逻辑处理单元直接处理和子周期处理数据通过实时总线发送至控制系统;实时控制内核对输入数据进行处理,用户应用程序对输入数据进行处理;在用户应用程序端进行判断是否结束周期处理;是则直接结束,否则将输入数据继续进行周期循环。
42.本发明的优势在于:1.现有的总线型输入输出模块只能处理以总线周期为单位的数据,此专利的总线型输入输出模块可以处理细分之后的子周期数据。
43.2.本技术的总线型输入输出模块可以同时发送更高频率和控制精度的输出指令,也可以同时接收更高频率和精度的输入数据。
44.3.通过实时软件控制系统和此总线型输入输出模块的协同工作,可以灵活配置缓存和处理单元,大大提高了对普通周期的输入输出数据进行子周期的细分处理后大量的数据存储和处理能力。
45.以上公开的仅为本发明的几个具体实施例,但是本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献