《控制卡的應用技巧》由會員分享,可在線閱讀,更多相關《控制卡的應用技巧(20頁珍藏版)》請在裝配圖網上搜索。
1、,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,*,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,*,控制卡的應用技巧,一、控制卡硬件安裝,二、控制卡的編程入門,三、控制卡與,G,代碼的接囗編程,四、控制卡與,CAD,的接囗編程,一、控制卡的安裝,1,、硬件安裝,2,、設備驅動的安裝,一、控制卡的安裝,1,、硬件安裝,2,、設備驅動的安裝,二、控制卡的編程入門,下面是以,DMC5400,卡在,VB,編譯環(huán)境下的編程為例,介紹控制卡的入門編程,二、控制卡的編程入門,下面是以,DMC5400,卡在,VB,編譯環(huán)境下
2、的編程為例,介紹控制卡的入門編程,1,、首先,運行,VB,,并建立一個新的“標準,EXE”,工程,2,、添加,dmc5400,卡的函數定義模塊,關于,dmc5400,控制卡的函數定義,dmc5400.bas,文件是,VB,編譯環(huán)境的函數定義,dmc5400.h,文件是,VC,編譯環(huán)境的函數定義,與,dmc5400,控制卡相關的所有函數,都定義在這兩個文件中,2,、添加,dmc5400,卡的函數定義模塊,3,、在工程中添加一個新的類,a,、添加一個新的類,并命名為,CardCls,2,、添加,dmc5400,卡的函數定義模塊,3,、在工程中添加一個新的類,a,、添加一個新的類,并命名為,Card
3、Cls,b,、加入,CardCls,控制卡相關的代碼,實現對控制卡功能函數的二次封裝。,封裝的好處:,1,)對控制卡自動初始化和自動關閉的,實現,2,)用對象編程的方式,對運動控制卡進行編程,將復雜的編程簡易化,2,、添加,dmc5400,卡的函數定義模塊,3,、在工程中添加一個新的類,4,、,(,控制卡,),對象的使用,a),在窗體代碼中定義對象,例如:,Private pCard As New CardCls,b),調用對象中的成員,實現相關的功能,例如:顯示當前的位置,Label1(0).Caption=X:+Format(,pCard.Position(0),0.000),其中:,pc
4、ard.position(0),成員函數實現讀取第,0,軸的當前位置,并顯示 到標簽,label(0),。,三、控制卡與,G,代碼的編程入門,1,、,G,代碼指令,三、控制卡與,G,代碼的編程入門,1,、,G,代碼指令,2,、,G,代碼的常用格式,G00X10.600Y100.000,G01X100.000Y100.000,3,、通過控制卡執(zhí)行,G,代碼的方法,方法,1,、直接調用運動函數執(zhí)行,G,代碼,a,、快速定位,G00X10.600Y100.000Z10,例如:,pCard.MoveTo AxisZ,0,pCard.WaitDone,pCard.FastMoveTo x,y,0,pCa
5、rd.WaitDone,pCard.MoveTo AxisZ,z,pCard.WaitDone,3,、通過控制卡執(zhí)行,G,代碼的方法,方法,1,、直接調用運動函數執(zhí)行,G,代碼,a,、快速定位,b,、直線插補,G01X10.600Y100.000,例如:,pCard.LineTo x,y,z,pCard.WaitDone,四、控制卡與,CAD,的接囗編程,關于,DXF,文件格式中的線、圓弧及連續(xù)線的關鍵字段,1,、圓,(AcDbCircle),2,、圓弧,(AcDbCircle),3,、線段,(AcDbLine),4,、連續(xù)線段,(AcDbPolyline),線段:起點,XYZ,(,10,,,
6、20,,,30,)終點,XYZ,(,11,,,21,,,31,),圓?。簣A心,XYZ,(,10,,,20,,,30,)半徑,40,起始角,50,終止角,51,圓:圓心,XYZ,(,10,,,20,,,30,)半徑,40,連續(xù)線段:段線端點數,90,封閉,/,不封閉,70,點坐標,XYZ,(,10,,,20,,,30,),下面是讀入Dxf文件中線段,并調用運動函數的實例代碼:,jj=Vb_TextTotalLine,For ii=1 To jj,If VB_GetTextLine(ii,m_str)=True Then,If m_str=AcDbLine Then,If VB_GetTextLi
7、ne(ii+2,m_str)=True Then x1=Val(m_str),If VB_GetTextLine(ii+4,m_str)=True Then y1=Val(m_str),If VB_GetTextLine(ii+8,m_str)=True Then x2=Val(m_str),If VB_GetTextLine(ii+10,m_str)=True Then y2=Val(m_str),ii=ii+10,pCard.LineTo x1,y1,0 (運行到線段的起點),If pCard.WaitDone=True Then Exit For,pCard.LineTo x2,y2,0
8、 (運行到線段的終點),If pCard.WaitDone=True Then Exit For,End If,End If,Next,關于控制卡封裝后的對象成員,1,、,mmScale,成員,功能:確定機床的定位精度,(,脈沖數,/,毫米,),2,、,set_axis_speed,成員,功能:設置指定軸的速度,調用控制卡中的,d5400_set_profile,函數實現,3,、,set_vect_speedd,成員,功能:設置指定直線,/,圓弧插補的速度,調用控制卡中的,d5400_set_vector_profile,函數實現,4,、,Move,成員,功能:讓指定軸移動一相對位移,調用控制
9、卡中的,d5400_t_pmove,函數實現,5,、,MoveTo,成員,功能:讓指定軸移動到指定的位置,調用控制卡中的,d5400_t_pmove,函數實現,6,、,Line,成員,功能:讓,X,、,Y,和,Z,軸作直線插補(相對運動),調用控制卡中的,d5400_t_line3,函數實現,7,、,Line,成員,功能:讓,X,、,Y,和,Z,軸作直線插補(絕對運動),調用控制卡中的,d5400_t_line3,函數實現,8,、,WaitDone,成員,功能:等待運動停止,調用控制卡中的,d5400_check_done,函數實現,在對象入囗處加入d5400_board_init函數,實現對
10、控制卡的自動初始化;在出囗處加入d5400_board_close,實現對釋放對象時,自動關閉控制卡。例如:,Private Sub Class_Initialize(),If d5400_board_init 1 Then,MsgBox 沒找到dmc5400運動控制卡,End If,End Sub,Private Sub Class_Terminate(),d5400_board_close,End Sub,注:這段代碼是自動執(zhí)行,當分配對象時,自動執(zhí)行Class_Initialize,當釋放對象時,自動執(zhí)行Class_Terminate,以上是對控制卡一些基本的封裝應用,掌握這些基本的封裝技巧之后,就可以根據自己的需要,針對不同的需求進行封裝,便可以實現更高難度的高水平的控制編程。,結束,