CN116016010A - 总线通信方法、从站及总线通信系统 - Google Patents
总线通信方法、从站及总线通信系统 Download PDFInfo
- Publication number
- CN116016010A CN116016010A CN202210977239.9A CN202210977239A CN116016010A CN 116016010 A CN116016010 A CN 116016010A CN 202210977239 A CN202210977239 A CN 202210977239A CN 116016010 A CN116016010 A CN 116016010A
- Authority
- CN
- China
- Prior art keywords
- task
- station
- master station
- time
- target data
- 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.)
- Granted
Links
- 230000006854 communication Effects 0.000 title claims abstract description 197
- 238000004891 communication Methods 0.000 title claims abstract description 193
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000004364 calculation method Methods 0.000 claims abstract description 180
- 230000005540 biological transmission Effects 0.000 claims description 31
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 abstract description 11
- 230000003993 interaction Effects 0.000 description 50
- 230000000875 corresponding effect Effects 0.000 description 37
- 230000008569 process Effects 0.000 description 20
- 230000009471 action Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 101100397045 Xenopus laevis invs-b gene Proteins 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 101100397044 Xenopus laevis invs-a gene Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000002864 sequence alignment Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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]
Landscapes
- Small-Scale Networks (AREA)
Abstract
本申请公开了一种总线通信方法、从站及总线通信系统,该方法包括:接收来自主站的第一时刻控制指令,启动第一任务和第二任务,其中,第一任务包括按第一时刻控制指令的指示进行计算并得到计算结果,第二任务包括采集目标数据,自第一时刻经过第一预设延迟时间后,输出第一任务的计算结果,自第一时刻经过第二预设延迟时间后,将采集到的目标数据上传至主站,以便于主站依据所述目标数据生成第二时刻控制指令,由此通过利用全双工通讯机制,控制指令的下发和目标数据的上传均不存在任何由于拓扑结构导致的延迟,缩短了主站与从站之间的通信周期,降低了主站与从站之间的通信延迟,有效地提升了通信系统的动态性能。
Description
技术领域
本申请涉及电气控制技术领域,特别涉及总线通信方法、从站及总线通信系统。
背景技术
在一主多从网络结构中,通过主站与从站进行通信来实现对从站的控制。目前的控制方式中,主站与从站之间的通信周期较长,导致系统动态性能下降,并且主站与从站之间通信的数据延迟较大,导致对从站控制的动态性能下降。
需要说明的是,本背景技术部分中公开的信息仅用于理解本申请构思的背景技术,并且因此,它可以包含不构成现有技术的信息。
发明内容
本申请的第一个目的在于提出一种总线通信方法,缩短主站与从站之间的通信周期,降低通信延迟,提升系统的动态性能。
本申请的第二个目的在于提出另一种总线通信方法。
本申请的第三个目的在于提出一种总线通信系统的从站。
本申请的第四个目的在于提出一种总线通信系统。
为达上述目的,本申请第一方面实施例提供了一种总线通信方法,应用于总线通信系统中的n个从站,所述总线通信系统还包括主站,所述主站与n个从站进行全双工通信,其中,n为大于1的整数,所述方法包括:接收来自所述主站的第一时刻控制指令,启动第一任务和第二任务,其中,所述第一任务包括按所述第一时刻控制指令的指示进行计算并得到计算结果,所述第二任务包括采集目标数据;自第一时刻经过第一预设延迟时间后,输出所述第一任务的计算结果;自第一时刻经过第二预设延迟时间后,将采集到的目标数据上传至所述主站,以便于所述主站依据所述目标数据生成第二时刻控制指令。
根据本申请实施例提出的总线通信方法,通过利用全双工通讯机制,使得主站在下发控制指令的同时可以接收总线上任意从站的返回数据,并且所有从站都可以立即接收到主站发送的数据,所有从站上传的数据也可以被主站立即接收,指令的下发和目标数据的上传均不存在任何由于拓扑结构导致的延迟,缩短了主站与从站之间的通信周期,降低了主站与从站之间的通信延迟,有效地提升了总线通信系统的动态性能;并且,从站在接收到控制指令时,会启动计算任务和数据采集任务,以进行计算结果的输出和主站生成新的控制指令,实现主站与从站之间往复交互。
为达上述目的,本申请第二方面实施例提出了另一种总线通信方法,应用于总线通信系统,所述总线通信系统包括主站和n个从站,所述主站与n个从站进行全双工通信,其中,n为大于1的整数,所述方法包括:所述主站依次向n个从站发送相应的第一时刻控制指令;所述从站接收来自所述主站的第一时刻控制指令,启动第一任务和第二任务,其中,所述第一任务包括按所述第一时刻控制指令的指示进行计算并得到计算结果,所述第二任务包括采集目标数据;所述从站自第一时刻经过第一预设延迟时间后,输出所述第一任务的计算结果;所述从站自第一时刻经过第二预设延迟时间后,将采集到的目标数据上传至所述主站;所述主站接收所述从站上传的目标数据,并依据所述目标数据生成相应的第二时刻控制指令。
为达上述目的,本申请第三方面实施例提供了一种总线通信系统的从站,所述总线通信系统包括主站和n个从站,所述主站与n个从站进行全双工通信,其中,n为大于1的整数,所述从站包括:RX模块,用于接收来自所述主站的第一时刻控制指令;任务启动模块,用于启动第一任务和第二任务,其中,所述第一任务包括按所述第一时刻控制指令的指示进行计算并得到计算结果,所述第二任务包括采集目标数据;数据输出模块,用于自第一时刻经过第一预设延迟时间后,输出所述第一任务的计算结果;以及,TX模块,用于自第一时刻经过第二预设延迟时间后,将采集到的目标数据上传至所述主站,以便于所述主站依据所述目标数据生成第二时刻控制指令。
为达上述目的,本申请第四方面实施例提供了一种总线通信系统,其特征在于,包括主站和n个从站,所述主站与n个从站进行全双工通信,其中,n为大于1的整数;所述主站包括:第一TX模块,用于依次向n个从站发送相应的第一时刻控制指令;第一RX模块,用于接收所述从站上传的目标数据;以及,指令生成模块,用于依据所述从站上传的目标数据生成相应的第二时刻控制指令;所述从站包括:第二RX模块,用于接收来自所述主站的第一时刻控制指令;任务启动模块,用于启动第一任务和第二任务,其中,所述第一任务包括按所述第一时刻控制指令的指示进行计算并得到计算结果,所述第二任务包括采集目标数据;数据输出模块,用于自第一时刻经过第一预设延迟时间后,输出所述第一任务的计算结果;以及,第二TX模块,用于自第一时刻经过第二预设延迟时间后,将采集到的目标数据上传至所述主站。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
图1是本申请一个实施例的应用于从站的总线通信方法的流程示意图。
图2是本申请一个实施例的总线通信系统的拓扑结构示意图。
图3是本申请一个实施例的应用于多轴伺服系统逆变部的总线通信方法的流程示意图。
图4是本申请一个实施例的多轴伺服系统的总线通信拓扑结构示意图。
图5是本申请一个实施例中逆变部的工作时序示意图。
图6是本申请一个实施例的应用于总线通信系统的总线通信方法的流程示意图。
图7是本申请一个实施例中数据交互周期为2个预设周期时的通信收发时序的结构框图。
图8是本申请一个实施例中数据交互周期为n-1个预设周期时的通信收发时序的结构框图。
图9是本申请一个实施例中主站与n个从站之间的通信收发时序的结构框图。
图10是本申请一个实施例中主站与3个从站之间的通信收发状态变化示意图。
图11是本申请一个实施例的应用于多轴伺服系统的总线通信方法的流程示意图。
图12是本申请一个实施例的整流部与n个逆变部之间的通信收发时序的结构框图。
图13是本申请一个实施例中整流部与3个逆变部之间通信收发时序的结构框图。
图14是本申请一个实施例的总线通信系统的从站的结构框图。
图15是本申请一个实施例的多轴伺服系统的逆变部的结构框图。
图16是本申请一个实施例的总线通信系统的结构框图。
图17是本申请一个实施例的多轴伺服系统的结构框图。
图18是本申请一个实施例的多轴伺服系统中整流部Rec与逆变部Inv1连接关系的结构框图。
具体实施方式
下面详细描述本申请的实施例,下文描述的实施例的示例在附图中示出,其中相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的总线通信方法,总线通信系统,计算机可读存储介质,总线通信系统的主站,总线通信系统的从站,多轴伺服系统的整流部,多轴伺服系统的逆变部,以及多轴伺服系统。
请参阅图1,本申请实施例提供了一种总线通信方法,该方法应用于总线通信系统中的从站,具体包括以下步骤110、步骤120和步骤130。首先需要说明的是,本实施例中总线通信系统的总线通信拓扑结构请参阅图2,总线通信系统包括主站和n个从站,主站与n个从站进行全双工通信,n为大于1的整数,形成一主多从式的通信架构。
S110,从站接收来自主站的第一时刻控制指令,启动第一任务和第二任务,其中,第一任务包括按第一时刻控制指令的指示进行计算并得到计算结果,第二任务包括采集目标数据。
主站下发的控制指令包含有对从站的指示,主站依次将各从站的控制指令在总线上进行广播,从站通过总线接收到对应于自身的控制指令后,依据指令中包含的指示来启动第一任务和第二任务,也就是说,第一任务和第二任务可以是同时触发且并行运行的,并且第一任务和第二任务的触发时刻可以是在接收到控制指令时立即触发。其中,第一任务为计算任务,通过执行计算任务得到相应的计算结果,计算任务中参与计算的参数可以是从站自身配置的,也可以是从主站下发的控制指令中提取到的。第二任务为数据采集任务,用于对目标数据进行获取,目标数据可以为从站自身的运行参数,也可以是从站连接的下位设备的运行参数,或者其他的用户期望的数据。
主站每次发送给从站的控制指令均为当前时刻的控制指令,以从站1为例,主站当前发送给从站1的控制指令可以是在从站1在上一个数据交互周期中上传目标数据之后生成的,因此当前时刻的控制指令中包含的指示对应于受控对象(从站或下位设备或其他设备)的最新状态,使得从站获取到最新状态下的目标数据。其中,一个数据交互周期(简称交互周期)指的是主站与同一个从站之间完成一次数据收发的耗时,从主站开始生成该从站的控制指令为起始,经过主站的指令下发、从站的指令接收和执行、从站的数据上传,直至主站接收到该从站上传的数据为止,完成主站与该从站的一个交互周期。
由于主站和从站之间采用全双工通信,因此主站在向其中一个从站下发指令的过程中,可以同时接收另一个从站反馈的目标数据。主站轮动式地向每个从站下发控制指令,而从站也在完成目标数据获取后向主站进行上传,对于主站来说,从站的数据上传同样是轮动式的,由此形成往复交互。
S120,从站自第一时刻经过第一预设延迟时间后,输出第一任务的计算结果。
第一时刻指的是从站接收到第一时刻控制指令的时刻,自从站接收到第一时刻控制指令开始,当达到第一预设延迟时间时,触发对第一任务的任务结果的输出,也就是输出计算任务的计算结果。可以理解的是,当达到第一预设延迟时间时,从站已经算出了第一任务的任务结果。
每个从站在按照控制指令完成计算之后,都会将计算结果向指定对象进行输出,该指定对象会接收并可以使用该计算结果,例如该指定对象通过该计算结果来控制自身动作。
S130,从站自第一时刻经过第二预设延迟时间后,将采集到的目标数据上传至主站,以便于主站依据目标数据生成第二时刻控制指令。
自从站接收到第一时刻控制指令开始,当达到第二预设延迟时间时,触发对第二任务的任务结果的上传,也就是将目标数据通过在总线上进行广播来上传至主站。可以理解的是,当达到第二预设延迟时间时,从站已经获取到目标数据。
每个从站在按照控制指令完成目标数据的获取之后,都会将目标数据通过总线进行广播,主站依次对各个从站上传的目标数据进行接收,并通过目标数据生成相应从站的新的控制指令,假设目标数据是依据第一时刻控制指令的指示而获取的,则主站依据该目标数据生成的控制指令即为第二时刻控制指令。需要说明的是,第一时刻和第二时刻并非指代具体的时刻值,而是指代不同的数据交互周期。
根据本申请实施例提出的总线通信方法,通过利用全双工通讯机制,使得主站在下发控制指令的同时可以接收总线上任意从站的返回数据,并且所有从站都可以立即接收到主站发送的数据,所有从站上传的数据也可以被主站立即接收,指令的下发和目标数据的上传均不存在任何由于拓扑结构导致的延迟,缩短了主站与从站之间的通信周期,降低了主站与从站之间的通信延迟,有效地提升了总线通信系统的动态性能;并且,从站在接收到控制指令时,会启动计算任务和数据采集任务,以进行计算结果的输出和主站生成新的控制指令,实现主站与从站之间往复交互。
在一些实施例中,步骤110中的从站接收来自主站的第一时刻控制指令,具体可以包括步骤111和步骤112。S111,从站对总线上广播的数据进行数据帧的识别。S112,从站在识别到预设的匹配帧时,开始接收第一时刻控制指令。
匹配帧是一种指定的数据帧,用于对数据包进行标识,不同从站的匹配帧各不相同,以此来区分数据包的期望接收对象,使得控制指令能够被正确的从站所识别和接收。所有的从站均会对总线上的数据进行监听,并对总线上广播的所有数据进行数据帧的识别,若未从中识别出预设的匹配帧,也就是对应于本从站自身的匹配帧,则确定该数据包是发给其他从站的,因此无需对该数据包进行进一步处理;若从中识别出预设的匹配帧,则确定该数据包是发给本从站的,因此会接收该数据包,通过接收到若干的数据包形成主站发给本从站的当前时刻控制指令,使得控制指令能够被指定的期望接收对象所接收。
在一些实施例中,步骤120具体可以包括步骤121和步骤122。S121,从站在接收到第一时刻控制指令时,触发第一延迟定时器开始计时。S122,从站在第一延迟定时器的计时值达到第一预设延迟时间时,输出第一任务的计算结果,其中,第一预设延迟时间被设置为第一任务的执行用时。
从站配置有第一延迟定时器,用于对第一任务的预期执行时长进行计时。从站响应于接收到的第一时刻控制指令,立即启动第一任务,同时还触发第一延迟定时器开始计时,由于第一任务的执行用时(即预期执行时长)是可预期的或可以是已知的,因此可以预先将第一预设延迟时间delay1设置为第一任务的执行用时,当完成第一任务的执行并得到计算结果时,第一延迟定时器的计时值刚好达到第一预设延迟时间delay1,此时可以直接输出第一任务的计算结果而无需等待一段时间之后再输出,由此使得指定对象在接收计算结果时,所接收到的计算结果为最新计算结果,由此减少时延和降低计算误差。
在一些实施例中,步骤130具体可以包括步骤131和步骤132。S131,从站在接收到第一时刻控制指令时,触发第二延迟定时器开始计时。S132,从站在第二延迟定时器的计时值达到第二预设延迟时间时,将采集到的目标数据上传至主站,其中,第二预设延迟时间被设置为第二任务的执行用时。
从站还配置有第二延迟定时器,第二延迟定时器相当于数据发送定时器,用于对第二任务的预期执行时长进行计时。从站响应于接收到的第一时刻控制指令,立即启动第二任务,同时还触发第二延迟定时器开始计时,由于第二任务的执行用时(即预期执行时长)同样是可预期的或可以是已知的,因此可以预先将第二预设延迟时间delay2设置为第二任务的执行用时,当完成第二任务的执行并获取到目标数据时,第二延迟定时器的计时值刚好达到第二预设延迟时间delay2,此时可以直接输出第二任务的目标数据而无需等待一段时间之后再输出,由此使得主站在接收目标数据时,所接收到的目标数据为最新目标数据,由此减少时延和降低主站生成控制指令时的指令内容误差。
在一些实施例中,每个从站连接有目标设备,第二任务为采集目标设备的目标数据,并且,输出第一任务的计算结果具体为:从站将第一任务的计算结果发送至目标设备,以便于驱动目标设备运行。
具体的,从站连接有目标设备,目标设备通过从站实现与主站之间的通信,主站下发的控制指令中进行指示的对象可以包括目标设备,通过下发控制指令来指示目标设备进行相应动作。也就是说,从站接收到控制指令后,可以依据控制指令进行目标数据获取,其中目标数据可以是目标设备的运行数据;也可以依据控制指令控制目标设备动作。
目标设备可以是如电机、液压缸等执行机构,此时目标数据可以是电机的位置信息、液压缸的活塞位置信息等状态信息,第一任务的计算结果可以是电机的电流参数、液压缸的压力参数等控制信息,以便于驱动电机的转动和液压缸的伸缩。
目标设备也可以是温度传感器、速度传感器等检测设备,此时目标数据可以是温度传感器的温度数据、速度传感器的速度数据等状态信息,第一任务的计算结果可以是温度传感器的检测精度、速度传感器的检测周期等控制信息,以便于驱动温度传感器和速度传感器进行数据检测。
目标设备还可以是智能终端、机器人等自动化设备,此时目标数据可以是智能终端的CPU资源占用率、机器人的当前载重信息等状态信息,第一任务的计算结果可以是智能终端的工作模式、机器人的运行功率等控制信息,以便于驱动智能终端进行运算和机器人输送货物。
另外,本申请实施例还提供了另一种总线通信方法,该方法应用于多轴伺服系统中的逆变部,其中,该多轴伺服系统对应于总线通信系统,多轴伺服系统的逆变部对应于总线通信系统的从站,而总线通信系统的主站为多轴伺服系统的整流部。请参阅图3,本实施例的应用于逆变部的总线通信方法具体包括以下步骤210、步骤220和步骤230。
首先需要说明的是,本实施例中多轴伺服系统的总线通信拓扑结构请参阅图4,总线通信系统包括整流部Rec和n个逆变部Inv1~Invn,整流部Rec和n个逆变部Inv1~Invn进行全双工通信,n为大于1的整数,形成一主多从式的通信架构。每个逆变部Inv均连接有一个电机M,例如逆变部Inv1连接有电机M1,逆变部Inv2连接有电机M2,逆变部Invn连接有电机Mn。多轴伺服系统可以为共直流母线多轴伺服系统,并且整流部Rec以及各个逆变部Inv均分开设置。
S210,逆变部Inv接收来自整流部Rec的第一时刻电流环路指令,启动电流环路计算任务和电机位置采集任务,其中,电流环路计算任务包括按第一时刻电流环路指令的指示进行电流环路计算并得到计算结果,电机位置采集任务包括采集电机M的电机位置。电流环路指令又称转矩指令或Q轴电流指令。
S220,逆变部Inv自第一时刻经过第一预设延迟时间delay1后,输出电流环路计算任务的计算结果。输出电流环路计算任务的计算结果具体为:将电流环路计算任务的计算结果发送至电机M,以便于驱动电机M运行。
S230,逆变部Inv自第一时刻经过第二预设延迟时间delay2后,将采集到的电机位置上传至整流部Rec,以便于整流部Rec依据电机位置生成第二时刻电流环路指令。
整流部Rec可以配置有用于外发数据的TX0端口和用于接收数据的RX0端口,每个逆变部Inv可以配置有用于外发数据的TX端口和用于接收数据的RX端口,例如逆变部Inv1配置有TX1端口和RX1端口,逆变部Inv2配置有TX2端口和RX2端口,逆变部Invn配置有TXn端口和RXn端口。整流部Rec与n个逆变部通过总线连接并进行全双工通信,整流部Rec相当于一个主站(Master),每个逆变部Inv相当于一个从站(Slave),形成一主多从式的通信架构,其中,整流部Rec的TX0与各逆变部的RX1~RXn之间通过总线中的数据下发线路进行通信,整流部Rec的RX0与各逆变部的TX1~TXn之间通过总线中的数据上传线路进行通信。
整流部Rec用于进行多轴伺服系统的控制运算,进行多轴伺服系统中所有轴的位置环路控制和速度环路控制,通过总线向各逆变部发送相应轴的电流环路指令;逆变部用于依据整流部下发的指令进行电流环路计算进而对电机进行控制,以及用于进行本轴电机位置信息的采集并通过总线将该轴电机位置信息反馈到整流部。
另外,整流部还可以用于将交流信号转换为直流信号并发送至逆变部,逆变部还可以用于对接收到的整流部发来的直流信号进行PWM载波调制,并将调制得到的交流控制电压输出至相应的电机,以驱动电机运行并带动负载运转。
在逆变部Inv1接收到整流部Rec发来的对应于Inv1的第一时刻电流环路指令之后,逆变部Inv1开始进行电流环路计算任务以及电机M1的电机位置采集任务。其中,电流环路指令可以包括定位数据和转速数据,逆变部Inv1会依据定位数据和转速数据进行电流环路计算,将计算结果发送给PWM模块(Pulse Width Modulation,脉冲宽度调制)进行调制,并依据调制的结果来控制电机M1运转。逆变部Inv1还依据整流部Rec下发的指令进行本轴电机位置信息的采集并通过总线将该轴电机位置信息反馈到整流部Rec。其他逆变部Inv2~Invn分别驱动相应的电机M2~Mn的方式以及采集电机位置的方式可由逆变部Inv1的方式得到,在此不作赘述。
本实施例中,数据交互周期(简称交互周期)为整流部与同一个逆变部之间完成一次数据收发的耗时,从整流部开始生成该逆变部的电流环路指令为起始,经过整流部的指令下发、逆变部的指令接收和执行、逆变部的信息上传,直至整流部接收到该逆变部上传的信息为止,完成整流部与该逆变部的一个交互周期。
根据本申请实施例提出的总线通信方法,通过利用全双工通讯机制,使得整流部在下发电流环路指令的同时可以接收总线上任意逆变部的返回数据,并且所有逆变部都可以立即接收到整流部发送的数据,所有逆变部上传的数据也可以被整流部立即接收,指令的下发和电机位置的上传均不存在任何由于拓扑结构导致的延迟,缩短了整流部与逆变部之间的通信周期,降低了整流部与逆变部之间的通信延迟,有效地提升了多轴伺服系统的动态性能;并且,逆变部在接收到电流环路指令时,会启动电流环路任务和电机位置采集任务,以进行计算结果的输出和整流部生成新的电流环路指令,实现整流部与逆变部之间往复交互。
在一些实施例中,步骤210中的逆变部Inv接收来自整流部Rec的第一时刻电流环路指令,具体可以包括步骤211和步骤212。S211,逆变部Inv对总线上广播的数据进行数据帧的识别。S212,逆变部Inv在识别到预设的匹配帧时,开始接收第一时刻电流环路指令。
对于下发给不同逆变部Inv的电流环路指令,其中设有数据帧,对于不同的逆变部,数据帧的数值不同,当指令被广播到总线上之后,各逆变部Inv均开始对指令进行数据帧识别,若逆变部Inv1识别出数据帧与本逆变部的预设匹配帧相同,则确定该指令是发给本逆变部Inv1的,否则确定该指令是发给其他逆变部的。
在一些实施例中,步骤220具体可以包括步骤221和步骤222。S221,逆变部Inv在接收到第一时刻电流环路指令时,触发第一延迟定时器开始计时。S222,逆变部Inv在第一延迟定时器的计时值达到第一预设延迟时间时,输出电流环路计算任务的计算结果,其中,第一预设延迟时间被设置为电流环路计算任务的执行用时。
在一些实施例中,逆变部Inv在输出电流环路计算任务的计算结果时,还对PWM定时器的计时值进行复位,以使PWM模块依据最新得电流环路计算结果进行输出。
请参阅图5,逆变部Inv1响应于接收到电流环路指令,触发第一定时器开始计时,并在第一定时器的计时值达到第一预设延迟时长delay1时,触发PWM定时器的PWM载波(图5中的三角波虚线)计时值复位,复位后的PWM定时器从初始值开始计时,例如从零开始形成三角波波形,以便于PWM模块在从初始值开始计时的同时依据最新的电流环路计算结果进行PWM波形调制。
在一些实施例中,步骤230具体可以包括步骤231和步骤232。S231,逆变部Inv在接收到第一时刻电流环路指令时,触发第二延迟定时器开始计时。S232,逆变部Inv在第二延迟定时器的计时值达到第二预设延迟时间时,将采集到的电机位置上传至整流部Rec,其中,第二预设延迟时间被设置为电机位置采集任务的执行用时。
在一些实施例中,电机位置采集任务中的逆变部Inv采集电机位置具体包括:逆变部Inv发起与电机上的编码器之间的通讯,以使编码器对电机位置进行锁存并将锁存信息反馈至逆变部,并对接收到的锁存信息进行解算得到电机位置。
编码器为一种电机机械位置检测装置,可以安装于电机的轴承上并与轴承共同转动,以此来检测电机位置信息,并可以通过RS485通信方式实现电机位置信息的发送。因为位置锁存时间是在逆变部Inv1接收到电流环路指令之后立即进行的,因此整流部的位置环路和速度环路可以对逆变部反馈的位置信息进行有效补偿。
在一些实施例中,电机位置采集任务的执行用时包括:逆变部Inv与编码器通讯的时长以及对接收到的锁存信息进行解算的时长之和。
第二预设延迟时间delay2被设置为电机位置采集任务的执行用时,用来保证逆变部Inv1返回的电机位置信息最新,减少位置控制环路和速度控制环路在位置反馈信号上的延迟。电机位置采集任务的执行用时包括了两部分,一部分为逆变部Inv1与编码器通讯的时长,也就是逆变部Inv1发起与电机上的编码器之间的通讯以及编码器对电机位置进行锁存并将锁存信息反馈至逆变部Inv1的耗时,另一部分为逆变部Inv1对接收到的锁存信息进行解算得到电机位置的耗时。
需要说明的是,本实施例的应用于逆变部的总线通信方法中未披露的细节,请参照本申请实施例中应用于从站的总线通信方法的实施例中所披露的细节,此处不再赘述。
另外,请参阅图6,本申请实施例提供了一种总线通信方法,该方法应用于总线通信系统,具体包括以下步骤310至步骤350。首先需要说明的是,本实施例中总线通信系统的总线通信拓扑结构请参阅图2,总线通信系统包括主站和n个从站,主站与n个从站进行全双工通信,n为大于1的整数,形成一主多从式的通信架构。
S310,主站依次向n个从站发送相应的第一时刻控制指令。
具体的,主站可以每隔预设周期依次向n个从站发送相应的当前时刻控制指令,例如给从站1发送第一时刻控制指令。针对同一个从站,主站的发送时间与接收时间相错开,且相错开时间大于等于1个预设周期并小于n个预设周期。
预设周期为主站向在发送顺序上相邻的两个从站下发控制指令的时间间隔,例如主站向从站1下发指令与主站向从站2下发指令的时间间隔即为一个预设周期,n个预设周期形成了系统整体通信周期。从主站开始生成从站1的控制指令为起始,直至主站接收从站1上传的目标数据为止,期间相当于一个数据交互周期的时间,该数据交互周期可以为一个或多个预设周期。
请参阅图7,在相错开时间为2个预设周期且从站共有5个(Inv1~Inv5)时,主站向从站1下发指令之后,从站1开始按指令进行目标数据获取,目标数据获取耗时2个预设周期t0(图中未示出从站的目标数据采集过程),完成数据获取后,主站会在间隔2个预设周期t0之后,在主站向从站3下发指令时接收到从站1反馈的目标数据。
在相错开时间为n-1个预设周期时,请参阅图8,继续假设从站共有5个(Inv1~Inv5),则相错开时间为4个预设周期,主站向从站1下发指令之后,主站会在间隔4个预设周期t0之后,在主站向从站5下发指令时接收到从站1反馈的目标数据。
可以理解的是,即使由于硬件设备、数据处理方式和运算性能的不同,使得不同的从站进行目标数据采集的耗时可能不同,但在每个从站的数据交互周期中,主站下发的任务指令依旧可以有多个,以缩短系统整体通信周期。
S320,从站接收来自主站的第一时刻控制指令,启动第一任务和第二任务,其中,第一任务包括按第一时刻控制指令的指示进行计算并得到计算结果,第二任务包括采集目标数据。
第一任务为计算任务,通过执行计算任务得到相应的计算结果,计算任务中参与计算的参数可以是从站自身配置的,也可以是从主站下发的控制指令中提取到的。第二任务为数据采集任务,用于对目标数据进行获取,目标数据可以为从站自身的运行参数,也可以是从站连接的下位设备的运行参数,或者其他的用户期望的数据。
S330,从站自第一时刻经过第一预设延迟时间后,输出第一任务的计算结果。
第一时刻指的是从站接收到第一时刻控制指令的时刻,自从站接收到第一时刻控制指令开始,当达到第一预设延迟时间时,触发对第一任务的任务结果的输出,也就是输出计算任务的计算结果。可以理解的是,当达到第一预设延迟时间时,从站已经算出了第一任务的任务结果。
S340,从站自第一时刻经过第二预设延迟时间后,将采集到的目标数据上传至主站。
自从站接收到第一时刻控制指令开始,当达到第二预设延迟时间时,触发对第二任务的任务结果的上传,也就是将目标数据通过在总线上进行广播来上传至主站。可以理解的是,当达到第二预设延迟时间时,从站已经获取到目标数据。
S350,主站接收从站上传的目标数据,并依据目标数据生成相应的第二时刻控制指令。
主站与从站1~n之间的通信收发时序请参阅图9,TX为发送端口,RX接收端口,交互周期T1和T2均用于表征主站与从站1之间的交互,在交互周期T1内,主站通过RX0端口接收到从站1通过TX1端口上传的在交互周期T1的数据获取过程中获取到的目标数据(图中未示出在周期T1内从站2~n上传目标数据的动作),该目标数据作为从站1最新获取到的数据,代表了从站最新的运行参数或从站下位设备最新运行状态下的运行参数。在从交互周期T1进入交互周期T2之后,主站依据在上一交互周期T1接收到的目标数据来生成新的控制指令(第二时刻控制指令),并在当前交互周期T2通过TX0端口将该新的指令下发给从站1的RX1端口。在交互周期T2中,从站1经过一段时间的数据获取之后,会向主站反馈新的目标数据,主站会据此在交互周期T2的下一交互周期生成新的控制指令并下发至从站1,由此实现主站与从站之间的往复交互。主站与其他从站2~n的通信收发时序可由主站与从站1的的通信收发时序得到,在此不作赘述。
根据本申请实施例提出的总线通信方法,通过利用全双工通讯机制,使得主站在下发控制指令的同时可以接收总线上任意从站的返回数据,并且所有从站都可以立即接收到主站发送的数据,所有从站上传的数据也可以被主站立即接收,指令的下发和目标数据的上传均不存在任何由于拓扑结构导致的延迟,缩短了主站与从站之间的通信周期,降低了主站与从站之间的通信延迟,有效地提升了总线通信系统的动态性能;并且,从站在接收到控制指令时,会启动计算任务和数据采集任务,以进行计算结果的输出和主站生成新的控制指令,实现主站与从站之间往复交互。
在一些实施例中,主站按预设发送顺序依次向n个从站发送相应的第一时刻控制指令,并且,主站在向第m个从站发送第一时刻控制指令时,还接收在预设发送顺序中排位于第m个从站后一位置的从站反馈的目标数据,其中,m<n,以及,主站在向预设发送顺序中排位于末位的从站发送当前时刻控制指令时,还接收在预设发送顺序中排位于首位的从站反馈的目标数据。
具体的,请继续参阅图9,主站可以按预设的发送顺序依次向n个从站发送控制指令,例如按从站1、从站2…从站n、从站1、从站2…的顺序,轮动式地向该n个从站发送控制指令。在该过程中,对于任一从站m,主站在向其下发控制指令时,在下发控制指令的单位时段内,还会接收到第m+1个从站反馈的目标数据,同理,当进入下一个预设周期后,主站向第m+1个从站下发控制指令,则在该单位时段内还会接收到第m+2个从站反馈的目标数据。当主站向第n个从站下发控制指令时,接收到第1个从站反馈的目标数据。
在向各从站下发控制指令的过程中,每个从站在接收到对应的控制指令时,开始获取目标数据,获取的过程发生于图9中的“目标数据采集”过程中,获取到目标数据之后就会反馈给主站。各从站接收到控制指令的时间不同,“目标数据采集”过程耗费的时间可能不同,因此反馈的时间也不同,但在各从站的“目标数据采集”过程耗时大致相同的情况下,主站接收到各从站反馈目标数据时的从站次序,和主站下发控制指令的从站次序是相同的。例如图7和图9中,按从站序号从小到大进行指令下发,则也会按从站序号从小到大接收到目标数据。
图9所示的时序中,在从站1反馈目标数据的单位时段内,主站也向从站n下发了控制指令,因此主站在所有的单位时段内均会执行控制指令下发和目标数据接收的动作,只是在同一单位时段内,被下发指令的从站和上传目标数据的从站为不同的从站,在每个数据交互周期中,主站可以对每个从站均进行了相应指令的下发,每个从站均依据指令进行了目标数据获取,并且主站也接收到了每个从站上传的目标数据。
主站与从站之间的通信在数据交互周期的状态变化情况请参阅图10,假设从站设置有三个,即从站1、从站2和从站3,三个从站的受控顺序为:从站1-从站2-从站3-从站1…。以主站生成从站1的控制指令作为主站与从站1的交互周期起始,在主站向从站1下发指令com1时,还可能会接收从站2反馈的目标数据,以准备生成向从站2发送的指令com2;之后主站生成了指令com2,并向从站2下发指令com2,同时可能接收3反馈的目标数据,以准备生成向从站3发送的指令com3;之后主站生成了指令com3,并向从站3下发指令com3,同时可能接收1反馈的新的目标数据,以准备生成向从站1发送新的指令com1’,此时当前的交互周期结束;然后下一交互周期开始,主站生成了新的指令com1’,并向从站1下发指令com1’,同时可能接收2反馈的新的目标数据,以准备生成向从站2发送的新的指令com2’,由此形成了往复交互。
在一些实施例中,步骤320中的从站接收来自主站的第一时刻控制指令,具体可以包括步骤321和步骤322。S321,从站对总线上广播的数据进行数据帧的识别。S322,从站在识别到预设的匹配帧时,开始接收第一时刻控制指令。
在一些实施例中,步骤330具体可以包括步骤331和步骤332。S331,从站在接收到第一时刻控制指令时,触发第一延迟定时器开始计时。S332,从站在第一延迟定时器的计时值达到第一预设延迟时间时,输出第一任务的计算结果,其中,第一预设延迟时间被设置为第一任务的执行用时。
在一些实施例中,步骤340具体可以包括步骤341和步骤342。S341,从站在接收到第一时刻控制指令时,触发第二延迟定时器开始计时。S342,从站在第二延迟定时器的计时值达到第二预设延迟时间时,将采集到的目标数据上传至主站,其中,第二预设延迟时间被设置为第二任务的执行用时。
在一些实施例中,每个从站连接有目标设备,第二任务为采集目标设备的目标数据,并且,输出第一任务的计算结果具体为:从站将第一任务的计算结果发送至目标设备,以便于驱动目标设备运行。
需要说明的是,本实施例的应用于总线通信系统的总线通信方法中未披露的细节,例如步骤320、步骤330和步骤340的内容,以及目标设备、目标数据和数据交互周期的内容,请参照本申请实施例中应用于从站的总线通信方法的实施例中所披露的细节,此处不再赘述。
另外,本申请实施例提供了一种总线通信方法,该方法应用于多轴伺服系统,其中,该多轴伺服系统对应于总线通信系统,总线通信系统的从站为多轴伺服系统的逆变部,总线通信系统的主站为多轴伺服系统的整流部。首先需要说明的是,本实施例中多轴伺服系统的总线通信拓扑结构请参阅图4,总线通信系统包括整流部Rec和n个逆变部Inv1~Invn,整流部Rec和n个逆变部Inv1~Invn进行全双工通信,n为大于1的整数,形成一主多从式的通信架构。每个逆变部Inv均连接有一个电机M,例如逆变部Inv1连接有电机M1,逆变部Inv2连接有电机M2,逆变部Invn连接有电机Mn。多轴伺服系统可以为共直流母线多轴伺服系统,并且整流部Rec以及各个逆变部Inv均分开设置。
请参阅图11,本实施例的应用于多轴伺服系统的总线通信方法具体包括以下步骤410至步骤450。
S410,整流部Rec依次向n个逆变部Inv发送相应的第一时刻电流环路指令。
在整流部Rec每隔预设周期依次向n个逆变部Inv1~Invn发送相应的当前时刻电流环路指令时,针对同一个逆变部Inv,整流部Rec的发送时间与接收时间相错开,且相错开时间大于等于1个预设周期并小于n个预设周期。
请参阅图7,在相错开时间为2个预设周期且逆变部共有5个(Inv1~Inv5)时,整流部会在间隔2个预设周期t0之后接收到Inv1反馈的电机位置。请参阅图8,在相错开时间为n-1个预设周期时,继续假设逆变部共有5个(Inv1~Inv5),整流部会在间隔4个预设周期t0之后接收到Inv1反馈的电机位置。
S420,逆变部Inv接收来自整流部Rec的第一时刻电流环路指令,启动电流环路计算任务和电机位置采集任务,其中,电流环路计算任务包括按第一时刻电流环路指令的指示进行电流环路计算并得到计算结果,电机位置采集任务包括采集电机M的电机位置。
在逆变部Inv1接收到整流部Rec发来的对应于Inv1的第一时刻电流环路指令之后,逆变部Inv1开始进行电流环路计算任务以及电机M1的电机位置采集任务。其中,电流环路指令可以包括定位数据和转速数据,逆变部Inv1会依据定位数据和转速数据进行电流环路计算,将计算结果发送给PWM模块(Pulse Width Modulation,脉冲宽度调制)进行调制,并依据调制的结果来控制电机M1运转。逆变部Inv1还依据整流部Rec下发的指令进行本轴电机位置信息的采集并通过总线将该轴电机位置信息反馈到整流部Rec。其他逆变部Inv2~Invn分别驱动相应的电机M2~Mn的方式以及采集电机位置的方式可由逆变部Inv1的方式得到,在此不作赘述。
S430,逆变部Inv自第一时刻经过第一预设延迟时间delay1后,输出电流环路计算任务的计算结果。输出电流环路计算任务的计算结果具体为:将电流环路计算任务的计算结果发送至电机M,以便于驱动电机M运行。
第一时刻指的是逆变部Inv接收到第一时刻电流环路指令的时刻,自逆变部Inv接收到第一时刻电流环路指令开始,当达到第一预设延迟时间delay1时,触发对电流环路计算任务的计算结果的输出。可以理解的是,当达到第一预设延迟时间delay1时,逆变部Inv已经算出了电流环路计算任务的计算结果。
S440,逆变部Inv自第一时刻经过第二预设延迟时间delay2后,将采集到的电机位置上传至整流部Rec。
自逆变部Inv接收到第一时刻电流环路指令开始,当达到第二预设延迟时间delay2时,触发对电机位置采集任务的任务结果的上传,也就是将电机位置通过在总线上进行广播来上传至整流部Rec。可以理解的是,当达到第二预设延迟时间delay2时,逆变部Inv已经获取到电机位置。
S450,整流部Rec接收逆变部Inv上传的电机位置,并依据电机位置生成相应的第二时刻电流环路指令。
整流部Rec每次发送给逆变部的电流环路指令均为当前时刻的电流环路指令,以逆变部Inv1为例,整流部Rec当前发送给逆变部Inv1的电流环路指令可以是依据逆变部Inv1在上一个整流部Rec与逆变部Inv1的数据交互周期中上传的电机位置信息进行处理后生成的,因此当前时刻的电流环路指令是指用于控制处于最新运行状态下的电机的运行参数的指令。
请参阅图12,在交互周期T1内,整流部Rec通过RX0端口接收到逆变部Inv1通过TX1端口上传的在交互周期T1的数据处理过程中采集到的电机位置信息(图中未示出T1内部分逆变部上传电机位置的动作),然后开始依据电机位置进行位置环路计算和速度环路计算,得到定位数据和转速数据,并依据定位数据和转速数据生成新的电流环路指令。在从交互周期T1进入交互周期T2之后,该电机位置信息作为逆变部Inv1最新采集到的电机位置,代表了电机M1的最新位置状态,因此整流部Rec依据在上一交互周期T1接收到的该电机位置信息来生成新的电流环路指令,并在当前交互周期T2通过TX0端口将该指令下发给逆变部Inv1的RX1端口。在交互周期T2中,逆变部Inv1经过一段时间的数据处理之后,会向整流部Rec反馈新的电机位置信息,整流部Rec会据此在交互周期T2的下一交互周期生成新的电流环路指令并下发至逆变部Inv1,由此实现整流部与逆变部之间的往复交互。整流部与其他逆变部Inv2~Invn的通信收发时序可由逆变部Inv1的得到,在此不作赘述。
根据本申请实施例提出的总线通信方法,通过利用全双工通讯机制,使得整流部在下发电流环路指令的同时可以接收总线上任意逆变部的返回数据,并且所有逆变部都可以立即接收到整流部发送的数据,所有逆变部上传的数据也可以被整流部立即接收,指令的下发和电机位置的上传均不存在任何由于拓扑结构导致的延迟,缩短了整流部与逆变部之间的通信周期,降低了整流部与逆变部之间的通信延迟,有效地提升了多轴伺服系统的动态性能;并且,逆变部在接收到电流环路指令时,会启动电流环路任务和电机位置采集任务,以进行计算结果的输出和整流部生成新的电流环路指令,实现整流部与逆变部之间往复交互。
在一些实施例中,整流部Rec按预设发送顺序依次向n个逆变部Inv1~Invn发送相应的第一时刻电流环路指令,并且,整流部Rec在向第m个逆变部Invm发送第一时刻电流环路指令时,还接收在预设发送顺序中排位于第m个逆变部Invm后一位置的逆变部反馈的电机位置,其中,m<n,以及,整流部Rec在向预设发送顺序中排位于末位的逆变部Invn发送当前时刻电流环路指令时,还接收在预设发送顺序中排位于首位的逆变部Inv1反馈的电机位置。
具体的,请继续参阅图12,整流部Rec可以按预设的顺序依次向n个逆变部发送电流环路指令,例如按Inv1、Inv2…Invn、Inv1、Inv2…的顺序,轮动式地向该n个逆变部发送电流环路指令。在该过程中,对于任一逆变部Invm,整流部Rec在向其下发电流环路指令时,在下发电流环路指令的单位时段内,还会接收到第m+1个逆变部反馈的电机位置,同理,当进入下一个预设周期后,整流部Rec向第m+1个逆变部下发电流环路指令,则在该单位时段内还会接收到第m+2个逆变部反馈的电机位置。当整流部Rec向第n个逆变部Inv下发电流环路指令时,接收到第1个逆变部Inv1反馈的电机位置。
在向各逆变部Inv下发电流环路指令的过程中,每个逆变部在接收到对应的电流环路指令时,开始采集电机位置,采集的过程发生于图12中的“电机位置采集”过程中,采集到电机位置之后就会反馈给整流部Rec。各逆变部Inv接收到电流环路指令的时间不同,“电机位置采集”过程耗费的时间可能不同,因此反馈电机位置的时间也不同,在各逆变部Inv的“电机位置采集”过程耗时大致相同的情况下,整流部Rec接收到各逆变部Inv反馈电机位置的逆变部次序,和整流部Rec下发电流环路指令的逆变部次序是相同的。例如图12中,按逆变部序号从小到大进行指令下发,则也会按逆变部序号从小到大接收到电机位置。
图12所示的时序中,在逆变部Inv1反馈电机位置的单位时段内,整流部Rec也向逆变部Invn下发了电流环路指令,因此整流部Rec在所有的单位时段内均会执行电流环路指令下发和电机位置接收的动作,只是在同一单位时段内,被下发指令的逆变部和上传电机位置的逆变部为不同的逆变部,在每个数据交互周期中,整流部可以对每个逆变部均进行了相应指令的下发,每个逆变部均依据指令进行了电机控制和电机位置采集,并且整流部也接收到了每个逆变部上传的电机位置。
整流部Rec与逆变部Inv之间的通信在数据交互周期的状态变化情况请参阅图13,假设逆变部Inv设置有三个,即逆变部Inv1、逆变部Inv2和逆变部Inv3,三个逆变部的受控顺序为:逆变部Inv1-逆变部Inv2-逆变部Inv3-逆变部Inv1…。以整流部Rec生成逆变部Inv1的电流环路指令作为整流部Rec与逆变部Inv1的交互周期起始,在整流部Rec向逆变部Inv1下发指令com1时,还可能会接收逆变部Inv2反馈的电机位置,以准备生成向逆变部Inv2发送的指令com2;之后整流部Rec生成了指令com2,并向逆变部Inv2下发指令com2,同时可能接收3反馈的电机位置,以准备生成向逆变部Inv3发送的指令com3;之后整流部Rec生成了指令com3,并向逆变部Inv3下发指令com3,同时可能接收1反馈的新的电机位置,以准备生成向逆变部Inv1发送新的指令com1’,此时当前的交互周期结束;然后下一交互周期开始,整流部Rec生成了新的指令com1’,并向逆变部Inv1下发指令com1’,同时可能接收2反馈的新的电机位置,以准备生成向逆变部Inv2发送的新的指令com2’,由此形成了往复交互。
在一些实施例中,步骤420中的逆变部Inv接收来自整流部Rec的第一时刻电流环路指令,具体可以包括步骤421和步骤422。S421,逆变部Inv对总线上广播的数据进行数据帧的识别。S422,逆变部Inv在识别到预设的匹配帧时,开始接收第一时刻电流环路指令。
在一些实施例中,步骤430具体可以包括步骤431和步骤432。S431,逆变部Inv在接收到第一时刻电流环路指令时,触发第一延迟定时器开始计时。S432,逆变部Inv在第一延迟定时器的计时值达到第一预设延迟时间delay1时,输出电流环路计算任务的计算结果,其中,第一预设延迟时间被设置为电流环路计算任务的执行用时。
在一些实施例中,逆变部Inv在输出电流环路计算任务的计算结果时,还对PWM定时器的计时值进行复位,以使PWM模块依据最新得电流环路计算结果进行输出。
在一些实施例中,步骤440具体可以包括步骤441和步骤442。S441,逆变部Inv在接收到第一时刻电流环路指令时,触发第二延迟定时器开始计时。S442,逆变部Inv在第二延迟定时器的计时值达到第二预设延迟时间delay2时,将采集到的电机位置上传至整流部Rec,其中,第二预设延迟时间被设置为电机位置采集任务的执行用时。
在一些实施例中,电机位置采集任务中的逆变部Inv采集电机位置具体包括:逆变部Inv发起与电机上的编码器之间的通讯,以使编码器对电机位置进行锁存并将锁存信息反馈至逆变部,并对接收到的锁存信息进行解算得到电机位置。
在一些实施例中,电机位置采集任务的执行用时包括:逆变部Inv与编码器通讯的时长以及对接收到的锁存信息进行解算的时长之和。
需要说明的是,本实施例的应用于多轴伺服系统的总线通信方法中未披露的细节,请参照本申请实施例中应用于从站的总线通信方法以及应用于总线通信系统的总线通信方法的实施例中所披露的细节,此处不再赘述。
另外,请参阅图14,本申请实施例还提供了一种总线通信系统的从站10,本实施例的总线通信系统的拓扑结构与图2中的总线通信拓扑结构相同,总线通信系统包括主站和n个从站10,主站与n个从站10进行全双工通信,其中,n为大于1的整数。并且,本实施例与应用于从站的总线通信方法实施例相对应。从站10包括:RX模块、任务启动模块13、数据输出模块14和TX模块。具体的,从站10可以采用FPGA芯片(Field Programmable Gate Array,现场可编程逻辑门阵列)或CPLD芯片(Complex Programmable logic device,复杂可编程逻辑器件)或CLB模块(Configurable Logic Block,可配置逻辑模块)来实现并行逻辑处理功能。
RX模块通过总线与主站连接,用于接收来自主站的第一时刻控制指令。具体的,RX模块可以包括RX端口11,通过RX端口11实现与主站的连接。
任务启动模块13与RX模块连接,用于启动第一任务tsk1和第二任务tsk2,其中,第一任务tsk1包括按第一时刻控制指令的指示进行计算并得到计算结果,第二任务tsk2包括采集目标数据。
数据输出模块14用于自第一时刻经过第一预设延迟时间delay1后,输出第一任务tsk1的计算结果。
TX模块用于自第一时刻经过第二预设延迟时间delay2后,将采集到的目标数据上传至主站,以便于主站依据目标数据生成第二时刻控制指令。具体的,TX模块包括TX端口15,通过TX端口15将目标数据上传至主站。
根据本申请实施例提出的总线通信系统的从站,通过利用全双工通讯机制,使得主站在下发控制指令的同时可以接收总线上任意从站的返回数据,并且所有从站都可以立即接收到主站发送的数据,所有从站上传的数据也可以被主站立即接收,控制指令的下发和目标数据的上传均不存在任何由于拓扑结构导致的延迟,缩短了主站与从站之间的通信周期,降低了主站与从站之间的通信延迟,有效地提升了通信系统的动态性能;并且,从站在接收到控制指令时,会启动计算任务和数据采集任务,以进行计算结果的输出和主站生成新的控制指令,实现主站与从站之间往复交互。
在一些实施例中,RX模块包括:帧匹配单元12,帧匹配单元12与RX端口11连接,用于对总线上的广播的数据进行数据帧的识别,并在识别到预设的匹配帧时,开始接收第一时刻控制指令。
在一些实施例中,从站10可以包括第一延迟定时器timer1,从站10在接收到第一时刻控制指令时,触发第一延迟定时器timer1开始计时,在第一延迟定时器timer1的计时值达到第一预设延迟时间delay1时,数据输出模块14输出第一任务的计算结果,其中,第一预设延迟时间被设置为第一任务的执行用时。
在一些实施例中,从站10可以包括第二延迟定时器timer2,从站10在接收到第一时刻控制指令时,触发第二延迟定时器timer2开始计时,在第二延迟定时器timer2的计时值达到第二预设延迟时间delay2时,TX模块15将采集到的目标数据上传至主站,其中,第二预设延迟时间delay2被设置为第二任务的执行用时。
在一些实施例中,每个从站10连接有目标设备16,第二任务为采集目标设备16的目标数据,并且,数据输出模块14输出第一任务的计算结果,具体为将第一任务的计算结果发送至目标设备16,以便于驱动目标设备16运行。
需要说明的是,本申请实施例的总线通信系统的从站的实施例中未披露的细节,请参照本申请实施例中应用于从站的总线通信方法的实施例中所披露的细节,此处不再赘述。
另外,本申请实施例还提供了一种多轴伺服通信系统的逆变部Inv,其中,该多轴伺服系统对应于总线通信系统,多轴伺服系统的逆变部Inv对应于总线通信系统的从站,而总线通信系统的主站为多轴伺服系统的整流部Rec。请参阅图15,本实施例的多轴伺服通信系统的逆变部Inv具体包括RX模块、任务启动模块23、数据输出模块24和TX模块。
首先需要说明的是,本实施例的总线通信系统的拓扑结构与图4中的总线通信拓扑结构相同,总线通信系统包括整流部Rec和n个逆变部Inv1~Invn,整流部Rec和n个逆变部Inv1~Invn进行全双工通信,n为大于1的整数。每个逆变部Inv均连接有一个电机M,例如逆变部Inv1连接有电机M1,逆变部Inv2连接有电机M2,逆变部Invn连接有电机Mn。多轴伺服系统可以为共直流母线多轴伺服系统,并且整流部Rec以及各个逆变部Inv均分开设置。并且,本实施例与应用于逆变部的总线通信方法实施例相对应。
RX模块通过总线与整流部Rec连接,用于接收来自整流部Rec的第一时刻电流环路指令。具体的,RX模块可以包括RX端口21,通过RX端口21实现与整流部Rec的连接。
任务启动模块23与RX模块连接,用于启动电流环路计算任务tsk3和电机位置采集任务tsk4,其中,电流环路计算任务tsk3包括按第一时刻电流环路指令的指示进行计算并得到计算结果,电机位置采集任务tsk4包括采集电机M的电机位置。
数据输出模块24用于自第一时刻经过第一预设延迟时间delay1后,输出电流环路计算任务tsk3的计算结果。输出电流环路计算任务tsk3的计算结果具体为:将电流环路计算任务tsk3的计算结果发送至电机M,以便于驱动电机M运行。
TX模块用于自第一时刻经过第二预设延迟时间delay2后,将采集到的电机位置上传至整流部Rec,以便于整流部Rec依据电机位置生成第二时刻电流环路指令。具体的,TX模块包括TX端口25,通过TX端口25将电机位置上传至整流部Rec。
根据本申请实施例提出的总线通信系统的逆变部,通过利用全双工通讯机制,使得整流部在下发电流环路指令的同时可以接收总线上任意逆变部的返回数据,并且所有逆变部都可以立即接收到整流部发送的数据,所有逆变部上传的数据也可以被整流部立即接收,指令的下发和电机位置的上传均不存在任何由于拓扑结构导致的延迟,缩短了整流部与逆变部之间的通信周期,降低了整流部与逆变部之间的通信延迟,有效地提升了多轴伺服系统的动态性能;并且,逆变部在接收到电流环路指令时,会启动电流环路任务和电机位置采集任务,以进行计算结果的输出和整流部生成新的电流环路指令,实现整流部与逆变部之间往复交互。
在一些实施例中,RX模块包括:帧匹配单元22,帧匹配单元22与RX端口21连接,用于对总线上的广播的数据进行数据帧的识别,并在识别到预设的匹配帧时,开始接收第一时刻电流环路指令。
在一些实施例中,逆变部Inv可以包括第一延迟定时器timer3,逆变部Inv在接收到第一时刻电流环路指令时,触发第一延迟定时器timer3开始计时,在第一延迟定时器timer3的计时值达到第一预设延迟时间delay1时,数据输出模块24输出电流环路计算任务的计算结果,其中,第一预设延迟时间被设置为电流环路计算任务的执行用时。
在一些实施例中,逆变部Inv在输出电流环路计算任务的计算结果时,还对PWM定时器的计时值进行复位,以使PWM模块依据最新得电流环路计算结果进行输出。
在一些实施例中,逆变部Inv可以包括第二延迟定时器timer4,逆变部Inv在接收到第一时刻电流环路指令时,触发第二延迟定时器timer4开始计时,在第二延迟定时器timer4的计时值达到第二预设延迟时间delay2时,TX模块将采集到的电机位置上传至整流部Rec,其中,第二预设延迟时间delay2被设置为电机位置采集任务的执行用时。
在一些实施例中,电机位置采集任务中的逆变部Inv采集电机位置具体包括:逆变部Inv发起与电机M上的编码器之间的通讯,以使编码器对电机位置进行锁存并将锁存信息反馈至逆变部Inv,并对接收到的锁存信息进行解算得到电机位置。
在一些实施例中,电机位置采集任务的执行用时包括:逆变部Inv与编码器通讯的时长以及对接收到的锁存信息进行解算的时长之和。
需要说明的是,本实施例的多轴伺服通信系统的逆变部中未披露的细节,请参照本申请实施例中应用于逆变部的总线通信方法的实施例中所披露的细节,此处不再赘述。
另外,请参阅图16,本申请实施例提供了一种总线通信系统,具体包括主站30和n个从站40,主站30与n个从站40进行全双工通信,其中,n为大于1的整数。
主站30包括:第一TX模块、第一RX模块和指令生成模块32。
第一TX模块用于依次向n个从站发送相应的第一时刻控制指令。具体的,第一TX模块可以包括第一TX端口33,通过第一TX端口33向从站40下发控制指令。第一RX模块用于接收从站40上传的目标数据。具体的,第一RX模块可以包括第一RX端口31,通过第一RX端口31接收从站40上传的数据。指令生成模块32用于依据从站40上传的目标数据生成相应的第二时刻控制指令。
从站40包括:第二RX模块、任务启动模块、数据输出模块和第二TX模块。
第二RX模块用于接收来自主站30的第一时刻控制指令。具体的,第二RX模块可以包括第二RX端口41,通过第二RX端口41接收主站30下发的控制指令。任务启动模块用于启动第一任务tsk5和第二任务tsk6,其中,第一任务tsk5包括按第一时刻控制指令的指示进行计算并得到计算结果,第二任务tsk6包括采集目标数据。数据输出模块44用于自第一时刻经过第一预设延迟时间后,输出第一任务tsk5的计算结果。第二TX模块用于自第一时刻经过第二预设延迟时间后,将采集到的目标数据上传至主站30。具体的,第二TX模块可以包括第二TX端口45,通过第二TX端口45向主站30上传目标数据。
根据本申请实施例提出的总线通信系统,通过利用全双工通讯机制,使得主站在下发控制指令的同时可以接收总线上任意从站的返回数据,并且所有从站都可以立即接收到主站发送的数据,所有从站上传的数据也可以被主站立即接收,控制指令的下发和目标数据的上传均不存在任何由于拓扑结构导致的延迟,缩短了主站与从站之间的通信周期,降低了主站与从站之间的通信延迟,有效地提升了通信系统的动态性能;并且,从站在接收到控制指令时,会启动计算任务和数据采集任务,以进行计算结果的输出和主站生成新的控制指令,实现主站与从站之间往复交互。
在一些实施例中,主站30的第一TX模块按预设发送顺序依次向n个从站发送相应的第一时刻控制指令,并且,主站30在向第m个从站发送第一时刻控制指令时,还接收在预设发送顺序中排位于第m个从站后一位置的从站反馈的目标数据,其中,m<n,以及,主站30在向预设发送顺序中排位于末位的从站发送当前时刻控制指令时,还接收在预设发送顺序中排位于首位的从站反馈的目标数据。
在一些实施例中,第二RX模块包括:帧匹配单元42,帧匹配单元42与第二RX端口41连接,用于对总线上的广播的数据进行数据帧的识别,并在识别到预设的匹配帧时,开始接收第一时刻控制指令。
在一些实施例中,从站40可以包括第一延迟定时器timer5,从站30在接收到第一时刻控制指令时,触发第一延迟定时器timer5开始计时,在第一延迟定时器timer5的计时值达到第一预设延迟时间delay1时,数据输出模块44输出第一任务tsk5的计算结果,其中,第一预设延迟时间被设置为第一任务tsk5的执行用时。
在一些实施例中,从站40可以包括第二延迟定时器timer6,从站40在接收到第一时刻控制指令时,触发第二延迟定时器timer6开始计时,在第二延迟定时器timer6的计时值达到第二预设延迟时间delay2时,第二TX模块将采集到的目标数据上传至主站,其中,第二预设延迟时间delay2被设置为第二任务tsk6的执行用时。
在一些实施例中,每个从站40连接有目标设备46,第二任务tsk6为采集目标设备46的目标数据,并且,数据输出模块44输出第一任务tsk5的计算结果,具体为将第一任务tsk5的计算结果发送至目标设备46,以便于驱动目标设备46运行。
需要说明的是,本实施例的总线通信系统中未披露的细节,请参照本申请实施例中应用于总线通信系统的总线通信方法的实施例中所披露的细节,此处不再赘述。
另外,请参阅图17,本申请实施例还提供了一种多轴伺服系统,包括整流部Rec和n个逆变部Inv1~Invn,其中,n为大于1的整数。每个逆变部均可以连接有一个电机M,例如逆变部Inv1连接有电机M1,逆变部Inv2连接有电机M2,逆变部Invn连接有电机Mn。多轴伺服系统可以为共直流母线多轴伺服系统,并且整流部Rec以及各个逆变部Inv均分开设置。需要说明的是,图17中仅示出了其中一个逆变部Inv1。
整流部Rec包括:第一TX模块、第一RX模块和指令生成模块52。
第一TX模块用于依次向n个逆变部Inv1~Invn发送相应的第一时刻电流环路指令。具体的,第一TX模块可以包括TX0端口,通过TX0端口下发电流环路指令。第一RX模块用于接收逆变部Inv上传的电机位置。具体的,第一RX模块可以包括RX0端口,通过RX0端口接收逆变部Inv上传的电机位置。TX0端口和RX0端口可以是整流部Rec的MCU(Microcontroller Unit,微控制单元)的通信端口。指令生成模块52用于依据逆变部Inv上传的电机位置生成相应的第二时刻电流环路指令。
逆变部Inv包括:第二RX模块、任务启动模块63、数据输出模块64和第二TX模块。
第二RX模块用于接收来自整流部Rec的第一时刻电流环路指令。具体的,逆变部Inv1的第二RX模块可以包括RX1端口,通过RX1端口接收整流部Rec下发的电流环路指令。任务启动模块63用于启动电流环路计算任务tsk7和电机位置采集任务tsk8,其中,电流环路计算任务tsk7包括按第一时刻电流环路指令的指示进行计算并得到计算结果,电机位置采集任务tsk8包括采集电机位置。数据输出模块64用于自第一时刻经过第一预设延迟时间delay1后,输出电流环路计算任务tsk7的计算结果。第二TX模块用于自第一时刻经过第二预设延迟时间delay2后,将采集到的电机位置上传至整流部Rec。具体的,第二TX模块可以包括TX1端口,通过TX1端口将电机位置上传至整流部Rec。TX1端口和RX1端口可以是逆变部Inv1的MCU(Microcontroller Unit,微控制单元)的通信端口。
整流部Rec与n个逆变部通过总线连接并进行全双工通信,整流部Rec相当于一个主站(Master),每个逆变部Inv相当于一个从站(Slave),形成一主多从式的通信架构。
每个逆变部可以采用FPGA芯片(Field Programmable Gate Array,现场可编程逻辑门阵列)或CPLD芯片(Complex Programmable logic device,复杂可编程逻辑器件)或CLB模块(Configurable Logic Block,可配置逻辑模块)来实现并行逻辑处理功能,并行处理电流环路启动、编码器通信启动、PWM Timer延迟启动以及逆变部反馈数据发送延迟启动,保证各个逆变部处理的时序对齐且延迟较少。请参阅图18,以整流部Rec与逆变部Inv1之间的通信为例,整流部Rec向逆变部Inv1发送相应的当前时刻电流环路指令,经过整流部发送延迟时间后,指令被逆变部Inv1接收到,逆变部Inv1依据接收到的指令进行电流环路控制(电流环路计算),并依据计算结果控制电机M1运行,同时逆变部Inv1在接收到指令时开始进行编码位置的采集和解算得到电机当前时刻位置,逆变部Inv1将电机当前时刻位置上传给整流部Rec,经过逆变部发送延迟时间之后,电机当前时刻位置被整流部Rec接收到,然后整流部Rec依据接收到的电机位置进行位置环路控制(位置环路计算)和速度环路控制(速度环路计算),并依据计算结果生成下一个与逆变部Inv1的交互周期中待发给逆变部Inv1的电流环路指令。
根据本申请实施例提出的多轴伺服系统,通过利用全双工通讯机制,使得整流部在下发电流环路指令的同时可以接收总线上任意逆变部的返回数据,并且所有逆变部都可以立即接收到整流部发送的数据,所有逆变部上传的数据也可以被整流部立即接收,指令的下发和电机位置的上传均不存在任何由于拓扑结构导致的延迟,缩短了整流部与逆变部之间的通信周期,降低了整流部与逆变部之间的通信延迟,有效地提升了多轴伺服系统的动态性能;并且,逆变部在接收到电流环路指令时,会启动电流环路任务和电机位置采集任务,以进行计算结果的输出和整流部生成新的电流环路指令,实现整流部与逆变部之间往复交互。
在一些实施例中,整流部Rec按预设发送顺序依次向n个逆变部Inv1~Invn发送相应的第一时刻电流环路指令,并且,整流部Rec在向第m个逆变部Invm发送第一时刻电流环路指令时,还接收在预设发送顺序中排位于第m个逆变部Invm后一位置的逆变部反馈的电机位置,其中,m<n,以及,整流部Rec在向预设发送顺序中排位于末位的逆变部Invn发送当前时刻电流环路指令时,还接收在预设发送顺序中排位于首位的逆变部Inv1反馈的电机位置。
在一些实施例中,逆变部Inv的第二RX模块包括:帧匹配单元62,帧匹配单元62与RX0端口连接,用于对总线上的广播的数据进行数据帧的识别,并在识别到预设的匹配帧时,开始接收第一时刻电流环路指令。
在一些实施例中,逆变部Inv可以包括第一延迟定时器timer5,逆变部Inv在接收到第一时刻电流环路指令时,触发第一延迟定时器timer5开始计时,在第一延迟定时器timer5的计时值达到第一预设延迟时间delay1时,数据输出模块64输出电流环路计算任务tsk7的计算结果,其中,第一预设延迟时间delay1被设置为电流环路计算任务tsk7的执行用时。
在一些实施例中,逆变部Inv在输出电流环路计算任务tsk7的计算结果时,还对PWM定时器的计时值进行复位,以使PWM模块依据最新得电流环路计算结果进行输出。
在一些实施例中,逆变部Inv可以包括第二延迟定时器timer6,逆变部Inv在接收到第一时刻电流环路指令时,触发第二延迟定时器timer6开始计时,在第二延迟定时器timer6的计时值达到第二预设延迟时间delay2时,第二TX模块的TX1端口将采集到的电机位置上传至整流部Rec,其中,第二预设延迟时间delay2被设置为电机位置采集任务tsk8的执行用时。
在一些实施例中,电机位置采集任务中的逆变部Inv采集电机位置具体包括:逆变部Inv发起与电机M上的编码器之间的通讯,以使编码器对电机位置进行锁存并将锁存信息反馈至逆变部Inv,并对接收到的锁存信息进行解算得到电机位置。
在一些实施例中,电机位置采集任务的执行用时包括:逆变部Inv与编码器通讯的时长以及对接收到的锁存信息进行解算的时长之和。
需要说明的是,本实施例的多轴伺服系统中未披露的细节,请参照本申请实施例中应用于多轴伺服系统的总线通信方法的实施例中所披露的细节,此处不再赘述。
多轴伺服系统的整体通信过程请参阅图5和图17,以逆变部Inv1为例,整流部Rec在生成用于控制逆变部Inv1的当前时刻电流环路指令com1之后,将指令com1通过TX0端口广播到总线上,此时每个逆变部Inv均通过RX端口对指令com1进行接收,并通过自身配置的帧匹配单元对指令com1进行识别,由于指令com1对应于逆变部Inv1,因此只有逆变部Inv1从指令com1中识别出的数据帧与逆变部Inv1自身的唯一标识相适配,即识别出了匹配帧,其他逆变部不会识别出匹配帧。
逆变部Inv1在识别出匹配帧之后,立即开始对当前时刻电流环路指令进行响应,并可以同时开始执行以下四个动作:
其中第一个动作是:逆变部Inv1开始依据指令com1中包含的定位数据和转速数据进行电流环路计算(电流环路控制),将计算结果输出至PWM模块,通过PWM模块的调制,输出相应的信号来控制电机M运转。
其中第二个动作是:逆变部Inv1触发第一延迟定时器timer5开始计时,并在第一定时器的计时值达到第一预设延迟时间delay1时,触发PWM定时器(PWM-Timer)的计时值复位,以使PWM定时器重新开始从零计时,其中,第一预设延迟时间delay1被设置为逆变部Inv1进行电流环路计算的计算时长,由此使得被更新到PWM模块的电流环路计算结果最新。
其中第三个动作是:逆变部Inv1开始与安装在电机M上的编码器进行通信,向编码器发送采集信号,编码器收到采集信号后对电机位置信息进行锁存,并将锁存的电机当前时刻位置反馈给逆变部Inv1,由此完成与编码器的通信,然后逆变部Inv1对编码器反馈的信息进行解算,得到电机当前时刻位置。由于锁存是根据整流部数据帧发送时间来启动的,因此整流部Rec的位置环路和速度环路可以对逆变部Inv1反馈的位置信息进行有效补偿。
其中第四个动作是:逆变部Inv1触发数据发送定时器(第二延迟定时器timer6)开始计时,并在数据发送定时器的计时值达到第二预设延迟时间delay2时,触发将电机当前时刻位置通过TX1端口向总线进行广播,以发送给整流部Rec。其中,第二延时时长delay2被设置为逆变部Inv1与编码器通信的时间与逆变部Inv1解算位置信息的时间之和,由此使得逆变部Inv1上传的电机位置信息最新,减少位置控制环路和速度控制环路在位置反馈信号上的延迟。
上述四个动作中,第一和第二个动作用于电机控制,第三和第四个动作用于向整流部Rec进行信息反馈。整流部Rec通过RX0端口接收逆变部Inv1发来的电机当前时刻位置,依据电机位置信息进行位置环路计算和速度环路计算,分别算出定位数据和转速数据,算出的定位数据和转速数据用于生成新的电流环路指令com1’,指令com1’用于逆变部Inv1在下一交互周期的电机控制。
由于在多轴伺服系统中,电机有n个,逆变部也有n个,因此整流部Rec和逆变部Inv2~Invn之中的每个逆变部之间的通信过程,均与上述的整流部Rec和逆变部Inv1之间通信过程相同,但对于整流部Rec来说,整流部Rec与所有的逆变部Inv1~Invn之间的通信过程可以为:整流部Rec按照预先设定的顺序,轮动式地向Inv1、Inv2、…、Invn发送对应的电流环路指令com1、com2、…、comn,其中,在整流部Rec向逆变部Inv1发送电流环路指令com1之后,逆变部Inv1接收到指令com1后开始进行电机控制以及电机位置信息采集,而在逆变部Inv1完成电机位置信息采集并上传至整流部Rec之后,整流部Rec就可以据此生成新的电流环路指令,然后开启下一轮的电流环路指令发送工作,而在整流部Rec生成并向逆变部Inv1下发新的电流环路指令之前,整流部Rec已经完成了Inv2~Invn的指令下发工作。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备以及计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (13)
1.一种总线通信方法,其特征在于,应用于总线通信系统中的n个从站,所述总线通信系统还包括主站,所述主站与n个从站进行全双工通信,其中,n为大于1的整数,所述方法包括:
接收来自所述主站的第一时刻控制指令,启动第一任务和第二任务,其中,所述第一任务包括按所述第一时刻控制指令的指示进行计算并得到计算结果,所述第二任务包括采集目标数据;
自第一时刻经过第一预设延迟时间后,输出所述第一任务的计算结果;
自第一时刻经过第二预设延迟时间后,将采集到的目标数据上传至所述主站,以便于所述主站依据所述目标数据生成第二时刻控制指令。
2.根据权利要求1所述的方法,其特征在于,接收来自所述主站的第一时刻控制指令,包括:
对总线上广播的数据进行数据帧的识别;
在识别到预设的匹配帧时,开始接收第一时刻控制指令。
3.根据权利要求1所述的方法,其特征在于,自第一时刻经过第一预设延迟时间后,输出所述第一任务的计算结果,包括:
在接收到所述第一时刻控制指令时,触发第一延迟定时器开始计时;
在所述第一延迟定时器的计时值达到第一预设延迟时间时,输出所述第一任务的计算结果,其中,所述第一预设延迟时间被设置为所述第一任务的执行用时。
4.根据权利要求1所述的方法,其特征在于,自第一时刻经过第二预设延迟时间后,将采集到的目标数据上传至所述主站,包括:
在接收到所述第一时刻控制指令时,触发第二延迟定时器开始计时;
在所述第二延迟定时器的计时值达到第二预设延迟时间时,将采集到的目标数据上传至所述主站,其中,所述第二预设延迟时间被设置为所述第二任务的执行用时。
5.根据权利要求1-4中任一项所述的方法,其特征在于,每个所述从站连接有目标设备,所述第二任务为采集所述目标设备的目标数据,并且,输出所述第一任务的计算结果具体为:将所述第一任务的计算结果发送至所述目标设备,以便于驱动所述目标设备运行。
6.根据权利要求5所述的方法,其特征在于,所述总线通信系统为多轴伺服系统,所述主站为整流部,所述从站为逆变部,所述目标设备为电机,所述目标数据为电机位置,所述第一时刻控制指令包括电流环路指令,所述第一任务中的计算为按所述电流环路指令进行电流环路计算。
7.根据权利要求6所述的方法,其特征在于,在输出所述第一任务的计算结果时,还对PWM定时器的计时值进行复位,以使PWM模块依据最新得电流环路计算结果进行输出。
8.根据权利要求6所述的方法,其特征在于,所述第二任务中的采集电机位置具体包括:
发起与所述电机上的编码器之间的通讯,以使所述编码器对电机位置进行锁存并将锁存信息反馈至逆变部;
对接收到的锁存信息进行解算得到电机位置。
9.根据权利要求8所述的方法,其特征在于,所述第二任务的执行用时包括:与所述编码器通讯的时长以及对接收到的锁存信息进行解算的时长之和。
10.一种总线通信方法,其特征在于,应用于总线通信系统,所述总线通信系统包括主站和n个从站,所述主站与n个从站进行全双工通信,其中,n为大于1的整数,所述方法包括:
所述主站依次向n个从站发送相应的第一时刻控制指令;
所述从站接收来自所述主站的第一时刻控制指令,启动第一任务和第二任务,其中,所述第一任务包括按所述第一时刻控制指令的指示进行计算并得到计算结果,所述第二任务包括采集目标数据;
所述从站自第一时刻经过第一预设延迟时间后,输出所述第一任务的计算结果;
所述从站自第一时刻经过第二预设延迟时间后,将采集到的目标数据上传至所述主站;
所述主站接收所述从站上传的目标数据,并依据所述目标数据生成相应的第二时刻控制指令。
11.根据权利要求10所述的方法,其特征在于,所述主站按预设发送顺序依次向n个从站发送相应的第一时刻控制指令,并且,所述主站在向第m个从站发送第一时刻控制指令时,还接收在所述预设发送顺序中排位于第m个从站后一位置的从站反馈的目标数据,其中,m<n,以及,所述主站在向所述预设发送顺序中排位于末位的从站发送当前时刻控制指令时,还接收在预设发送顺序中排位于首位的从站反馈的目标数据。
12.一种总线通信系统的从站,其特征在于,所述总线通信系统包括主站和n个从站,所述主站与n个从站进行全双工通信,其中,n为大于1的整数,所述从站包括:
RX模块,用于接收来自所述主站的第一时刻控制指令;
任务启动模块,用于启动第一任务和第二任务,其中,所述第一任务包括按所述第一时刻控制指令的指示进行计算并得到计算结果,所述第二任务包括采集目标数据;
数据输出模块,用于自第一时刻经过第一预设延迟时间后,输出所述第一任务的计算结果;以及,
TX模块,用于自第一时刻经过第二预设延迟时间后,将采集到的目标数据上传至所述主站,以便于所述主站依据所述目标数据生成第二时刻控制指令。
13.一种总线通信系统,其特征在于,包括主站和n个从站,所述主站与n个从站进行全双工通信,其中,n为大于1的整数;
所述主站包括:
第一TX模块,用于依次向n个从站发送相应的第一时刻控制指令;
第一RX模块,用于接收所述从站上传的目标数据;以及,
指令生成模块,用于依据所述从站上传的目标数据生成相应的第二时刻控制指令;
所述从站包括:
第二RX模块,用于接收来自所述主站的第一时刻控制指令;
任务启动模块,用于启动第一任务和第二任务,其中,所述第一任务包括按所述第一时刻控制指令的指示进行计算并得到计算结果,所述第二任务包括采集目标数据;
数据输出模块,用于自第一时刻经过第一预设延迟时间后,输出所述第一任务的计算结果;以及,
第二TX模块,用于自第一时刻经过第二预设延迟时间后,将采集到的目标数据上传至所述主站。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210977239.9A CN116016010B (zh) | 2022-08-15 | 2022-08-15 | 总线通信方法、从站及总线通信系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210977239.9A CN116016010B (zh) | 2022-08-15 | 2022-08-15 | 总线通信方法、从站及总线通信系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116016010A true CN116016010A (zh) | 2023-04-25 |
CN116016010B CN116016010B (zh) | 2024-08-30 |
Family
ID=86027482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210977239.9A Active CN116016010B (zh) | 2022-08-15 | 2022-08-15 | 总线通信方法、从站及总线通信系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116016010B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116722944A (zh) * | 2023-07-13 | 2023-09-08 | 安徽中科海奥电气股份有限公司 | 一种分布式能源系统的设备同步控制方法 |
CN117193169A (zh) * | 2023-09-12 | 2023-12-08 | 广州致远电子股份有限公司 | 运动控制方法、控制器、机电设备以及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1202495A2 (en) * | 2000-10-25 | 2002-05-02 | International Business Machines Corporation | Methodology for managing power consumption in master driven time division duplex wireless network |
JP2017139723A (ja) * | 2016-02-02 | 2017-08-10 | 富士電機株式会社 | 通信システム、ノード装置、およびプログラム |
CN109702960A (zh) * | 2018-08-21 | 2019-05-03 | 广东伊之密精密机械股份有限公司 | 控制装置、下位机、电射台及注塑机 |
CN110095808A (zh) * | 2019-05-07 | 2019-08-06 | 吉林大学 | 一种基于同步串口的双向无址级联地震数据传输系统及其使用方法 |
-
2022
- 2022-08-15 CN CN202210977239.9A patent/CN116016010B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1202495A2 (en) * | 2000-10-25 | 2002-05-02 | International Business Machines Corporation | Methodology for managing power consumption in master driven time division duplex wireless network |
JP2017139723A (ja) * | 2016-02-02 | 2017-08-10 | 富士電機株式会社 | 通信システム、ノード装置、およびプログラム |
CN109702960A (zh) * | 2018-08-21 | 2019-05-03 | 广东伊之密精密机械股份有限公司 | 控制装置、下位机、电射台及注塑机 |
CN110095808A (zh) * | 2019-05-07 | 2019-08-06 | 吉林大学 | 一种基于同步串口的双向无址级联地震数据传输系统及其使用方法 |
Non-Patent Citations (2)
Title |
---|
ASMA ALFERGANI;ASHRAF KHALIL;ZAKARIYA RAJAB: ""Control of Master-Slave Microgrid Based on CAN Bus"", 《2017 IEEE JORDAN CONFERENCE ON APPLIED ELECTRICAL ENGINEERING AND COMPUTING TECHNOLOGIES(AEECT)》, 15 June 2017 (2017-06-15) * |
刘仁华: ""多路射频同步采集系统设计与实现"", 《中国优秀硕士学位论文全文数据库(信息科技辑)》, 15 June 2020 (2020-06-15) * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116722944A (zh) * | 2023-07-13 | 2023-09-08 | 安徽中科海奥电气股份有限公司 | 一种分布式能源系统的设备同步控制方法 |
CN116722944B (zh) * | 2023-07-13 | 2024-04-02 | 安徽中科海奥电气股份有限公司 | 一种分布式能源系统的设备同步控制方法 |
CN117193169A (zh) * | 2023-09-12 | 2023-12-08 | 广州致远电子股份有限公司 | 运动控制方法、控制器、机电设备以及介质 |
CN117193169B (zh) * | 2023-09-12 | 2024-03-22 | 广州致远电子股份有限公司 | 运动控制方法、控制器、机电设备以及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116016010B (zh) | 2024-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116016010B (zh) | 总线通信方法、从站及总线通信系统 | |
CN106411184B (zh) | 一种网络化的多轴电机同步控制装置及方法 | |
CN107465764B (zh) | 基于星型拓扑结构的物联网通信系统、网关设备及方法 | |
CN108243017B (zh) | 广播实现方法、装置和设备 | |
US10200956B2 (en) | Systems and methods for throughput enhancement among ultra-low power wireless network devices | |
CN104509038B (zh) | 通信装置、通信系统以及同步控制方法 | |
CN203350684U (zh) | 一种网络通信系统 | |
JP2014504070A (ja) | 通信ネットワークにおける動作チャネルを決定する方法、エネルギ制限された装置及びそのプロキシ装置 | |
CN113992472B (zh) | 一种FlexRay总线IP核的工作方法及系统 | |
US8615024B2 (en) | Data transmission method in sensor network | |
JP6661677B2 (ja) | 無線通信システム、制御回路及び制御方法 | |
CN112714394A (zh) | 一种多标签测距方法、系统、存储介质及终端 | |
KR101340438B1 (ko) | 데이터 처리장치 및 그 제어 방법 | |
CN110430621A (zh) | 检测系统的通信方法及系统 | |
CN106127094B (zh) | 无线射频识别系统及其多标签防碰撞预分析式识别方法 | |
CN104698946B (zh) | 一种高速数据采集系统 | |
CN204859028U (zh) | 诊断和控制电路 | |
CN218217137U (zh) | 一种电机控制装置、车辆中控设备和车辆 | |
CN110519839A (zh) | 一种无线局域网时间同步方法 | |
Hong et al. | An improvement of energy consumption efficiency for MQTT-SN using transmission scheduling and variable period of keep-alive | |
CN117833720A (zh) | 一种电机控制方法、装置、电机驱动器及存储介质 | |
JP2004227261A (ja) | 数値制御システム | |
CN114727382B (zh) | 组网方法、装置、计算机设备和存储介质 | |
CN108170629B (zh) | 一种面向智能物联的异步串行大数据可靠传输方法 | |
WO2004062236A1 (en) | Method and wireless sensor platform for establishing pair-wise communication |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |