欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于TCP/IP協(xié)議的數(shù)控機床伺服調整方法與流程

文檔序號:11153363閱讀:1029來源:國知局
基于TCP/IP協(xié)議的數(shù)控機床伺服調整方法與制造工藝

本發(fā)明涉及數(shù)控機床的技術領域,特別涉及一種基于TCP/IP協(xié)議的數(shù)控機床伺服調整方法。



背景技術:

隨著現(xiàn)代科技的發(fā)展,對數(shù)控系統(tǒng)的精度速度要求越來越高。通過調整數(shù)控系統(tǒng)有關伺服的參數(shù)是實現(xiàn)更高速度更高精度地加工的一種有效且常用的辦法。而目前數(shù)控機床在加工過程中不能直觀地反應出機床電機的運行細節(jié)信息,操作員只能憑借數(shù)控系統(tǒng)上基本的運行信息并結合自身經(jīng)驗來定制數(shù)控系統(tǒng)的伺服參數(shù)。因此,傳統(tǒng)的伺服調整方法使數(shù)控系統(tǒng)的加工精度和加工速度受到人為因數(shù)影響,并存在使用不便的問題。當前計算機和網(wǎng)絡技術的迅速發(fā)展,為伺服電機的實時數(shù)據(jù)、動態(tài)顯示和分析提供了必要的前提和條件,網(wǎng)絡技術的發(fā)展也為數(shù)控系統(tǒng)的數(shù)據(jù)傳輸提供了方便。利用計算機強大的運算能力更能迅速準確地分析出數(shù)控機床的運行過程和狀態(tài)。為此,基于TCP/IP的數(shù)控機床伺服調整方法的計算機軟件將能直觀地體現(xiàn)伺服數(shù)據(jù)、并能實現(xiàn)實時調整數(shù)控系統(tǒng)伺服參數(shù),以使機床更高效地工作。



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

本發(fā)明的目的在于克服現(xiàn)有數(shù)控系統(tǒng)在進行伺服參數(shù)調整時操作不便,伺服數(shù)據(jù)不能實時直觀體現(xiàn)等缺點,提供一種基于TCP/IP協(xié)議的數(shù)控機床伺服調整方法。

為了到達上述目的,本發(fā)明采用以下技術方案:

本發(fā)明基于TCP/IP協(xié)議的數(shù)控機床伺服調整方法,包括下述步驟:

S1、啟動數(shù)控系統(tǒng),創(chuàng)建網(wǎng)絡通信線程,初始化網(wǎng)絡服務器并綁定端口和IP,等待客戶端請求連接;

S2、當客戶端和數(shù)控系統(tǒng)建立連接后,數(shù)控系統(tǒng)等待客戶端發(fā)送各種命令數(shù)據(jù)包,如果在指定時間內(nèi)客戶端和數(shù)控系統(tǒng)沒有進行任何數(shù)據(jù)通信,則數(shù)控系統(tǒng)將使用ping校驗連接是否已斷開;

S3、當客戶端和數(shù)控系統(tǒng)建立連接后,用戶客戶端上可以查看伺服參數(shù)、上傳伺服參數(shù)、采集數(shù)控機床伺服數(shù)據(jù)、分析和顯示伺服波形,各操作互不影響,可同時進行,實現(xiàn)數(shù)控機床伺服參數(shù)在客戶端軟件界面上邊采集顯示伺服波形,邊微調伺服參數(shù),最終制定更優(yōu)的伺服參數(shù)使數(shù)控機床有更快的速度和更高的精度。

作為優(yōu)選的技術方案,步驟S2中,數(shù)控系統(tǒng)將使用ping校驗連接是否已斷開的具體方法為:

當客戶端與數(shù)控系統(tǒng)在一定的時間內(nèi)沒有按約定的數(shù)據(jù)包通信時,將通過ping函數(shù)命令去檢測當前網(wǎng)絡是否連接正常,不正常就報警提示處理;

數(shù)據(jù)包格式:關鍵字串+操作類型+當前包號+總包數(shù)+具體數(shù)據(jù)結構包。

作為優(yōu)選的技術方案,步驟S3中,查看伺服參數(shù)的具體步驟如下:

S21、客戶端給數(shù)控系統(tǒng)發(fā)送請求下載伺服參數(shù)的數(shù)據(jù)包;

S22、數(shù)控系統(tǒng)解析數(shù)據(jù)包,通過操作類型標志知道是下載伺服參數(shù)的請求,調用相關函數(shù)GSKRM_GetServoParam(hInst,int number,int valcnt,double*pval)取得相應參數(shù)信息;參數(shù)包括伺服驅動器內(nèi)部參數(shù);

