国产精品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>

      一種基于工業(yè)噴碼機控制系統(tǒng)的遠程化實現(xiàn)方法

      文檔序號:2515390閱讀:279來源:國知局
      一種基于工業(yè)噴碼機控制系統(tǒng)的遠程化實現(xiàn)方法
      【專利摘要】一種基于傳統(tǒng)工業(yè)噴碼機本地控制系統(tǒng)的遠程化方法,包括如下步驟:本地控制設備硬件遠程化,重新組成上、下位機的遠端控制系統(tǒng)硬件組成結構;遠程通信協(xié)議設計,添加通信信道協(xié)議棧模塊;傳輸數(shù)據(jù)的打包、解包協(xié)議設計,添加發(fā)送與接收協(xié)議棧模塊;遠端打包信息發(fā)送、接收程序設計,依托所設計的協(xié)議模塊,補全控制數(shù)據(jù)與顯示數(shù)據(jù)的I/O模塊;本發(fā)明實現(xiàn)了遠端操作工業(yè)噴碼機,有效保護現(xiàn)場操作人員遠離對人體有害的操作現(xiàn)場;同時,本發(fā)明基于傳統(tǒng)的噴碼打印機本地控制系統(tǒng),成本低廉,實現(xiàn)簡單;完成后的遠端控制系統(tǒng)與原有本地控制系統(tǒng)方式、方法保持一致,無需對現(xiàn)場操作人員進行重新培訓,且利于集中控制,進一步降低人力成本。
      【專利說明】—種基于工業(yè)噴碼機控制系統(tǒng)的遠程化實現(xiàn)方法
      【技術領域】
      [0001]本發(fā)明涉及一種基于工業(yè)噴碼機控制系統(tǒng)的遠程化實現(xiàn)方法,屬于工業(yè)控制【技術領域】。
      【背景技術】
      [0002]噴碼機是一種通過軟件控制,使用非接觸方式在產(chǎn)品上進行標識的設備。其原理是利用油墨帶電偏轉的方式將油墨偏移出正常的飛行路線,射向工作物的表面,利用給墨滴充電的電量控制每一個墨滴的位置,形成想要打印的資料。在工業(yè)上使用噴碼機對產(chǎn)品進行標示,具有非接觸、速度快、應用范圍廣和易編輯修改等優(yōu)點。而隨著標識技術在工業(yè)領域的逐步深入,噴碼機在食品,飲料,建材,電線電纜,醫(yī)藥,化工,電子等眾多行業(yè)都有廣泛應用。
      [0003]噴碼機在為工業(yè)標識領域帶來便利的同時,也帶來許多新的問題:首先,噴碼機使用的墨水大多含有酮基或酒精基成分,這些化學試劑都是易燃易爆品,所以在使用過程當中,要注意防火;其次,噴碼機墨水和溶劑都是有腐蝕性的,對現(xiàn)場工作人員的皮膚、眼和鼻等身體器官有害,長期在該環(huán)境中工作,影響身體健康;最后,由于噴碼機采用靜電偏轉原理來控制墨滴,因此要注意現(xiàn)場的靜電防護。
      [0004]在傳統(tǒng)的工廠環(huán)境中,要么沒有重視以上問題,要么采取對現(xiàn)場人員進行安全培訓的方式。人力成本高,且無法有效消除隱患,容易為工廠帶來損失。采取遠端操作,減少甚至實現(xiàn)消除人與噴碼機工作環(huán)境的交互,即保護了工作人員的身體健康,又排除了由于人為因素導致的不安全隱患,是一種行之有效的解決方案。但更換現(xiàn)有傳統(tǒng)噴碼機為遠端操作類噴碼機成本過高,不符合企業(yè)盈利目的。并且,遠端操作的方法不統(tǒng)一,不具有普適性,難以大范圍推廣。

      【發(fā)明內容】

      [0005]本發(fā)明技術解決問題:克服現(xiàn)有技術的不足,本發(fā)明提供一種基于工業(yè)噴碼機控制系統(tǒng)的遠程化方法,在實現(xiàn)遠端控制噴碼機功能的同時,具有成本低廉、實現(xiàn)簡單、控制集中且利于工作人員身體健康等優(yōu)點。
      [0006]本發(fā)明技術解決方案:一種基于工業(yè)噴碼機控制系統(tǒng)的遠程化方法,包括如下步驟:
      [0007]( I)增加與本地下位機相同硬件結構的上位機,并將上、下位機相連;
      [0008](2)定制上位機中的功能模塊,其中包括:修改上位機控制信號輸入模塊和上位機顯示信號輸出模塊,添加上位機控制信號協(xié)議棧和上位機通信協(xié)議棧模塊;
      [0009](3)定制下位機中的功能模塊包括:修改下位機顯示模塊,增添下位機控制信號協(xié)議棧模塊和下位機通信協(xié)議棧模塊;
      [0010]優(yōu)選地,所述步驟(I)中,使用通用串口連接上、下位機器,保持通信信道連通;[0011 ] 優(yōu)選地,所述步驟(2)中,首先,用戶在上位機按下鍵盤,所得的鍵值信號傳入控制信號輸入模塊,通過查找鍵值表,生成對應噴碼機控制信號。然后,將該信號重定向到控制信號協(xié)議棧模塊,為控制信號增添包頭、包尾、屬性和長度等數(shù)據(jù),完成打包過程,生成控制數(shù)據(jù)包。再將控制數(shù)據(jù)包傳遞給通信信道協(xié)議棧模塊進行打包,生成符合串口通信協(xié)議的上行輸出數(shù)據(jù)包。最后,上行輸出數(shù)據(jù)包經(jīng)由通信信道發(fā)送到下位機接收進程。上述流程為信號傳輸上行(上位機至下位機路徑)的發(fā)送過程。
      [0012]優(yōu)選地,所述步驟(3)中,當下位機查詢到上位機發(fā)送的上行輸出數(shù)據(jù)包到來時,首先,將該數(shù)據(jù)包傳入通信信道協(xié)議棧模塊進行解包,還原成控制數(shù)據(jù)包。然后,將該數(shù)據(jù)包傳入控制信號協(xié)議棧模塊進行解包,根據(jù)包頭、包尾確定信號位置,根據(jù)屬性、長度將數(shù)據(jù)還原成原噴碼機控制信號。最后,該控制信號傳遞到下位機控制模塊。該模塊首先會根據(jù)控制信號調節(jié)噴碼機的工作狀態(tài);同時,控制模塊會發(fā)送顯示信號到下位機顯示模塊。上述流程為信號傳輸上行(上位機至下位機路徑)的接收過程。
      [0013]信號傳輸上行流程實現(xiàn)了遠端鍵盤操作噴碼機的功能,并將對應信息顯示到噴碼機本地顯示屏上,供需要時使用。
      [0014]優(yōu)選地,所述步驟(3)中,當下位機顯示模塊接收到顯示信號時,首先,會根據(jù)顯示信號的點陣信息在下位機(噴碼機現(xiàn)場)屏幕上顯示對應信息。同時,會將該顯示信號轉發(fā)到顯示信號協(xié)議棧模塊進行打包,為顯示信號添加包頭、包尾、字體或圖形屬性和信號長度等信息,生成顯示數(shù)據(jù)包。再將顯示數(shù)據(jù)包傳遞給通信信道協(xié)議棧模塊進行打包,生成符合串口協(xié)議的下行輸出數(shù)據(jù)包。最后,經(jīng)由通信信道發(fā)送到上位機接收進程。上述流程為信號傳輸下行(下位機至上位機路徑)的發(fā)送過程。
      [0015]優(yōu)選地,所述步驟(2)中,當上位機接收進程查詢到下位機發(fā)送的下行輸出數(shù)據(jù)包到來時,首先,將該數(shù)據(jù)包傳入通信信道協(xié)議棧模塊進行解包,還原成顯示信號數(shù)據(jù)包。然后將該數(shù)據(jù)包傳入顯示信號協(xié)議棧模塊進行解包,根據(jù)包頭、尾來確定信號位置,根據(jù)圖形屬性選擇ASCII碼或圖形庫,根據(jù)長度來確定信號長度。最后將還原出的顯示信號傳給顯示信號輸出模塊,根據(jù)信息內容在上位機LCD屏幕上繪制信息。上述流程為信號傳輸下行(下位機至上位機路徑)的接收過程。
      [0016]信號傳輸下行流程實現(xiàn)了對顯示信號的回顯,使得遠端的操作人員可觀察到操作對應的顯示信息,實現(xiàn)對遠端噴碼機顯示信息的同屏傳輸,使遠程控制變得完整。
      [0017]所述上位機控制信號輸入模塊及顯示信號輸出模塊修改步驟如下:
      [0018](I)為完成控制信號的重定向,需完成上位機與噴碼機的隔離,使之只與下位機通信。實現(xiàn)方法為將上位機控制信號輸入模塊中的寄存器設置相關語句注釋;
      [0019](2)為將控制信號傳輸?shù)絽f(xié)議棧進行打包進而與下位機通信,需將上述步驟(I)中的控制信號存儲起來。實現(xiàn)方法為在main函數(shù)中動態(tài)開辟堆棧區(qū)內存,利用ping pangbuffer原理,將控制信號依次填入緩存區(qū)以供讀?。?br> [0020](3)與上位機控制信號相同,為完成上位機顯示信號的重定向,將上位機顯示信號輸出模塊的輸入?yún)?shù)由控制信號函數(shù)輸出的數(shù)據(jù)塊頭指針,改為經(jīng)過協(xié)議棧解包函數(shù)處理后所得的顯示信號數(shù)據(jù)塊頭指針。
      [0021]所述下位機顯示模塊的修改方法為:在下位機main函數(shù)中開辟新的堆區(qū),在顯示信號輸出函數(shù)中增加將顯示信號存入堆區(qū)的拷貝操作。
      [0022]所述各信號協(xié)議棧的添加步驟為:[0023](I)協(xié)議棧打包流程即為依據(jù)設計添加冗余位。根據(jù)傳輸要求進行協(xié)議設計,其協(xié)議的基本格式如下:
      [0024](11) Header:包頭,占用兩個字節(jié),是連續(xù)兩個無符號整型數(shù)據(jù)Headerl、Header2,本實施例中 Headerl=OxEB, Header2=0x90 ;
      [0025](12) Type:包類型,占用一個字節(jié),是一個字節(jié)的無符號整型數(shù)據(jù),每一個函數(shù)都分配了一個標識代碼,為該函數(shù)設計的數(shù)據(jù)包中,Type域中就保存著這個標識代碼;
      [0026](13) Length:包長度,占用兩個字節(jié),是一個短整型數(shù)據(jù)的兩個字節(jié),包長度是指以字節(jié)為單位的包的數(shù)據(jù)部分的長度,即包的長度不包括Header、Type、Length、Tail等部分占用的字節(jié);
      [0027](14)Data:包的數(shù)據(jù)部分,即協(xié)議棧打包前接收到的原始控制、顯示信號的有用信息;
      [0028](15) Tail:包尾,占用兩個字節(jié),是連續(xù)兩個無符號整型Taill、Tail2。
      [0029]其中Header、Type、Length三個數(shù)據(jù)段順序連接到Data數(shù)據(jù)段前,Tail連接到Data數(shù)據(jù)段尾部,按照上述格式,處理每一個輸入的信號完成打包。
      [0030](2)協(xié)議解包流程為:
      [0031](21)得到當前數(shù)據(jù)包,即將全局當前緩存塊首地址指向包頭首地址;
      [0032](22)從包頭首地址開始,向后遍歷兩個字節(jié),同時移動緩存指針指向數(shù)據(jù)包下一個字節(jié);
      [0033](23)讀取當前字節(jié)(第3個字節(jié)),即Type字節(jié),判斷本數(shù)據(jù)包類型,根據(jù)不同的case,如ASCI1、漢字點陣、蜂鳴器數(shù)據(jù)包等選擇不同的處理分支,再依據(jù)不同的分支,調用相關信息數(shù)據(jù)包協(xié)議處理函數(shù);
      [0034](24)最后,回到主流程,并將協(xié)議處理函數(shù)得到的原信號內存首地址作為協(xié)議棧解包函數(shù)的返回值返回。
      [0035]所述通信協(xié)議棧模塊的添加步驟為:
      [0036](I)使能串口硬件與Timer中斷:設置芯片PIO的UART管腳使能。啟動一個定時器Timer,并打開定時器中斷;
      [0037](2)開辟信號緩存空間:在通信主程序的堆區(qū)中增添2個環(huán)形緩存隊列,分別編號為1、2。其中,每一個list的地址固定,每塊buffer的大小為信號最長值圓整后的大小(以1024為圓整基準);
      [0038](3)中斷接收主函數(shù)流程:將前述1、2號緩存隊列地址分別提供給DMA的2個通道,等待接收數(shù)據(jù)。然后,設置相關寄存器,打開DMA中斷。最終,main進入無限循環(huán)等待中斷信號;
      [0039](4)中斷處理函數(shù)流程:利用中斷處理函數(shù)將UART與Timer的中斷當作pingpongbuffer的兩個計數(shù)器。當接收到Timer中斷時,對Listl的當前buffer內容進行查詢,如果無數(shù)據(jù),返回無限循環(huán);如果有數(shù)據(jù)則將當前buffer的內容使用完(發(fā)送到對端),同時將當前buffer指針指向下一個備用buffer,此時使用完的buffer則還原為備用buffer,實現(xiàn)了一次操作;同理,當接收到UART中斷時,對List2的當前buffer內容進行查詢,如果無數(shù)據(jù),則返回無限循環(huán);如果有數(shù)據(jù),則將當前buffer使用完(發(fā)送到對端),同時將當前buffer指針指向下一個備用buffer,此時使用完的buffer則還原為備用buffer,實現(xiàn)一次操作。由于使用環(huán)形隊列,在隊列足夠長的情況下,不會存在buffer不夠用的情況。
      [0040]本發(fā)明與現(xiàn)有技術相比的優(yōu)點在于:本發(fā)明實現(xiàn)了遠端操作人員對現(xiàn)場噴碼機穩(wěn)定控制、實時顯示,并可以完全替代相關操作人員的現(xiàn)場工作;實現(xiàn)控制端與噴碼機的隔離,保證了現(xiàn)場操作人員的人身安全,并降低了人力成本;實現(xiàn)了對原有傳統(tǒng)噴碼機控制系統(tǒng)的二次開發(fā),廠商不需要對噴碼機的軟、硬件做出摒棄,只需添加與下位機相同的一套嵌入式控制系統(tǒng),并對輸入輸出進行重定向即可完成控制系統(tǒng)的遠端化,節(jié)約了生產(chǎn)成本,并且實現(xiàn)簡單;更新的遠端控制系統(tǒng),其操作模式與顯示方式與原有本地控制系統(tǒng)完全一致,對原工作人員而言,上手簡單,進一步降低人力成本;該噴碼機遠端控制系統(tǒng)的控制端可以實現(xiàn)一對多模式,有利于機器的集中控制。
      【專利附圖】

      【附圖說明】
      [0041]圖1是現(xiàn)有技術的組成框圖;
      [0042]圖2是本發(fā)明系統(tǒng)的組成框圖;
      [0043]圖3是本發(fā)明一種實施例的上位機鍵盤處理函數(shù)流程圖;
      [0044]圖4是本發(fā)明一種實施例的上位機⑶I顯示函數(shù)流程圖;
      [0045]圖5是本發(fā)明一種實施例的串口通信源程序流程圖;
      [0046]圖6是本發(fā)明一種實施例中各個緩存塊及其指針的結構示意圖;
      [0047]圖7a是本發(fā)明一種實施例的segusage數(shù)組存儲結構及內容示意圖;
      [0048]圖7b是本發(fā)明一種實施例的segusage數(shù)組存儲結構內部使用示意圖;
      [0049]圖8是本發(fā)明設計的基礎通信協(xié)議結構圖;
      [0050]圖9是本發(fā)明設計的發(fā)送端流程圖;
      [0051]圖10是本發(fā)明設計的上位機接收端處理流程圖;
      [0052]圖11是本發(fā)明設計的包檢測過程流程圖;
      [0053]圖12是本發(fā)明設計的包處理過程流程圖;
      [0054]圖13是本發(fā)明設計的具體協(xié)議結構框圖;
      [0055]圖14是本發(fā)明一種實施例的下位機串口數(shù)據(jù)解析函數(shù)流程圖;
      [0056]圖15是本發(fā)明一種實施例的下位機顯示控制函數(shù)流程圖;
      [0057]圖16是本發(fā)明設計的下位機接收端處理流程圖。
      【具體實施方式】
      [0058]如圖2所示,本發(fā)明實現(xiàn)基于工業(yè)噴碼機的遠端控制方法是:添加與下位機相同的上位機硬件,根據(jù)需要選擇遠程控制線路;將接口通信協(xié)議分別移植到上、下位機,并保持下位機程序上層接口不變;根據(jù)設計的數(shù)據(jù)包協(xié)議與數(shù)據(jù)傳輸、接收程序流程實現(xiàn)雙端的發(fā)送、接收程序。
      [0059]以下將結合附圖,對本發(fā)明的具體實施例作進一步詳細說明。
      [0060]在嵌入式控制系統(tǒng)中,其主芯片都能支持通用的接口芯片擴展。因此在本實施例中,硬件均采用CPU主板加外設母板的結構,遠程通信信道介質則選擇最常用的串口通信;而軟件分別以噴碼機控制源程序與調試串口源程序作為基礎,進行修改、移植。[0061]為了更清晰地闡明本發(fā)明的具體實施方法,在此給出該方法所采用的軟件環(huán)境,
      如下表所示:
      [0062]
      【權利要求】
      1.一種基于工業(yè)噴碼機控制系統(tǒng)的遠程化實現(xiàn)方法,其特征在于包括如下步驟: (1)增加與本地下位機相同硬件結構的上位機,并使用通用串口連接上位機、下位機,兩者保持通信信道連通; (2)定制上位機中的功能模塊,其中包括:修改上位機控制信號輸入模塊和上位機顯示信號輸出模塊,添加上位機控制信號協(xié)議棧模塊和上位機通信協(xié)議棧模塊; (3)定制下位機中的功能模塊包括:修改下位機顯示模塊,增添下位機控制信號協(xié)議棧模塊和下位機通信協(xié)議棧模塊; 所述步驟(2)中,首先,用戶在上位機按下鍵盤,所得的鍵值信號傳入上位機控制信號輸入模塊,上位機控制信號輸入模塊通過查找鍵值表,生成對應噴碼機控制信號,然后再將所述噴碼機控制信號重定向到上位機控制信號協(xié)議棧模塊,為控制信號增添包頭、包尾、屬性和長度數(shù)據(jù),完成打包過程,生成控制數(shù)據(jù)包;再將控制數(shù)據(jù)包傳遞給通信信道協(xié)議棧模塊進行打包,生成符合串口通信協(xié)議的上行輸出數(shù)據(jù)包;最后,上行輸出數(shù)據(jù)包經(jīng)由通信信道發(fā)送到下位機接收進程;上述流程為信號傳輸上行,即上位機至下位機路徑的發(fā)送過程; 所述步驟(3)中,當下位機查詢到上位機發(fā)送的上行輸出數(shù)據(jù)包到來時,首先,將該數(shù)據(jù)包傳入通信信道協(xié)議棧模塊進行解包,還原成控制數(shù)據(jù)包;然后,將該數(shù)據(jù)包傳入控制信號協(xié)議棧模塊進行解包,根據(jù)包頭、包尾來確定信號位置,根據(jù)屬性、長度將數(shù)據(jù)還原成原噴碼機控制信號;最后 ,該控制信號傳遞到下位機控制模塊;下位機控制模塊首先會根據(jù)控制信號調節(jié)噴碼機的工作狀態(tài),同時還會發(fā)送顯示信號到下位機顯示模塊;上述流程為信號傳輸上行,即上位機至下位機路徑的接收過程; 信號傳輸上行流程實現(xiàn)了遠端鍵盤操作噴碼機的功能,并將對應信息顯示到噴碼機本地顯示屏上,供需要時使用; 所述步驟(3)中,當下位機顯示模塊接收到顯示信號時,首先,會根據(jù)顯示信號的點陣信息在下位機即噴碼機現(xiàn)場屏幕上顯示對應信息;同時會將該顯示信號轉發(fā)到顯示信號協(xié)議棧模塊進行打包,為顯示信號添加包頭、包尾、字體或圖形屬性和信號長度信息,生成顯示數(shù)據(jù)包;再將顯示數(shù)據(jù)包傳遞給通信信道協(xié)議棧模塊進行打包,生成符合串口協(xié)議的下行輸出數(shù)據(jù)包;最后,經(jīng)由通信信道發(fā)送到上位機接收進程;上述流程為信號傳輸下行即下位機至上位機路徑的發(fā)送過程; 所述步驟(2)中,當上位機接收進程查詢到下位機發(fā)送的下行輸出數(shù)據(jù)包到來時,首先,將該數(shù)據(jù)包傳入通信信道協(xié)議棧模塊進行解包,還原成顯示信號數(shù)據(jù)包;然后將該數(shù)據(jù)包傳入顯示信號協(xié)議棧模塊進行解包,根據(jù)包頭、尾來確定信號位置,根據(jù)圖形屬性選擇ASCII碼或圖形庫,根據(jù)長度來確定信號長度;最后將還原出的顯示信號傳給顯示信號輸出模塊,根據(jù)信息內容在上位機LCD屏幕上繪制信息;上述流程為信號傳輸下行,即下位機至上位機路徑的接收過程; 信號傳輸下行流程實現(xiàn)了對顯示信號的回顯,遠端的操作人員能夠觀察到操作對應的顯示信息,實現(xiàn)對遠端噴碼機顯示信息的同屏傳輸,使遠程控制變得完整。
      2.根據(jù)權利要求1所述的基于工業(yè)噴碼機控制系統(tǒng)的遠程化實現(xiàn)方法,其特征在于:所述上位機控制信號輸入模塊及上位機顯示信號輸出模塊修改步驟如下: (O為完成控制信號的重定向,需完成上位機與噴碼機的隔離,使之只與下位機通信,實現(xiàn)方法為將上位機控制信號輸入模塊中的寄存器設置相關語句注釋; (2)為將控制信號傳輸?shù)絽f(xié)議棧進行打包進而與下位機通信,需將上述步驟(1)中的控制信號存儲起來。實現(xiàn)方法為在主函數(shù)main中動態(tài)開辟堆棧區(qū)內存,利用ping pangbuffer原理,將控制信號依次填入緩存區(qū)以供讀取; (3)與上位機控制信號相同,為完成上位機顯示信號的重定向,將上位機顯示信號輸出模塊的輸入?yún)?shù)由控制信號函數(shù)輸出的數(shù)據(jù)塊頭指針,改為經(jīng)過協(xié)議棧解包函數(shù)處理后所得的顯示信號數(shù)據(jù)塊頭指針。
      3.根據(jù)權利要求1所述的基于工業(yè)噴碼機控制系統(tǒng)的遠程化實現(xiàn)方法,其特征在于:所述下位機顯示模塊的修改方法為:在下位機主函數(shù)main中開辟新的堆區(qū),在顯示信號輸出函數(shù)中增加將顯示信號存入堆區(qū)的拷貝操作。
      4.根據(jù)權利要求1所述的基于工業(yè)噴碼機控制系統(tǒng)的遠程化實現(xiàn)方法,其特征在于:所述添加上位機控制信號協(xié)議棧與下位機控制信號協(xié)議棧模塊,即各信號協(xié)議棧模塊的添加步驟為: (1)協(xié)議打包流程為: 依照傳輸協(xié)議設計為原有信號增添冗余位,其協(xié)議的基本格式如下: Header:包頭,占用兩個字節(jié),是連續(xù)兩個無符號整型數(shù)據(jù)Headerl、Header2 ;Type:包類型,占用一個字節(jié),是一個字節(jié)的無符號整型數(shù)據(jù),每一個函數(shù)都分配了一個標識代碼,為該函數(shù)設計的數(shù)據(jù)包中,Type域中就保存著這個標識代碼;Length:包長度,占用兩個字節(jié),是一個短整型數(shù)據(jù)的兩個字節(jié),包長度是指以字節(jié)為單位的包的數(shù)據(jù)部分的長度,即包的長度不包括Header、Type、Length、Tail部分占用的字節(jié);Data:包的數(shù)據(jù)部分,即協(xié)議棧打包前接收到的原始控制、顯示信號的有用信息;Tail:包尾,占用兩個字節(jié),是連續(xù)兩個無符號整型Taill、Tail2 ; 其中Header、Type、Length三個數(shù)據(jù)段順序連接到Data數(shù)據(jù)段前,Tail連接到Data數(shù)據(jù)段尾部,按照上述格式,處理每一個輸入的信號完成打包; (2)協(xié)議解包流程為: (21)得到當前數(shù)據(jù)包,即將全局當前緩存塊首地址指向包頭首地址; (22)從包頭首地址開始,向后遍歷兩個字節(jié),同時移動緩存指針指向數(shù)據(jù)包下一個字節(jié); (23)讀取當前字節(jié)即第3個字節(jié),即Type字節(jié),判斷本數(shù)據(jù)包類型,根據(jù)不同的case選擇不同的處理分支,再依據(jù)不同的分支,調用相關信息數(shù)據(jù)包協(xié)議處理函數(shù); (24)最后,回到主流程,并將協(xié)議處理函數(shù)得到的原信號內存首地址作為協(xié)議棧解包函數(shù)的返回值返回。
      5.根據(jù)權利要求1所述的基于工業(yè)噴碼機控制系統(tǒng)的遠程化實現(xiàn)方法,其特征在于:所述上位機通信協(xié)議棧模塊的添加步驟為: (1)使能串口硬件與定時器Timer中斷:設置芯片標準輸入輸出接口PIO的串口 UART管腳使能,啟動一個Timer,并打開定時器中斷; (2)開辟信號緩存空間:在通信主程序的堆區(qū)中增添2個環(huán)形緩存隊列,分別編號為1、2,其中,每一個隊列l(wèi)ist的首地址固定,每塊緩存buffer的大小為信號最長值以1024為基底圓整后的大??;(3)中斷接收主函數(shù)流程:將前述1、2號緩存隊列地址分別提供給DMA的2個通道,等待接收數(shù)據(jù);然后,設置相關寄存器,打開DMA中斷,最終,main進入無限循環(huán)等待中斷信號; (4)中斷處理函數(shù)流程:利用中斷處理函數(shù)將UART與Timer的中斷當作pingpongbuffer的兩個計數(shù)器,當接收到定時器Timer中斷時,對隊列Listl的當前緩存塊buffer內容進行查詢,如果無數(shù)據(jù),返回無限循環(huán);如果有數(shù)據(jù)則將當前buffer的內容使用完,即發(fā)送到對端,同時將當前buffer指針指向下一個備用buffer,此時使用完的buffer則還原為備用buffer,實現(xiàn)了一次操作;同理,當接收到UART中斷時,對隊列List2的當前緩存塊buffer內容進行查詢,如果無數(shù)據(jù),則返回無限循環(huán);如果有數(shù)據(jù),則將當前buffer使用完,即發(fā)送到對端,同時將當前buffer指針指向下一個備用buffer,此時使用完的buffer則還原為備用buffer,實現(xiàn)一次操作,由于使用環(huán)形隊列,在隊列足夠長的情況下,不會存在buffer不夠用的情況。
      【文檔編號】B41J29/393GK103802509SQ201310597553
      【公開日】2014年5月21日 申請日期:2013年11月22日 優(yōu)先權日:2013年11月22日
      【發(fā)明者】楊昕欣, 范元平, 李響, 周強, 刁為民 申請人:北京航空航天大學
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1