opc server 2
TRANSCRIPT
Giới thiệu về chuẩn giao tiếp OPC, mạng Ethernet và hệ thống SCADA
Giới thiệu về chuẩn giao tiếp OPC,
mạng Ethernet và hệ thống SCADA
Chương này mô tả khái quát về chuẩn OPC, mạng Ethernet và hệ thống SCADA. Hiện nay,
phần lớn các xí nghiệp nhà máy đều ứng dụng hệ thống điều khiển và giám sát SCADA. Có
nhiều phần mềm để thiết kế SCADA như WinCC, RSView, FactoryTalk, Intouch,…cũng như
thiết bị phần cứng như S7-300 hay CompactLogix 1769-L32E. Để các phần mềm này liên kết
được với các thiết bị điều khiển của các hãng khác nhau thì phải dùng chuẩn OPC. OPC cũng
hỗ trợ các phần mềm khác như Exell, Visual Basic, Matlap trong việc điều khiển và giám sát
thiết bị. Trong lĩnh vực tự động hóa OPC được xem như một chuẩn phổ biến và giao tiếp
được với nhiều sản phẩm của các hãng khác nhau kể cả phần cứng và phần mềm. Chương này
cũng trình bày những đặc điểm của mạng Ethernet và hệ thống SCADA. Chương 2 được trình
bày như sau: mục 2.1 giới thiệu tổng quan về kiến trúc OPC, mục 2.2 trình bày về OPC
Server, OPC Client được trình bày ở mục 2.3 và mục 2.4 trình bày về mạng Ethernet và mục
2.5 trình bày tổng quan về hệ thống SCADA.
1. Tổng quan về kiến trúc OPC
OPC (OLE for Process Control) là một chuẩn giao diện được hiệp hội OPC Foundation xây
dựng và phát triển. Dựa trên mô hình đối tượng thành phần COM (DCOM) của hãng
Microsoft, OPC định nghĩa thêm một số giao diện cho khai thác dữ liệu từ các quá trình kỹ
thuật, tạo cơ sở cho việc xây dựng các ứng dụng điều khiển phân tán mà không phụ thuộc vào
mạng công nghiệp cụ thể.
OLE được dựa trên cơ sở COM (Component Object Model) từ Microsoft. COM là một mô
hình đối tượng thành phần, một mô hình cơ sở cho nhiều công nghệ phần mềm quan trọng của
hãng Microsoft. COM định nghĩa chuẩn nhị phân và đặc tả kết nối cho việc tương tác giữa
các thành phần của một phần mềm với một thành phần khác trên cùng một quá trình tính toán,
trên nhiều quá trình khác nhau hay trên các máy tính riêng biệt. Hãng Microsoft cũng hy vọng
một ngày không xa COM cũng được sử dụng phổ biến trên các nền phần cứng và hệ điều
hành khác nhau. Thành phần COM có trong cấu trúc của Client/Server. Server cung cấp
Trang -4-
Giới thiệu về chuẩn giao tiếp OPC, mạng Ethernet và hệ thống SCADA
những định nghĩa dịch vụ tới một ứng dụng Client để đáp ứng những yêu cầu và những ứng
dụng của người sử dụng. Cách duy nhất để truy cập dữ liệu hoặc tác động lên một đối tượng
COM là thông qua giao diện của nó. Một giao diện thực chất là một nhóm các hàm có sẵn liên
quan với nhau. Có thể so sánh một giao diện với một lớp cơ sở trừu tượng chỉ gồm các hàm
thuần ảo trong ngôn ngữ C++. Giao diện định nghĩa cú pháp các hàm thành viên, gọi là các
phương thức (methods), kiểu trả về, số lượng và các kiểu tham số. Một giao diện không qui
định cụ thể các phương thức đó được thực hiện như thế nào. Thực chất việc thể hiện giao diện
là sử dụng con trỏ truy nhập vào một mảng các con trỏ khác và các con trỏ này trỏ tới các
hàm của giao diện. Thông thường, tên của giao diện được bắt đầu bằng chữ cái I, ví dụ như
IUnknown, IData... Định danh thật của giao diện thể hiện ở chỉ danh GUID của nó, còn tên
chỉ để thuận tiện cho việc lập trình và hệ thống COM sẽ sử dụng các chỉ danh này khi thao tác
trên giao diện.Các đối tượng COM đều có một giao diện cơ bản là IUnknown. Đây là giao
diện cơ sở cho tất cả các giao diện khác trong COM mà mọi đối tượng phải hỗ trợ. Tất cả các
giao thức khác ở OLE được bắt nguồn từ IUnknown. Giao thức IUnknown cung cấp cho
những Client những con trỏ tới giao thức khác, cho việc chuyển dữ liệu tới đối tượng và quản
lý trạng thái của một đối tượng. Hình 2.1 thể hiện các giao diện của đối tượng OLE.
Hình 1 . Các giao diện của đối tượng OLE
Từ Windows NT, DCOM (Distributed COM) mở rộng COM cho việc giao tiếp giữa các đối
tượng hay Internet. Với DCOM, các ứng dụng có thể phân tán trên nhiều vị trí đem lại sự
thuận lợi cho chính ứng dụng. Ngày nay khi người ta nói tới COM là cũng thường bao hàm
DCOM trong đó đối tượng phân tán, thuộc các chương trình chạy trên nhiều máy tính khác
nhau trên mạng LAN, WAN.
Cốt lõi của OPC là một chương trình phần mềm phục vụ gọi là OPC-Server, trong đó chứa
các mục dữ liệu (OPC-Item) được tổ chức thành các nhóm (OPC-Group). Thông thường, một
Trang -5-
Giới thiệu về chuẩn giao tiếp OPC, mạng Ethernet và hệ thống SCADA
OPC-Server đại diện cho một thiết bị thu thập dữ liệu như PLC, I/O hoặc một cấu hình mạng
truyền thông. Các OPC-Items sẽ đại diện cho các biến quá trình, các tham số điều khiển,…
Cách thức tổ chức này cũng tương tự như trong các hệ thống cơ sở dữ liệu quan hệ quen thuộc
với các cấp là nguồn dữ liệu (data source), bảng dữ liệu (table).
Hình 2. Kiến trúc sơ lược của OPC
Như được minh họa trên hình 2.2, hai kiểu đối tượng thành phần quan trọng nhất trong kiến
trúc OPC là OPC-Server và OPC-Group. OPC-Server có nhiệm vụ quản lý toàn bộ việc sử
dụng và khai thác dữ liệu, các đối tượng OPC-Group có chức năng tổ chức các phần tử dữ
liệu (items) thành từng nhóm để tiện cho việc truy cập. Thông thường, mỗi item ứng với một
biến trong một quá trình kỹ thuật hay trong một thiết bị điều khiển.
Chuẩn OPC hiện nay quy định hai kiểu giao diện là Custom Interfaces (OPC Taskforce,
1998b) và Automation Interface (OPC Taskforce,1998c). Kiểu thứ nhất bao gồm một số giao
diện theo mô hình COM thuần túy, còn kiểu thứ hai dựa trên công nghệ mở rộng OLE-
Automation. Sự khác nhau giữa hai kiểu giao diện này không những nằm ở mô hình đối
tượng, ở các ngôn ngữ lập trình hỗ trợ mà cũng còn ở tính năng, hiệu suất sử dụng.
2. OPC Custom Interfaces
Giống như các đối tượng COM khác, hai loại đối tượng thành phần quan trọng nhất của OPC
là OPC-Server và OPC-Group cung cấp các dịch vụ qua các giao diện của chúng, được gọi là
OPC Custom Interfaces, như được minh họa trên hình 2.3
Trang -6-
Giới thiệu về chuẩn giao tiếp OPC, mạng Ethernet và hệ thống SCADA
Hình 3. OPC Custom Interface
Để truy cập dữ liệu dùng OPC Custom Interfaces, ta cần thực hiện các bước sau:
Tạo một (bản sao) đối tượng OPC-Server.
Tìm và lưu trữ con trỏ (địa chỉ) của các giao diện cần dùng, trong đó có IOPCServer.
Sử dụng các giao diện thích hợp của OPC-Group để tổ chức và cấu hình cho các đối
tượng này, kể cả việc xây dựng mối liên hệ với các phần tử dữ liệu thực.
Sử dụng IOPCSyncIO và IOPCsyncIO2 của các đối tượng OPC-Group để đọc hoặc
viết dữ liệu theo cơ chế đồng bộ hoặc không đồng bộ (tùy ý hoặc định kỳ).
Giải phóng các giao diện không sử dụng nữa.
Xử lý các lỗi trong từng bước nêu trên.
Sử dụng OPC Custom Interfaces cho phép truy cập dữ liệu với hiệu suất cao nhất. Tuy nhiên,
có hai nhược điểm, một là đòi hỏi người sử dụng phải hiểu rõ về lập trình với COM/DCOM,
hai là sự cứng nhắc của mã chương trình, nếu ta dùng nó trực tiếp trong ứng dụng điều khiển.
Thay đổi một chi tiết nhỏ (tên máy tính điều khiển, số lượng biến vào/ra,…) cũng đòi hỏi phải
biên dịch lại toàn bộ chương trình ứng dụng. Để giảm nhẹ độ phức tạp cho người lập trình và
nâng cao tính năng sử dụng lại, cần phải tạo ra một lớp phần mềm dưới dạng một thư viện đối
tượng nằm trên OPC, OPC Automation Interface chính là một thư viện đối tượng như vậy.
2.1. OPC Automation Interface
Giống như các đối tượng OLE-Automation khác, việc sử dụng các đối tượng của OPC
Automation Interface được đơn giản hóa nhiều. Cụ thể, nhiều thủ tục phức tạp trong lập trình
Trang -7-
Giới thiệu về chuẩn giao tiếp OPC, mạng Ethernet và hệ thống SCADA
với COM được loại bỏ. Người lập trình không cần hiểu biết sâu sắc về COM cũng như C++,
mà chỉ cần sử dụng thành thạo một công cụ tạo được ứng dụng RAD (Rapid Application
Development) như Visual Basic.
Mặt trái của vấn đề lại là, sự đơn giản hóa của phương pháp này phải trả giá bằng sự hạn chế
trong phạm vi chức năng, hiệu suất sử dụng và tốc độ trao đổi dữ liệu. Nhất là trong một giải
pháp tự động hóa phân tán, có sự tham gia của các mạng truyền thông công nghiệp, thì hai
điểm yếu nói sau trở nên rất đáng quan tâm. Lý do nằm chính trong mô hình giao tiếp của các
OLE-Automation và các công cụ hỗ trợ, đó là:
Dùng kiểu dữ liệu đa năng (VARIANT) một mặt sẽ lãng phí khi trao đổi dữ liệu nhỏ,
một mặt hạn chế kiểu dữ liệu sử dụng được.
Cơ chế tập trung hóa việc đón nhận và chuyển giao thông tin thì dùng giao diện
Idspatch làm giảm thời gian phản ứng của một ứng dụng đối với một sự kiện một cách
đáng kể.
2.2 OPC Server
OPC Server thực thi các giao tiếp OPC, cung cấp dịch vụ đọc, xuất cho các Client theo các
chuẩn được quy định bởi OPC. Nó đóng vai trò như một server nhận tất cả các yêu cầu từ
client xử lý các yêu cầu đó và trả lại kết quả cho client.OPC Server chứa thông tin về trạng
thái của Server, phiên bản, OPC Group và cung cấp dịch vụ cho Client truy xuất đến OPC
Group.
OPC Server hỗ trợ hai phương pháp truy cập dữ liệu:
Polling: Client chủ động yêu cầu Server cung cấp dữ liệu mỗi khi cần
Publisher/Subcriber: Client chỉ yêu cầu một lần Server, sau đó tùy theo cách đặt (theo
chu kỳ, theo sự thay đổi của dữ liệu hoặc theo một sự kiện nào đó). Phương pháp này
còn được gọi là truy cập không đồng bộ.
OPC Server chứa các mục dữ liệu gọi là OPC-Item được tổ chức thành các nhóm OPC-
Group. Trong đó:
Trang -8-
Giới thiệu về chuẩn giao tiếp OPC, mạng Ethernet và hệ thống SCADA
OPC Item: đại diện cho những kết nối tới những nguồn dữ liệu bên trong Server như
các biến quá trình, các tham số điều khiển,…Một OPC Client muốn truy cập đến OPC
Item thì phải thông qua OPC Group chứa OPC Item.
OPC Group: bao gồm thông tin và OPC Item. Cần quan tâm đến ba thuộc tính chính
của OPC Group là ActiveState, UpdateRate, PercentDeadBand. Một OPC Server
không những chỉ đọc và ghi những giá trị của biến mà còn giám sát và chỉ định chúng;
một OPC Client có thể cho phép hay vô hiệu hóa ActiveState ở mỗi OPC Group và
OPC Item. UpdateRate là dãy mà PC Server kiểm tra giá trị của OPC Item để giám sát
nó. PrecentDeadBand chỉ áp dụng tới một OPC Item kiểu tương tự. Theo dõi giá trị và
chỉ gửi tới Client nếu nó đã thay đổi nhiều hơn so với qui định phần trăm phạm vi (cực
đại và cực tiểu của giá trị).
2.3 OPC Client
Kiến trúc Client/Server trong OPC được trình bày trong hình 2.4.
Hình 4 . Kiến trúc Client/Server trong OPC
OPC Client tạo ra kết nối với các Server, quản lý hay bỏ đi những OPC Group. OPC Client có
thể chỉ định tới một hoặc nhiều OPC Item trong mỗi OPC Group mong muốn để truy cập dữ
liệu và đăng ký một danh mục Item. Những public group được coi như những nhóm Server cố
định hay được dùng để lưu trữ liên tục bởi một OPC Server. Khái niệm này cho phép chia sẻ
thông tin dữ liệu cấu hình ngang qua nhiều ứng dụng Client. Những public group có thể được
tạo ra chỉ cho một ứng dụng Client và những ứng dụng Client khác truy cập thông tin thông
qua kết nối với những public group.
Trang -9-
Giới thiệu về chuẩn giao tiếp OPC, mạng Ethernet và hệ thống SCADA
Sự đồng bộ hóa là khả năng của một Client có thể đọc hay ghi nhiều giá trị và những thuộc
tính trong một giao dịch đơn thuần. Sự chuỗi hóa là khả năng của một Client điều khiển việc
ghi những giao diện được thực hiện.
2.4 Mạng Ethernet
2.4.1 Giới thiệu
Mạng Ethernet công nghiệp xuất phát từ mạng Ethernet được đề xuất bởi IEEE (Institute of
Electrical and Electronic Engineers) năm 1985 gọi là chuẩn IEEE 802.3.
Chuẩn này dùng cáp đồng trục trở kháng 50 Ohm, truyền tin với vận tốc 10 Mb/s theo kỹ
thuật CSMA/CD, thường được gọi là chuẩn 10BASE5 ( 10 có nghĩa 10 Mb/s, BASE là
Baseband tín hiệu truyền đi không điều chế, 5 ứng với khoảng cách truyền 500m). Sau này
dùng cáp đồng trục loại nhỏ RG58A/U chuẩn 10BASE2. Các máy tính nối với nhau theo cấu
hình tuyến qua các đoạn cáp có đầu nối BNC đực (đầu nối BNC, Bayonet Neill Concelman),
nối với đầu nối hình T cắm vào card mạng. Hai đầu tuyến có đầu nối Terminator là điện trở
50 Ohm để tránh phản xạ đầu cuối, khoảng cách tối đa đoạn cáp là 185m.
Các phát triển tiếp theo là Fast Ethernet (802.3 u) 100BASE-T (T: cáp dây đôi xoắn không
bọc giáp; còn gọi là UTP: unshiled twisted pair), các máy tính nối với nhau theo cấu hình sao
(hay cây) qua các hub (hay switch) với các đầu nối RJ45. Đầu nối này có 8 tiếp điểm, nối hai
cáp mạng với nhau theo kết nối thẳng hay chéo. Dùng kết nối thẳng khi nối máy tính với hub,
kết nối chéo được dùng khi nối hai máy tính trực tiếp hay nối hai hub lại với nhau. Chiều dài
cáp tối đa từ máy tính đến hub hay hub-hub là 100m, tối đa 3 hub được sử dụng. Hiện nay đã
phát triển Gigabit Ethernet (802.3z,802.3ab,802.3ae) với vận tốc truyền là 1GB và 10GB.
Hình 2.5 thể hiện đầu nối RJ45 cho mạng Ethernet và cách kết nối thẳng và chéo.
Trang -10-
Giới thiệu về chuẩn giao tiếp OPC, mạng Ethernet và hệ thống SCADA
Hình 5 . Đầu nối RJ45 cho mạng Ethernet
Máy tính và PLC ghép với nhau trên mạng Ethernet qua card hay module Ethernet CP (CP:
Communication Processor) trao đổi lượng thông tin lớn.
2.4.2 Giới thiệu giao tiếp mạng
Để kết nối các máy tính và các thiết bị trên cùng một mạng lại với nhau cần một giao diện
mạng. Giao diện mạng cho phép truyền thông giữa cấu hình giao diện phần mềm và các thiết
bị mạng được kết nối thành hệ thống.
2.4.3 Xác định các lớp địa chỉ IP
Khoảng của địa chỉ IP có thể được chỉ định tới một máy tính, nó được định nghĩa như một lớp
địa chỉ IP. Có các lớp mạng khác nhau được tính theo kích thước của mạng. Các lớp mạng
cũng quyết định tổng số địa chỉ IP độc nhất mà nó được chỉ định trong một lớp mạng.
Có 5 lớp mạng:
Trang -11-
Giới thiệu về chuẩn giao tiếp OPC, mạng Ethernet và hệ thống SCADA
Lớp A: bao gồm các địa chỉ IP trong khoảng 1.0.0.0 tới 127.255.255.255
Lớp B: bao gồm các địa chỉ IP trong khoảng 128.0.0.0 tới 191.255.255.255
Lớp C: bao gồm các địa chỉ IP trong khoảng 192.0.0.0 tới 223.255.255.255
Lớp D: bao gồm các địa chỉ IP trong khoảng 224.0.0.0 tới 239.255.255.255
Lớp E: bao gồm các địa chỉ IP trong khoảng 240.0.0.0 tới 255.255.255.255
2.4.4 Thiết lập và định cấu hình cho mạng LAN
Mạng LAN là hệ truyền thông tốc độ cao được thiết kế để kết nối các máy tính và các thiết bị
xử lý dữ liệu khác cùng hoạt động với nhau trong một khu vực địa lý nhỏ như ở một tầng của
tòa nhà, hoặc trong một tòa nhà, … một số mạng LAN có thể kết nối lại với nhau trong một
khu vực làm việc. Nhiều mạng LAN kết nối với nhau trở thành mạng WAN và nhiều mạng
WAN trở thành mạng INTERNET. Các mạng LAN trở nên thông dụng vì nó cho phép người
sử dụng dùng chung những tài nguyên quan trọng như máy in màu, ổ đĩa CD-ROM, các phần
mềm ứng dụng và những thông tin cần thiết khác. Trước khi phát triển công nghệ LAN, các
máy tính là độc lập với nhau, bị hạn chế bởi số lượng các chương trình tiện ích. Sau khi kết
nối mạng, hiệu quả của chúng tăng lên gấp bội.
Chính vì những ưu điểm đó mà nhóm làm đề tài đã chọn mạng LAN để giao tiếp giữa Server
và các Client để điều khiển và giám sát hệ thống. Sau đây là các thủ tục để thiết lập và cài đặt
cấu hình cho mạng LAN mà trong đồ án đã sử dụng:
Thiết lập mạng: ban đầu phải lắp card mạng vào máy tính, sau đó cài đặt Driver cho
card mạng và kết nối cáp mạng
Định cấu hình cho mạng: sau khi đã thiết lập kết nối phần cứng giữa thiết bị trung tâm
và các nút. Ta phải tiến hành thiết lập các nút trong LAN theo một chuẩn, chuẩn là
một giao thức nhằm để trao đổi thông tin giữa hai hệ thống máy tính, hay hai thiết bị
máy tính. Các máy tính sử dụng hệ điều hành của Microsoft thường sử dụng giao thức
TCP/IP. Việc đặt địa chỉ TCP/IP tĩnh là điều bắt buộc trong các mạng ngang hàng
Trang -12-
Giới thiệu về chuẩn giao tiếp OPC, mạng Ethernet và hệ thống SCADA
dùng giao thức TCP/IP. Nhưng với mạng cục bộ chạy trên nền Window NT theo mô
hình Client/Server cũng nên đặt địa chỉ IP tĩnh để dễ dàng quản lý và phát hiện lỗi.
2.5 Hệ thống SCADA
SCADA (Supevisory Control And Data Acquisition) - hiểu một cách nôm na là hệ thống điều
khiển giám sát và thu thập số liệu. Việc giám sát, thu thập số liệu và điều khiển là rất cần thiết
đối với một hệ thống công nghiệp bất kỳ. Tuỳ theo mức độ quan trọng và yêu cầu những tính
năng điều khiển, các chức năng điều khiển và thu thập số liệu được phân phối và phân cấp
cho các thiết bị khác nhau. Hệ thống SCADA có thể được chia thành bốn cấp.
Ở cấp thấp nhất của hệ thống SCADA là cấp thiết bị, có chức năng chấp hành tín hiệu điều
khiển thời gian thực từ cấp trên và trả lại thông số vận hành thời gian thực cho cấp trên.
Cấp thứ hai của hệ thống SCADA là cấp điều khiển cục bộ, có chức năng thu thập dữ liệu
thời gian thực từ cấp thiết bị, tính toán và đưa ra tín hiệu điều khiển theo thuật toán cài đăt
trước, báo hiệu sự vượt quá ngưỡng cho phép của các thông số từ quá trình, kiểm soát lỗi của
thiết bị điều khiển.
Cấp thứ ba là của hệ thống SCADA là cấp điều khiển giám sát, có chức năng thu thập thông
tin từ cấp dưới, xử lý, lưu trữ và hiển thị, đưa ra tín hiệu điều khiển trên cơ sở phân tích thông
tin, thay đổi lại thông số, cấu hình của cấp điều khiển cục bộ, lưu trữ dữ liệu, đưa ra báo cáo,
chuẩn đoán về sự hư hỏng của các phần tử trong hệ thống.
Cấp thứ tư của hệ thống SCADA là cấp quản lý, có chức năng tối ưu hóa các chỉ số kinh tế về
sản xuất, quản lý tài nguyên công ty, lưu trữ thông tin, đưa ra kế hoạch sản xuất.
Trang -13-