PC Access and VB6 - DMT2

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 23

PC Access

Visual Basic 6.0 &


Siemens OPC Library
PC Access
 PC Access là phần mềm của Siemens dùng
để truy xuất dữ liệu từ PLC của hãng, trong
phạm vi bài này là S7-200.

 PC Access hoạt động thông qua OPC


Server, vốn được chuẩn hóa bởi OPC
Foundation.

 PC Access cung cấp thư viện bổ sung cho


Excel, Protool, VB nhằm kết nối PLC với PC
từ các chương trình này.
OPC – Tổng quan
 OPC dựa trên Microsoft Component Object
Model (COM)

 OPC được viết tắt từ chữ “OLE for Process


Control”.

 OPC được điều hành bởi tổ chức độc lập:


OPC Foundation (www.opcfoundation.org)

 OPC chuẩn hóa cách liên kết giữa các phần


mềm trong ngành tự động công nghiệp.
OPC Server
 OPC Server là một ứng dụng hoạt động như
một API (giao diện lập trình ứng dụng) hoặc
là một bộ chuyển đổi giao thức.

 Một OPC Server sẽ kết nối với các thiết bị


như PLC (Programable Logic Controller - bộ
điều khiển lập trình được), DCS (Distributed
control system - hệ điều khiển phân tán),
RTU (Remote Terminal Unit), cơ sở dữ liệu…
rồi chuyển đổi dữ liệu sang định dạng OPC
chuẩn.
OPC Client
 Những ứng dụng OPC (OPC Client) như
HMI, bộ ghi dữ liệu, bảng biểu, vẽ đồ thị…
có thể kết nối với OPC Server rồi đọc/ghi dữ
liệu lên thiết bị.”

 Trong project này ta sẽ nghiên cứu cách


kết nối VB với một OPC Server, như vậy VB
sẽ là một OPC Client. OPC Server ở đây sẽ
là Simatic S7-200 PC Access OPC Server.
OPC – Thuật ngữ
• OPC Object – một đối tượng được client tạo ra và dùng
để kết nối đến OPC Server, đối tượng – đã được định
danh này – sau đó dùng để đọc và ghi dữ liệu đến PLC,
DCS… thông qua OPC Server.

• OPC Item - một tag hay một biến dữ liệu được quản lý
bởi OPC Server - tức là một biến dữ liệu trong một PLC

• OPC Group - một nhóm OPC item được người dùng


định nghĩa. Được tạo ra bởi các OPC client như là một
cách thức quản lý một nhóm dữ liệu – một nhóm biến
điều khiển trên một thiết bị.

• Collection - một nhóm các đối tượng có kiểu dữ liệu


giống nhau.
OPC và Visual Basic

 VB hỗ trợ COM.
 Tổ chức OPC hỗ trợ source code cho “Automation Wrapper”
DLL, các công ty cung cấp bản compiled.
 Automation Wrapper kết nối VB đến OPC.

OPC Server Object

OPC Groups Collection OPC Browse Object

OPC Group Objects


 Automation
Wrapper OPC Items Collection
kết nối VB
đến OPC. OPC Items Objects
OPC & VB – mô thức
Connect to the Disconnect from
OPC Server the OPC Server

Add Remove
Group(s) Group(s)
Chương trình của chúng ta có thể
thêm/bới group, item ngay trong
lúc hoạt động, tùy vào thiết lập thế
Add Item(s) nào. Remove Item(s)
to Group(s) from Group(s)

Activate De-Activate
Groups & Items Groups & Items

Items User Program Handles Data -


Data Change Log, Display, Graph, etc
Xây dựng giao tiếp – công cụ
Chúng ta cần: một bản VB, một OPC Server,
một OPC Automation Wrapper

 Với S7-200 PC Access ta có:


S7-200.OPCServer OPC Server, Siemens
OPC DAAutomation 2.0

 Với KEPServerEx V4.0 ta có:


KEPware.KEPServerEx.V4 OPC Server,
OPC DA Automation Wrapper 2.02

Ngoài ra còn nhiều hãng khác.


Xem ví dụ slide sau
OPC Client Samples
 KePServer và
