国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種伺服驅(qū)動系統(tǒng)長程監(jiān)控方法與流程

      文檔序號:11323108閱讀:252來源:國知局
      一種伺服驅(qū)動系統(tǒng)長程監(jiān)控方法與流程

      本發(fā)明屬于伺服驅(qū)動系統(tǒng)運行狀態(tài)監(jiān)控方法,特別涉及一種伺服驅(qū)動系統(tǒng)長程監(jiān)控方法。



      背景技術(shù):

      伺服驅(qū)動系統(tǒng)具有高運行速度、高響應速度、高精度等優(yōu)點,在工業(yè)控制領(lǐng)域得到廣泛應用。隨著工業(yè)制造設備規(guī)模日趨龐大,一旦伺服驅(qū)動系統(tǒng)發(fā)生故障導致設備停工,將帶來巨大的經(jīng)濟損失,因此需對伺服驅(qū)動系統(tǒng)的運行進行實時監(jiān)控。

      在現(xiàn)有的監(jiān)控方法中,監(jiān)控數(shù)據(jù)可以由伺服驅(qū)動系統(tǒng)使用自身采集接口,接收上級系統(tǒng)采樣命令或由伺服驅(qū)動系統(tǒng)內(nèi)部定時器觸發(fā)采集;或者使用外裝的數(shù)據(jù)采集卡,由采集卡內(nèi)部定時器觸發(fā)采集。這兩類監(jiān)控數(shù)據(jù)采集方法都是以時間為觸發(fā)條件的數(shù)據(jù)記錄方法,觸發(fā)周期越短,數(shù)據(jù)記錄越詳實。可以看出現(xiàn)有方法在對伺服驅(qū)動系統(tǒng)長時間監(jiān)控中存在以下問題:首先,可監(jiān)控對象數(shù)量少,只能對單通道或某幾個通道進行采樣,無法詳實反映伺服驅(qū)動系統(tǒng)運行狀態(tài);其次,由于伺服驅(qū)動系統(tǒng)在高速高頻環(huán)境中運行,因此相關(guān)狀態(tài)變量的采集需要在較高頻率下進行,監(jiān)控過程中多通道快速采樣產(chǎn)生的大量需要傳輸?shù)谋O(jiān)控數(shù)據(jù),將長時間占據(jù)通信信道,阻塞其他通信任務,同時對數(shù)據(jù)的存儲能力也有很高要求。

      當伺服驅(qū)動系統(tǒng)在正常工況下穩(wěn)定運行時,狀態(tài)基本保持穩(wěn)定。相比于這些正常運行中的穩(wěn)態(tài)過程數(shù)據(jù),監(jiān)控系統(tǒng)更關(guān)心伺服驅(qū)動系統(tǒng)在發(fā)生特定的狀態(tài)變化后,在這一過程中產(chǎn)生的動態(tài)過程數(shù)據(jù)。將這些伺服驅(qū)動系統(tǒng)在某一時刻發(fā)生的特定狀態(tài)變化稱為事件,以伺服驅(qū)動系統(tǒng)是否停止運行為標準,可將事件分為故障事件和特征事件兩類:故障事件代表伺服驅(qū)動系統(tǒng)故障狀態(tài),具體指由于運行條件或硬件上的嚴重錯誤,導致伺服驅(qū)動系統(tǒng)無法正常運行;特征事件具體指伺服驅(qū)動系統(tǒng)運行過程和預期存在偏差的非穩(wěn)定運行狀態(tài)。

      按照被監(jiān)控的運行變量在伺服驅(qū)動系統(tǒng)運行過程中的變化特性,可將其分為穩(wěn)態(tài)變量與動態(tài)變量兩類。穩(wěn)態(tài)變量具體指在伺服驅(qū)動系統(tǒng)調(diào)試完成后,短時間內(nèi)保持穩(wěn)定或規(guī)律變化的狀態(tài)參數(shù)或控制參數(shù),包括內(nèi)部狀態(tài),如主電路狀態(tài)、控制模式、電機通電情況、旋轉(zhuǎn)方向等;接口狀態(tài),如緊急停止輸入、伺服on輸入、警報輸出、定位完成輸出等;控制參數(shù),如三閉環(huán)控制參數(shù)、各環(huán)輸出限制等等。穩(wěn)態(tài)變量在事件發(fā)生前基本保持穩(wěn)定,所以只在事件發(fā)生時記錄一次。

      動態(tài)變量至少滿足以下兩個特性中的一個:第一個特性是變量的變化過程反映了伺服驅(qū)動系統(tǒng)的動態(tài)控制性能,如對轉(zhuǎn)矩、速度、位置的跟蹤情況;第二個特性是對變量的頻域特性進行分析可以反映伺服驅(qū)動系統(tǒng)的運行狀態(tài),變量采集需要滿足香農(nóng)采樣定理。動態(tài)變量包括位置反饋值、速度反饋值、轉(zhuǎn)矩指令值、轉(zhuǎn)矩反饋值、三相電壓值和電流反饋值、電機軸向振動信號,動態(tài)數(shù)據(jù)需要在事件發(fā)生前后連續(xù)采集,且保證采集周期恒定。

      在全數(shù)字伺服驅(qū)動系統(tǒng)中,上述穩(wěn)態(tài)變量和動態(tài)變量以數(shù)字量形式存儲在其軟件中,由軟件進行變量數(shù)值的周期性更新。穩(wěn)態(tài)變量數(shù)值獲取對實時性要求不高,可以直接讀取穩(wěn)態(tài)變量在伺服驅(qū)動系統(tǒng)中存儲的數(shù)字量值。動態(tài)變量數(shù)值獲取通過伺服驅(qū)動系統(tǒng)采樣接口實現(xiàn):采樣接口接收采樣編號(id),并返回該采樣編號(id)對應動態(tài)變量的在伺服驅(qū)動系統(tǒng)軟件中的數(shù)字量作為動態(tài)變量數(shù)值,采樣周期規(guī)定兩次數(shù)值獲取的時間間隔,實現(xiàn)對多個動態(tài)變量的等時間間隔數(shù)值收集。

      伺服驅(qū)動系統(tǒng)運行過程中,事件只在少數(shù)特定條件下發(fā)生,所以事件發(fā)生前后的動態(tài)數(shù)據(jù),在監(jiān)控伺服驅(qū)動系統(tǒng)長時間運行產(chǎn)生的數(shù)據(jù)中只占有很小比重,但是對運行分析意義重大。在伺服驅(qū)動系統(tǒng)運行時進行事件檢測,過濾對調(diào)試和故障檢測無用的穩(wěn)態(tài)運行過程,以事件觸發(fā)監(jiān)控數(shù)據(jù)記錄,使用多個穩(wěn)態(tài)變量和動態(tài)變量的組合記錄方式對伺服驅(qū)動系統(tǒng)及其關(guān)聯(lián)設備運行狀態(tài)進行全面描述,通過事件數(shù)據(jù)包存儲監(jiān)控數(shù)據(jù),可以大大減少監(jiān)控過程中的數(shù)據(jù)流量。

      為了便于理解本發(fā)明,以下對有關(guān)術(shù)語加以說明:

      采樣編號:或稱為采樣id,指伺服驅(qū)動系統(tǒng)軟件中的一系列數(shù)字量,該數(shù)字量建立了采樣接口和被采樣對象間的對應關(guān)系。

      點數(shù)據(jù):同一時刻獲取的多個被監(jiān)控動態(tài)變量的采樣數(shù)據(jù)。

      事件數(shù)據(jù)包:用于保存一次事件的監(jiān)控數(shù)據(jù),如圖1所示,事件數(shù)據(jù)包包括事件類型段、穩(wěn)態(tài)變量段和采樣數(shù)據(jù)段,其中穩(wěn)態(tài)變量段保存事件發(fā)生時的多個穩(wěn)態(tài)變量數(shù)值;采樣數(shù)據(jù)段保存事件發(fā)生前后在時間上連續(xù)的多個點數(shù)據(jù),如圖2所示,采樣數(shù)據(jù)段以事件發(fā)生時刻為界,分為事件發(fā)生前的前端采樣段和事件發(fā)生后的觸發(fā)采樣段;事件類型段包括事件代碼、事件時間、前端采樣段長度,表明發(fā)生事件的類型,發(fā)生事件的時間,并指示前端采樣段包含的點數(shù)據(jù)個數(shù);其中事件代碼又分為故障事件代碼和特征事件代碼。

      事件信息數(shù)據(jù):包括事件代碼、事件時間、前端采樣段長度和穩(wěn)態(tài)變量段;事件代碼、事件時間、前端采樣段長度對應事件數(shù)據(jù)包中事件類型段;穩(wěn)態(tài)變量段對應事件數(shù)據(jù)包中穩(wěn)態(tài)變量段。

      事件數(shù)據(jù)控制表:對點數(shù)據(jù)和事件數(shù)據(jù)包的構(gòu)成進行管理,包括采樣周期、穩(wěn)態(tài)變量個數(shù)、第一采樣編號(id)列表、第二采樣編號(id)列表、前端采樣段長度、觸發(fā)采樣段長度和點數(shù)據(jù)緩沖區(qū);其中,采樣周期規(guī)定點數(shù)據(jù)采集的時間間隔,其值為伺服驅(qū)動系統(tǒng)中伺服控制程序所在定時中斷的定時周期的整數(shù)倍;穩(wěn)態(tài)變量個數(shù)為穩(wěn)態(tài)變量段中穩(wěn)態(tài)變量數(shù)量;第一采樣編號(id)列表對點數(shù)據(jù)中包含的動態(tài)變量類型和數(shù)量進行規(guī)定;第二采樣編號(id)列表對用于特征事件分析的動態(tài)變量類型和數(shù)量進行規(guī)定;前端采樣段長度為前端采樣段中點數(shù)據(jù)數(shù)量;觸發(fā)采樣段長度為觸發(fā)采樣段中點數(shù)據(jù)數(shù)量;點數(shù)據(jù)緩沖區(qū)用于臨時保存從采樣接口獲取的動態(tài)變量數(shù)值。



      技術(shù)實現(xiàn)要素:

      本發(fā)明提供一種伺服驅(qū)動系統(tǒng)長程監(jiān)控方法,由檢測事件觸發(fā)監(jiān)控數(shù)據(jù)獲取,以事件數(shù)據(jù)包形式保存監(jiān)控數(shù)據(jù),解決現(xiàn)有監(jiān)控方法存在的運行信息收集不全面,監(jiān)控過程中數(shù)據(jù)流量大的問題。

      本發(fā)明所提供的一種伺服驅(qū)動系統(tǒng)長程監(jiān)控方法,包括初始化步驟、點數(shù)據(jù)采集步驟、事件檢測步驟、事件判決步驟和事件數(shù)據(jù)包保存步驟,其特征在于:

      (1)初始化步驟,包括以下子步驟:

      (1.1)在伺服驅(qū)動系統(tǒng)存儲空間中劃分出前端存儲區(qū)、事件信息存儲區(qū)和采樣數(shù)據(jù)存儲區(qū),三塊存儲區(qū)大小分別為f,e和p個字節(jié),并分別由前端采樣隊列、事件信息隊列和采樣數(shù)據(jù)隊列管理;

      前端采樣隊列為循環(huán)隊列,隊列元素為點數(shù)據(jù);

      事件信息隊列為先入先出隊列,隊列元素為事件信息數(shù)據(jù);

      采樣數(shù)據(jù)隊列為先入先出隊列,隊列元素為采樣數(shù)據(jù)段;

      (1.2)配置事件數(shù)據(jù)控制表、檢測周期和特征事件最小時間間隔,事件數(shù)據(jù)控制表配置內(nèi)容包括采樣周期、穩(wěn)態(tài)變量個數(shù)、第一采樣編號(id)列表、第二采樣編號(id)列表、前端采樣段長度和觸發(fā)采樣段長度,檢測周期為100ms~1000ms,特征事件最小時間間隔為1s~10s;

      通過對事件數(shù)據(jù)控制表構(gòu)成元素的配置,實現(xiàn)多個動態(tài)變量和穩(wěn)態(tài)變量組合記錄,全面描述事件發(fā)生前后伺服驅(qū)動系統(tǒng)的運行狀態(tài);檢測周期越小事件檢測的實時性越強,但必須保證兩次事件檢測周期之間能夠完成步驟(3)的執(zhí)行;

      (1.3)計算前端采樣隊列、事件信息隊列和采樣數(shù)據(jù)隊列中隊列元素大??;

      前端采樣隊列的隊列元素為點數(shù)據(jù),其大小a等于從采樣接口獲取的動態(tài)變量數(shù)值大小與第一采樣編號(id)列表長度的乘積;

      事件信息隊列的隊列元素為事件信息數(shù)據(jù),事件信息數(shù)據(jù)包括事件代碼、事件時間、前端采樣段長度和穩(wěn)態(tài)變量段,其大小b為各構(gòu)成部分大小之和;

      采樣數(shù)據(jù)隊列的隊列元素為采樣數(shù)據(jù)段,其大小c為點數(shù)據(jù)大小和采樣數(shù)據(jù)段長度的乘積,采樣數(shù)據(jù)段長度為前端采樣段長度和觸發(fā)采樣段長度之和;

      (1.4)計算三個存儲區(qū)對應管理隊列最大長度,計算依據(jù)為隊列所管理的存儲區(qū)容量和隊列元素大??;

      前端采樣隊列最大長度m為f/a的整數(shù)部分;

      事件信息隊列和采樣數(shù)據(jù)隊列的最大長度相同,為存儲區(qū)中能夠容納事件數(shù)據(jù)包的最大個數(shù),其值為e/b和p/c整數(shù)部分的較小者;

      當前端采樣隊列最大長度m小于事件數(shù)據(jù)管理器中指定的前端采樣段長度時,將前端采樣段長度修正為m;

      (1.5)將前端采樣隊列、事件信息隊列和采樣數(shù)據(jù)隊列的長度初始化為0,同時執(zhí)行步驟(2)和步驟(3)。

      (2)點數(shù)據(jù)采集步驟,按照事件數(shù)據(jù)控制表中指定的采樣周期,重復執(zhí)行以下子步驟:

      (2.1)按照事件數(shù)據(jù)控制表中的第一采樣編號(id)列表中的采樣編號,調(diào)用采樣接口獲取相應動態(tài)變量數(shù)值;

      (2.2)獲取的動態(tài)變量數(shù)值在事件數(shù)據(jù)控制表的點數(shù)據(jù)緩沖區(qū)中臨時存儲;

      (2.3)當完成第一采樣編號(id)列表中各采樣編號對應動態(tài)變量數(shù)值的采集和存儲后,將保存在點數(shù)據(jù)緩沖區(qū)的動態(tài)變量數(shù)值作為點數(shù)據(jù),保存到前端采樣隊列中。

      (3)事件檢測步驟,每當達到檢測周期時,循環(huán)執(zhí)行以下子步驟:

      (3.1)故障事件檢測,按照從高位向低位的順序,依次檢查伺服驅(qū)動系統(tǒng)的故障標志位,若某個故障標志位置位,執(zhí)行子步驟(3.2);所有故障標識位均未置位則執(zhí)行子步驟(3.3);

      伺服驅(qū)動系統(tǒng)通常都具有對嚴重故障的檢測能力,并由相應的故障標識位提供故障報告;

      (3.2)生成該故障標志位所代表故障的故障事件代碼,然后轉(zhuǎn)步驟(4);

      (3.3)特征事件檢測,根據(jù)第二采樣編號(id)列表,使用采樣接口獲取相應各動態(tài)變量數(shù)值,檢查特定動態(tài)變量數(shù)值是否變化或者特定動態(tài)變量數(shù)值是否超過設定的閾值,是則伺服驅(qū)動系統(tǒng)處于非穩(wěn)定運行狀態(tài),認為發(fā)生特征事件,執(zhí)行子步驟(3.4);否則等待下一個檢測周期,轉(zhuǎn)子步驟(3.1);

      (3.4)生成該特征事件對應的特征事件代碼,然后執(zhí)行步驟(4);

      (4)事件判決步驟,包括以下子步驟:

      (4.1)判斷本次事件代碼是否和前一次事件代碼相同,是則執(zhí)行子步驟(4.2),否則執(zhí)行子步驟(4.4);

      (4.2)判斷本次事件代碼類型,為故障事件代碼則轉(zhuǎn)子步驟(4.5),為特征事件代碼,執(zhí)行子步驟(4.3);

      (4.3)判斷兩次特征事件發(fā)生的時間間隔是否大于規(guī)定的最小時間間隔,是則執(zhí)行子步驟(4.4),否則轉(zhuǎn)子步驟(4.5);

      (4.4)記錄下故障事件代碼或者特征事件代碼、事件時間,同時停止步驟(3)的執(zhí)行,執(zhí)行步驟(5);

      (4.5)等待步驟3中下一檢測周期檢測到的事件代碼,當其到達時,轉(zhuǎn)子步驟(4.1);

      (5)事件數(shù)據(jù)包保存步驟,包括以下子步驟:

      (5.1)判斷事件信息隊列或采樣數(shù)據(jù)隊列中隊列元素個數(shù)是否未到達最大隊列長度,是則執(zhí)行子步驟(5.2);否則表明存儲區(qū)已經(jīng)沒有空間容納新的事件數(shù)據(jù)包,轉(zhuǎn)子步驟(5.7);

      (5.2)構(gòu)造事件信息數(shù)據(jù)并保存在事件信息數(shù)據(jù)隊列中;

      從子步驟(4.5)獲取事件代碼、事件時間,從事件數(shù)據(jù)控制表獲取前段采樣段長度;將用戶所關(guān)心的穩(wěn)態(tài)變量數(shù)值存儲在穩(wěn)態(tài)變量段中,穩(wěn)態(tài)變量段中所包含的穩(wěn)態(tài)變量個數(shù)和事件數(shù)據(jù)管理器中規(guī)定的穩(wěn)態(tài)變量個數(shù)一致,所述穩(wěn)態(tài)變量包括伺服驅(qū)動系統(tǒng)內(nèi)部狀態(tài)、控制參數(shù)、接口狀態(tài);

      將事件代碼、事件時間、前段采樣段長度和穩(wěn)態(tài)變量段構(gòu)成事件信息數(shù)據(jù),保存在事件信息隊列的末尾;

      (5.3)按照采集時間順序?qū)⑶岸瞬蓸雨犃兄械狞c數(shù)據(jù),復制到采樣數(shù)據(jù)隊列末尾隊列元素的前端采樣段中,復制的點數(shù)據(jù)個數(shù)由事件數(shù)據(jù)管理器的前端采樣長度指定;

      (5.4)子步驟(2.3)中即時獲取的點數(shù)據(jù),在保存到前端采樣隊列的同時,填充到采樣數(shù)據(jù)隊列末尾隊列元素的觸發(fā)采樣段中;

      (5.5)判斷觸發(fā)采樣段中已經(jīng)填充的點數(shù)據(jù)個數(shù),是否達到事件數(shù)據(jù)控制表中的觸發(fā)采樣段長度,是則執(zhí)行子步驟(5.6),否則轉(zhuǎn)子步驟(5.4);

      (5.6)將事件信息隊列和采樣數(shù)據(jù)隊列的長度加1;

      (5.7)恢復步驟(3)執(zhí)行。

      在長程監(jiān)控過程中,采樣數(shù)據(jù)隊列和事件信息隊列的最大隊列長度和隊列長度始終保持一致,相同序號的隊列元素,共同組成了一個事件數(shù)據(jù)包的內(nèi)容。

      本發(fā)明改變傳統(tǒng)以時間為橫軸的信息監(jiān)控記錄方法,通過檢測伺服驅(qū)動系統(tǒng)事件,由事件觸發(fā)監(jiān)控數(shù)據(jù)的獲取和保存,過濾對調(diào)試和故障檢測無用的穩(wěn)態(tài)運行過程,對事件發(fā)生前后的動態(tài)過程進行監(jiān)控;優(yōu)化數(shù)據(jù)獲取機制,在事件發(fā)生時獲取穩(wěn)態(tài)變量數(shù)值,在事件發(fā)生前后連續(xù)獲取動態(tài)變量數(shù)值,動態(tài)變量數(shù)值獲取符合了香農(nóng)采樣定理的要求;以事件數(shù)據(jù)包形式存儲監(jiān)控數(shù)據(jù),事件數(shù)據(jù)包的采樣數(shù)據(jù)段和穩(wěn)態(tài)變量段中,最多可同時保存16種動態(tài)變量數(shù)值和16種穩(wěn)態(tài)變量數(shù)據(jù),能夠詳實的反映事件發(fā)生前后伺服驅(qū)動系統(tǒng)運行狀態(tài)。與現(xiàn)有監(jiān)控記錄方法相比,本發(fā)明能夠減少監(jiān)控過程中產(chǎn)生的數(shù)據(jù)量,全面獲取伺服驅(qū)動系統(tǒng)運行信息,實現(xiàn)對伺服驅(qū)動系統(tǒng)的長程監(jiān)控,監(jiān)控過程中獲取的動態(tài)變量數(shù)值能夠為進行一步的分析和診斷提供支持。

      本發(fā)明不依賴于特定硬件或系統(tǒng)平臺,具有良好的適用性,能夠解決現(xiàn)有伺服監(jiān)控系統(tǒng)中存在的運行信息采集不全面,監(jiān)控過程中數(shù)據(jù)流量大的問題。

      附圖說明

      圖1為事件數(shù)據(jù)包的結(jié)構(gòu)示意圖;

      圖2為事件數(shù)據(jù)包的采樣數(shù)據(jù)段構(gòu)成圖;

      圖3為本發(fā)明流程框圖;

      圖4為本實施例中點數(shù)據(jù)采集的示意圖;

      圖5為步驟(4)的流程框圖;

      圖6為實施例中步驟(5)的流程框圖;

      圖7為步驟(5)中事件數(shù)據(jù)包的存儲示意圖;

      圖8為本實施例中伺服驅(qū)動系統(tǒng)軟件的執(zhí)行流程圖。

      具體實施方式

      下面結(jié)合附圖和實施例對本發(fā)明進一步說明。

      如圖3所示,本發(fā)明包括初始化步驟、點數(shù)據(jù)采集步驟、事件檢測步驟、事件判決步驟和事件數(shù)據(jù)包保存步驟。

      作為本發(fā)明的一個實施例,其中:

      (1)初始化步驟,包括以下子步驟:

      (1.1)在伺服驅(qū)動系統(tǒng)存儲空間中劃分出前端存儲區(qū)、事件信息存儲區(qū)和采樣數(shù)據(jù)存儲區(qū),三塊存儲區(qū)大小分別為500,300和4000個字節(jié),并分別由前端采樣隊列、事件信息隊列和采樣數(shù)據(jù)隊列管理;

      前端采樣隊列為循環(huán)隊列,隊列元素為點數(shù)據(jù);

      事件信息隊列為先入先出隊列,隊列元素為事件信息數(shù)據(jù);

      采樣數(shù)據(jù)隊列為先入先出隊列,隊列元素為采樣數(shù)據(jù)段;

      (1.2)配置事件數(shù)據(jù)控制表、檢測周期和特征事件最小時間間隔,事件數(shù)據(jù)控制表配置內(nèi)容包括采樣周期、穩(wěn)態(tài)變量個數(shù)、第一采樣編號列表、第二采樣編號列表、前端采樣段長度和觸發(fā)采樣段長度,檢測周期為100ms~1000ms,特征事件最小時間間隔為1s~10s;本實施例中,需要監(jiān)控6個穩(wěn)態(tài)變量,包括速度控制器比例系數(shù)、速度控制器積分系數(shù)、速度指令、速度偏差、位置偏差和控制模式;監(jiān)控5個動態(tài)變量,包括速度環(huán)指令、速度反饋、轉(zhuǎn)矩指令、轉(zhuǎn)矩反饋和定子u相電流;收集5個動態(tài)變量用于特征事件檢測,包括位置指令、速度指令、速度偏差、速度反饋、轉(zhuǎn)矩反饋;

      本實施例中,伺服控制程序的執(zhí)行周期為0.1ms,將采樣周期設為10個伺服控制程序執(zhí)行周期,穩(wěn)態(tài)變量個數(shù)設為6個,第一采樣編號(id)列表設為5個被監(jiān)控動態(tài)變量對應采樣編號(id),第二采樣編號(id)列表設為5個特征事件分析用動態(tài)變量對應采樣編號(id),前端采樣長度和觸發(fā)采樣長度分別為64個和128個,檢測周期設為100ms,特征事件最小時間間隔為5s;

      (1.3)計算前端采樣隊列、事件信息隊列和采樣數(shù)據(jù)隊列中隊列元素大?。?/p>

      本實施例中,從伺服驅(qū)動系統(tǒng)軟件中獲取的動態(tài)變量和穩(wěn)態(tài)變量數(shù)值大小都為1個字節(jié);

      前端采樣隊列的隊列元素為點數(shù)據(jù),其大小等于從采樣接口獲取的動態(tài)變量數(shù)值大小與第一采樣編號(id)列表長度的乘積,本實施例中,第一采樣編號(id)列表包含5個動態(tài)變量,所以點數(shù)據(jù)大小為5個字節(jié);

      事件信息隊列的隊列元素為事件信息數(shù)據(jù),事件信息數(shù)據(jù)包括2字節(jié)事件代碼、4字節(jié)事件時間、2字節(jié)前端采樣段長度和16字節(jié)的穩(wěn)態(tài)變量段,共計24個字節(jié);

      采樣數(shù)據(jù)隊列的隊列元素為采樣數(shù)據(jù)段,其大小為點數(shù)據(jù)大小和采樣數(shù)據(jù)段長度的乘積,在本實施例中采樣數(shù)據(jù)段長度為前端采樣段長度和觸發(fā)采樣段長度之和192,點數(shù)據(jù)大小為5字節(jié),所以采樣數(shù)據(jù)段大小為960個字節(jié);

      (1.4)計算三個存儲區(qū)對應管理隊列最大長度,計算依據(jù)為隊列所管理的存儲區(qū)容量和隊列元素大?。?/p>

      前端采樣隊列最大長度為500/5的整數(shù)部分100;

      事件信息隊列和采樣數(shù)據(jù)隊列的最大長度相同,為存儲區(qū)中能夠容納事件數(shù)據(jù)包的最大個數(shù),其值為300/24與4000/960整數(shù)部分的較小值4,表明在本實施例中配置條件下,存儲區(qū)最多可能容納4個事件數(shù)據(jù)包;

      (1.5)將前端采樣隊列、事件信息隊列和采樣數(shù)據(jù)隊列的長度初始化為0,同時執(zhí)行步驟(2)和步驟(3)。

      (2)點數(shù)據(jù)采集步驟,如圖4所示,按照事件數(shù)據(jù)控制表中指定的采樣周期,重復執(zhí)行以下子步驟:

      (2.1)按照事件數(shù)據(jù)控制表中的第一采樣編號(id)列表中的采樣編號,調(diào)用采樣接口獲取相應動態(tài)變量數(shù)值,在本實施例中,需要獲取的動態(tài)變量數(shù)值包括速度環(huán)指令值、速度反饋值、轉(zhuǎn)矩指令值、轉(zhuǎn)矩反饋值和定子u相電流值;

      (2.2)將獲取的動態(tài)變量數(shù)值在事件數(shù)據(jù)控制表的點數(shù)據(jù)緩沖區(qū)中臨時存儲;

      (2.3)當完成第一采樣編號(id)列表中指定的5個動態(tài)變量數(shù)值的采集和存儲后,將保存在點數(shù)據(jù)緩沖區(qū)的動態(tài)變量數(shù)值作為點數(shù)據(jù),保存到前端采樣隊列中。

      (3)事件檢測步驟,每當達到100ms檢測周期時,循環(huán)執(zhí)行以下子步驟:

      (3.1)故障事件檢測,按照從高位向低位的順序,依次檢查伺服驅(qū)動系統(tǒng)的故障標志位,若某個故障標志位置位,執(zhí)行子步驟(3.2);所有故障標識位均未置位則執(zhí)行子步驟(3.3);

      (3.2)生成該故障標志位所代表故障的故障事件代碼,然后轉(zhuǎn)步驟(4);

      本實施例中,故障事件代碼包括:智能功率模塊故障,0x7000;電機超速:0x7001;電機過流:0x7002;控制參數(shù)載入錯誤:0x7003;母線電壓不足:0x7004;母線電壓過高:0x7005;編碼器連接錯誤:0x7006;位置偏差過大:0x7007;

      (3.3)特征事件檢測,根據(jù)第二采樣編號(id)列表,使用采樣接口獲取相應各動態(tài)變量數(shù)值,檢查特定動態(tài)變量數(shù)值是否變化或者特定動態(tài)變量數(shù)值是否超過設定的閾值,是則伺服驅(qū)動系統(tǒng)處于非穩(wěn)定運行狀態(tài),認為發(fā)生特征事件,執(zhí)行子步驟(3.4);否則等待下一個檢測周期,轉(zhuǎn)子步驟(3.1);

      本實施例中,用于特征分析的動態(tài)變量數(shù)值為位置指令值、速度指令值、速度偏差值、轉(zhuǎn)矩電流值和速度反饋值;

      檢查位置指令值是否發(fā)生變化,是則認為發(fā)生位置指令變更;

      檢查速度指令值是否發(fā)生變化,是則認為發(fā)生速度指令變更;

      在速度穩(wěn)定跟蹤過程中,檢查速度偏差值是否超過5轉(zhuǎn)/分鐘,是則認為速度偏差過大;

      檢查是否轉(zhuǎn)矩電流值大于5a、速度反饋值的絕對值小于10轉(zhuǎn)/分鐘、速度指令值的絕對值大于10轉(zhuǎn)/分鐘而且持續(xù)時間超過1s,是則認為電機堵轉(zhuǎn);

      (3.4)生成該特征事件對應的特征事件代碼,然后進行步驟(4);

      本實施例中,對應的特征事件代碼為:位置指令變更,0x8001;速度指令變更,0x8002;速度偏差過大,0x8003;電機堵轉(zhuǎn),0x8004;

      (4)事件判決步驟,流程框圖如圖5所示,包括以下子步驟:

      (4.1)判斷本次事件代碼是否和前一次事件代碼相同,是則執(zhí)行子步驟(4.2),否則執(zhí)行子步驟(4.4);

      (4.2)判斷本次事件代碼類型,為故障事件代碼則轉(zhuǎn)子步驟(4.5),為特征事件代碼,執(zhí)行子步驟(4.3);

      (4.3)判斷兩次特征事件發(fā)生的時間間隔是否大于規(guī)定的最小時間間隔5s,是則執(zhí)行子步驟(4.4),否則轉(zhuǎn)子步驟(4.5);

      (4.4)記錄下故障事件代碼或者特征事件代碼、事件時間,同時停止步驟(3)的執(zhí)行,執(zhí)行步驟(5);

      (4.5)等待步驟3中下一檢測周期檢測到的事件代碼,當其到達時,轉(zhuǎn)子步驟(4.1);

      (5)事件數(shù)據(jù)包保存步驟,其流程框圖如圖6所示,包括以下子步驟:

      (5.1)判斷事件信息隊列或采樣數(shù)據(jù)隊列中隊列元素個數(shù)是否未到達最大隊列長度,是則執(zhí)行子步驟(5.2);否則表明存儲區(qū)已經(jīng)沒有空間容納新的事件數(shù)據(jù)包,轉(zhuǎn)子步驟(5.7),本實施例中,上述兩個隊列的最大隊列長度均為4;

      (5.2)構(gòu)造事件信息數(shù)據(jù)并保存在事件信息數(shù)據(jù)隊列中;

      從子步驟(4.5)獲取事件代碼、事件時間,從事件數(shù)據(jù)控制表獲取前段采樣段長度;將用戶所關(guān)心的穩(wěn)態(tài)變量數(shù)值存儲在穩(wěn)態(tài)變量段中,在本實施例中,需要獲取的6個穩(wěn)態(tài)變量為速度控制器比例系數(shù)、速度控制器積分系數(shù)、速度指令、速度偏差、位置偏差和控制模式,穩(wěn)態(tài)變量段中所包含的穩(wěn)態(tài)變量個數(shù)和事件數(shù)據(jù)管理器中規(guī)定的穩(wěn)態(tài)變量個數(shù)一致;

      將事件代碼、事件時間、前段采樣段長度和穩(wěn)態(tài)變量段構(gòu)成事件信息數(shù)據(jù),保存在事件信息隊列的末尾;

      (5.3)按照采集時間順序?qū)⑶岸瞬蓸雨犃兄械狞c數(shù)據(jù),復制到采樣數(shù)據(jù)隊列末尾隊列元素的前端采樣段中,復制的點數(shù)據(jù)個數(shù)由事件數(shù)據(jù)管理器的前端采樣長度指定,本實施例中,需要復制的點數(shù)據(jù)個數(shù)為64個;

      (5.4)子步驟(2.3)中即時獲取的點數(shù)據(jù),在保存到前端采樣隊列的同時,填充到采樣數(shù)據(jù)隊列末尾隊列元素的觸發(fā)采樣段中;

      (5.5)判斷觸發(fā)采樣段中已經(jīng)填充的點數(shù)據(jù)個數(shù),是否達到事件數(shù)據(jù)控制表中的觸發(fā)采樣段長度128個,是則執(zhí)行子步驟(5.6),否則轉(zhuǎn)子步驟(5.4);

      (5.6)將事件信息隊列和采樣數(shù)據(jù)隊列的長度加1;

      (5.7)恢復步驟(3)執(zhí)行。

      如圖7所示,事件數(shù)據(jù)包分為事件信息數(shù)據(jù)和采樣數(shù)據(jù)段,分別存儲在事件信息隊列和采樣數(shù)據(jù)隊列中,在長程監(jiān)控過程中,采樣數(shù)據(jù)隊列和事件信息隊列的最大隊列長度和隊列長度始終保持一致,兩個隊列中相同序號的隊列元素,共同組成了一個事件數(shù)據(jù)包的內(nèi)容。

      圖8為本實施例中伺服驅(qū)動系統(tǒng)軟件的執(zhí)行流程圖,根據(jù)任務執(zhí)行時間特點,可以將軟件系統(tǒng)劃分成初始化程序、主循環(huán)程序和伺服控制程序三部分。初始化程序在主程序執(zhí)行之前,對伺服驅(qū)動系統(tǒng)硬件進行配置并初始化控制系統(tǒng)的某些信息,主要包括硬件寄存器配置、控制參數(shù)初始化、外設初始化等。主循環(huán)程序主要包括外部通信、顯示更新、i\o端口檢測等外圍非實時性任務。伺服控制程序完成電機電流、速度、位置控制,主要包括電流采樣、位置反饋采樣、矢量變換、實時電機控制算法和逆變器pwm信號輸出。在本實施例中,伺服控制程序通過定時中斷觸發(fā)方式執(zhí)行,定時中斷周期為0.1ms,非實時性任務在主循環(huán)程序中完成。

      本發(fā)明在嵌入到伺服驅(qū)動系統(tǒng)軟件中時,需要根據(jù)實時性的要求,參照伺服驅(qū)動系統(tǒng)軟件劃分進行合理安排。點數(shù)據(jù)采集必須滿足等間隔采樣和香農(nóng)采樣定理對采樣頻率的要求,同時要減少程序執(zhí)行延時對穩(wěn)態(tài)數(shù)據(jù)有效性的影響,所以把步驟(2)的點數(shù)據(jù)采集和步驟(5)事件數(shù)據(jù)包保存安排在定時中斷里與伺服控制任務同時執(zhí)行;其他任務由于對實時性要求不高,安排在主循環(huán)程序中執(zhí)行:步驟(3)事件檢測和步驟(4)事件判決在主循環(huán)程序中以周期輪詢方式執(zhí)行,在兩次輪詢間隔中需完成事件檢測和事件判決的執(zhí)行;更改事件數(shù)據(jù)控制表中內(nèi)容后,將在主循環(huán)程序中執(zhí)行步驟(1),對長程監(jiān)控重新初始化。

      當前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1