-
Thành viên cấp 1
Hỏi kết nối S7-200 với VB qua PC access
Các bạn ai có ví dụ mẫu hoặch hướng dẫn những cách làm đơn giản nhất để kết nối 1 PLC s7-200 vs VB qua PC access đc k? Đơn giản trên VB mình chỉ cần hiển thị 1 vài thông số từ PLC lên và 1 vài nút nhấn điều khiển trực tiếp. Nhưng mình chưa biết kết nối thế nào?
-
-
Thành viên Đồng
bạn mở thư mục cài đặt của PC acces trong ổ C ra, có ví dụ mẫu rồi nhé, mở bằng VB 6.0 mà xem thôi
-
-
Thành viên cấp 1
Bạn chỉ rõ hơn được k? Mình cần hướng dẫn để kết nối vs S7-200 qua PC access mà. Tìm hoài trong ổ C k có cái ví dụ như bạn nói.
-
-
Thành viên Đồng
mình không cài PC acces , bạn cài nó ra, tìm trong ô C, trong program, thư mục cài của PC acces đó, chịu khó lần trong đó
-
-
Thành viên Đồng
mình không cài PC acces , bạn cài nó ra, tìm trong ô C, trong program, thư mục cài của PC acces đó, chịu khó lần trong đó
-
-
Thành viên cấp 1
Đã tìm thấy ví dụ mẫu, mà không thấy có tí tài liệu nào hướng dẫn hết. Hiện cũng k có con PLC nào thừa để test cả nên thấy hơi khó. Bạn nào có tí tài liệu hướng dẫn kết nối bằng PC acess này share cho mình với.
-
-
Thành viên cấp 3
Để VB kết nối được với PC Access (OPC) bạn phải khai báo các thông số về OPC trong VB, mình không có file hướng dẫn trực tiếp kết nối PC Access, chỉ có tài liệu các hãng khác rồi làm tương tự, vì chuẩn OPC về cơ bản là giống nhau, chỉ khác nhau lúc khai báo tên OPC thôi
Bạn tìm hiểu thêm các lệnh khai báo về OPC trong VB nhé :
'Declare OPC Objects (OPC Server / OPC Group / OPC Item)
Dim WithEvents Myserver As OPCServer
Dim WithEvents Mygroup As OPCGroup
Dim WithEvents Mygroups As OPCGroups
Dim Myitem As OPCItem
Dim Myitems As OPCItems
Dim MyBrowser As OPCBrowser
'Get OPC Server List
Dim Getserver As OPCServer
Dim Servers As Variant
Set Getserver = New OPCServer
Servers = Getserver.GetOPCServers
For i = LBound(Servers) To UBound(Servers)
List1.AddItem Servers(i)
Next i
Set Getserver=Nothing
'Connect and Browse
Set Myserver = New OPCServer
Myserver.Connect ServerName.Text, NodeName.Text
Set MyBrowser = Myserver.CreateBrowser
MyBrowser.ShowBranches
Dim bname As Variant
For Each bname In MyBrowser
ItemList.AddItem "+" & bname
Next name
'Create OPC Group Object and Add Tags
Dim ClientHandles(16) As Long
Dim OPCItemIDs(16) As String
Set Mygroups = Myserver.OPCGroups
Set Mygroup = Mygroups.Add("Group1")
Mygroup.UpdateRate = "1000"
Mygroup.IsActive = False
For i = 1 To 16
ClientHandles(i) = i
OPCItemIDs(i) = "Device1" + ".D" + Format(i)
Next i
Set Myitems = Mygroup.OPCItems
Myitems.AddItems 16, OPCItemIDs, ClientHandles, ItemServerHandles, ItemServerErrors
Mygroup.IsActive = True
'Advise and Callback
Mygroup.IsSubscribed = True
Public Sub Mygroup_DataChange(ByVal TID As Long, _
ByVal NumItems As Long, Chd() As Long, ItemValues() As Variant, _
Qualities() As Long, TimeStamps() As Date)
For i = 1 To NumItems
Debug.print ItemValues(i) + ":" + TimeStamps(i) + _":" + Qualities(i)
Next i
End Sub
'Sync Read/Write and ASync Read/Write
'Sync Read
Mygroup.SyncRead OPCDevice, 16, ItemServerHandles, ItemValues, ItemServerErrors, ItemQualities, ItemTimeStamps
For i = 1 To 16
Debug.print ItemValues(i) + ":" + ItemTimeStamps(i) + ":" + ItemQuality(i)
Next i
'Sync Write
For i = 1 To 16
ItemVal(i) = i
Next i
Mygroup.SyncWrite 16, ItemServerHandles, ItemVal, ItemServerErrors
For i = 1 To 16
If ItemServerErrors(i) <> 0 Then
MsgBox "Write ERROR " + Format(i)
End If
Next i
'Async Read(TransactionID=10, CancelID=11)
Mygroup.AsyncRead 16, ItemServerHandles, ItemServerErrors, 10, 11
Private Sub Mygroup_AsyncReadComplete(ByVal TransactionID As Long, ByVal NumItems As Long, _
ClientHandles() As Long, ItemValues() As Variant, Qualities() As Long, _
TimeStamps() As Date, Errors() As Long)
Debug.print "AsyncRead Comp" + Chr$(9) + Time$ + Chr$(13) + Chr$(10)
End Sub
'Async Write
Dim ItemVal(ItemCount) As Variant
For i = 1 To ItemCount
ItemVal(i) = i
Next i
Mygroup.AsyncWrite 16, ItemServerHandles, ItemVal, ItemServerErrors, 100, 101
Private Sub Mygroup_AsyncWriteComplete(ByVal TransactionID As Long, _
ByVal NumItems As Long, ClientHandles() As Long, Errors() As Long)
Debug.print "AsyncWrite Comp" + Chr$(9) + Time$ + Chr$(13) + Chr$(10)
End Sub
'Cache Read
Mygroup.SyncRead OPCCache, 16, ItemServerHandles, ItemValues, ItemServerErrors, ItemQualities, ItemTimeStamps
For i = 1 To 16
Debug.print ItemValues(i) + ":" + ItemTimeStamps(i) + ":" + ItemQuality(i)
Next i
Còn đây là ví dụ của Siemens :
http://support.automation.siemens.co...ard&viewreg=WW
-
-
Thành viên cấp 1
-
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à 08:28 PM.
Phiên bản 4.2.5
Phát triển bởi thành viên PLCVietNam®.
Đánh dấu