CN117742200A - 设备运动控制系统、方法及设备 - Google Patents
设备运动控制系统、方法及设备 Download PDFInfo
- Publication number
- CN117742200A CN117742200A CN202311654524.8A CN202311654524A CN117742200A CN 117742200 A CN117742200 A CN 117742200A CN 202311654524 A CN202311654524 A CN 202311654524A CN 117742200 A CN117742200 A CN 117742200A
- Authority
- CN
- China
- Prior art keywords
- time
- data
- real
- task
- control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 134
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000005540 biological transmission Effects 0.000 claims abstract description 20
- 230000000737 periodic effect Effects 0.000 claims description 70
- 238000006243 chemical reaction Methods 0.000 claims description 26
- 230000002452 interceptive effect Effects 0.000 claims description 12
- 238000012163 sequencing technique Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 101100134058 Caenorhabditis elegans nth-1 gene Proteins 0.000 description 1
- 229910000831 Steel Inorganic materials 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000010959 steel Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000002054 transplantation Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Abstract
本申请公开了一种设备运动控制系统、方法及设备,涉及自动化控制技术领域,该系统包括:设备运动控制系统为利用AMP异构方案基于ARM芯片创建的多核异构系统,设备运动控制系统包括控制单元和存储单元,控制单元中集成有多个安装了操作系统的核;其中,操作系统包括用于对实时任务进行控制的第一系统和用于收发数据以及对调度任务进行控制的第二系统,存储单元用于提供第一系统与第二系统之间的数据传输通道,调度任务为用于管理被控设备的数据、信号以及运动时序的任务,在本申请中,利用第一系统高实时性的特性,处理对实时性有要求的任务,利用第二系统处理对被控设备的数据信号以及运动时序的调度任务,以提高操作系统的实时性。
Description
技术领域
本申请涉及自动化控制技术领域,尤其涉及一种设备运动控制系统、方法及设备。
背景技术
设备的自动化运行主要是通过控制系统控制设备运动实现的,目前运动控制的方案主要分为无操作系统与有操作系统两种。
无操作系统的方案主要是利用定时器或其他中断触发严格实时要求的控制任务和总线通讯任务,在主循环中实现无实时性要求的其他通讯等任务,但是无法处理多任务、多通信以及复杂算法,有操作系统的方案是在无操作系统的基础上添加实时补丁,根据并给不同任务赋予不同的优先级,使高优先级的任务具有强实时性,且可以处理多任务、多通信、复杂算法。但是,由于操作系统存在系统抖动,导致在处理多任务、多通信以及复杂算法是时实时性较低。
发明内容
本申请的主要目的在于提供一种设备运动控制系统、方法及设备,旨在解决现有技术中操作系统存在系统抖动,导致在处理多任务、多通信以及复杂算法是时实时性较低的技术问题。
为实现上述目的,本申请提供一种设备运动控制系统,所述设备运动控制系统为利用AMP异构方案基于ARM芯片创建的多核异构系统,所述设备运动控制系统包括控制单元和存储单元,所述控制单元中集成有多个安装了操作系统的核;
其中,所述操作系统包括用于对实时任务进行控制的第一系统和用于收发数据以及对调度任务进行控制的第二系统,所述存储单元用于提供所述第一系统与所述第二系统之间的数据传输通道,所述调度任务为用于管理被控设备的数据、信号以及运动时序的任务。
可选地,所述第一系统包括实时控制模块与指令处理模块,所述实时控制模块与所述指令处理模块连接;所述第二系统包括数据收发模块和指令与反馈模块,所述数据收发模块和所述指令与反馈模块连接;
所述指令与反馈模块,用于接收用户设定的系统配置数据,并将所述系统配置数据发送至所述数据收发模块;
所述数据收发模块,用于对所述系统配置数据进行语言转换与排序,获得系统转换数据,并将所述系统转换数据反馈至所述指令与反馈模块,以使所述指令与反馈模块通过所述数据传输通道将所述系统转换数据发送至所述指令处理模块;
所述指令处理模块,用于将所述系统转换数据转发至所述实时控制模块;
所述实时控制模块,用于根据所述系统转换数据生成周期触发任务与控制周期,并按照所述控制周期触发所述周期触发任务,获得设备运动数据。
可选地,所述指令与反馈模块,还用于接收用户设定的设备参数,并将所述设备参数发送至所述数据收发模块;
所述数据收发模块,还用于对所述设备参数进行语言转换与排序,获得待处理实时任务,并将所述待处理实时任务反馈至所述指令与反馈模块;
所述指令与反馈模块,还用于通过所述数据传输通道将所述待处理实时任务发送至所述指令处理模块,所述待处理实时任务包括运动指令与逻辑指令;
所述指令处理模块,用于按照预设任务配置对所述待处理实时任务进行划分,获得初步周期任务,并将所述初步周期任务转发至所述实时控制模块;
所述实时控制模块,还用于按照预设任务指令,确定所述初始周期任务的触发顺序,并按照所述触发顺序触发所述初始周期任务,获得所述设备运动数据。
可选地,所述指令与反馈模块,还用于接收用户设定的总线设备配置,并将所述总线设备配置发送至所述数据收发模块;
所述数据收发模块,还用于基于所述总线设备配置生成调度任务,并基于所述调度任务管理所述被控设备。
可选地,所述数据收发模块,还用于接收所述被控设备的实时运行数据,并对所述实时运行数据进行整合,确定各所述实时运行数据与所述被控设备的第一对应关系;
所述数据收发模块,还用于按照所述第一对应关系,将所述实时运行数据发送至所述实时控制模块;
所述实时控制模块,还用于基于所述实时运行数据生成周期实时任务,并按照所述触发顺序触发所述周期实时任务,获得设备运动数据,所述周期实时任务的触发优先级高于所述初步周期任务的触发优先级;
所述实时控制模块,还用于将所述设备运动数据通过所述数据传输通道发送至所述数据收发模块;
所述数据收发模块,还用于对所述设备运动数据进行整合,确定所述设备运行数据与被控设备的第二对应关系,以根据所述第二对应关系和所述设备运行数据控制对应的被控设备,并通过所述指令与反馈模块将所述设备运动数据发送至所述交互界面进行展示。
可选地,所述第一系统为HAL裸系统或rtos系统,所述第二系统为OS系统;
或在所述ARM芯片被替换为X86时,所述第一系统为DOS系统。
此外,为实现上述目的,本申请基于上述所述设备运动控制系统还提供一种设备运动控制方法,所述方法由所述第一系统执行,所述方法包括:
响应于控制周期的启动操作,接收所述第二系统发送的待处理实时任务,所述控制周期包括所述第一系统的第一控制周期和所述第二系统的第二控制周期;
对所述待处理实时任务按照预设任务配置进行划分,获得初步周期任务;
按照所述预设任务配置触发所述周期触发任务、所述周期实时任务或所述初步周期任务,并获取所述被控设备在执行所述周期触发任务、所述周期实时任务或所述初步周期任务时的设备运行数据;
基于相位差,将所述设备运行数据发送至所述第二系统,以使所述第二系统基于所述设备运行数据控制所述被控设备运动,所述相位差表征所述第一控制周期与所述第二控制周期的起始时间差。
可选地,所述第一控制周期和所述第二控制周期的周期时长相同;所述响应于控制周期的启动操作,接收所述第二系统发送的待处理实时任务的步骤之前,还包括:
响应于握手操作,与所述第二系统进行握手,并记录握手时的时间戳;
基于所述时间戳对所述第二系统进行时间同步,记录时间同步后的时间误差;
通过所述第二系统获取系统配置数据,所述系统配置数据包括所述第一控制周期、所述第二控制周期以及所述被控设备的额定参数;
基于所述额定参数与所述第一控制周期生成周期触发任务;
基于所述时间误差与所述周期触发任务,调整所述第一控制周期与所述第二控制周期,获得所述第一控制周期与所述第二控制周期的相位差。
可选地,所述周期触发任务至少包括接收反馈数据与发送指令数据,所述基于所述时间误差与所述周期触发任务,调整所述第一控制周期与所述第二控制周期的起始时间,获得控制周期与所述相位差的步骤,还包括:
基于所述时间误差、所述接收反馈数据的接收耗时与所述发送指令数据的发送耗时,确定所述第二控制周期的起始时间;
基于所述第一控制周期的起始时间与所述第二控制周期的起始时间的差。
此外,为实现上述目的,本申请还提出一种设备运动控制设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的设备运动控制程序,所述设备运动控制程序配置为实现如上文所述的设备运动控制方法的步骤。
本申请提供一种设备运动控制系统、方法及设备,与现有技术中操作系统存在系统抖动,导致在处理多任务、多通信以及复杂算法是时实时性较低相比,在本申请中,所述设备运动控制系统为利用AMP异构方案基于ARM芯片创建的多核异构系统,所述设备运动控制系统包括控制单元和存储单元,所述控制单元中集成有多个安装了操作系统的核;其中,所述操作系统包括用于对实时任务进行控制的第一系统和用于收发数据以及对调度任务进行控制的第二系统,所述存储单元用于提供所述第一系统与所述第二系统之间的数据传输通道,所述调度任务为用于管理被控设备的数据、信号以及运动时序的任务。即在本申请中,设备运动控制系统是通过AMP异构方案基于ARM芯片创建的多核异构系统,可以适应芯片多核化、高端化,方案单芯片化,且设备运动控制系统包括控制单元与存储单元,控制单元中集成有多个安装了操作系统的核,设备运动控制系统包括用于处理实时任务的第一系统与用于收发数据以及处理调度任务的第二系统,以满足设备需要多核控制单元的需求,且利用第一系统实时性高的特性,处理对实时性有要求的任务,利用第二系统处理对被控设备的数据信号以及运动时序的调度任务,以提高操作系统的实时性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例方案涉及的硬件运行环境的设备运动控制设备机构示意图;
图2为本申请设备运动控制系统的框架图示意图;
图3为本申请设备运动控制系统的内部数据交互示意图;
图4为本申请设备运动控制方法的第一实施例的流程示意图;
图5为本申请设备运动控制方法中数据处理时序示意图;
图6为本申请设备运动控制方法第二实施例的流程示意图;
图7为本申请设备运动控制方法中一种具体实现的处理流程示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,图1为本申请实施例方案涉及的硬件运行环境的设备运动控制设备结构示意图。
如图1所示,该设备运动控制设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对设备运动控制设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备运动控制程序。
在图1所示的设备运动控制设备中,网络接口1004主要用于与其他设备进行数据通信;用户接口1003主要用于与用户进行数据交互;本申请设备运动控制设备中的处理器1001、存储器1005可以设置在设备运动控制设备中,所述设备运动控制设备通过处理器1001调用存储器1005中存储的设备运动控制程序,并执行本申请实施例提供的设备运动控制方法。
本申请实施例提供了一种设备运动控制系统,参照图2,图2为本申请设备运动控制系统的框架图示意图。
所述设备运动控制系统为利用AMP异构方案基于ARM芯片创建的多核异构系统,所述设备运动控制系统包括控制单元12和存储单元11,所述控制单元12中集成有多个安装了操作系统的核;
其中,所述操作系统包括用于对实时任务进行控制的第一系统和用于收发数据以及对调度任务进行控制的第二系统,所述存储单元11用于提供所述第一系统与所述第二系统之间的数据传输通道,所述调度任务为用于管理被控设备的数据、信号以及运动时序的任务。
其中,第一系统在控制单元12内至少占有一个核,且第一系统为单线程的裸系统,第二系统在控制单元12内也至少占有一个核。
其中,被控设备为被控对象13,包括不限于总线从站设备(如EtherCat总线)、脉冲轴、编码器、DIO等,具体不做限定。
需要说明的是,存储单元11可以是指芯片外接的DDR、Flash等存储设备,且所述存储单元11中划分有用于第一系统与第二系统进行数据交互的共享区域(SHM),以使控制单元12中任一核都可以在共享区域进行读写,以方便第一系统与第二系统进行数据交互。
需要说明的是,ARM芯片可以是但不限于某型号ARM芯片,也不限于双核,可以有更多的核,以使设备运动控制系统可以满足各种设备的需求。
需要说明的是,由于ARM芯片是目前最普遍的芯片,且对芯片的型号没有任何要求,所以在ARM芯片中建立设备运动控制系统,可以减少对某一类芯片的依赖,方便移植与升级,进而提高了设备运动控制系统的通用性。
需要说明的是,第一系统具有抖动低、实时性高的特性,为设备运动控制系统提供了精准的控制周期,且通过第一系统与第二系统配合的方案,可以利用第一系统处理计算量多、对实时性有要求的任务,减少了第二系统的运算压力,使第二系统可以有更多的控制资源完成对被控设备的控制,且第一系统与第二系统不在同一个核内,降低了对核的调度与控制的逻辑耦合,还降低了因为控制资源不够用导致的控制失控的系统风险,也即,利用第一系统的抖动低与实时行高的特性为第二系统承担了计算量大,对实时性要求高的控制任务处理,使第二系统有更多的控制资源控制被控设备,避免控制资源不够使控制任务堆积,造成控制延时,且在处理任一控制任务时可以减少对核的调度,以节省控制任务的处理时长,进而提高了设备运动控制系统对设备控制的实时性。
进一步地,参考图2与图3,所述设备运动控制系统还包括交互界面14,所述第一系统包括实时控制模块21与指令处理模块22,所述实时控制模块21与所述指令处理模块22连接;所述第二系统包括数据收发模块23和指令与反馈模块24,所述数据收发模块23和所述指令与反馈模块24连接;
所述指令与反馈模块24,用于接收用户设定的系统配置数据,并将所述系统配置数据发送至所述数据收发模块23;
所述数据收发模块23,用于对所述系统配置数据进行语言转换与排序,获得系统转换数据,并将所述系统转换数据反馈至所述指令与反馈模块24,以使所述指令与反馈模块24通过所述数据传输通道将所述系统转换数据发送至所述指令处理模块22;
所述指令处理模块22,用于将所述系统转换数据转发至所述实时控制模块21;
所述实时控制模块21,用于根据所述系统转换数据生成周期触发任务与控制周期,并按照所述控制周期触发所述周期触发任务,获得设备运动数据。
其中,交互界面14,主要为操作设备的显示设备,包括不限于HMI、示教器、鼠标、键盘等,具体不做限定。
其中,交互界面14与第二系统占用的核通信,以使第二系统可以根据用户的设定完成对被控对象13的控制。
需要说明的是,用户通过交互界面14设定系统配置数据,并由指令与反馈模块24接收,由于在交互界面14设定的系统配置数据的计算机语言与第一系统可以识别的计算机语言不同,所以为了使第一系统可以根据系统配置数据生成对应的周期触发任务与控制周期,若指令与反馈模块24接收到系统配置数据时,需要将系统配置数据传入数据收发模块23,由数据收发模块23对系统配置数据进行语言转换与排序,获得语言转换后的系统转换数据。
需要说明的是,系统配置数据中包括配置控制器参数和被控对象13属性,例如周期参数、从站个数以及被控对象13的额定参数等,所以实时控制模块21根据系统配置数据生成周期触发任务与控制周期,可以采用高精度定时器根据周期参数确定控制周期,根据配置控制器参数以及被控对象属性确定周期触发任务,其中,周期触发任务包括反馈数据的接收(Rx)、指令数据的发送(Tx)和指令任务的处理(NC)。
进一步地,参考图3,所述指令与反馈模块24,还用于接收用户设定的设备参数,并将所述设备参数发送至所述数据收发模块23;
所述数据收发模块23,还用于对所述设备参数进行语言转换与排序,获得待处理实时任务,并将所述待处理实时任务反馈至所述指令与反馈模块24;
所述指令与反馈模块24,还用于通过所述数据传输通道将所述待处理实时任务发送至所述指令处理模块22,所述待处理实时任务包括运动指令与逻辑指令;
所述指令处理模块22,用于按照预设任务配置对所述待处理实时任务进行划分,获得初步周期任务,并将所述初步周期任务转发至所述实时控制模块21;
所述实时控制模块21,还用于按照预设任务指令,确定所述初始周期任务的触发顺序,并按照所述触发顺序触发所述初始周期任务,获得所述设备运动数据。
其中,设备参数可以是被控设备的运动参数以及运动的逻辑参数等。
需要说明的是,用户还可以通过交互界面14设定被控设备的运动参数以及运动的逻辑参数,并由指令与反馈模块24接收后转发至数据收发模块23,由数据收发模块23对运动参数逻辑参数进行语言转换与排序,获得待处理实时任务。
需要说明的是,初步周期任务可以不是实时性的,也即,将具有实时性的周期触发任务或周期实时任务运行按照触发顺序触发后再触发初步周期任务,在有周期实时任务加入时,需要先处理周期实时任务。
需要说明的是,在工业自动化中被控对象13的运动是有时序的,所以数据收发模块23除了对系统配置数据与待执行指令进行语言转换,还用于对代执行指令进行排序,以使第一系统或第二系统可以根据排序进行任务处理。
需要说明的是,由于实时控制模块21处理初步周期任务是根据接收时间的顺序处理的,所以指令与反馈模块24将待处理实时任务发送至指令处理模块22是根据排序发送的,以使待处理任务可以根据触发顺序被处理,保证设备运动逻辑的正确性。
进一步地,所述指令与反馈模块24,还用于接收用户设定的总线设备配置,并将所述总线设备配置发送至所述数据收发模块23;
所述数据收发模块23,还用于基于所述总线设备配置生成调度任务,并基于所述调度任务管理所述被控设备。
需要说明的是,数据收发模块23根据调度任务可以管理各被控设备的运动时序,以保证总线上的被控设备可以有序的工作。
可选地,所述数据收发模块23,还用于接收所述被控设备的实时运行数据,并对所述实时运行数据进行整合,确定各所述实时运行数据与所述被控设备的第一对应关系;
所述数据收发模块23,还用于按照所述第一对应关系,将所述实时运行数据发送至所述实时控制模块21;
所述实时控制模块21,还用于基于所述实时运行数据生成周期实时任务,并按照所述触发顺序触发所述周期实时任务,获得设备运动数据,所述周期实时任务的触发优先级高于所述初步周期任务的触发优先级;
所述实时控制模块21,还用于将所述设备运动数据通过所述数据传输通道发送至所述数据收发模块23;
所述数据收发模块23,还用于对所述设备运动数据进行整合,确定所述设备运行数据与被控设备的第二对应关系,以根据所述第二对应关系和所述设备运行数据控制对应的被控设备,并通过所述指令与反馈模块24将所述设备运动数据发送至所述交互界面14进行展示。
需要说明的是,通过指令与反馈模块24将设备运动数据送至交互界面14进行展示可以使用户通过交互界面14实时了解被控对象13的运动状态以及运动逻辑,在运动状态或运动逻辑不符合期望,且没有报错时,可以及时修改待执行指令。
需要说明的是,由于第二系统连接的被控设备是多个的,第二系统在接收到实时运行数据后,需要对实时运行数据进行整理重组,以使实时运行数据与被控设备对应;或者对设备运行数据进行整理重组,使设备运行数据与被控设备对应,可以保证控制的准确性。
需要说明的是,数据收发模块23可以将周期实时任务直接发送至实时控制模块21,以保证周期实时任务的实时性,保证该周期实时任务可以根据实时性的要求及时被实时控制模块23处理。
可选地,所述数据收发模块23,还用于基于所述调度任务管理所述被控设备。
可选地,所述第一系统为HAL裸系统或rtos系统,所述第二系统为OS系统;
或在所述ARM芯片被替换为X86时,所述第一系统为DOS系统。
需要说明的是,OS系统包括但不限于linux、windows;OS系统中包括实时补丁,其中,实时补丁包括但不限于Xenomai、Preempt Rt等实时插件。
需要说明的是,由于ARM芯片是OS系统的基础框架,ARM芯片在未被扩展时支持裸系统,所以此时OS同样是裸系统,X86是在ARM芯片的基础上扩展获得的,可以支持多线程,在ARM芯片被替换为X86时,第一系统也需要从HAL系统替换为支持多线程的DOS系统,避免出现并行任务时,HAL系统无法处理或处理过程较为繁琐,影响实时性。
本实施例提供一种设备运动控制系统,与现有技术中操作系统存在系统抖动,导致在处理多任务、多通信以及复杂算法是时实时性较低相比,在本申请中,所述设备运动控制系统为利用AMP异构方案基于ARM芯片创建的多核异构系统,所述设备运动控制系统包括控制单元12和存储单元11,所述控制单元12中集成有多个安装了操作系统的核;其中,所述操作系统包括用于对实时任务进行控制的第一系统和用于收发数据以及对调度任务进行控制的第二系统,所述存储单元11用于提供所述第一系统与所述第二系统之间的数据传输通道,所述调度任务为用于管理被控设备的数据、信号以及运动时序的任务。即在本申请中,设备运动控制系统是通过AMP异构方案基于ARM芯片创建的多核异构系统,可以适应芯片多核化、高端化,方案单芯片化,且设备运动控制系统包括控制单元12与存储单元11,控制单元12中集成有多个安装了操作系统的核,设备运动控制系统包括用于处理实时任务的第一系统与用于收发数据以及处理调度任务的第二系统,以满足设备需要多核控制单元12的需求,且利用第一系统实时性高的特性,处理对实时性有要求的任务,利用第二系统处理对被控设备的数据信号以及运动时序的调度任务,以提高操作系统的实时性。
本申请实施例还提供了一种设备运动控制方法,参照图4,图4为本申请一种设备运动控制方法第一实施例的流程示意图。
需要说明的是,本实施例的执行主体可以是所述设备运动控制设备中的第一系统,所述设备运动控制设备中包括第一系统与第二系统,具体可以是个人电脑、智能手机、平板电脑等电子设备,还可以是其他可实现相同或相似功能的其他设备,本实施例对此不加以限制,在本实施例及下述各实施例中,以设备运动控制设备为例对本申请设备运动控制方法进行说明。
在本实施例中,所述设备运动控制方法包括:
步骤S10,响应于控制周期的启动操作,接收所述第二系统发送的待处理实时任务,所述控制周期包括所述第一系统的第一控制周期和所述第二系统的第二控制周期。
需要说明的是,由于第二系统用于调度与控制被控设备,也即,第二系统可以用于与被控设备或交互界面通信,所以在设备运动控制系统上电后接收第二系统发送的待处理实时任务。
在具体实现中,设备运动控制系统上电后进入控制周期,接收第二系统发送的待处理实时任务,以对待处理任务按照预设任务配置进行划分。
步骤S20,对所述待处理实时任务按照预设任务配置进行划分,获得初步周期任务。
其中,预设任务配置可以理解为按照任务周期规划计算,得到的时间序列和任务序列;时间序列可以理解为被控设备各部件运动的顺序,任务序列可以理解为每次运动的步进量。
需要说明的是,由于待处理实时任务可以是设备某一部件的总步进量,为了保证设备对产品的质量,并保护设备,所以总步进量可以拆分为多步进行。例如,车床设备中车刀的总进给量为10毫米,且加工产品的材质是硬质钢,为了保证车刀的使用寿命,可以总进给量划分为多个初步周期任务。
步骤S30,按照所述预设任务配置触发所述周期触发任务、所述周期实时任务或所述初步周期任务,并获取所述被控设备在执行所述周期触发任务、所述周期实时任务或所述初步周期任务时的设备运行数据。
其中,设备运行数据可以包括被控设备的运行状态以及可以达到的期望运行数据等,具体不做限定。
需要说明的是,周期触发任务的优先级最高,其次是数据收发模块直接发送至第一系统的周期实时任务,由于周期触发任务可以用于保证被控设备按照控制周期顺利工作或高效率工作,且是预先设定的周期性的固定任务,所以为了在控制周期内不免因为任务处理导致外接被控设备出错,将周期触发任务的优先级排在最高;其次,由数据收发模块直接发送至第一系统的周期实时任务可以理解为是根据数据收发模块实时接收到的被控设备的实时运行数据生成的,需要根据该实时运行数据对被控设备进行控制,为了节省时间,所以将数据收发模块直接发送至第一系统的周期实时任务设为第二优先级任务。
需要说明的是,数据收发模块处理的调度任务的优先级也是第二优先级,以便第二系统可以根据突发的状况及时对被控设备进行管理。
在具体实现中,在任务优先级的基础上按照预设任务配置完成对周期触发任务、周期实时任务与初步周期任务的处理,以获得设备运行数据,在将设备运行数据发送至第二系统,以便第二系统根据设备运行数据控制设备运动。其中,对周期触发任务与初步周期任务的处理可以是根据关节模型、运动学模型、动力学模型以及控制器的特性(系统延时、控制周期等),结合反馈,计算出设备运行数据。
步骤S40,基于相位差,将所述设备运行数据发送至所述第二系统,以使所述第二系统基于所述设备运行数据控制所述被控设备运动,所述相位差表征所述第一控制周期与所述第二控制周期的起始时间差。
需要说明的是,根据相位差,将设备运行数据发送至第二系统,可以避免将在第一系统的一个控制周期内获得的设备运行数据发送至第二系统的两个控制周期内。
在具体实现中,参考图5,将所述设备运行数据发送至所述第二系统,以使所述第二系统在前一所述第二控制周期内接收。
也即,第一系统中实时控制模块在当前控第一制周期内获得的设备运行数据发送至运行前一第二控制周期的第二系统的数据收发模块中,其中,第一周期与第二周期的周期时长相等。例如,由于第一系统与第二系统之间的时间存在误差,且数据的处理与收发均是毫秒级的,所以第一系统在第N个第一控制周期内获得设备运行数据,会发送至第二系统在第N-1个控制周期内,以使每个初步周期任务、周期实时任务或周期触发任务的运行数据不会发送到第二系统的两个第二控制周期内,造成每个第二控制周期获得设备运行数据不完整。
参考图6,图6为本申请设备运动控制方法第二实施例的流程示意图。
基于上述实施例,在本实施例中,所述第一控制周期和所述第二控制周期的周期时长相同;所述响应于控制周期的启动操作,接收所述第二系统发送的待处理实时任务的步骤之前,还包括:
步骤S01,响应于握手操作,与所述第二系统进行握手,并记录握手时的时间戳;
步骤S02,基于所述时间戳对所述第二系统进行时间同步,记录时间同步后的时间误差;
步骤S03,通过所述第二系统获取系统配置数据,所述系统配置数据包括所述第一控制周期、所述第二控制周期以及所述被控设备的额定参数;
步骤S04,基于所述额定参数与所述第一控制周期生成周期触发任务;
步骤S05,基于所述时间误差与所述周期触发任务,调整所述第一控制周期与所述第二控制周期的起始时间,获得所述第一控制周期与所述第二控制周期的相位差。
其中,握手方式,包括不限于共享空间读写变量、通信应答等方式,如rpmsg。
需要说明的是,在ARM芯片通电后,第一系统与第二系统作为独立的固件或应用,由于启动先后不确认,需要握手,确认对方已运行,在第一系统与第二系统进行握手时,根据第一系统的时间记录握手成功时第一的时间戳,以根据时间戳同步第一系统与第二系统的时间,保证两个系统时间的一致性,避免二者存在较大的时间误差,导致对任务的处理处理时间差,进而避免对设备运动控制的延时。
需要说明的是,额定参数可以是设备内各零部件标示的额定参数,在生成周期触发任务时将额定参数作为参考依据中的一项可以保证不会超出设备性能范围,避免出现由于设备的性能不能满足控制需求的情况。
可选地,所述周期触发任务至少包括接收反馈数据与发送指令数据,所述基于所述时间误差与所述周期触发任务,调整所述第一控制周期与所述第二控制周期的起始时间,获得控制周期与所述相位差的步骤,还包括:
步骤S051,基于所述时间误差、所述接收反馈数据的接收耗时与所述发送指令数据的发送耗时,确定所述第二控制周期的起始时间;
步骤S054,基于所述第一控制周期的起始时间与所述第二控制周期的起始时间的差。
需要说明的是,由于第一控制周期的实时周期时长与第二系统的调度周期时长相等,所以第二控制周期的起始时间应该满足第一系统中的实时控制模块接收反馈数据所用的时间与发送指令数据所用的时间,以保证在满足设备性能,提高对设备控制的实时性。也即,第二控制周期的起始时间可以为(max(Rx+Tx+dt))<dT/2,其中,max表征取最大值,Rx为接收反馈数据的接收耗时,Tx为发送指令数据的发送耗时,dt为第一系统与第二系统之间的时间误差。
需要说明的是,将调度周期时长的一半定义为所述相位差,可以避免周期错乱,还可以保证周期误差为最大误差。
在具体实现中,参考图7,设备运动控制系统上电后依次进行步骤101:启动握手,以使第一周期与第二周期可以进行正常的数据交互;步骤102,时间同步,以同步HAL与OS时间,容许一定的误差,将误差记为dt;步骤103,根据配置指令中的配置系统参数,配置第一系统与第二系统的控制周期,与第一系统中的周期触发任务;步骤104,半周期调整,以根据某一基准时刻,调整实时控制模块与数据收发模块的控制周期(dT)相同,两者的相位差为理论控制周期的一半(dT/2)。在任务安排上,保证数据收发模块中的(max(Rx+Tx+dt))<dT/2。同时,系统的最小容许控制周期也由此公式确定;步骤105,根据指令启动规划,也即,根据控制周期的启动指令进入控制周期,以使设备进入正常运行流程;步骤106,根据指令配置设备参数,如更改运动参数、从站模式等;步骤107,根据指令中的运动指令或逻辑指令进行运动控制或逻辑控制,具体可以为,操作启动、停止、关节运动、空间插补运动等运动指令,或操作DIO、ADC等逻辑指令;步骤108,规划与控制,也即,处理周期触发任务与初步周期任务,具体可以为,根据关节模型、运动学模型、动力学模型以及控制器的特性(系统延时、控制周期等),结合反馈,计算出规划数据;步骤109,对设备的运行状态与数据进行监控并保护,也即,设备运动控制系统每周期会监控异常状态,若存在异常,主动会做出反应;步骤110,复位系统,也即,如果中途更改运动与逻辑,需要再次下发指令:进行步骤107,如启动、停止;如果中途更改设备参数,需要再次下发指令:进行步骤106,如设置最大速度;如果中途更改系统参数,需要先下发指令:复位系统110,停止当前的处理,才能更改系统参数。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个等”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效机构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种设备运动控制系统,其特征在于,所述设备运动控制系统为利用AMP异构方案基于ARM芯片创建的多核异构系统,所述设备运动控制系统包括控制单元和存储单元,所述控制单元中集成有多个安装了操作系统的核;
其中,所述操作系统包括用于对实时任务进行控制的第一系统和用于收发数据以及对调度任务进行控制的第二系统,所述存储单元用于提供所述第一系统与所述第二系统之间的数据传输通道,所述调度任务为用于管理被控设备的数据、信号以及运动时序的任务。
2.如权利要求1所述的设备运动控制系统,其特征在于,所述第一系统包括实时控制模块与指令处理模块,所述实时控制模块与所述指令处理模块连接;所述第二系统包括数据收发模块和指令与反馈模块,所述数据收发模块和所述指令与反馈模块连接;
所述指令与反馈模块,用于接收用户设定的系统配置数据,并将所述系统配置数据发送至所述数据收发模块;
所述数据收发模块,用于对所述系统配置数据进行语言转换与排序,获得系统转换数据,并将所述系统转换数据反馈至所述指令与反馈模块,以使所述指令与反馈模块通过所述数据传输通道将所述系统转换数据发送至所述指令处理模块;
所述指令处理模块,用于将所述系统转换数据转发至所述实时控制模块;
所述实时控制模块,用于根据所述系统转换数据生成周期触发任务与控制周期,并按照所述控制周期触发所述周期触发任务,获得设备运动数据。
3.如权利要求2所述的设备运动控制系统,其特征在于,所述指令与反馈模块,还用于接收用户设定的设备参数,并将所述设备参数发送至所述数据收发模块;
所述数据收发模块,还用于对所述设备参数进行语言转换与排序,获得待处理实时任务,并将所述待处理实时任务反馈至所述指令与反馈模块;
所述指令与反馈模块,还用于通过所述数据传输通道将所述待处理实时任务发送至所述指令处理模块,所述待处理实时任务包括运动指令与逻辑指令;
所述指令处理模块,用于按照预设任务配置对所述待处理实时任务进行划分,获得初步周期任务,并将所述初步周期任务转发至所述实时控制模块;
所述实时控制模块,还用于按照预设任务指令,确定所述初始周期任务的触发顺序,并按照所述触发顺序触发所述初始周期任务,获得所述设备运动数据。
4.如权利要求2所述的设备运动控制系统,其特征在于,所述指令与反馈模块,还用于接收用户设定的总线设备配置,并将所述总线设备配置发送至所述数据收发模块;
所述数据收发模块,还用于基于所述总线设备配置生成调度任务,并基于所述调度任务管理所述被控设备。
5.如权利要求2所述的设备运动控制系统,其特征在于,所述数据收发模块,还用于接收所述被控设备的实时运行数据,并对所述实时运行数据进行整合,确定各所述实时运行数据与所述被控设备的第一对应关系;
所述数据收发模块,还用于按照所述第一对应关系,将所述实时运行数据发送至所述实时控制模块;
所述实时控制模块,还用于基于所述实时运行数据生成周期实时任务,并按照所述触发顺序触发所述周期实时任务,获得设备运动数据,所述周期实时任务的触发优先级高于所述初步周期任务的触发优先级;
所述实时控制模块,还用于将所述设备运动数据通过所述数据传输通道发送至所述数据收发模块;
所述数据收发模块,还用于对所述设备运动数据进行整合,确定所述设备运行数据与被控设备的第二对应关系,以根据所述第二对应关系和所述设备运行数据控制对应的被控设备,并通过所述指令与反馈模块将所述设备运动数据发送至所述交互界面进行展示。
6.如权利要求1所述的设备运动控制系统,其特征在于,所述第一系统为HAL裸系统或rtos系统,所述第二系统为OS系统;
或在所述ARM芯片被替换为X86时,所述第一系统为DOS系统。
7.一种基于权利要求1至6任一项所述设备运动控制系统的设备运动控制方法,其特征在于,所述方法由所述第一系统执行,所述方法包括:
响应于控制周期的启动操作,接收所述第二系统发送的待处理实时任务,所述控制周期包括所述第一系统的第一控制周期和所述第二系统的第二控制周期;
对所述待处理实时任务按照预设任务配置进行划分,获得初步周期任务;
按照所述预设任务配置触发所述周期触发任务、所述周期实时任务或所述初步周期任务,并获取所述被控设备在执行所述周期触发任务、所述周期实时任务或所述初步周期任务时的设备运行数据;
基于相位差,将所述设备运行数据发送至所述第二系统,以使所述第二系统基于所述设备运行数据控制所述被控设备运动,所述相位差表征所述第一控制周期与所述第二控制周期的起始时间差。
8.如权利要求7所述的设备运动控制方法,其特征在于,所述第一控制周期和所述第二控制周期的周期时长相同;所述响应于控制周期的启动操作,接收所述第二系统发送的待处理实时任务的步骤之前,还包括:
响应于握手操作,与所述第二系统进行握手,并记录握手时的时间戳;
基于所述时间戳对所述第二系统进行时间同步,记录时间同步后的时间误差;
通过所述第二系统获取系统配置数据,所述系统配置数据包括所述第一控制周期、所述第二控制周期以及所述被控设备的额定参数;
基于所述额定参数与所述第一控制周期生成周期触发任务;
基于所述时间误差与所述周期触发任务,调整所述第一控制周期与所述第二控制周期的起始时间,获得所述第一控制周期与所述第二控制周期的相位差。
9.如权利要求8所述的设备运动控制方法,其特征在于,所述周期触发任务至少包括接收反馈数据与发送指令数据,所述基于所述时间误差与所述周期触发任务,调整所述第一控制周期与所述第二控制周期的起始时间,获得控制周期与所述相位差的步骤,还包括:
基于所述时间误差、所述接收反馈数据的接收耗时与所述发送指令数据的发送耗时,确定所述第二控制周期的第一起始时间;
基于所述第一控制周期的起始时间与所述第二控制周期的起始时间的差。
10.一种设备运动控制设备,其特征在于,所述设备运动控制设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的设备运动控制程序,所述设备运动控制程序配置为实现如权利要求7至9中任一项所述的设备运动控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311654524.8A CN117742200A (zh) | 2023-12-01 | 2023-12-01 | 设备运动控制系统、方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311654524.8A CN117742200A (zh) | 2023-12-01 | 2023-12-01 | 设备运动控制系统、方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117742200A true CN117742200A (zh) | 2024-03-22 |
Family
ID=90257134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311654524.8A Pending CN117742200A (zh) | 2023-12-01 | 2023-12-01 | 设备运动控制系统、方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117742200A (zh) |
-
2023
- 2023-12-01 CN CN202311654524.8A patent/CN117742200A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2831734B1 (en) | Apparatus and methods for a bandwidth efficient scheduler | |
US9618922B2 (en) | CPU of PLC, system program for PLC, and recording medium storing system program for PLC | |
US10082777B2 (en) | CPU unit for PLC, PLC-use system program, recording medium in which PLC-use system program is stored, PLC system, PLC support device, PLC support program, and recording medium in which PLC support program is stored | |
CN109557890B (zh) | 控制装置 | |
AU2017209229A2 (en) | Ground station, unmanned aerial vehicle, and system and method for communication between ground station and unmanned aerial vehicle | |
US10139799B2 (en) | Controller to modify an execution condition during program execution | |
CN108984267B (zh) | 工业服务器的微内核架构控制系统及工业服务器 | |
US8190941B2 (en) | Field control system | |
US20170329632A1 (en) | Device scheduling method, task manager and storage medium | |
JP6359098B2 (ja) | 分散リアルタイムシステムにおいて周期的なタスクの間で適時にデータを引き渡す方法 | |
US10877803B2 (en) | Control apparatus, control method and non-transitory storage medium | |
US20210117344A1 (en) | Control Apparatus | |
CN109474919B (zh) | 蓝牙音频基于角色的调度 | |
CN112860390A (zh) | 作业调度程序、信息处理设备和作业调度方法 | |
CN117742200A (zh) | 设备运动控制系统、方法及设备 | |
US9677920B2 (en) | Automation device and method for reducing jitter | |
US20220247632A1 (en) | Control system, control device, and non-transitory computer-readable recording medium recording program | |
JP6686521B2 (ja) | 制御システムおよび制御方法 | |
WO2023026431A1 (ja) | 通信制御装置、通信制御方法及びプログラム | |
WO2022185589A1 (ja) | 情報処理装置、方法およびプログラム | |
KR102434129B1 (ko) | 모션 컨트롤 시스템 및 그 제어 방법 | |
CN113204516A (zh) | 处理器时间同步的方法和装置 | |
JP7455239B2 (ja) | 数値制御システム、タスク割り当て変更装置及び数値制御方法 | |
CN111052683A (zh) | 网络系统 | |
CN115884229B (zh) | 传输时延的管理方法、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |