CN106444713A - 一种基于双冗余can总线通信的多智能单机伺服控制*** - Google Patents
一种基于双冗余can总线通信的多智能单机伺服控制*** Download PDFInfo
- Publication number
- CN106444713A CN106444713A CN201610917857.9A CN201610917857A CN106444713A CN 106444713 A CN106444713 A CN 106444713A CN 201610917857 A CN201610917857 A CN 201610917857A CN 106444713 A CN106444713 A CN 106444713A
- Authority
- CN
- China
- Prior art keywords
- self
- bus
- servo
- driver
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0259—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
- G05B23/0275—Fault isolation and identification, e.g. classify fault; estimate cause or root of failure
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24065—Real time diagnostics
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Safety Devices In Control Systems (AREA)
Abstract
该发明涉及一种基于双冗余CAN总线通信的多智能单机伺服控制***,由主伺服控制驱动器接收上位机的指令,执行相应的操作,同时将在上位机接收的指令通过地位对等的第一CAN总线和第二CAN总线分别冗余地将指令发送给从伺服控制驱动器,并将***中主伺服控制驱动器连同从伺服控制驱动器发送的指令操作结果和测量参数反馈至上位机,在不增加额外数据传输的情况下,实时对双冗余CAN总线进行总线错误自诊断和总线状态自诊断,自诊断发现通信总线异常时,采用相应的自恢复措施进行自恢复。该***用于火箭飞行控制的伺服***不同智能单机的通信,用相对低廉的成本实现了高可靠通信,且具有自诊断和自恢复功能,确保了火箭等飞行控制***的高可靠性。
Description
技术领域
本发明涉及一种基于双冗余CAN总线通信的多智能单机伺服控制***,特别是一种基于双冗余CAN总线通信的多智能单机伺服控制***,用于伺服控制***内部多智能单机的通信,属于伺服***的控制领域。
背景技术
大型伺服***中要完成复杂的动作控制,需要多个智能单机协调工作,而更高级***对伺服***要求是唯一节点和接口,对应一个上位机1553B的总线站点。在这种背景下,伺服***内部需要设计高可靠冗余通信网络,解决分布式控制要求。
CAN(Controller Area Network)总线是一种串行多主站控制器局域网总线。它具有很高的网络安全性、通讯可靠性和实时性,简单实用,网络成本低。特别适用于汽车计算机控制***和环境温度恶劣、电磁辐射强和振动大的工业环境。通讯媒体可以是双绞线、同轴电缆或光导纤维,数据传输速率可达1Mbits/s。现有的CAN总线通信技术一般都采用单总线。其缺点在于:
(1)、只有一路总线进行通信,存在单点环节,一旦出现软件通信故障不能恢复就会出现通信失败,影响***可靠性。
(2)、不具备自诊断和自恢复功能,即当两个通信节点通信失败时,没有任何补救措施,导致***瘫痪。
(3)、由于CAN总线本身属于串行总线,且只有一路,相互之间通信所有数据帧均通过该路总线顺次传输,受到硬件传输速度制约,对指令相应延迟较大,制约了***对指令的响应性能。
发明内容
本发明的技术解决问题是:克服现有技术的不足,提供一种高性能、高可靠性和鲁棒性的基于双冗余CAN总线通信的多智能单机伺服控制***,用于火箭飞行控制的伺服***不同智能单机的通信,用相对低廉的成本实现了高可靠通信,且具有自诊断和自恢复功能,确保了火箭等飞行控制***的高可靠性。
本发明的技术解决方案是:一种基于双冗余CAN总线通信的多智能单机伺服控制***,该***包括上位机、主伺服控制驱动器、从伺服控制驱动器,其中,
上位机,发送指令信息给主伺服控制驱动器,所述指令信息包括自检指令、时序指令及控制指令;接收主伺服控制驱动器发送的自检结果、时序操作结果和测量数据,对多智能单机伺服控制***进行状态监测;
主伺服控制驱动器,接收上位机发送的自检、时序指令信息,进行自检、时序操作;接收上位机发送的控制指令,采集主伺服机构测量信息,按照控制计算周期,进行主伺服机构摆角闭环控制计算,控制主伺服机构到达指定的位置,同时,转发送控制指令至从伺服控制驱动器;接收从伺服控制驱动器发送的自检结果、时序响应结果和测量信息,合并本地自检结果、时序操作结果和测量数据发送到上位机;
从伺服控制驱动器,接收主伺服控制驱动器发送的自检指令,执行自检操作,将自检结果发送至主伺服控制驱动器;接收时序指令,驱动从伺服机构完成相应的时序操作,并将时序响应结果发送至主伺服控制驱动器;接收主伺服控制驱动器发送的控制指令、采集从伺服机构测量信息,按照控制计算周期,进行闭环控制计算,得到从伺服机构摆角,控制从伺服机构到达指定的位置,并将从伺服机构测量信息发送主伺服控制驱动器;
主伺服控制驱动器和从伺服控制驱动器采用地位对等的双冗余CAN总线进行通信,在不增加额外数据传输的情况下,实时对双冗余CAN总线进行总线错误自诊断和总线状态自诊断,且自诊断发现通信总线异常时,采用相应的自恢复措施进行自恢复。
所述总线状态自诊断的诊断方法为:
从伺服控制驱动器在预定的N个控制计算周期以上的时间段内未能通过指定CAN总线接收到主伺服控制驱动器发送的控制指令,则认为该CAN总线故障,对该CAN总线采取总线状态自恢复措施进行自恢复,否则,认为该CAN总线正常,不作处理;
主伺服控制驱动器在预定的N个控制计算周期以上的时间段内未能通过指定CAN总线接收到从伺服控制驱动器发送的测量数据,则认为该CAN总线故障,对该CAN总线采取总线状态自恢复措施进行自恢复,否则,认为该CAN总线正常,不作处理,所述N≥2。
所述总线状态自恢复措施为:主伺服控制驱动器或从伺服控制驱动器复位出现故障CAN总线所对应的控制芯片,并重新初始化该CAN总线的配置寄存器。
所述总线错误诊断方法为:设置CAN总线控制芯片均通过错误计数器实时监测总线传输错误数,当传输错误数超过预设的门限时,总线会自动进入总线关闭状态,主伺服控制驱动器和从伺服控制驱动器循环检测总线是否进入关闭状态,一旦检测到某总线进入关闭状态,采取总线错误恢复措施对该总线进行自恢复处理。
所述总线错误自恢复措施为:将出现故障的CAN总线控制芯片内部寄存器中自动恢复使能位置为1,使CAN总线控制芯片从总线关闭状态恢复到正常工作状态。
***中数据发送方采用冗余方式发送数据,发送数据帧包含消息序号和功能定义,功能定义用来标识发送数据的内容,不同内容的数据帧采用不同功能定义标识,每条相同功能的消息均通过互为冗余的第一CAN总线和第二CAN总线同时发送,消息序号相同,消息序号从0开始累加,每发送一条消息增加1;相应地,数据接收方同时接收第一CAN总线和第二CAN总线的消息,判断消息序号是否与最近接收到的n条消息的消息序号相同,如果相同则认为消息为重复的消息,将后一条消息舍弃;如果没有相同的消息序号,则认为消息为有效的新消息,将消息保存并且存储该消息序号,以备与下一条消息比较使用,n≥2。
所述发送数据帧结构如下所示:
序号 | 消息序号 | 数据区 | 功能定义 | 字节数 |
本发明与现有技术相比的有益效果是:
(1)、本发明创造性地设计了一种“一拖二”的主从式多智能单机伺服控制***,主机对应一个上位机1553B的总线站点,在伺服***内部设计高可靠冗余通信网络,解决分布式控制需求难题,实现多路伺服机构的控制驱动及协调工作;
(2)、本发明采用双路实时冗余CAN总线实现多智能单机内部通信,两条总线指令及数据实时对等传输,任何一路故障均不影响***通信,且判断和恢复可交替互补,无判断周期和恢复时间,实时性高,可靠性大大提高;
(3)、本发明采用了双冗余CAN总线实现多智能单机内部通信,通信速率加倍,不同指令和数据可交错传输,对指令响应延迟明显降低,大大提高了***对指令的响应快速性;
(4)、本发明双路CAN总线均具有自诊断和自恢复功能,实时监测总线状态,任何一路总线由于软件运行异常、寄存器状态改变及通信错误等故障模式导致的通信异常均可自行修复,可靠性更上一层;
(5)、本发明自诊断过程利用了控制指令和测量数据传输作为自诊断的依据,在数据通信同时完成自诊断,且不增加通信负担;
(6)、本发明同时采用了两种不同的自诊断和自恢复方法并行进行处理,分别针对总线状态异常和总线出错关闭两种故障模式分别进行了自修复,增加了可靠性。
附图说明
图1为本发明基于双冗余CAN总线通信的多智能单机伺服控制***组成框图;
图2为本发明实施例自检指令通信流程图;
图3为本发明实施例时序指令通信流程;
图4为本发明实施例控制指令通信流程;
图5为本发明实施例测量数据通信流程图;
图6为本发明实施例总线状态自诊断功能示意图;
图7为本发明实施例总线状态自恢复状态转换图。
具体实施方式
下面结合附图和具体实施例对本发明进行说明。
如图1所示,一种基于双冗余CAN总线通信的多智能单机伺服控制***包括上位机、主伺服控制驱动器、从伺服控制驱动器。主伺服控制驱动器与上位机通过1553B总线A和B进行通信,主伺服控制驱动器和从伺服控制驱动器通过地位对等的双冗余CAN总线进行通信。主伺服控制驱动器用来驱动***中安装于Ⅰ、Ⅱ象限的伺服机构Ⅰ和伺服机构Ⅱ,从伺服控制驱动器用来驱动***中安装于Ⅲ、Ⅳ象限的伺服机构Ⅲ和伺服机构Ⅳ。这种“一拖二”的主从式多智能单机伺服控制***,由主伺服控制驱动器对应一个上位机1553B的总线站点,在伺服***内部设计高可靠冗余通信网络,解决分布式控制需求难题,实现多路伺服机构的控制驱动及协调工作。
上位机,发送指令信息给主伺服控制驱动器,所述指令信息包括自检指令、时序指令及控制指令;接收主伺服控制驱动器发送的自检结果、时序操作结果和测量数据,对多智能单机伺服控制***进行状态监测;
主伺服控制驱动器,通过1553B总线A和B接收上位机的指令,根据地址数据排序进行解析,从前往后依次为Ⅰ、Ⅱ、Ⅲ、Ⅳ通道指令,根据指令进行相应的操作,如接收上位机发送的自检、时序指令信息,进行自检、时序操作;接收上位机发送的控制指令,采集伺服机构Ⅰ和伺服机构Ⅱ线位移信号和永磁同步伺服电机状态等测量数据,按照控制计算周期,进行伺服机构摆角闭环控制计算,控制驱动伺服机构Ⅰ和伺服机构Ⅱ按***指令动作,使之到达指定的位置,并将主伺服控制驱动器连同从伺服控制驱动器测量数据反馈至上位机;同时将在上位机接收的指令通过地位对等的第一CAN总线和第二CAN总线分别冗余地将指令转发给从伺服控制驱动器。接收从伺服控制驱动器发送的自检结果、时序响应结果和测量信息,合并本地自检结果、时序操作结果和测量数据发送到上位机。
从伺服控制驱动器,通过第一CAN总线和第二CAN总线接收主伺服控制驱动器发送的自检指令,执行自检操作,将自检结果发送至主伺服控制驱动器;接收时序指令,驱动从伺服机构完成相应的时序操作,并将时序响应结果发送至主伺服控制驱动器;接收主伺服控制驱动器发送的控制指令、采集伺服机构Ⅲ和伺服机构Ⅳ线位移信号和永磁同步伺服电机状态数据等测量信息,按照控制计算周期,进行闭环控制计算,得到伺服机构摆角,控制驱动伺服机构Ⅲ和伺服机构Ⅳ按***指令动作,并将从伺服控制驱动器的测量数据通过第一CAN总线和第二CAN总线发送至主伺服控制驱动器。
上述一种多智能单机伺服控制***包括自检流程、时序指令流程、控制指令流程、测量数据传送流程、总线状态自诊断流程、总线状态自恢复流程、总线错误自诊断流程、总线错误自恢复流程。
控制指令流程在主伺服控制驱动器和从伺服控制驱动器之间为定时发送,自检流程、时序指令流程根据上位机指令随机发送,控制指令流程和测量数据传送流程周期性进行,自诊断流程在主伺服控制驱动器和从伺服控制驱动器内部独立运行和实时判断,不需要主机额外发送指令,自恢复流程由主伺服控制驱动器和从伺服控制驱动器的CAN总线控制芯片实时完成。
以下分别介绍这几个流程:
1、自检流程
主伺服控制驱动器接收上位机发送的自检指令,随即将自检指令通过第一CAN总线和第二CAN总线发送到从伺服控制驱动器,然后完成自身自检,并等待从伺服控制驱动器反馈的自检应答,超过500ms未收到自检应答,认为通信失败,直接置自检异常,收到自检应答后,将主伺服控制驱动器和从伺服控制驱动器自检结果合并为一个状态字,并将自检结果发送给上位机。如图2所示,自检流程如下:
(1)、主伺服控制驱动器收到上位机发送的自检指令之后,进行指令解析,判断该指令是自检、时序还是控制指令,如果是自检指令,进行后续操作。
(2)、主伺服控制驱动器通过第一CAN总线和第二CAN总线将自检指令发送到从伺服控制驱动器,然后采集主伺服控制驱动器电参数进行量值判断,在自检判据范围内为正常,超出自检判据范围为异常,然后存储自身自检结果,并等待从伺服控制驱动器反馈自检结果。
(3)、从伺服控制驱动器如果收到第一CAN总线/第二CAN总线的自检命令,则执行从伺服控制驱动器自检,并将自检结果分别通过第一CAN总线或第二CAN总线返回自检应答;
(4)、主伺服控制驱动器判断在200ms内是否能接收到自检应答,如果在200ms内接收到第一CAN总线或第二CAN总线的自检应答后,分别置第一CAN总线、第二CAN总线的自检状态位正常,如果不能在200ms内接收到第一CAN总线/第二CAN总线的自检应答,则分别置第一CAN总线、第二CAN总线的自检状态位异常。
(5)主伺服控制驱动器在接收到第一CAN总线或者第二CAN总线的自检应答后,解析判断主伺服控制驱动器和从伺服控制驱动器均自检正常后,向控制***返回自检正常标志;若主伺服控制驱动器或从伺服控制驱动器存在异常后,向控制***返回异常状态字标志。
2、时序指令流程
时序指令是指使伺服***完成某项特定工作的指令,如起机指令、停机指令,这些指令发送时间不固定,主伺服控制驱动器接收上位机发送的时序指令,随即将时序指令通过第一CAN总线和第二CAN总线发送到从伺服控制驱动器,然后完成时序指令规定的启动、停止动作,并等待从伺服控制驱动器反馈的时序应答,收到时序应答后,将主伺服控制驱动器和从伺服控制驱动器时序应答加以综合,并将总的时序应答发送给上位机。
如图3所示,时序指令流程如下:
(1)、主伺服控制驱动器收到上位机发送的时序指令之后,进行指令解析判断,主伺服控制驱动器和从伺服控制驱动器执行启动、停止动作。
(2)、主伺服控制驱动器通过第一CAN总线和第二CAN总线将时序指令发送到从伺服控制驱动器,然后执行时序动作,存储自身时序结果,并等待从伺服控制驱动器反馈时序结果。
(3)、从伺服控制驱动器如果收到第一CAN总线/第二CAN总线的时序命令,则执行从伺服控制驱动器时序,成功完成动作为正常,未成功完成动作为异常,并将时序响应结果,分别通过第一CAN总线/第二CAN总线返回至主伺服控制驱动器;
(4)、主伺服控制驱动器判断在1s内是否能接收到时序应答,如果在1s内接收到第一CAN总线/第二CAN总线的时序应答后,分别置第一CAN总线、第二CAN总线的时序状态位正常,如果不能在1s内接收到第一CAN总线/第二CAN总线的时序应答,则分别置第一CAN总线、第二CAN总线的时序状态位异常。
(5)、主伺服控制驱动器在接收到第一CAN总线或者第二CAN总线的时序应答后,解析判断主伺服控制驱动器和从伺服控制驱动器均执行时序正常后,向上位机返回时序正常标志;若主伺服控制驱动器或从伺服控制驱动器存在异常,向上位机返回异常状态标志。
3、控制指令流程
控制指令是四台伺服机构需要摆动的位置角度值。主伺服控制驱动器接收上位机发送的控制指令,采集主伺服机构测量信息,按照***控制计算周期,进行伺服机构摆角闭环控制计算,控制主伺服机构到达指定的位置,并将控制指令通过第一CAN总线,第二CAN总线发送到从伺服控制驱动器。
如图4所示,控制指令流程为:
(1)、主伺服控制驱动器每1ms收到一次上位机发送的控制指令,进行指令解析,指令中前两个字为伺服机构Ⅰ和伺服机构Ⅱ指令,后两个字为伺服机构Ⅲ和伺服机构Ⅳ指令,主伺服控制驱动器和从伺服控制驱动器需要分别执行。
(2)、主伺服控制驱动器每个计算周期通过第一CAN总线和第二CAN总线将伺服机构Ⅲ和伺服机构Ⅳ的动作指令发送到从伺服控制驱动器,然后完成对伺服机构Ⅰ和伺服机构Ⅱ的闭环控制,未收到新的上位机控制指令时,发送上一个控制周期的控制指令;
(3)、从伺服控制驱动器使用定时中断的方式查看是否接收到控制指令,如果0.1ms查询周期内同时收到第一CAN总线和第二CAN总线的控制指令,则在接收到下一帧指令之前使用第一CAN总线或者第二CAN总线的控制指令参与控制伺服机构摆角的闭环运算;
如果在0.1ms查询周期内只收到第一CAN总线控制指令,则使用第一CAN总线的控制指令参与闭环运算;
如果在0.1ms查询周期内只收到第二CAN总线控制指令,则使用第二CAN总线的控制指令参与闭环运算。
如果在0.1ms查询周期内未收到第一CAN总线和第二CAN总线的控制指令,则按照最近收到的指令参与闭环运算。
4、测量数据发送流程
从伺服控制驱动器按照***控制计算周期,将从伺服机构测量信息发送主伺服控制驱动器;主伺服控制驱动器接收从伺服控制驱动器发送的测量信息,合并本地测量数据发送到上位机,用于多智能单机伺服控制***状态监测。
如图5所示,测量数据发送流程为:
(1)、从伺服控制驱动器每1ms通过第一CAN总线和第二CAN总线向主伺服控制驱动器发送伺服机构Ⅲ和伺服机构Ⅳ采集的测量数据帧1、测量数据帧2。
(2)、主伺服控制驱动器如果在0.1ms查询周期内收到第一CAN总线和第二CAN总线的测量数据,则使用第一CAN总线或第二CAN总线的测量数据返回上位机;如果在查询周期内只收到第一CAN总线测量数据,则接收到下一拍测量数据之前使用第一CAN总线的测量数据返回控制***;如果在查询周期内只收到第二CAN总线测量数据,则接收到下一拍测量数据之前使用第二CAN总线的测量数据返回控制***。
***开机之后,主伺服控制驱动器始终按照控制计算周期与从伺服控制驱动器进行控制指令和测量数据的交互。
5、总线状态自诊断流程
从控制指令流程和测量数据发送流程可以看出,主伺服控制驱动器和从伺服控制驱动器在每个控制计算周期都会进行一次控制指令和测量数据的传输:
1)、主伺服控制驱动器每1ms周期性分别向从伺服控制驱动器通过第一CAN总线和第二CAN总线发送一帧控制指令帧,未收到指令前发送零指令;
2)、从伺服控制驱动器每1ms通过第一CAN总线和第二CAN总线的周期发送测量数据帧。
利用这些规律性特点,主伺服控制驱动器和从伺服控制驱动器内设计了定时握手诊断机制,在通信和工作过程中实时对双冗余CAN总线状态进行状态监测,对CAN总线的状态进行自诊断。诊断流程如下:
1)如果主伺服控制驱动器在5ms内第一CAN总线收到一次测量数据帧,证明第一CAN总线状态通信正常,本次第一CAN总线自诊断通过;否则,如果主伺服控制驱动器在5ms内第一CAN总线未收到测量数据帧,证明第一CAN总线通信异常,主伺服控制驱动器会置第一CAN总线通信异常标志,采取相应的自恢复措施。如果主伺服控制驱动器在5ms内第二CAN总线收到一次数据帧应答,证明第二CAN总线状态通信正常,本次第二CAN总线自诊断通过;否则,如果主伺服控制驱动器在5ms内第二CAN总线未收到测量数据帧,证明第二CAN总线通信异常,主伺服控制驱动器会置第二CAN总线通信异常标志,采取相应的自恢复措施。
2)、如果从伺服控制驱动器在5ms内第一CAN总线收到一帧控制指令,证明第一CAN总线状态通信正常,本次第一CAN总线自诊断通过;否则,如果从伺服控制驱动器在5ms内第一CAN总线未收到测量数据帧,证明第一CAN总线通信异常,从伺服控制驱动器会置第一CAN总线通信异常标志,采取相应的自恢复措施。如果从伺服控制驱动器在5ms内第二CAN总线收到一帧控制指令,证明第二CAN总线状态通信正常,本次第二CAN总线自诊断通过;否则,如果从伺服控制驱动器在5ms内第二CAN总线未收到控制指令帧,证明第二CAN总线通信异常,从伺服控制驱动器会置第二CAN总线通信异常标志,采取相应的自恢复措施。
6、总线自恢复流程
主伺服控制驱动器检测到第一CAN总线/总线2故障后,主伺服控制驱动器立即复位出现故障CAN总线所对应的控制芯片,并重新初始化第一CAN总线/总线2的配置寄存器,整个初始化过程小于0.5ms,不会影响CAN总线通讯过程的实时性。该自恢复措施可以对CAN总线的大部分故障模式起到自恢复保护作用。
从伺服控制驱动器检测到第一CAN总线/总线2故障后,从伺服控制驱动器软件立即复位出现故障CAN总线所对应的控制芯片,并重新初始化第一CAN总线/总线2的配置寄存器,整个初始化过程小于0.5ms,该自恢复措施可以对CAN总线的大部分故障模式起到自恢复保护作用。
7、总线错误自诊断流程
主伺服控制驱动器和从伺服控制驱动器的第一CAN总线和第二CAN总线对应的CAN总线控制芯片均通过一个错误计数器实时监测总线传输错误数,当传输错误超过255时,总线会自动进入总线关闭状态,通信会出现中断,同时错误寄存器置位。
8、总线错误自恢复路程
主伺服控制驱动器和从伺服控制驱动器内专门设置自动恢复使能位(ABO),通信过程中不断检测错误状态寄存器,当检测到错误状态寄存器BO位置1时,说明总线进入关闭状态,将自动恢复使能位置为1,该位可使CAN总线从闭锁状态自动恢复到通信状态,保证使主伺服控制驱动器的第一CAN总线/第二CAN总线总线重新切换到开启模式,通信恢复正常。
由于采用双总线,并且总线会出现一定几率的阻塞和延时,为了准确无误地判断接收到数据的先后顺序,防止时序等重复处理或遗漏处理,保证对指令的可靠执行,通信数据帧均采用消息序号编码发送和接收采用特别的通信协议和冗余处理方式进行。每帧CAN总线消息具有消息序号,占用消息的一个字节。例如消息定义如下
注:消息序号Flag1、Flag2的取值范围0~255,字节数X1、X2取值范围1~7。
1)主伺服控制驱动器和从伺服控制驱动器发送某功能的消息时,每条相同功能的消息均通过第一CAN总线和第二CAN总线分别发送,消息序号相同。消息序号从0开始累加,每发送一条消息增加1,累加到255后自动清0;
2)主伺服控制驱动器和从伺服控制驱动器在接收某功能的消息时,同时接收第一CAN总线和CAN总线的消息,判断消息序号是否与最近接收到的n(n<127)条消息的消息序号相同。如果相同则认为消息为重复的消息,将该条消息舍弃;如果没有相同的消息序号,则认为消息为有效的新消息,将消息保存并且记录该消息序号。***设计时根据实时性的不同要求设计合理的消息门限n,同时兼顾消息的时实性和完整性要求。
举例说明,连续将功能1的消息通过第一CAN总线、第二CAN总线各发送4条,n取5,消息的时间分布如下。
本发明说明书中未作详细描述的内容属于本领域专业技术人员的公知技术。
Claims (7)
1.一种基于双冗余CAN总线通信的多智能单机伺服控制***,其特征在于包括上位机、主伺服控制驱动器、从伺服控制驱动器,其中,
上位机,发送指令信息给主伺服控制驱动器,所述指令信息包括自检指令、时序指令及控制指令;接收主伺服控制驱动器发送的自检结果、时序操作结果和测量数据,对多智能单机伺服控制***进行状态监测;
主伺服控制驱动器,接收上位机发送的自检、时序指令信息,进行自检、时序操作;接收上位机发送的控制指令,采集主伺服机构测量信息,按照控制计算周期,进行主伺服机构摆角闭环控制计算,控制主伺服机构到达指定的位置,同时,转发送控制指令至从伺服控制驱动器;接收从伺服控制驱动器发送的自检结果、时序响应结果和测量信息,合并本地自检结果、时序操作结果和测量数据发送到上位机;
从伺服控制驱动器,接收主伺服控制驱动器发送的自检指令,执行自检操作,将自检结果发送至主伺服控制驱动器;接收时序指令,驱动从伺服机构完成相应的时序操作,并将时序响应结果发送至主伺服控制驱动器;接收主伺服控制驱动器发送的控制指令、采集从伺服机构测量信息,按照控制计算周期,进行闭环控制计算,得到从伺服机构摆角,控制从伺服机构到达指定的位置,并将从伺服机构测量信息发送主伺服控制驱动器;
主伺服控制驱动器和从伺服控制驱动器采用地位对等的双冗余CAN总线进行通信,在不增加额外数据传输的情况下,实时对双冗余CAN总线进行总线错误自诊断和总线状态自诊断,且自诊断发现通信总线异常时,采用相应的自恢复措施进行自恢复。
2.根据权利要求1所述的一种基于双冗余CAN总线通信的多智能单机伺服控制***,其特征在于:所述总线状态自诊断的诊断方法为:
从伺服控制驱动器在预定的N个控制计算周期以上的时间段内未能通过指定CAN总线接收到主伺服控制驱动器发送的控制指令,则认为该CAN总线故障,对该CAN总线采取总线状态自恢复措施进行自恢复,否则,认为该CAN总线正常,不作处理;
主伺服控制驱动器在预定的N个控制计算周期以上的时间段内未能通过指定CAN总线接收到从伺服控制驱动器发送的测量数据,则认为该CAN总线故障,对该CAN总线采取总线状态自恢复措施进行自恢复,否则,认为该CAN总线正常,不作处理,所述N≥2。
3.根据权利要求1所述的一种基于双冗余CAN总线通信的多智能单机伺服控制***,其特征在于:所述总线状态自恢复措施为:主伺服控制驱动器或从伺服控制驱动器复位出现故障CAN总线所对应的控制芯片,并重新初始化该CAN总线的配置寄存器。
4.根据权利要求1所述的一种基于双冗余CAN总线通信的多智能单机伺服控制***,其特征在于:所述总线错误诊断方法为:设置CAN总线控制芯片均通过错误计数器实时监测总线传输错误数,当传输错误数超过预设的门限时,总线会自动进入总线关闭状态,主伺服控制驱动器和从伺服控制驱动器循环检测总线是否进入关闭状态,一旦检测到某总线进入关闭状态,采取总线错误恢复措施对该总线进行自恢复处理。
5.根据权利要求4所述的一种基于双冗余CAN总线通信的多智能单机伺服控制***,其特征在于:所述总线错误自恢复措施为:将出现故障的CAN总线控制芯片内部寄存器中自动恢复使能位置为1,使CAN总线控制芯片从总线关闭状态恢复到正常工作状态。
6.根据权利要求1所述的一种基于双冗余CAN总线通信的多智能单机伺服控制***,其特征在于:***中数据发送方采用冗余方式发送数据,发送数据帧包含消息序号和功能定义,功能定义用来标识发送数据的内容,不同内容的数据帧采用不同功能定义标识,每条相同功能的消息均通过互为冗余的第一CAN总线和第二CAN总线同时发送,消息序号相同,消息序号从0开始累加,每发送一条消息增加1;相应地,数据接收方同时接收第一CAN总线和第二CAN总线的消息,判断消息序号是否与最近接收到的n条消息的消息序号相同,如果相同则认为消息为重复的消息,将后一条消息舍弃;如果没有相同的消息序号,则认为消息为有效的新消息,将消息保存并且存储该消息序号,以备与下一条消息比较使用,n≥2。
7.根据权利要求1所述的一种基于双冗余CAN总线通信的多智能单机伺服控制***,其特征在于:所述发送数据帧结构如下所示:
。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610917857.9A CN106444713B (zh) | 2016-10-20 | 2016-10-20 | 一种基于双冗余can总线通信的多智能单机伺服控制*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610917857.9A CN106444713B (zh) | 2016-10-20 | 2016-10-20 | 一种基于双冗余can总线通信的多智能单机伺服控制*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106444713A true CN106444713A (zh) | 2017-02-22 |
CN106444713B CN106444713B (zh) | 2019-06-18 |
Family
ID=58176428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610917857.9A Active CN106444713B (zh) | 2016-10-20 | 2016-10-20 | 一种基于双冗余can总线通信的多智能单机伺服控制*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106444713B (zh) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107070763A (zh) * | 2017-05-08 | 2017-08-18 | 北京航天发射技术研究所 | 一种处理双can总线时序不同步的方法及*** |
CN107097744A (zh) * | 2017-05-16 | 2017-08-29 | 重庆长安汽车股份有限公司 | 一种碰撞检测装置及方法 |
CN107505883A (zh) * | 2017-07-31 | 2017-12-22 | 北京航天自动控制研究所 | 一种基于微控制器的高可靠双冗余集成控制模块 |
CN108259068A (zh) * | 2017-12-18 | 2018-07-06 | 华为数字技术(苏州)有限公司 | 光伏***安全控制方法、设备及*** |
CN109245864A (zh) * | 2018-11-27 | 2019-01-18 | 威海威高生物科技有限公司 | 基于自反馈的eth-can通讯前端检测装置及错误自检方法 |
CN109344086A (zh) * | 2018-11-15 | 2019-02-15 | 天津津航计算技术研究所 | 一种基于sip芯片的软件测试平台 |
CN109728985A (zh) * | 2017-10-30 | 2019-05-07 | 北京精密机电控制设备研究所 | 一种基于rs422和can总线异构的实时冗余通信*** |
CN109782579A (zh) * | 2019-03-13 | 2019-05-21 | 重庆零壹空间航天科技有限公司 | 一种基于冗余架构的分布式运载火箭控制*** |
CN110891007A (zh) * | 2019-11-28 | 2020-03-17 | 湖北航天技术研究院总体设计所 | 一种双冗余高速总线的激光设备通信*** |
CN111273636A (zh) * | 2020-01-19 | 2020-06-12 | 湖北三江航天红峰控制有限公司 | 一种can总线上电错误帧处理方法 |
CN111614532A (zh) * | 2020-05-13 | 2020-09-01 | 湖北三江航天万峰科技发展有限公司 | 一种基于dsp的can冗余通讯*** |
CN111708312A (zh) * | 2020-04-28 | 2020-09-25 | 北京骥远自动化技术有限公司 | 一种高可靠数据传输plc***及其数据传输方法 |
CN112055096A (zh) * | 2020-08-07 | 2020-12-08 | 深圳市克莱沃电子有限公司 | 自动设置设备通信地址的方法及装置 |
CN113050475A (zh) * | 2021-02-24 | 2021-06-29 | 北京航空航天大学 | 一种基于VPX的CAN和1553b双冗余架构设计方法 |
CN113306534A (zh) * | 2021-06-30 | 2021-08-27 | 东风商用车有限公司 | 一种无人集卡冗余制动控制***和方法 |
CN113775415A (zh) * | 2021-09-10 | 2021-12-10 | 潍柴动力股份有限公司 | 指示灯的驱动状态确定方法和装置 |
CN114047741A (zh) * | 2021-11-10 | 2022-02-15 | 潍柴动力股份有限公司 | 自修复诊断限制***临时中断功能的实现方法及相关装置 |
CN114495365A (zh) * | 2022-02-16 | 2022-05-13 | 深圳万橙物联科技有限公司 | 一种智能取餐柜及智能取餐柜的控制方法 |
CN115002973A (zh) * | 2022-06-21 | 2022-09-02 | 中国第一汽车股份有限公司 | 一种灯具控制方法、装置、***和存储介质 |
CN115484124A (zh) * | 2022-08-23 | 2022-12-16 | 中国电子科技集团公司第十研究所 | 基于多设备节点的can总线错误恢复方法、设备及介质 |
CN115695069A (zh) * | 2022-08-15 | 2023-02-03 | 中国船舶重工集团公司第七一三研究所 | 一种逻辑环形can总线组网与智能重构方法 |
CN116780740A (zh) * | 2023-06-15 | 2023-09-19 | 东方空间技术(山东)有限公司 | 一种火箭发射台电控*** |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102055633A (zh) * | 2010-09-29 | 2011-05-11 | 航天东方红卫星有限公司 | 一种星载双can总线节点故障自恢复*** |
CN102955456A (zh) * | 2011-08-26 | 2013-03-06 | 北京安翔动力科技有限公司 | 一种基于总线通讯的小型无人飞行器控制*** |
CN103490959A (zh) * | 2013-10-10 | 2014-01-01 | 北京航天发射技术研究所 | 一种双冗余can总线故障检测方法 |
CN103490966A (zh) * | 2013-10-10 | 2014-01-01 | 北京航天发射技术研究所 | 一种双冗余can总线数据接收处理方法 |
CN104554711A (zh) * | 2014-09-12 | 2015-04-29 | 北京精密机电控制设备研究所 | 用于控制飞行器空气舵负载摆角的空气动力控制伺服*** |
CN104615140A (zh) * | 2015-02-17 | 2015-05-13 | 北京精密机电控制设备研究所 | 空气动力控制用机电伺服*** |
AU2014378796A1 (en) * | 2014-01-26 | 2016-06-09 | Grg Banking Equipment Co., Ltd. | Method and system for interacting master and slave information in real time |
-
2016
- 2016-10-20 CN CN201610917857.9A patent/CN106444713B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102055633A (zh) * | 2010-09-29 | 2011-05-11 | 航天东方红卫星有限公司 | 一种星载双can总线节点故障自恢复*** |
CN102955456A (zh) * | 2011-08-26 | 2013-03-06 | 北京安翔动力科技有限公司 | 一种基于总线通讯的小型无人飞行器控制*** |
CN103490959A (zh) * | 2013-10-10 | 2014-01-01 | 北京航天发射技术研究所 | 一种双冗余can总线故障检测方法 |
CN103490966A (zh) * | 2013-10-10 | 2014-01-01 | 北京航天发射技术研究所 | 一种双冗余can总线数据接收处理方法 |
AU2014378796A1 (en) * | 2014-01-26 | 2016-06-09 | Grg Banking Equipment Co., Ltd. | Method and system for interacting master and slave information in real time |
CN104554711A (zh) * | 2014-09-12 | 2015-04-29 | 北京精密机电控制设备研究所 | 用于控制飞行器空气舵负载摆角的空气动力控制伺服*** |
CN104615140A (zh) * | 2015-02-17 | 2015-05-13 | 北京精密机电控制设备研究所 | 空气动力控制用机电伺服*** |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107070763A (zh) * | 2017-05-08 | 2017-08-18 | 北京航天发射技术研究所 | 一种处理双can总线时序不同步的方法及*** |
CN107097744A (zh) * | 2017-05-16 | 2017-08-29 | 重庆长安汽车股份有限公司 | 一种碰撞检测装置及方法 |
CN107097744B (zh) * | 2017-05-16 | 2019-09-10 | 重庆长安新能源汽车科技有限公司 | 一种碰撞检测装置及方法 |
CN107505883B (zh) * | 2017-07-31 | 2020-05-19 | 北京航天自动控制研究所 | 一种基于微控制器的高可靠双冗余集成控制模块 |
CN107505883A (zh) * | 2017-07-31 | 2017-12-22 | 北京航天自动控制研究所 | 一种基于微控制器的高可靠双冗余集成控制模块 |
CN109728985A (zh) * | 2017-10-30 | 2019-05-07 | 北京精密机电控制设备研究所 | 一种基于rs422和can总线异构的实时冗余通信*** |
CN108259068A (zh) * | 2017-12-18 | 2018-07-06 | 华为数字技术(苏州)有限公司 | 光伏***安全控制方法、设备及*** |
CN109344086B (zh) * | 2018-11-15 | 2021-09-17 | 天津津航计算技术研究所 | 一种基于sip芯片的软件测试平台 |
CN109344086A (zh) * | 2018-11-15 | 2019-02-15 | 天津津航计算技术研究所 | 一种基于sip芯片的软件测试平台 |
CN109245864A (zh) * | 2018-11-27 | 2019-01-18 | 威海威高生物科技有限公司 | 基于自反馈的eth-can通讯前端检测装置及错误自检方法 |
CN109245864B (zh) * | 2018-11-27 | 2023-09-19 | 威海威高生物科技有限公司 | 基于自反馈的eth-can通讯前端检测装置及错误自检方法 |
CN109782579A (zh) * | 2019-03-13 | 2019-05-21 | 重庆零壹空间航天科技有限公司 | 一种基于冗余架构的分布式运载火箭控制*** |
CN110891007A (zh) * | 2019-11-28 | 2020-03-17 | 湖北航天技术研究院总体设计所 | 一种双冗余高速总线的激光设备通信*** |
CN111273636A (zh) * | 2020-01-19 | 2020-06-12 | 湖北三江航天红峰控制有限公司 | 一种can总线上电错误帧处理方法 |
CN111708312A (zh) * | 2020-04-28 | 2020-09-25 | 北京骥远自动化技术有限公司 | 一种高可靠数据传输plc***及其数据传输方法 |
CN111614532A (zh) * | 2020-05-13 | 2020-09-01 | 湖北三江航天万峰科技发展有限公司 | 一种基于dsp的can冗余通讯*** |
CN112055096A (zh) * | 2020-08-07 | 2020-12-08 | 深圳市克莱沃电子有限公司 | 自动设置设备通信地址的方法及装置 |
CN112055096B (zh) * | 2020-08-07 | 2023-11-17 | 深圳市克莱沃电子有限公司 | 自动设置设备通信地址的方法及装置 |
CN113050475A (zh) * | 2021-02-24 | 2021-06-29 | 北京航空航天大学 | 一种基于VPX的CAN和1553b双冗余架构设计方法 |
CN113306534B (zh) * | 2021-06-30 | 2022-02-18 | 东风商用车有限公司 | 一种无人集卡冗余制动控制***和方法 |
CN113306534A (zh) * | 2021-06-30 | 2021-08-27 | 东风商用车有限公司 | 一种无人集卡冗余制动控制***和方法 |
CN113775415A (zh) * | 2021-09-10 | 2021-12-10 | 潍柴动力股份有限公司 | 指示灯的驱动状态确定方法和装置 |
CN114047741A (zh) * | 2021-11-10 | 2022-02-15 | 潍柴动力股份有限公司 | 自修复诊断限制***临时中断功能的实现方法及相关装置 |
CN114047741B (zh) * | 2021-11-10 | 2024-03-19 | 潍柴动力股份有限公司 | 自修复诊断限制***临时中断功能的实现方法及相关装置 |
CN114495365A (zh) * | 2022-02-16 | 2022-05-13 | 深圳万橙物联科技有限公司 | 一种智能取餐柜及智能取餐柜的控制方法 |
CN115002973A (zh) * | 2022-06-21 | 2022-09-02 | 中国第一汽车股份有限公司 | 一种灯具控制方法、装置、***和存储介质 |
CN115695069A (zh) * | 2022-08-15 | 2023-02-03 | 中国船舶重工集团公司第七一三研究所 | 一种逻辑环形can总线组网与智能重构方法 |
CN115695069B (zh) * | 2022-08-15 | 2023-11-28 | 中国船舶重工集团公司第七一三研究所 | 一种双终端逻辑环形can总线网络*** |
CN115484124A (zh) * | 2022-08-23 | 2022-12-16 | 中国电子科技集团公司第十研究所 | 基于多设备节点的can总线错误恢复方法、设备及介质 |
CN116780740A (zh) * | 2023-06-15 | 2023-09-19 | 东方空间技术(山东)有限公司 | 一种火箭发射台电控*** |
CN116780740B (zh) * | 2023-06-15 | 2024-05-07 | 东方空间技术(山东)有限公司 | 一种火箭发射台电控*** |
Also Published As
Publication number | Publication date |
---|---|
CN106444713B (zh) | 2019-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106444713A (zh) | 一种基于双冗余can总线通信的多智能单机伺服控制*** | |
US20210171075A1 (en) | Non-national standard turnout drive system based on double 2-vote-2 architecture | |
CN101807076A (zh) | 基于profibus现场总线的具有协同热备份功能的双模冗余容错高可靠控制*** | |
CN107729190B (zh) | 一种io路径故障转移处理方法和*** | |
CN106648997A (zh) | 一种基于非实时操作***的主从双机切换方法 | |
CN112817293B (zh) | 一种自动化传感器异常的智能检测***和方法 | |
CN110427283B (zh) | 一种双余度的燃油管理计算机*** | |
CN109017628A (zh) | 冗余通信***的消息序列评估 | |
CN108073105A (zh) | 基于异构双处理器冗余结构的安全plc装置和实现方法 | |
CN104076808B (zh) | 工控设备的故障诊断***和方法 | |
CN105760241A (zh) | 一种内存数据导出方法和*** | |
US20110131348A1 (en) | Control system and cpu unit | |
CN110488597A (zh) | 机车主处理单元双冗余控制方法 | |
CN109986972A (zh) | 一种磁浮列车及其悬浮控制***、控制器、控制方法 | |
CN100498733C (zh) | 一种实现计算机故障报警控制的方法 | |
CN203067092U (zh) | 柴油机安全保护控制器 | |
CN103092186B (zh) | 一种三取二安全输出的表决结构及其表决方法 | |
CN102156669B (zh) | 列控车载设备的仲裁*** | |
CN106706000A (zh) | 经纬仪智能网络监测方法及*** | |
CN105718325B (zh) | 基于虚拟机集群的回滚方法及***和服务器 | |
CN103812744A (zh) | 基于rs-422总线结构的双向双环报警通信控制*** | |
CN201331701Y (zh) | 基于关联规则的火电厂传感器互冗余数据校验装置 | |
CN104301179A (zh) | 基于以太网的传感器数据传输***故障监控方法 | |
CN103941700B (zh) | 一种基于Modbus协议的自动化过程安全监控*** | |
CN203909585U (zh) | 一种基于canopen总线的上片控制*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |