<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 一種基于MCS51的微型計算機數控系統設計

一種基于MCS51的微型計算機數控系統設計

作者: 時(shí)間:2010-08-12 來(lái)源:網(wǎng)絡(luò ) 收藏

1 引言

隨著(zhù)科技的進(jìn)步,數字控制技術(shù)、數控系統得到飛速發(fā)展。機床的計算機數控系統就是這些機電一體化技術(shù)最具代表性的系統。計算機數控系統是由計算機承擔數控中的命令發(fā)生器與控制器的數控系統。計算機接收的位置運動(dòng)的指令,將其生成各坐標軸的位置命令并實(shí)時(shí)輸出給各坐標軸的控制器,控制器按控制策略控制各軸伺服系統,使驅動(dòng)器驅動(dòng)執行機構,帶動(dòng)機器的各坐標軸按給定命令運動(dòng)。

2 微型計算機數控系統總體介紹

微型數控()系統的硬件分成了兩大部分,PC 機部分和一塊用 單片機開(kāi)發(fā)的硬件電路板,這兩部分是使用串行口RS-232 連接起來(lái)的。(本文下面提到的上位機、下位機分別指PC 機、單片機系統)上位機上的軟件負責實(shí)現本系統的用戶(hù)操作界面、零件加工程序的輸入、譯碼、速度計算等功能,最后形成一組供下位機插補計算用的數據信息。下位機除了處理一些實(shí)時(shí)性強的機床信號外,主要任務(wù)就是根據上位機指令執行機床控制和插補運算,輸出機床的控制信號。微型數控系統的簡(jiǎn)單結構如圖1。

3 上位機軟件設計

3.1 上位機軟件總體設計框圖

上位機軟件的開(kāi)發(fā)是使用運行在Windows 操作系統下的 工具完成的,選用 是因為它的簡(jiǎn)單易用,而且對于本系統的開(kāi)發(fā)具有足夠強大的功能。上位機軟件的結構如圖2。

從圖 2 中可以清楚地看出上位機軟件的基本功能。首先,上位機軟件提供了一個(gè)零件加工程序的編輯窗口,按照系統預先設定的語(yǔ)法編寫(xiě)零件加工程序,然后編譯,如果沒(méi)有錯誤提示的話(huà),編譯的程序就可以送到下位機開(kāi)始加工了;如果程序中有語(yǔ)法錯誤,則系統會(huì )給出提示,幫助修改。其次,上位機模擬機床控制面板的主要功能按鍵,通過(guò)鼠標點(diǎn)擊這些按鍵完成相應的機床控制,如機床的啟動(dòng)、停止,主軸X、Y 方向的位置調整等等。另外,上位機接收并顯示來(lái)自下位機的信息。

3.2 譯碼

譯碼的功能是將輸入的零件加工程序翻譯成本系統能識別的信息。不同的系統有不同的數據格式。一般用戶(hù)輸入的數控加工程序采用ISO 標準碼編制,譯碼就是把用戶(hù)標準的數控加工程序轉換為本系統能識別的數據格式。

零件加工程序輸入之后,點(diǎn)擊“Compile”按鈕將開(kāi)始進(jìn)入譯碼模塊。譯碼模塊主要由兩個(gè)嵌套的循環(huán)來(lái)實(shí)現,外循環(huán)針對零件加工程序的所有數據段,處理一個(gè)數據段執行一次循環(huán);內循環(huán)針對一個(gè)數據段(把一個(gè)數據段看成是山若干個(gè)用空格分開(kāi)的字符串組成)包含的各個(gè)字符串,處理一個(gè)字符串執行一次循環(huán)。因為對于一個(gè)數據段,譯碼模塊用一次循環(huán)處理,所以譯碼模塊首先計算零件加工程序中總共有多少個(gè)數據段,并用變量記錄這個(gè)數,作為循環(huán)控制的條件。然后進(jìn)入循環(huán),對每個(gè)數據段進(jìn)行處理。首先取第一個(gè)數據段,再讀取第一個(gè)字特串的第一個(gè)字符,接下來(lái)是一個(gè)Switch 語(yǔ)句判斷讀到的是個(gè)什么字符。根據零件加工程序編寫(xiě)的語(yǔ)法規范,循環(huán)執行,直到所有數據段處理完畢。最后形成譯碼結果,保存在一個(gè)字符數組當中。為零件加工的開(kāi)始做好了準備。整個(gè)譯碼處理過(guò)程思路清晰,結構簡(jiǎn)單,而且以后可以很方便的擴展數控編程功能,只要在Switch 語(yǔ)句中添加Case 項就可以實(shí)現。

3.3 異步串行通信

本系統采用了 RS-232 異步串行通信從上位機向下位機輸入數據。在設計PC-MCU 通信協(xié)議時(shí),PC 是主控者,單片機主要是被動(dòng)接收PC 發(fā)來(lái)的數據等內容。PC 發(fā)送給單片機的內容有三種,一種是機床控制命令,一種是用于插補的數據,還有一種端口測試命令。單片機發(fā)送給PC 機的主要是機床狀態(tài)信息、端口測試返回和數據正確接收的確認幀。

本通信協(xié)議的設計思想是基于幀傳輸方式。即向 RS-232 串口發(fā)送命令信號、數據信號時(shí),是一幀一幀傳送的。為了數據可靠傳輸,傳送每幀數據時(shí)進(jìn)行數據累加和校驗,如果傳送出錯,要求重新傳送。連續傳送三次錯誤,系統就退出通信并提示串口傳送失敗。

3.4 數控加工程序編寫(xiě)

本系統要求零件加工程序的編寫(xiě)采用ISO 標準代碼,并結合上位機軟件作了些約定:

1.輸入格式的約定,要求每個(gè)數據段中不同代碼部分之間用空格隔開(kāi),每一段用“#”作為結束標志符。結束符和代碼之間也用空格隔開(kāi)。

2.在零件加工程序中允許出現的字符是:G、M、S、T、F、X、Y、I、K、#以及數字,正負號,小數點(diǎn)等。

3.G、M 后只能跟兩位數字,其它字母后的數字不限。

4.每段中允許有不同組的G 碼,M 碼,若屬于同一組則出錯。

5.整個(gè)零件加工程序以“END”,作為結束段。

下面有一個(gè)小程序作為例子來(lái)說(shuō)明這些約定,供參考。

G00 X010 Y000#

G01 X026 Y010#

G01 X010 Y014#

G03 X013 Y-13 113 K00 #

G01 X000 Y000#

End

由于使用的是標準代碼,至于各條語(yǔ)句的具體含義在此不多介紹。

4 下位機設計

4.1 下位機硬件設計

下位機硬件結構采用 單片機作為處理機,由于控制軟件采用了代碼公開(kāi)的實(shí)時(shí)嵌入式操作系統μC/OS-Ⅱ,所需代碼空間至少在8K 字節以上,所需數據空間也超過(guò)了該系列CPU 內部所能提供的數量,所以必須擴展外部存儲空間,考慮到以后系統擴展,目前使用了一個(gè)32K 字節的EPROM 和一個(gè)8K 字節的RAM 作為系統運行的存儲空間。代碼公開(kāi)的實(shí)時(shí)嵌入式操作系統。μC/OS-Ⅱ可以移植到許多的微處理器上,前提是該處理器必須要有堆棧指針,有CPU 內部寄存器入、出棧指令。μC/OS-Ⅱ是為嵌入式應用而設計的,很適合用在這種小型的系統中。

由于單片機內部的存儲器不能滿(mǎn)足實(shí)際需要,因此需要從外部進(jìn)行擴展,配置外部存儲器,包括程序存儲器EPROM 和數據存儲器RAM。本系統根據實(shí)際軟件需要,并考慮到系統今后的擴展,采用了32KEPROM27C256 作為系統外部程序存儲器,采用8K 靜態(tài)RAM6264 作為外部數據存儲器。采用靜態(tài)RAM 設計時(shí),無(wú)需外部刷新電路,因此與CPU 的接口簡(jiǎn)單。

考慮到微型數控系統與機床的信息交換,只有一個(gè)八位端口是不夠用的,因此要進(jìn)行系統I/O 擴展。選用了可編程控制的外圍并行接口8255A。由于外圍I/O 芯片與外部數據存儲空間是統一編址的,它不僅占用數據存儲器的地址單元,而且使用數據存儲器的讀寫(xiě)控制指令和讀寫(xiě)指令,這就要求硬件設計中要考慮數據存儲器與外圍I/O 芯片的地址譯碼。