S23、數(shù)控系統(tǒng)向客戶端發(fā)送附帶參數(shù)信息的數(shù)據(jù)包。

作為優(yōu)選的技術方案,步驟S3中,所述的上傳伺服參數(shù)的具體步驟如下:

S31、客戶端給數(shù)控系統(tǒng)發(fā)送請求上傳伺服參數(shù)的數(shù)據(jù)包;

S32、客戶端給數(shù)控系統(tǒng)發(fā)送需要上傳的伺服參數(shù)數(shù)據(jù)包;

S33、數(shù)控系統(tǒng)解析數(shù)據(jù)包,通過操作類型標志知道是上傳伺服參數(shù)的請求,判斷當前是否允許上傳伺服參數(shù),若允許,通過函數(shù)GSKRM_SetServoParam(hInst,int number,int valcnt,double*pval)發(fā)送伺服參數(shù)數(shù)據(jù)包,并應用到數(shù)控系統(tǒng),若不允許,舍棄伺服參數(shù)數(shù)據(jù)包。

作為優(yōu)選的技術方案,步驟S3中,所述的伺服數(shù)據(jù)具體數(shù)據(jù)內(nèi)容如下:

S41、進給軸的指令位置量、電機驅動反饋的位置量、光柵尺反饋的位置量;

S42、主軸的指令脈沖數(shù)、電機驅動反饋的脈沖數(shù);

S43、PID指令轉速、實際轉速;

S44、伺服指令電流、伺服實際電流。

作為優(yōu)選的技術方案,所述的采集數(shù)控機床伺服數(shù)據(jù)的具體步驟如下:

S51、客戶端請求建立額外的數(shù)據(jù)通信連接;

S52、當數(shù)據(jù)通信連接建立后,客戶端給數(shù)控系統(tǒng)發(fā)送請求采集機床伺服數(shù)據(jù)的數(shù)據(jù)包;

S53、數(shù)控系統(tǒng)解析數(shù)據(jù)包,知道是采集機床伺服數(shù)據(jù)的請求,開始從DSP取得伺服數(shù)據(jù)并緩存在內(nèi)存中;

S54、數(shù)控系統(tǒng)網(wǎng)絡通信線程循環(huán)調用函數(shù)setRunMonitor(int monitorType,int spindle,int axis1,int axis2,int*cnt,struct PosUnit Pos[])從內(nèi)存中取得伺服數(shù)據(jù),并使用數(shù)據(jù)通信連接向客戶端發(fā)送附帶伺服數(shù)據(jù)的數(shù)據(jù)包,內(nèi)存數(shù)據(jù)是為了多線程運行時,提高線程并發(fā)處理而設置的多段數(shù)據(jù)的緩沖結構,從而避免因數(shù)據(jù)未及時取走而丟失數(shù)據(jù)的情況;

S55、客戶端循環(huán)接收附帶伺服數(shù)據(jù)的數(shù)據(jù)包,并緩存在計算機內(nèi)存中。

作為優(yōu)選的技術方案,步驟S52和步驟S53中,利用伺服數(shù)據(jù)的位移數(shù)據(jù)計算數(shù)控機床進給軸的進給速度、進給加速度,選擇使用一階慣性濾波及其濾波系數(shù)濾去其高頻信號,觀察其變化趨勢;對于數(shù)控機床電機的轉速、位移、電流伺服數(shù)據(jù),直接繪制到用戶界面上;對于具體的圖形,直線插補的誤差分析,用戶可獲取直線的方差、最小二乘法擬合直線的角度、和直線度;圓弧插補的誤差分析,用戶可診斷反向間隙、反向躍沖、比例不匹配誤差。

作為優(yōu)選的技術方案,所述的分析和顯示伺服波形的具體步驟如下:

S61、客戶端選擇需要顯示的伺服數(shù)據(jù)波形;

S62、客戶端界面線程準備從內(nèi)存中取出伺服數(shù)據(jù)并繪制相應曲線;

S63、客戶端在接收到伺服數(shù)據(jù)后通知界面線程從內(nèi)存取出伺服數(shù)據(jù)繼續(xù)繪制相應曲線。

本發(fā)明與現(xiàn)有技術相比,具有如下優(yōu)點和有益效果:

1、本發(fā)明使用計算機分析伺服數(shù)據(jù),運算準確、快速,操作方便。

2、本發(fā)明可把數(shù)控機床加工過程的伺服數(shù)據(jù)繪制成實時曲線,伺服電機數(shù)據(jù)細節(jié)清楚地體現(xiàn)在顯示屏上。

3、本發(fā)明可以邊觀察伺服數(shù)據(jù)及其繪制的曲線,邊調整伺服參數(shù),使操作者更容易了解數(shù)控系統(tǒng)伺服參數(shù)對電機的影響。

附圖說明

圖1是本發(fā)明數(shù)控系統(tǒng)端網(wǎng)絡模塊框架圖;

圖2是本發(fā)明客戶端軟件網(wǎng)絡模塊框架圖;

圖3是本發(fā)明計算機客戶端軟件伺服數(shù)據(jù)處理流程圖。

具體實施方式

下面結合實施例及附圖對本發(fā)明作進一步詳細的描述,但本發(fā)明的實施方式不限于此。

實施例

如圖1所示,基于嵌入式linux操作系統(tǒng),實現(xiàn)TCP/IP的數(shù)控系統(tǒng)網(wǎng)絡服務器模塊。網(wǎng)絡服務器主要由網(wǎng)絡通信模塊和網(wǎng)絡業(yè)務處理模塊組成。網(wǎng)絡通信模塊基于linux API的select模型設計,面向多客戶端,多連接,負責接受和管理客戶端的連接、接收數(shù)據(jù)包、發(fā)送數(shù)據(jù)包。數(shù)控系統(tǒng)啟動后,啟動網(wǎng)絡通信線程,初始化服務器響應連接請求的socket,并把該socket加入到select模型的監(jiān)聽集合里。當有客戶端請求連接時,得到與客戶端通信的新socket,繼續(xù)把該socket加入select模型的監(jiān)聽集合里。服務器使用類似于FTP連接協(xié)議模式,分為主連接和數(shù)據(jù)連接。主連接負責通信特定大小的命令數(shù)據(jù)包,數(shù)據(jù)連接負責通信數(shù)據(jù)流,數(shù)控系統(tǒng)服務器發(fā)送伺服數(shù)據(jù)到客戶端使用數(shù)據(jù)連接,數(shù)據(jù)連接依附于主連接,當主連接斷開時,數(shù)據(jù)連接自動斷開。建立連接后,客戶端通過發(fā)送數(shù)據(jù)包(ATTR_HOSTPORT)來告知服務器該連接(socket)是依附到哪個主連接的數(shù)據(jù)連接或獨立的主連接。網(wǎng)絡業(yè)務處理模塊即負責解析數(shù)據(jù)包,根據(jù)數(shù)據(jù)包包頭的指令來執(zhí)行相應的操作,需要發(fā)送數(shù)據(jù)包到客戶端時即把數(shù)據(jù)包投遞到網(wǎng)絡通信模塊。

