- 相關(guān)推薦
網(wǎng)絡(luò)化數(shù)控仿真環(huán)境中的同步機制
畢業(yè)論文是每一個大學生都需要去完成的一項任務(wù),這也是你能夠拿到學位證書的重要一點。下面小編給大家提供數(shù)控畢業(yè)論文范文一篇,歡迎閱讀!
摘 要:目前在數(shù)控編程軟件中,無法進行遠程協(xié)同仿真和評注,本文所設(shè)計的網(wǎng)絡(luò)化數(shù)控仿真環(huán)境基于Socket技術(shù)實現(xiàn)遠程同步仿真和評注,以及聊天室的交流工具,使身處異地的設(shè)計人員能夠通過網(wǎng)絡(luò)來對數(shù)控程序進行遠程的同步仿真和交流溝通,從而實現(xiàn)網(wǎng)絡(luò)化的虛擬制造。
關(guān)鍵詞:數(shù)控仿真;同步;G代碼
隨著信息化和網(wǎng)絡(luò)化社會的到來,在經(jīng)濟全球化的趨勢下,大型企業(yè)的不同分部之間,以及不同國家和地域的企業(yè)之間在設(shè)計、制造方面需要大量的分工協(xié)作,而飛速發(fā)展的互聯(lián)網(wǎng)為這種實際工作的需要提供了良好的平臺。而目前的通用的數(shù)控仿真軟件多為本地運行,難以進行遠程協(xié)同操作。因此基于網(wǎng)絡(luò)的數(shù)控仿真環(huán)境有許多優(yōu)勢,如不受時空限制等,能夠進行實時的協(xié)同操作,針對數(shù)控G代碼中的問題進行交流。另一方面,本系統(tǒng)對于數(shù)控技術(shù)的教學也就有重要的作用。通過該軟件,使學生可以直觀地掌握數(shù)控插補的原理,達到較好的教學效果。
1 系統(tǒng)總體結(jié)構(gòu)
網(wǎng)絡(luò)化數(shù)控仿真環(huán)境的系統(tǒng)結(jié)構(gòu)如圖1所示,首先登錄的一方自動成為服務(wù)器端,并等待其他用戶的登錄請求,一旦有其他用戶登錄,雙方通過Socket技術(shù)建立起基于TCP/IP的網(wǎng)絡(luò)通信。其中一方讀入數(shù)控G代碼后首先通過內(nèi)嵌的解釋器進行解釋,然后在繪圖區(qū)中繪制出仿真效果。與此同時,解釋出來的G代碼參數(shù)被傳遞給同步信息處理模塊,按照系統(tǒng)定義的應(yīng)用層協(xié)議生成基于TCP/IP協(xié)議的同步信息,然后由Socket通信控件發(fā)送給客戶端并由客戶端的繪圖程序在繪圖區(qū)中繪制出來。雙方對G代碼的仿真結(jié)果進行討論時,通過協(xié)同評注工具如圓圈、直線等方式做出標記,然后用文字在聊天室中進行交流,其信息也通過基于Socket技術(shù)的同步信息來進行傳遞。
2 同步機制的實現(xiàn)
網(wǎng)絡(luò)化數(shù)控仿真環(huán)境的主界面如圖2所示,其中的同步包括三個方面:①G代碼仿真過程的同步;②協(xié)同評注的同步;③文字聊天內(nèi)容的同步。其中關(guān)于文字聊天內(nèi)容的同步現(xiàn)在技術(shù)資料上已經(jīng)很多,不再贅述。以下主要說明G代碼的同步仿真和協(xié)同評注的同步過程。
首先在界面上增添定時器控件Timer和列表框控件List。同步信息的傳遞是由定時器控件Timer來控制的,為了保證仿真過程的連續(xù)性與合適的網(wǎng)絡(luò)數(shù)據(jù)量,要恰當?shù)脑O(shè)置定時器的時間間隔,此處設(shè)置為50毫秒。每當時間間隔到時便啟動相應(yīng)的消息事件向外發(fā)送消息,代碼如下:
Private Sub Timer1_Timer()
On Error Resume Next
If List1.ListCount = 0 Then Exit Sub
senditem 0 ‘發(fā)送數(shù)據(jù)
End Sub發(fā)送數(shù)據(jù)是通過Socket控件中的SendData方法來實現(xiàn)的,數(shù)控G代碼經(jīng)過解釋器解釋后所獲得的參數(shù)被送入同步信息處理模塊,然后被轉(zhuǎn)換為格式化的數(shù)據(jù)存放在列表框List1中,Socket控件依次取出其中的元素然后進行發(fā)送,代碼如下:
Sub senditem(ByVal item As Integer)
On Error Resume Next
DoEvents
Socket1.SendData "|" & List1.List(item) & "^"
DoEvents
End Sub
對于數(shù)據(jù)的接收方而言,其Socket始終處于監(jiān)聽狀態(tài),當有數(shù)據(jù)到達時立即接收數(shù)據(jù)并進行分類處理,如果是命令信息,如清除繪圖區(qū)命令,則會立即執(zhí)行,如果是繪圖信息(包括G代碼仿真)則進一步解讀,然后在繪圖區(qū)中由繪圖程序來執(zhí)行,代碼如下:
Private Sub Socket2_DataArrival(ByVal bytesTotal As Long)
On Error Resume Next
Dim dat As String
Dim tempchr As String
Socket2.GetData dat ‘接收數(shù)據(jù)
For n = 1 To Len(dat)
tempchr = tempchr & "^"
e = e + 1
Next n
For n = 1 To e
If dat = "cls^" Then Picture1.Cls ‘清屏指令
If dat = "" Then
For n = 0 To List2.ListCount - 1
decode List2.List(0) ‘解讀繪圖信息
List2.RemoveItem 0
Next n
…
整個同步過程中的繪圖信息包括直線、圓弧、圓和徒手繪幾種形式,首先根據(jù)得到繪圖信息進行分類,然后調(diào)用相應(yīng)的繪圖函數(shù)進行繪圖,其代碼如下:
Sub decode(ByVal dat As String)
… ‘變量定義
For n = 1 To Len(dat)
tempchr = Mid(dat,n,1) ‘提取字段
Select Case tempchr
Case ","
x1 = xx1:cur = "y1"
Case "<"
y1 = yy1:cur = "x2"
… ‘解讀第一字段
Select Case cur
Case "x1"
xx1 = xx1 & tempchr
Case "y1"
yy1 = yy1 & tempchr
… ‘解讀第二字段
End Select
End Select
Next n
… ‘繪制直線
Picture1.Line (x1,y1)-(x2,y2),vbBlue
… ‘繪制圓弧或圓
Picture1.Circle ((x + XCent) + (LstZ / ZAsp),(y - YCent) - (LstZ / ZAsp)),RAD,RGB(Col1,Col2,Col3),Angle * 2 * PI / 360,Angle2 * 2 * PI / 360
3 結(jié)束語
基于網(wǎng)絡(luò)的數(shù)控仿真完全基于現(xiàn)有的Socket技術(shù)和TCP/IP協(xié)議,能實現(xiàn)數(shù)控G代碼的遠程同步仿真,以及對仿真結(jié)果進行協(xié)同評注和文字交流,提升了計算機輔助制造的技術(shù)層次和應(yīng)用范圍,使異地協(xié)同設(shè)計和制造增加了技術(shù)支持。
參考文獻:
[1] 周自強,沈連婠等,面向用戶的產(chǎn)品虛擬模型協(xié)同討論環(huán)境的實現(xiàn),2005(3):5-10
[2] 周自強,沈連婠等,基于Web 的虛擬設(shè)計中VRML 實時模型的可交互處理方法,計算機輔助設(shè)計與圖形學學報,2005.17(6):1371-1377
【網(wǎng)絡(luò)化數(shù)控仿真環(huán)境中的同步機制】相關(guān)文章:
淺談數(shù)控仿真在數(shù)控教學中的應(yīng)用10-08
數(shù)控仿真在數(shù)控專業(yè)教學中的應(yīng)用論文10-09
數(shù)控仿真軟件在數(shù)控教學中的應(yīng)用論文10-09
數(shù)控仿真系統(tǒng)在數(shù)控教學中的應(yīng)用論文10-09