23
PC Access Visual Basic 6.0 & Siemens OPC Library

PC Access and VB6-- DMT2

  • Upload
    p217a2

  • View
    951

  • Download
    6

Embed Size (px)

Citation preview

Page 1: PC Access and VB6-- DMT2

PC AccessVisual Basic 6.0 &

Siemens OPC Library

Page 2: PC Access and VB6-- DMT2

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.

Page 3: PC Access and VB6-- DMT2

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.

Page 4: PC Access and VB6-- DMT2

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.

Page 5: PC Access and VB6-- DMT2

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.

Page 6: PC Access and VB6-- DMT2

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.

Page 7: PC Access and VB6-- DMT2

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 Group Objects

OPC Items Collection

OPC Items Objects

OPC Browse Object

Automation Wrapper kết nối VB

đến OPC.

Page 8: PC Access and VB6-- DMT2

OPC & VB – mô thức

Connect to the OPC Server

Add Group(s)

Add Item(s) to Group(s)

Activate Groups & Items

ItemsData Change

De-Activate Groups & Items

Remove Item(s) from Group(s)

Remove Group(s)

Disconnect fromthe OPC Server

User Program Handles Data -Log, Display, Graph, etc

Chương trình của chúng ta có thểthêm/bới group, item ngay tronglúc hoạt động, tùy vào thiết lập thếnào.

Page 9: PC Access and VB6-- DMT2

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

Page 10: PC Access and VB6-- DMT2

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.

Page 11: PC Access and VB6-- DMT2

Xây dựng ứng dụng giao tiếp PC - PLC

với Visual Basic – PC Access và OPC

từ Siemens

Page 12: PC Access and VB6-- DMT2

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.

Page 13: PC Access and VB6-- DMT2

Sample VB từ Siemens kết nối KePServer

KePware quick client run.

KePServer has 2 client connect.

Bước 1 – (tt)

Page 14: PC Access and VB6-- DMT2

Bước 2 – Khai báo biến Option ExplicitOption Base 1 ‘Makes all arrays start with an index of 1

Dim MyOPCServer As OPCServerDim WithEvents newOPCServer As OPCServerDim MyGroups As OPCGroupsDim WithEvents MyGroup As OPCGroup

Dim MyItem As OPCItemsDim MyItemServerHandles() As Long

Khởi tạo đối tượng OPCServer vàOPCGroup, những đối tượng này xem như được định danh với OPCServer cho một phiên làm việc mà client kết nối đến.

Khởi tạo đối tượng dùng quản lý những OPC item.

Page 15: PC Access and VB6-- DMT2

DAA Interface Standard

Page 16: PC Access and VB6-- DMT2

DAA Interface Standard

Page 17: PC Access and VB6-- DMT2

DAA Interface Standard

Page 18: PC Access and VB6-- DMT2

Bước 3 – Connect / Disconnect

• Connect đến server

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

• Disconnect khỏi server

Set MyOPCServer = New OPCServer ' Create OPCServer ObjectCall MyOPCServer.Connect(“server name”) ' Disconnect from OPC Server

Call MyOPCServer.Disconnect ' Disconnect from OPC Server

Page 19: PC Access and VB6-- DMT2

Bước 4 – OPCGroup

• Add Group

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

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

' Get OPCGroups Collection Object from MyOPCServerSet MyGroups = MyOPCServer.OPCGroups ' Add a new Group to the Group CollectionSet MyGroup = MyGroups.Add(“group name”)

' Set Default Group Update Rate to 500 msMyGroups.DefaultGroupUpdateRate = 500 ' Set Default Group Active State to InactiveMyGroups.DefaultGroupIsActive = False

Page 20: PC Access and VB6-- DMT2

Bước 5 – Item

• Thiết lập Item

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

• Add/remove Item

' Get OPCItems Collection Object from MyOPCServerSet MyItems = MyGroup.OPCItems

' Add Items to the GroupCall MyItems.AddItems(2, ItemIDs, ItemClientHandles, MyItemServerHandles, Errors)

' Remove Items from the GroupCall MyItems.Remove(2, MyItemServerHandles, Errors)

Page 21: PC Access and VB6-- DMT2

Bước 6 – Write/Read Item Object

' Write Values SyncronousCall MyGroup.SyncWrite(2, MyItemServerHandles, Values, Errors)

' Write Values AsyncronousCall MyGroup.AsyncWrite(2, MyItemServerHandles, Values, Errors, MyTID, CID)

' Read Values SyncronousCall MyGroup.SyncRead(OPCDevice, 2, MyItemServerHandles,

Values, Errors, Qualities, TimeStamps)

' Read Values SyncronousCall MyGroup.AsyncRead(2, MyItemServerHandles, Errors, MyTID, CID)

Page 22: PC Access and VB6-- DMT2

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.

Page 23: PC Access and VB6-- DMT2

Thanks for Attention

Nhóm : Phát – Duy – Tú – Trọng