如圖2所示,由于數(shù)控系統(tǒng)服務器支持多個socket同時通信,為了實現(xiàn)采集伺服數(shù)據(jù)的同時可以上傳參數(shù),實現(xiàn)各操作相互獨立,互不影響,客戶端網(wǎng)絡模塊使用了多socket多線程的方式。當客戶端軟件啟動后,點擊【開始】菜單的【新建終端】子菜單,輸入IP、端口號,新建一個CNC的連接,將創(chuàng)建一個網(wǎng)絡通信對象(netClient)。用戶點擊菜單欄的【操作】菜單中的【連接】子菜單,netClient將創(chuàng)建線程A,初始化socket0,使用socket0請求數(shù)控系統(tǒng)服務器建立連接。當連接建立后,發(fā)送命令數(shù)據(jù)包(ATTR_HOSTPORT),指定該連接為主連接。此時,線程A通知界面線程連接數(shù)控系統(tǒng)服務器已成功,接著進入select模型的循環(huán)中監(jiān)聽socket0,隨時接收數(shù)控系統(tǒng)服務器的應答數(shù)據(jù)包。用戶點擊【參數(shù)】按鈕,界面線程調用netClient的方法,通過socket0發(fā)送請求下載參數(shù)的命令數(shù)據(jù)包(PARAM_OPT)。服務器處理后,將發(fā)送命令數(shù)據(jù)包(PARAM_OPT)及相應參數(shù)數(shù)據(jù)到socket0。線程A的select模型監(jiān)聽到有數(shù)據(jù)來時,接收并解析命令數(shù)據(jù)包,判斷是下載參數(shù)的應答命令,繼續(xù)接收后續(xù)附帶參數(shù)信息的數(shù)據(jù)包,并壓入netClient的緩存隊列中。接收完畢后,線程A發(fā)送信號通知界面從參數(shù)信息緩存隊列中讀取參數(shù)并顯示。同理,用戶點擊參數(shù)窗口下的【上傳】按鈕,界面線程調用netClient的方法,通過socket0發(fā)送請求上傳參數(shù)的命令數(shù)據(jù)包(PARAM_OPT),接著發(fā)送附帶參數(shù)信息的數(shù)據(jù)包。服務器處理后,回發(fā)應答命令數(shù)據(jù)包(PARAM_OPT),并回發(fā)成功上傳的參數(shù)信息數(shù)據(jù)包,線程A接收并解析命令數(shù)據(jù)包,接收參數(shù)信息,通知界面讀取參數(shù)緩存隊列,界面即確認成功上傳的參數(shù)。用戶需要采集并分析伺服數(shù)據(jù)時,點擊【采集】按鈕,此時,界面線程通過netClient的方法創(chuàng)建線程B,并初始化socket1,請求與數(shù)控系統(tǒng)服務器建立連接。連接成功后,發(fā)送命令數(shù)據(jù)包(ATTR_HOSTPORT),指定socket0為其依附的主連接,即當socket0建立的連接斷開時,socket1會斷開連接并結束線程B。指定連接屬性后,線程B通知界面線程數(shù)據(jù)連接已就緒,接著進入select模型監(jiān)聽socket1,隨時接收數(shù)控系統(tǒng)服務器發(fā)送的數(shù)據(jù)包。界面線程得知數(shù)據(jù)連接已就緒后,通過netClient對象,使用socket1發(fā)送命令數(shù)據(jù)包(MONITOR_OPT)請求采集伺服數(shù)據(jù)。數(shù)控系統(tǒng)服務器解析命令數(shù)據(jù)包,開始從DSP循環(huán)讀取n組伺服數(shù)據(jù),發(fā)送命令數(shù)據(jù)包和n組伺服數(shù)據(jù)包到socket1。線程B的select模型監(jiān)聽到socket1有數(shù)據(jù)到來,先接收并解析命令數(shù)據(jù)包,得知接著有n組伺服數(shù)據(jù),再接收伺服數(shù)據(jù)數(shù)據(jù)包。每接收到一組,壓入伺服數(shù)據(jù)緩存隊列中,接收完n組伺服數(shù)據(jù)后,線程B發(fā)送信號通知界面線程可以取出伺服數(shù)據(jù)。

如圖3所示,用戶通過點擊【分析】按鈕,在彈出的窗口中選擇需要顯示的曲線。界面線程判斷當前伺服數(shù)據(jù)緩存隊列是否存在數(shù)據(jù),若存在,調用對應的函數(shù)計算曲線縱坐標和橫坐標,并繪制到界面上的坐標系。若不存在,即在界面線程接收到網(wǎng)絡通信線程發(fā)送信號才從伺服數(shù)據(jù)緩存隊列讀取數(shù)據(jù),同理,調用對應函數(shù)計算曲線縱坐標和橫坐標,并繪制到界面的坐標系。在伺服數(shù)據(jù)采集過程,客戶端軟件的網(wǎng)絡通信線程每接收到n組數(shù)據(jù)發(fā)送一次信號通知界面線程讀取數(shù)據(jù)并繪圖,實現(xiàn)了一個邊采集邊繪圖的過程,同時也不影響參數(shù)的上傳。

上述實施例為本發(fā)明較佳的實施方式,但本發(fā)明的實施方式并不受上述實施例的限制,其他的任何未背離本發(fā)明的精神實質與原理下所作的改變、修飾、替代、組合、簡化,均應為等效的置換方式,都包含在本發(fā)明的保護范圍之內(nèi)。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
花垣县| 大邑县| 诏安县| 格尔木市| 靖安县| 田东县| 吉林省| 三门县| 泾川县| 穆棱市| 东海县| 大荔县| 白玉县| 台湾省| 千阳县| 洪湖市| 扬中市| 游戏| 崇明县| 松江区| 土默特右旗| 孝昌县| 昌乐县| 建湖县| 锡林浩特市| 连南| 平和县| 江门市| 奉化市| 陕西省| 东至县| 尼勒克县| 六安市| 北海市| 正宁县| 文成县| 顺平县| 河北区| 鲁山县| 安丘市| 宣城市|