RS232 串行通信接口選擇最簡(jiǎn)單的應用接法,只用了三根線(xiàn),即串行接收RXD、串行發(fā)送TXD 和接地線(xiàn)GND。將“串行發(fā)送”和“串行接收”交叉連接,地線(xiàn)直接相連,其余信號線(xiàn)都不用。用軟件來(lái)實(shí)現通信的“握手”、空閑檢測等功能。選用了MAX232 串口通信信號轉換芯片來(lái)實(shí)現RS232 與TTL 的電平轉換和正負邏輯電平的轉換。

4.2 系統抗干擾設計

形成干擾的因素有三個(gè):干擾源、傳播路徑和敏感器件。成為干擾源的都是一些電壓或電流變化比較快的器件或信號;傳播路徑是指從干擾源傳播到敏感器件的通路或媒介;敏感器件是容易被干擾的器件,如A/D、D/A 轉換器,數字IC 等??垢蓴_設計的原則是抑制干擾源,切斷傳播路徑,增強敏感器件的抗干擾能力。采取的主要措施是電路板上每個(gè) IC 并接一個(gè)0.01μF 高頻電容,以減少I(mǎi)C 對電源的影響。電容的引線(xiàn)要盡量短。布線(xiàn)時(shí)避免90 度折線(xiàn),減少高頻噪音發(fā)射。盡量使晶振和單片機的引腳靠近,晶振外殼接地。布線(xiàn)時(shí)盡量加粗電源線(xiàn)和地線(xiàn),可降低耦合噪音。單片機閑置的I/O 口接地或接電源。另外選擇好的電源,對減少干擾很有幫助。

4.3 下位機軟件設計

本系統使用μC/OS-Ⅱ實(shí)時(shí)嵌入式操作系統開(kāi)發(fā)單片機控制軟件。其軟件流程如下:

1.系統初始化

下位機上電或是復位以后,系統將從程序代碼空間的首地址0x0000 開(kāi)始執行,如果用C語(yǔ)言編寫(xiě) 程序的話(huà),就是從Main()函數的開(kāi)始處執行。程序首先執行整個(gè)單片機系統的軟硬件初始化,包括操作系統的初始化和硬件定時(shí)器、串口等初始化。示意圖如4。

2.創(chuàng )建任務(wù)

初始化完成之后,下位機就進(jìn)入到了正常工作階段了。這個(gè)時(shí)候內存中有了開(kāi)始創(chuàng )建的4個(gè)任務(wù),分別是任務(wù)serialOperate,解析接收到的上位機命令;任務(wù)interpolation,插補計算,輸出控制信號;任務(wù)misc 處理M 碼及其他空閑任務(wù)OSTaskIdle。起初由于沒(méi)有接收到上位機的各種命令,系統處于就緒等待狀態(tài)。這個(gè)時(shí)候,μC/OS-Ⅱ中優(yōu)先級別最低的默認任務(wù)-空閑任務(wù)OSTaskIdle()得到了運行??臻e任務(wù)不作任何有意義的工作。

3.中斷處理

當上位機通過(guò)串口向下位機發(fā)送工作指令時(shí),下位機產(chǎn)生串口中斷接收信息,等接收到一個(gè)完整的幀之后,串口中斷服務(wù)程序將從Serylnt()中通過(guò)語(yǔ)句OSSemPost(seRecSem)發(fā)出信號量seRecSem。這個(gè)時(shí)候正在等待這這個(gè)信號量的任務(wù)serialOperate 接收到信號量它將在中斷服務(wù)程序退出之后恢復運行。

5 本文作者創(chuàng )新點(diǎn)

本文的主要目的是進(jìn)行計算機數控系統的研究,并且進(jìn)行微型數控系統的實(shí)際開(kāi)發(fā)工作。這是一個(gè)綜合、復雜的機電一體化系統。上位機數控系統軟件的開(kāi)發(fā),采用了Windows作為開(kāi)發(fā)平臺, 作為開(kāi)發(fā)工具,主要是考慮到Windows 良好的用戶(hù)界面以及其廣泛的應用,操作人員只要使用過(guò)Windows 操作系統就能很容易操作該軟件。本系統上位機和下位機的通信采用了串行RS-232 接口,這種串行通信接口使用簡(jiǎn)單,編程容易,而且上、下位機的硬件都能支持。下位機控制軟件采用了μC/OS-Ⅱ多任務(wù)實(shí)時(shí)操作系統,該實(shí)時(shí)操作系統的使用改變了傳統數控系統的軟件開(kāi)發(fā)流程。



關(guān)鍵詞: CNC MCS-51 VisualBasic

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>