-
Thành viên cấp 2
Gửi bởi
daocongdabl
đúng rồi biết thì cho anh em học hỏi ,anh em biết cái khác chỉ lại cho ,chẳng mất cái gì hết
Đây là code mình viết để đọc file và thực thi lệnh từ 1 phần mềm lập trình máy căt CNC ( vd như mình cần đục lỗ bao
có hình dạng như thê nào, khoảng cách ra sao và bô tri trên tấm tole thê nào...), đoạn code này có nv đọc từng dòng do phần mềm này xuạt ra và điều khiển sẻvo chạy. Các bac xem và cho ý kiến:
Public Sub StartEuromac_NC(NCStep)
Dim Step, Code As String
'Set Focus on NC code list
With MainForm.MSF
.Row = NCStep
.Col = 0
Step = .Text
.Col = 1
Code = .Text
.SetFocus
End With
'Display NC code
MainForm.NCCode_Line = "Step " & Step & " : " & Code
'************************************************* *********
'Process NC code
'************************************************* *********
'Round tool
If InStr(Code, "TONDO") <> 0 Then
Tool = RoundTool(Code) 'get tool and toolAngle
Call LoadTool(Tool, ToolAngle)
'Square tool
ElseIf InStr(Code, "QUADRO") <> 0 Then
Tool = SquareTool(Code) 'get tool and toolAngle
Call LoadTool(Tool, ToolAngle)
'Oblong tool
ElseIf InStr(Code, "ASOLA") <> 0 Then
Tool = OblongTool(Code) 'get tool and toolAngle
Call LoadTool(Tool, ToolAngle)
'Rectangle tool
ElseIf InStr(Code, "RETTANGOLARE") <> 0 Then
Tool = RectangleTool(Code) 'get tool and toolAngle
Call LoadTool(Tool, ToolAngle)
'-------------Move and punch-------------------
'COLPO X,Y (Move and Punch Function)
ElseIf InStr(Code, "COLPO") <> 0 Then
'-------------- X co-ordinator---------
X = Get_X(Code)
DeltaX = X - Xtmp
Xtmp = X
Call ServoXDirection(DeltaX)
XPulse = Abs(DeltaX) / 0.058 'Absolute Value
XPulse = Round(XPulse, 0)
MainForm.LabelX = "X = " & (X)
MainForm.LabelDeltaX = "Delta X : " & (DeltaX)
'-------------- Y co-ordinator---------
Y = Get_Y(Code)
DeltaY = Y - Ytmp
Ytmp = Y
Call ServoYDirection(DeltaY)
YPulse = Abs(DeltaY) / 0.025 'Absolute Value
YPulse = Round(YPulse, 0)
MainForm.LabelY = "Y = " & (Y)
MainForm.LabelDeltaY = "Delta Y : " & (DeltaY)
Punch = True 'cOULPO = PUNCH
PunchDownLimit = 200
PunchUpLimit = 1500
Call MoveandPunch
'End COPO function
'-------------Reposition---------------
ElseIf InStr(Code, "RIPOSIZIONA") <> 0 Then
X = Get_X(Code)
DeltaX = X
MainForm.LabelDeltaX = "Delta X : " & (DeltaX)
Y = Get_Y(Code)
DeltaY = Y
MainForm.LabelDeltaY = "Delta Y : " & (DeltaY)
Call MessageBox("REPOSITIONING")
'---------------Load material------------------
ElseIf InStr(Code, "CARICO") <> 0 Then
X = 200 'XPIN
DeltaX = X - Xtmp
Xtmp = X
MainForm.LabelX = "X = " & (X)
MainForm.LabelDeltaX = "Delta X : " & (DeltaX)
Y = Get_Y(Code)
DeltaY = Y - Ytmp
Ytmp = Y
MainForm.LabelY = "Y = " & (Y)
MainForm.LabelDeltaY = "Delta Y : " & (DeltaY)
Call MessageBox("LOAD MATERIAL")
End If
End Sub
-
Quyền viết bài
- Bạn Không thể gửi Chủ đề mới
- Bạn Không thể Gửi trả lời
- Bạn Không thể Gửi file đính kèm
- Bạn Không thể Sửa bài viết của mình
-
Nội quy - Quy định
Back to Top
Múi giờ GMT +7. Bây giờ là 01:28 PM.
Phiên bản 4.2.5
Phát triển bởi thành viên PLCVietNam®.
Đánh dấu