Hiện tại mình đang dùng VB6.0 để kết nối PLC Omron , OPC mình đang dùng là của Omron luôn.
Ai có kinh nghiệm về vấn đề này xin chia sẻ giúp mình, mình kết nối hoài mà vẫn không được.:|
Thanks nhiều!!!
Hiện tại mình đang dùng VB6.0 để kết nối PLC Omron , OPC mình đang dùng là của Omron luôn.
Ai có kinh nghiệm về vấn đề này xin chia sẻ giúp mình, mình kết nối hoài mà vẫn không được.:|
Thanks nhiều!!!
Bạn cho mình hỏi mục đích của bạn để làm gì thế? nếu để làm HMI hoặc SCADA thì bạn có thể dùng chương trình CX_supervisor của omron để làm việc đó. Nếu không bạn có thể dùng soft SCADA của một hãng khác (Ví dụ Wincc siemens, RSview32 và Factory talk View của Rockwell) kết hợp với 1 OPC server (Như KepserverEX hoặc Top server) để làm việc đó.
anh tonyluong có thể up phần code viết trên VB6.0 cho anh e tham khảo với được không? e cũng đang viết cái này mà chưa biết viết thế nào ah.
Đâ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
Đánh dấu