S7-
200Server
cùng chạy.

 Sample VB
từ KePware
kết nối S7-
200Server.

 Sample VB
từ PC-Access
kết nối
KePServer.
Xây dựng ứng dụng
giao tiếp PC - PLC
với Visual Basic – PC Access và OPC
từ Siemens
Bước 1 – Thêm Reference

 Thêm đối tượng


Siemens OPC
DAAautomation
như hình

PC Access cung cấp chương


trình VB mẫu. Xem trang sau.
Bước 1 – (tt)
 Sample VB
từ Siemens
kết nối
KePServer

 KePware
quick client
run.

 KePServer
has 2 client
connect.
Bước 2 – Khai báo biến
Option Explicit
Option Base 1 ‘Makes all arrays start with an
index of 1 Khởi tạo đối tượng
OPCServer và
Dim MyOPCServer As OPCServer OPCGroup, những
Dim WithEvents newOPCServer As OPCServer
đối tượng này xem
Dim MyGroups As OPCGroups
Dim WithEvents MyGroup As OPCGroup như được định danh
với OPCServer cho
một phiên làm việc
mà client kết nối đến.

Dim MyItem As OPCItems Khởi tạo đối tượng


Dim MyItemServerHandles() As Long dùng quản lý những
OPC item.
DAA Interface Standard
DAA Interface Standard
DAA Interface Standard
Bước 3 – Connect / Disconnect
• Connect đến server

Set MyOPCServer = New OPCServer ' Create OPCServer Object


Call MyOPCServer.Connect(“server name”) ' Disconnect from OPC Server

“server name” ở đây là - S7200.OPCServer


- EPware.KEPServerEx.V4

• Disconnect khỏi server


Call MyOPCServer.Disconnect ' Disconnect from OPC Server
Bước 4 – OPCGroup
• Add Group
' Get OPCGroups Collection Object from MyOPCServer
Set MyGroups = MyOPCServer.OPCGroups
' Add a new Group to the Group Collection
Set MyGroup = MyGroups.Add(“group name”)
“group name” do người dùng tùy định.

• Vài hàm tác động trên đối tượng Group


' Set Default Group Update Rate to 500 ms
MyGroups.DefaultGroupUpdateRate = 500
' Set Default Group Active State to Inactive
MyGroups.DefaultGroupIsActive = False
Bước 5 – Item
• Thiết lập Item
' Get OPCItems Collection Object from MyOPCServer
Set MyItems = MyGroup.OPCItems

“group name” do người dùng tùy định.

• Add/remove Item
' Add Items to the Group
Call MyItems.AddItems(2, ItemIDs, ItemClientHandles, MyItemServerHandles, Errors)

' Remove Items from the Group


Call MyItems.Remove(2, MyItemServerHandles, Errors)
Bước 6 – Write/Read Item Object

' Write Values Syncronous


Call MyGroup.SyncWrite(2, MyItemServerHandles, Values, Errors)

' Write Values Asyncronous


Call MyGroup.AsyncWrite(2, MyItemServerHandles, Values, Errors, MyTID, CID)

' Read Values Syncronous


Call MyGroup.SyncRead(OPCDevice, 2, MyItemServerHandles,
Values, Errors, Qualities, TimeStamps)

' Read Values Syncronous


Call MyGroup.AsyncRead(2, MyItemServerHandles, Errors, MyTID, CID)
Bước 6 – (tt)
 Write Synchronous: Trong khi ghi đồng bộ, trình
OPC client tạm dừng hoạt động cho đến khi biến
được ghi xong.

 Write Asynchronous: Trong quá trình ghi bất đồng


bộ, trình OPC client vẫn hoạt động khi dữ liệu đang
được ghi.

 Read Synchronous: Trong khi ghi đồng bộ, trình


OPC client tạm dừng hoạt động cho đến khi biến
được ghi xong.

 Read Asynchronous: Trong quá trình đọc bất đồng


bộ, trình OPC client vẫn hoạt động khi dữ liệu đang
được đọc.
Nhóm : Phát – Duy – Tú – Trọng

Thanks for
Attention

You might also like