CN107247650B - 一种伺服驱动系统长程监控方法 - Google Patents
一种伺服驱动系统长程监控方法 Download PDFInfo
- Publication number
- CN107247650B CN107247650B CN201710306632.4A CN201710306632A CN107247650B CN 107247650 B CN107247650 B CN 107247650B CN 201710306632 A CN201710306632 A CN 201710306632A CN 107247650 B CN107247650 B CN 107247650B
- Authority
- CN
- China
- Prior art keywords
- event
- queue
- data
- sampling
- drive system
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- 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
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/048—Monitoring; Safety
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Automation & Control Theory (AREA)
- Control Of Electric Motors In General (AREA)
Abstract
一种伺服驱动系统长程监控方法,属于伺服驱动系统运行状态监控方法,解决现有监控方法存在的运行信息收集不全面,监控过程中数据流量大,监控时间短的问题。本发明包括初始化步骤、点数据采集步骤、事件检测步骤、事件判决步骤和事件数据包保存步骤;本发明不依赖于特定硬件或系统平台,具有良好的适用性,通过检测伺服驱动系统事件,由事件触发监控数据的获取,全面获取伺服驱动系统运行信息,并以事件数据包形式保存监控数据,实现对伺服驱动系统的长程监控,能够解决现有伺服监控系统中存在的运行信息采集不全面,监控过程中数据流量大的问题。
Description
技术领域
本发明属于伺服驱动系统运行状态监控方法,特别涉及一种伺服驱动系统长程监控方法。
背景技术
伺服驱动系统具有高运行速度、高响应速度、高精度等优点,在工业控制领域得到广泛应用。随着工业制造设备规模日趋庞大,一旦伺服驱动系统发生故障导致设备停工,将带来巨大的经济损失,因此需对伺服驱动系统的运行进行实时监控。
在现有的监控方法中,监控数据可以由伺服驱动系统使用自身采集接口,接收上级系统采样命令或由伺服驱动系统内部定时器触发采集;或者使用外装的数据采集卡,由采集卡内部定时器触发采集。这两类监控数据采集方法都是以时间为触发条件的数据记录方法,触发周期越短,数据记录越详实。可以看出现有方法在对伺服驱动系统长时间监控中存在以下问题:首先,可监控对象数量少,只能对单通道或某几个通道进行采样,无法详实反映伺服驱动系统运行状态;其次,由于伺服驱动系统在高速高频环境中运行,因此相关状态变量的采集需要在较高频率下进行,监控过程中多通道快速采样产生的大量需要传输的监控数据,将长时间占据通信信道,阻塞其他通信任务,同时对数据的存储能力也有很高要求。
当伺服驱动系统在正常工况下稳定运行时,状态基本保持稳定。相比于这些正常运行中的稳态过程数据,监控系统更关心伺服驱动系统在发生特定的状态变化后,在这一过程中产生的动态过程数据。将这些伺服驱动系统在某一时刻发生的特定状态变化称为事件,以伺服驱动系统是否停止运行为标准,可将事件分为故障事件和特征事件两类:故障事件代表伺服驱动系统故障状态,具体指由于运行条件或硬件上的严重错误,导致伺服驱动系统无法正常运行;特征事件具体指伺服驱动系统运行过程和预期存在偏差的非稳定运行状态。
按照被监控的运行变量在伺服驱动系统运行过程中的变化特性,可将其分为稳态变量与动态变量两类。稳态变量具体指在伺服驱动系统调试完成后,短时间内保持稳定或规律变化的状态参数或控制参数,包括内部状态,如主电路状态、控制模式、电机通电情况、旋转方向等;接口状态,如紧急停止输入、伺服ON输入、警报输出、定位完成输出等;控制参数,如三闭环控制参数、各环输出限制等等。稳态变量在事件发生前基本保持稳定,所以只在事件发生时记录一次。
动态变量至少满足以下两个特性中的一个:第一个特性是变量的变化过程反映了伺服驱动系统的动态控制性能,如对转矩、速度、位置的跟踪情况;第二个特性是对变量的频域特性进行分析可以反映伺服驱动系统的运行状态,变量采集需要满足香农采样定理。动态变量包括位置反馈值、速度反馈值、转矩指令值、转矩反馈值、三相电压值和电流反馈值、电机轴向振动信号,动态数据需要在事件发生前后连续采集,且保证采集周期恒定。
在全数字伺服驱动系统中,上述稳态变量和动态变量以数字量形式存储在其软件中,由软件进行变量数值的周期性更新。稳态变量数值获取对实时性要求不高,可以直接读取稳态变量在伺服驱动系统中存储的数字量值。动态变量数值获取通过伺服驱动系统采样接口实现:采样接口接收采样编号(ID),并返回该采样编号(ID)对应动态变量的在伺服驱动系统软件中的数字量作为动态变量数值,采样周期规定两次数值获取的时间间隔,实现对多个动态变量的等时间间隔数值收集。
伺服驱动系统运行过程中,事件只在少数特定条件下发生,所以事件发生前后的动态数据,在监控伺服驱动系统长时间运行产生的数据中只占有很小比重,但是对运行分析意义重大。在伺服驱动系统运行时进行事件检测,过滤对调试和故障检测无用的稳态运行过程,以事件触发监控数据记录,使用多个稳态变量和动态变量的组合记录方式对伺服驱动系统及其关联设备运行状态进行全面描述,通过事件数据包存储监控数据,可以大大减少监控过程中的数据流量。
为了便于理解本发明,以下对有关术语加以说明:
采样编号:或称为采样ID,指伺服驱动系统软件中的一系列数字量,该数字量建立了采样接口和被采样对象间的对应关系。
点数据:同一时刻获取的多个被监控动态变量的采样数据。
事件数据包:用于保存一次事件的监控数据,如图1所示,事件数据包包括事件类型段、稳态变量段和采样数据段,其中稳态变量段保存事件发生时的多个稳态变量数值;采样数据段保存事件发生前后在时间上连续的多个点数据,如图2所示,采样数据段以事件发生时刻为界,分为事件发生前的前端采样段和事件发生后的触发采样段;事件类型段包括事件代码、事件时间、前端采样段长度,表明发生事件的类型,发生事件的时间,并指示前端采样段包含的点数据个数;其中事件代码又分为故障事件代码和特征事件代码。
事件信息数据:包括事件代码、事件时间、前端采样段长度和稳态变量段;事件代码、事件时间、前端采样段长度对应事件数据包中事件类型段;稳态变量段对应事件数据包中稳态变量段。
事件数据控制表:对点数据和事件数据包的构成进行管理,包括采样周期、稳态变量个数、第一采样编号(ID)列表、第二采样编号(ID)列表、前端采样段长度、触发采样段长度和点数据缓冲区;其中,采样周期规定点数据采集的时间间隔,其值为伺服驱动系统中伺服控制程序所在定时中断的定时周期的整数倍;稳态变量个数为稳态变量段中稳态变量数量;第一采样编号(ID)列表对点数据中包含的动态变量类型和数量进行规定;第二采样编号(ID)列表对用于特征事件分析的动态变量类型和数量进行规定;前端采样段长度为前端采样段中点数据数量;触发采样段长度为触发采样段中点数据数量;点数据缓冲区用于临时保存从采样接口获取的动态变量数值。
发明内容
本发明提供一种伺服驱动系统长程监控方法,由检测事件触发监控数据获取,以事件数据包形式保存监控数据,解决现有监控方法存在的运行信息收集不全面,监控过程中数据流量大的问题。
本发明所提供的一种伺服驱动系统长程监控方法,包括初始化步骤、点数据采集步骤、事件检测步骤、事件判决步骤和事件数据包保存步骤,其特征在于:
(1)初始化步骤,包括以下子步骤:
(1.1)在伺服驱动系统存储空间中划分出前端存储区、事件信息存储区和采样数据存储区,三块存储区大小分别为F,E和P个字节,并分别由前端采样队列、事件信息队列和采样数据队列管理;
前端采样队列为循环队列,队列元素为点数据;
事件信息队列为先入先出队列,队列元素为事件信息数据;
采样数据队列为先入先出队列,队列元素为采样数据段;
(1.2)配置事件数据控制表、检测周期和特征事件最小时间间隔,事件数据控制表配置内容包括采样周期、稳态变量个数、第一采样编号(ID)列表、第二采样编号(ID)列表、前端采样段长度和触发采样段长度,检测周期为100ms~1000ms,特征事件最小时间间隔为1s~10s;
通过对事件数据控制表构成元素的配置,实现多个动态变量和稳态变量组合记录,全面描述事件发生前后伺服驱动系统的运行状态;检测周期越小事件检测的实时性越强,但必须保证两次事件检测周期之间能够完成步骤(3)的执行;
(1.3)计算前端采样队列、事件信息队列和采样数据队列中队列元素大小;
前端采样队列的队列元素为点数据,其大小A等于从采样接口获取的动态变量数值大小与第一采样编号(ID)列表长度的乘积;
事件信息队列的队列元素为事件信息数据,事件信息数据包括事件代码、事件时间、前端采样段长度和稳态变量段,其大小B为各构成部分大小之和;
采样数据队列的队列元素为采样数据段,其大小C为点数据大小和采样数据段长度的乘积,采样数据段长度为前端采样段长度和触发采样段长度之和;
(1.4)计算三个存储区对应管理队列最大长度,计算依据为队列所管理的存储区容量和队列元素大小;
前端采样队列最大长度M为F/A的整数部分;
事件信息队列和采样数据队列的最大长度相同,为存储区中能够容纳事件数据包的最大个数,其值为E/B和P/C整数部分的较小者;
当前端采样队列最大长度M小于事件数据管理器中指定的前端采样段长度时,将前端采样段长度修正为M;
(1.5)将前端采样队列、事件信息队列和采样数据队列的长度初始化为0,同时执行步骤(2)和步骤(3);
(2)点数据采集步骤,按照事件数据控制表中指定的采样周期,重复执行以下子步骤:
(2.1)按照事件数据控制表中的第一采样编号(ID)列表中的采样编号,调用采样接口获取相应动态变量数值;
(2.2)获取的动态变量数值在事件数据控制表的点数据缓冲区中临时存储;
(2.3)当完成第一采样编号(ID)列表中各采样编号对应动态变量数值的采集和存储后,将保存在点数据缓冲区的动态变量数值作为点数据,保存到前端采样队列中;
(3)事件检测步骤,每当达到检测周期时,循环执行以下子步骤:
(3.1)故障事件检测,按照从高位向低位的顺序,依次检查伺服驱动系统的故障标志位,若某个故障标志位置位,执行子步骤(3.2);所有故障标识位均未置位则执行子步骤(3.3);
伺服驱动系统通常都具有对严重故障的检测能力,并由相应的故障标识位提供故障报告;
(3.2)生成该故障标志位所代表故障的故障事件代码,然后转步骤(4);
(3.3)特征事件检测,根据第二采样编号(ID)列表,使用采样接口获取相应各动态变量数值,检查所获取的动态变量数值是否变化或者所获取的动态变量数值是否超过设定的阈值,是则伺服驱动系统处于非稳定运行状态,认为发生特征事件,执行子步骤(3.4);否则等待下一个检测周期,转子步骤(3.1);
(3.4)生成该特征事件对应的特征事件代码,然后执行步骤(4);
(4)事件判决步骤,包括以下子步骤:
(4.1)判断本次事件代码是否和前一次事件代码相同,是则执行子步骤(4.2),否则执行子步骤(4.4);
(4.2)判断本次事件代码类型,为故障事件代码则转子步骤(4.5),为特征事件代码,执行子步骤(4.3);
(4.3)判断两次特征事件发生的时间间隔是否大于规定的最小时间间隔,是则执行子步骤(4.4),否则转子步骤(4.5);
(4.4)记录下故障事件代码或者特征事件代码、事件时间,同时停止步骤(3)的执行,执行步骤(5);
(4.5)等待步骤3中下一检测周期检测到的事件代码,当其到达时,转子步骤(4.1);
(5)事件数据包保存步骤,包括以下子步骤:
(5.1)判断事件信息队列或采样数据队列中队列元素个数是否未到达最大队列长度,是则执行子步骤(5.2);否则表明存储区已经没有空间容纳新的事件数据包,转子步骤(5.7);
(5.2)构造事件信息数据并保存在事件信息数据队列中;
从子步骤(4.5)获取事件代码、事件时间,从事件数据控制表获取前段采样段长度;将用户所关心的稳态变量数值存储在稳态变量段中,稳态变量段中所包含的稳态变量个数和事件数据管理器中规定的稳态变量个数一致,所述稳态变量包括伺服驱动系统内部状态、控制参数、接口状态;
将事件代码、事件时间、前段采样段长度和稳态变量段构成事件信息数据,保存在事件信息队列的末尾;
(5.3)按照采集时间顺序将前端采样队列中的点数据,复制到采样数据队列末尾队列元素的前端采样段中,复制的点数据个数由事件数据管理器的前端采样长度指定;
(5.4)子步骤(2.3)中即时获取的点数据,在保存到前端采样队列的同时,填充到采样数据队列末尾队列元素的触发采样段中;
(5.5)判断触发采样段中已经填充的点数据个数,是否达到事件数据控制表中的触发采样段长度,是则执行子步骤(5.6),否则转子步骤(5.4);
(5.6)将事件信息队列和采样数据队列的长度加1;
(5.7)恢复步骤(3)执行。
在长程监控过程中,采样数据队列和事件信息队列的最大队列长度和队列长度始终保持一致,相同序号的队列元素,共同组成了一个事件数据包的内容。
本发明改变传统以时间为横轴的信息监控记录方法,通过检测伺服驱动系统事件,由事件触发监控数据的获取和保存,过滤对调试和故障检测无用的稳态运行过程,对事件发生前后的动态过程进行监控;优化数据获取机制,在事件发生时获取稳态变量数值,在事件发生前后连续获取动态变量数值,动态变量数值获取符合了香农采样定理的要求;以事件数据包形式存储监控数据,事件数据包的采样数据段和稳态变量段中,最多可同时保存16种动态变量数值和16种稳态变量数据,能够详实的反映事件发生前后伺服驱动系统运行状态。与现有监控记录方法相比,本发明能够减少监控过程中产生的数据量,全面获取伺服驱动系统运行信息,实现对伺服驱动系统的长程监控,监控过程中获取的动态变量数值能够为进行一步的分析和诊断提供支持。
本发明不依赖于特定硬件或系统平台,具有良好的适用性,能够解决现有伺服监控系统中存在的运行信息采集不全面,监控过程中数据流量大的问题。
附图说明
图1为事件数据包的结构示意图;
图2为事件数据包的采样数据段构成图;
图3为本发明流程框图;
图4为本实施例中点数据采集的示意图;
图5为步骤(4)的流程框图;
图6为实施例中步骤(5)的流程框图;
图7为步骤(5)中事件数据包的存储示意图;
图8为本实施例中伺服驱动系统软件的执行流程图。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
如图3所示,本发明包括初始化步骤、点数据采集步骤、事件检测步骤、事件判决步骤和事件数据包保存步骤。
作为本发明的一个实施例,其中:
(1)初始化步骤,包括以下子步骤:
(1.1)在伺服驱动系统存储空间中划分出前端存储区、事件信息存储区和采样数据存储区,三块存储区大小分别为500,300和4000个字节,并分别由前端采样队列、事件信息队列和采样数据队列管理;
前端采样队列为循环队列,队列元素为点数据;
事件信息队列为先入先出队列,队列元素为事件信息数据;
采样数据队列为先入先出队列,队列元素为采样数据段;
(1.2)配置事件数据控制表、检测周期和特征事件最小时间间隔,事件数据控制表配置内容包括采样周期、稳态变量个数、第一采样编号列表、第二采样编号列表、前端采样段长度和触发采样段长度,检测周期为100ms~1000ms,特征事件最小时间间隔为1s~10s;本实施例中,需要监控6个稳态变量,包括速度控制器比例系数、速度控制器积分系数、速度指令、速度偏差、位置偏差和控制模式;监控5个动态变量,包括速度环指令、速度反馈、转矩指令、转矩反馈和定子U相电流;收集5个动态变量用于特征事件检测,包括位置指令、速度指令、速度偏差、速度反馈、转矩反馈;
本实施例中,伺服控制程序的执行周期为0.1ms,将采样周期设为10个伺服控制程序执行周期,稳态变量个数设为6个,第一采样编号(ID)列表设为5个被监控动态变量对应采样编号(ID),第二采样编号(ID)列表设为5个特征事件分析用动态变量对应采样编号(ID),前端采样长度和触发采样长度分别为64个和128个,检测周期设为100ms,特征事件最小时间间隔为5s;
(1.3)计算前端采样队列、事件信息队列和采样数据队列中队列元素大小;
本实施例中,从伺服驱动系统软件中获取的动态变量和稳态变量数值大小都为1个字节;
前端采样队列的队列元素为点数据,其大小等于从采样接口获取的动态变量数值大小与第一采样编号(ID)列表长度的乘积,本实施例中,第一采样编号(ID)列表包含5个动态变量,所以点数据大小为5个字节;
事件信息队列的队列元素为事件信息数据,事件信息数据包括2字节事件代码、4字节事件时间、2字节前端采样段长度和16字节的稳态变量段,共计24个字节;
采样数据队列的队列元素为采样数据段,其大小为点数据大小和采样数据段长度的乘积,在本实施例中采样数据段长度为前端采样段长度和触发采样段长度之和192,点数据大小为5字节,所以采样数据段大小为960个字节;
(1.4)计算三个存储区对应管理队列最大长度,计算依据为队列所管理的存储区容量和队列元素大小;
前端采样队列最大长度为500/5的整数部分100;
事件信息队列和采样数据队列的最大长度相同,为存储区中能够容纳事件数据包的最大个数,其值为300/24与4000/960整数部分的较小值4,表明在本实施例中配置条件下,存储区最多可能容纳4个事件数据包;
(1.5)将前端采样队列、事件信息队列和采样数据队列的长度初始化为0,同时执行步骤(2)和步骤(3)。
(2)点数据采集步骤,如图4所示,按照事件数据控制表中指定的采样周期,重复执行以下子步骤:
(2.1)按照事件数据控制表中的第一采样编号(ID)列表中的采样编号,调用采样接口获取相应动态变量数值,在本实施例中,需要获取的动态变量数值包括速度环指令值、速度反馈值、转矩指令值、转矩反馈值和定子U相电流值;
(2.2)将获取的动态变量数值在事件数据控制表的点数据缓冲区中临时存储;
(2.3)当完成第一采样编号(ID)列表中指定的5个动态变量数值的采集和存储后,将保存在点数据缓冲区的动态变量数值作为点数据,保存到前端采样队列中。
(3)事件检测步骤,每当达到100ms检测周期时,循环执行以下子步骤:
(3.1)故障事件检测,按照从高位向低位的顺序,依次检查伺服驱动系统的故障标志位,若某个故障标志位置位,执行子步骤(3.2);所有故障标识位均未置位则执行子步骤(3.3);
(3.2)生成该故障标志位所代表故障的故障事件代码,然后转步骤(4);
本实施例中,故障事件代码包括:智能功率模块故障,0x7000;电机超速:0x7001;电机过流:0x7002;控制参数载入错误:0x7003;母线电压不足:0x7004;母线电压过高:0x7005;编码器连接错误:0x7006;位置偏差过大:0x7007;
(3.3)特征事件检测,根据第二采样编号(ID)列表,使用采样接口获取相应各动态变量数值,检查特定动态变量数值是否变化或者特定动态变量数值是否超过设定的阈值,是则伺服驱动系统处于非稳定运行状态,认为发生特征事件,执行子步骤(3.4);否则等待下一个检测周期,转子步骤(3.1);
本实施例中,用于特征分析的动态变量数值为位置指令值、速度指令值、速度偏差值、转矩电流值和速度反馈值;
检查位置指令值是否发生变化,是则认为发生位置指令变更;
检查速度指令值是否发生变化,是则认为发生速度指令变更;
在速度稳定跟踪过程中,检查速度偏差值是否超过5转/分钟,是则认为速度偏差过大;
检查是否转矩电流值大于5A、速度反馈值的绝对值小于10转/分钟、速度指令值的绝对值大于10转/分钟而且持续时间超过1s,是则认为电机堵转;
(3.4)生成该特征事件对应的特征事件代码,然后进行步骤(4);
本实施例中,对应的特征事件代码为:位置指令变更,0x8001;速度指令变更,0x8002;速度偏差过大,0x8003;电机堵转,0x8004;
(4)事件判决步骤,流程框图如图5所示,包括以下子步骤:
(4.1)判断本次事件代码是否和前一次事件代码相同,是则执行子步骤(4.2),否则执行子步骤(4.4);
(4.2)判断本次事件代码类型,为故障事件代码则转子步骤(4.5),为特征事件代码,执行子步骤(4.3);
(4.3)判断两次特征事件发生的时间间隔是否大于规定的最小时间间隔5s,是则执行子步骤(4.4),否则转子步骤(4.5);
(4.4)记录下故障事件代码或者特征事件代码、事件时间,同时停止步骤(3)的执行,执行步骤(5);
(4.5)等待步骤3中下一检测周期检测到的事件代码,当其到达时,转子步骤(4.1);
(5)事件数据包保存步骤,其流程框图如图6所示,包括以下子步骤:
(5.1)判断事件信息队列或采样数据队列中队列元素个数是否未到达最大队列长度,是则执行子步骤(5.2);否则表明存储区已经没有空间容纳新的事件数据包,转子步骤(5.7),本实施例中,上述两个队列的最大队列长度均为4;
(5.2)构造事件信息数据并保存在事件信息数据队列中;
从子步骤(4.5)获取事件代码、事件时间,从事件数据控制表获取前段采样段长度;将用户所关心的稳态变量数值存储在稳态变量段中,在本实施例中,需要获取的6个稳态变量为速度控制器比例系数、速度控制器积分系数、速度指令、速度偏差、位置偏差和控制模式,稳态变量段中所包含的稳态变量个数和事件数据管理器中规定的稳态变量个数一致;
将事件代码、事件时间、前段采样段长度和稳态变量段构成事件信息数据,保存在事件信息队列的末尾;
(5.3)按照采集时间顺序将前端采样队列中的点数据,复制到采样数据队列末尾队列元素的前端采样段中,复制的点数据个数由事件数据管理器的前端采样长度指定,本实施例中,需要复制的点数据个数为64个;
(5.4)子步骤(2.3)中即时获取的点数据,在保存到前端采样队列的同时,填充到采样数据队列末尾队列元素的触发采样段中;
(5.5)判断触发采样段中已经填充的点数据个数,是否达到事件数据控制表中的触发采样段长度128个,是则执行子步骤(5.6),否则转子步骤(5.4);
(5.6)将事件信息队列和采样数据队列的长度加1;
(5.7)恢复步骤(3)执行。
如图7所示,事件数据包分为事件信息数据和采样数据段,分别存储在事件信息队列和采样数据队列中,在长程监控过程中,采样数据队列和事件信息队列的最大队列长度和队列长度始终保持一致,两个队列中相同序号的队列元素,共同组成了一个事件数据包的内容。
图8为本实施例中伺服驱动系统软件的执行流程图,根据任务执行时间特点,可以将软件系统划分成初始化程序、主循环程序和伺服控制程序三部分。初始化程序在主程序执行之前,对伺服驱动系统硬件进行配置并初始化控制系统的某些信息,主要包括硬件寄存器配置、控制参数初始化、外设初始化等。主循环程序主要包括外部通信、显示更新、I\O端口检测等外围非实时性任务。伺服控制程序完成电机电流、速度、位置控制,主要包括电流采样、位置反馈采样、矢量变换、实时电机控制算法和逆变器PWM信号输出。在本实施例中,伺服控制程序通过定时中断触发方式执行,定时中断周期为0.1ms,非实时性任务在主循环程序中完成。
本发明在嵌入到伺服驱动系统软件中时,需要根据实时性的要求,参照伺服驱动系统软件划分进行合理安排。点数据采集必须满足等间隔采样和香农采样定理对采样频率的要求,同时要减少程序执行延时对稳态数据有效性的影响,所以把步骤(2)的点数据采集和步骤(5)事件数据包保存安排在定时中断里与伺服控制任务同时执行;其他任务由于对实时性要求不高,安排在主循环程序中执行:步骤(3)事件检测和步骤(4)事件判决在主循环程序中以周期轮询方式执行,在两次轮询间隔中需完成事件检测和事件判决的执行;更改事件数据控制表中内容后,将在主循环程序中执行步骤(1),对长程监控重新初始化。
Claims (1)
1.一种伺服驱动系统长程监控方法,包括初始化步骤、点数据采集步骤、事件检测步骤、事件判决步骤和事件数据包保存步骤,其特征在于:
(1)初始化步骤,包括以下子步骤:
(1.1)在伺服驱动系统存储空间中划分出前端存储区、事件信息存储区和采样数据存储区,三块存储区大小分别为F,E和P个字节,并分别由前端采样队列、事件信息队列和采样数据队列管理;
前端采样队列为循环队列,队列元素为点数据;
事件信息队列为先入先出队列,队列元素为事件信息数据;
采样数据队列为先入先出队列,队列元素为采样数据段;
(1.2)配置事件数据控制表、检测周期和特征事件最小时间间隔,事件数据控制表配置内容包括采样周期、稳态变量个数、第一采样编号列表、第二采样编号列表、前端采样段长度和触发采样段长度,检测周期为100ms~1000ms,特征事件最小时间间隔为1s~10s;
(1.3)计算前端采样队列、事件信息队列和采样数据队列中队列元素大小;
前端采样队列的队列元素为点数据,其大小A等于从采样接口获取的动态变量数值大小与第一采样编号列表长度的乘积;
事件信息队列的队列元素为事件信息数据,事件信息数据包括事件代码、事件时间、前端采样段长度和稳态变量段,其大小B为各构成部分大小之和;
采样数据队列的队列元素为采样数据段,其大小C为点数据大小和采样数据段长度的乘积,采样数据段长度为前端采样段长度和触发采样段长度之和;
(1.4)计算三个存储区对应管理队列最大长度,计算依据为队列所管理的存储区容量和队列元素大小;
前端采样队列最大长度M为F/A的整数部分;
事件信息队列和采样数据队列的最大长度相同,为存储区中能够容纳事件数据包的最大个数,其值为E/B和P/C整数部分的较小者;
当前端采样队列最大长度M小于事件数据管理器中指定的前端采样段长度时,将前端采样段长度修正为M;
(1.5)将前端采样队列、事件信息队列和采样数据队列的长度初始化为0,同时执行步骤(2)和步骤(3);
(2)点数据采集步骤,按照事件数据控制表中指定的采样周期,重复执行以下子步骤:
(2.1)按照事件数据控制表中的第一采样编号列表中的采样编号,调用采样接口获取相应动态变量数值;
(2.2)获取的动态变量数值在事件数据控制表的点数据缓冲区中临时存储;
(2.3)当完成第一采样编号列表中各采样编号对应动态变量数值的采集和存储后,将保存在点数据缓冲区的动态变量数值作为点数据,保存到前端采样队列中;
(3)事件检测步骤,每当达到检测周期时,循环执行以下子步骤:
(3.1)故障事件检测,按照从高位向低位的顺序,依次检查伺服驱动系统的故障标志位,若某个故障标志位置位,执行子步骤(3.2);所有故障标识位均未置位则执行子步骤(3.3);
(3.2)生成该故障标志位所代表故障的故障事件代码,然后转步骤(4);
(3.3)特征事件检测,根据第二采样编号列表,使用采样接口获取相应各动态变量数值,检查所获取的动态变量数值是否变化或者所获取的动态变量数值是否超过设定的阈值,是则伺服驱动系统处于非稳定运行状态,认为发生特征事件,执行子步骤(3.4);否则等待下一个检测周期,转子步骤(3.1);
(3.4)生成该特征事件对应的特征事件代码,然后执行步骤(4);
(4)事件判决步骤,包括以下子步骤:
(4.1)判断本次事件代码是否和前一次事件代码相同,是则执行子步骤(4.2),否则执行子步骤(4.4);
(4.2)判断本次事件代码类型,为故障事件代码则转子步骤(4.5),为特征事件代码,执行子步骤(4.3);
(4.3)判断两次特征事件发生的时间间隔是否大于规定的最小时间间隔,是则执行子步骤(4.4),否则转子步骤(4.5);
(4.4)记录下故障事件代码或者特征事件代码、事件时间,同时停止步骤(3)的执行,执行步骤(5);
(4.5)等待步骤3中下一检测周期检测到的事件代码,当其到达时,转子步骤(4.1);
(5)事件数据包保存步骤,包括以下子步骤:
(5.1)判断事件信息队列或采样数据队列中队列元素个数是否未到达最大队列长度,是则执行子步骤(5.2);否则表明存储区已经没有空间容纳新的事件数据包,转子步骤(5.7);
(5.2)构造事件信息数据并保存在事件信息数据队列中;
从子步骤(4.5)获取事件代码、事件时间,从事件数据控制表获取前段采样段长度;将用户所关心的稳态变量数值存储在稳态变量段中,稳态变量段中所包含的稳态变量个数和事件数据管理器中规定的稳态变量个数一致,所述稳态变量包括伺服驱动系统内部状态、控制参数、接口状态;
将事件代码、事件时间、前段采样段长度和稳态变量段构成事件信息数据,保存在事件信息队列的末尾;
(5.3)按照采集时间顺序将前端采样队列中的点数据,复制到采样数据队列末尾队列元素的前端采样段中,复制的点数据个数由事件数据管理器的前端采样长度指定;
(5.4)子步骤(2.3)中即时获取的点数据,在保存到前端采样队列的同时,填充到采样数据队列末尾队列元素的触发采样段中;
(5.5)判断触发采样段中已经填充的点数据个数,是否达到事件数据控制表中的触发采样段长度,是则执行子步骤(5.6),否则转子步骤(5.4);
(5.6)将事件信息队列和采样数据队列的长度加1;
(5.7)恢复步骤(3)执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710306632.4A CN107247650B (zh) | 2017-05-02 | 2017-05-02 | 一种伺服驱动系统长程监控方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710306632.4A CN107247650B (zh) | 2017-05-02 | 2017-05-02 | 一种伺服驱动系统长程监控方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107247650A CN107247650A (zh) | 2017-10-13 |
CN107247650B true CN107247650B (zh) | 2019-06-18 |
Family
ID=60017242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710306632.4A Expired - Fee Related CN107247650B (zh) | 2017-05-02 | 2017-05-02 | 一种伺服驱动系统长程监控方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107247650B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108255491B (zh) * | 2017-12-11 | 2021-05-25 | 南京埃斯顿自动化股份有限公司 | 一种伺服驱动器数据的统一建模方法 |
CN112305910B (zh) * | 2019-07-29 | 2024-04-19 | 施耐德电器工业公司 | 伺服驱动器的控制方法、控制装置、控制设备及介质 |
CN111930058A (zh) * | 2020-08-05 | 2020-11-13 | 深圳市微秒控制技术有限公司 | 一种伺服驱动器故障监测系统及方法 |
CN112910364B (zh) * | 2021-01-22 | 2023-02-21 | 上海瑞柯恩激光技术有限公司 | 一种刨刀电机的控制方法 |
CN113960983B (zh) * | 2021-10-26 | 2024-07-23 | 上海新纪元机器人有限公司 | 一种伺服驱动装置数据存储方法、系统和伺服驱动装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6081090A (en) * | 1998-05-28 | 2000-06-27 | Mitsubishi Denki Kabushiki Kaisha | Servo system controller |
CN102023916A (zh) * | 2009-09-10 | 2011-04-20 | 英业达股份有限公司 | 电脑系统的检测方法 |
CN102207732A (zh) * | 2011-06-15 | 2011-10-05 | 上海三一精机有限公司 | 伺服驱动系统的监控系统 |
CN102970184A (zh) * | 2012-11-26 | 2013-03-13 | 北京奇虎科技有限公司 | 网络应用的运行状态监控方法和应用服务器 |
CN104125095A (zh) * | 2014-06-25 | 2014-10-29 | 世纪禾光科技发展(北京)有限公司 | 一种事件故障实时监控的系统和方法 |
CN104639380A (zh) * | 2013-11-07 | 2015-05-20 | 英业达科技有限公司 | 服务器监控方法 |
CN105635653A (zh) * | 2014-10-30 | 2016-06-01 | 西安优信机电工程有限公司 | 一种视频监控系统 |
-
2017
- 2017-05-02 CN CN201710306632.4A patent/CN107247650B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6081090A (en) * | 1998-05-28 | 2000-06-27 | Mitsubishi Denki Kabushiki Kaisha | Servo system controller |
CN102023916A (zh) * | 2009-09-10 | 2011-04-20 | 英业达股份有限公司 | 电脑系统的检测方法 |
CN102207732A (zh) * | 2011-06-15 | 2011-10-05 | 上海三一精机有限公司 | 伺服驱动系统的监控系统 |
CN102970184A (zh) * | 2012-11-26 | 2013-03-13 | 北京奇虎科技有限公司 | 网络应用的运行状态监控方法和应用服务器 |
CN104639380A (zh) * | 2013-11-07 | 2015-05-20 | 英业达科技有限公司 | 服务器监控方法 |
CN104125095A (zh) * | 2014-06-25 | 2014-10-29 | 世纪禾光科技发展(北京)有限公司 | 一种事件故障实时监控的系统和方法 |
CN105635653A (zh) * | 2014-10-30 | 2016-06-01 | 西安优信机电工程有限公司 | 一种视频监控系统 |
Non-Patent Citations (1)
Title |
---|
伺服系统特性测试分析平台设计;曹宇 等;《微电机》;20140221;第46卷(第10期);78-83、86 页 |
Also Published As
Publication number | Publication date |
---|---|
CN107247650A (zh) | 2017-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107247650B (zh) | 一种伺服驱动系统长程监控方法 | |
CN103293399B (zh) | 电器设备故障分析方法及系统 | |
CN100362448C (zh) | 一种监控风扇运行的方法 | |
CN112148515B (zh) | 一种故障定位方法、系统、装置、介质和设备 | |
US8977908B2 (en) | Method and apparatus for detecting a suspect memory leak | |
CN108009065B (zh) | 监控axi总线的方法和装置 | |
CN103268277A (zh) | 一种输出日志信息的方法及系统 | |
CN106126384B (zh) | 一种采集性能监视单元pmu事件的方法及装置 | |
CN101533366A (zh) | 一种服务器性能数据采集与分析的方法 | |
CN104951395A (zh) | 一种嵌入式系统调试信息处理方法及装置 | |
CN110907748A (zh) | 一种配电线路行波故障采集分析装置及故障定位系统 | |
CN100529772C (zh) | 一种电网过电压信号变频采样方法 | |
CN102722150A (zh) | 一种基于通用串口的多路波形采集显示和数据分析处理系统 | |
CN111026098B (zh) | 车辆电机控制器的故障诊断方法、装置及电子设备 | |
CN114328102A (zh) | 设备状态监控方法、装置、设备及计算机可读存储介质 | |
CN112162691A (zh) | 数据采集方法、设备及存储介质 | |
CN114020511A (zh) | 基于fpga的故障检测方法、装置、设备及可读存储介质 | |
US9928157B2 (en) | Filtering multiple in-memory trace buffers for event ranges before dumping from memory | |
CN100465906C (zh) | 一种实时检测定位硬件复位原因的装置及其方法 | |
CN109905261A (zh) | 故障诊断方法及装置 | |
WO2024146488A1 (zh) | 回转机构运行状态检测方法、装置、控制器及作业机械 | |
CN106706000B (zh) | 经纬仪智能网络监测方法及系统 | |
CN111736579B (zh) | 基于日志问询留存的工业控制设备安全检测方法 | |
CN103077080A (zh) | 基于高性能平台的并行程序性能数据采集方法及装置 | |
CN111338303A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190618 Termination date: 20210502 |