Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 153 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
153
Dung lượng
5,59 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI NGHIÊNCỨU SINH: NGUYỄN THỊ THANH TÚ NGHIÊNCỨUVÀXÂYDỰNGBỘCÔNGCỤPHÁTTRIỂNPHẦNMỀMHỖTRỢGIÁMSÁT,ĐIỀU KHIỂN SỬ DỤNG OPC UA CHUYÊN NGÀNH: KỸ THUẬT PHẦNMỀM MÃ SỐ: 62480103 LUẬN ÁN TIẾN SĨ KỸ THUẬT PHẦNMỀM TẬP THỂ HƯỚNG DẪN KHOA HỌC: PGS.TS HUỲNH QUYẾT THẮNG PGS.TS BÙI QUỐC KHÁNH Hà Nội – 2014 LỜI CAM ĐOAN Tôi xin cam đoan công trình nghiêncứu Các số liệu, kết viết chung với tác giả khác chấp thuận đồng tác giả trước đưa vào luận án Trong trình làm luận án, kế thừa thành tựu nhà khoa học với trân trọng biết ơn Các số liệu, kết trình bày luận án trung thực chưa côngbố Hà Nội, ngày 30 tháng năm 2014 TẬP THỂ HƯỚNG DẪN KHOA HỌC TÁC GIẢ LUẬN ÁN PGS.TS Huỳnh Quyết Thắng PGS.TS Bùi Quốc Khánh i Nguyễn Thị Thanh Tú LỜI CẢM ƠN Em xin chân thành cảm ơn sâu sắc đến Thầy hướng dẫn PGS.TS Huỳnh Quyết Thắng, PGS.TS Bùi Quốc Khánh, người Thầy giúp cho em có đam mê, có tâm nghiêncứu khoa học Em xin chân thành cảm ơn đến Thầy/Cô Viện CNTT & TT, đặc biệt Bộ môn CNPM; Thầy/Cô Viện Kỹ thuật Điều khiển & Tự động hóa; Ban Giám đốc, Chuyên viên Viện Đào tạo Sau đại học; Ban Giám đốc, đồng nghiệp Trung tâm Mạng Thông tin tạo điều kiện, hỗtrợ giúp đỡ học tập, nghiêncứucông việc em suốt thời gian thực luận án Em xin chân thành cảm ơn Thầy/Cô Phản biện, Thầy/Cô Hội đồng cấp trao đổi cho em nhiều dẫn quý báu, giúp cho luận án em hoàn thiện, trình bày khoa học, hiệu Tác giả chân thành cảm ơn đến nhóm nghiêncứu bao gồm Bạn: Nguyễn Tuấn, Nguyễn Trọng Minh, Nguyễn Thị Mai, Nguyễn Trí Dũng, Lê Quý Dương, Nguyễn Việt Dũng, Nguyễn Đình Thịnh NCS thực số nội dung luận án này; đặc biệt TS Vũ Văn Tân, người sát cánh, sẵn sàng chia sẻ kiến thức, kinh nghiệm để tác giả học tập, nghiên cứu; xin bày tỏ lòng biết ơn tới Gia đình, người thân yêu, giúp đỡ nhiều tinh thần lẫn vật chất thời gian nghiêncứu hoàn thành luận án Mặc dù cố gắng thời gian kiến thức hạn chế nên luận án có nhiều thiếu sót Em mong nhận ý kiến đóng góp quý giá từ Thầy/Cô bạn! ii DANH MỤC CÁC TỪ VIẾT TẮT Từ viết tắt Từ đầy đủ Mô tả ADC Analog to Digital Converter Bộ chuyển đổi tương tự - số API Application Programming Interface Giao diện lập trình ứng dụng COM Component Object Model Mô hình đối tượng thành phần DCOM Distributed COM Mô hình đối tượng thành phầnphân tán DCS Distributed Control System Hệ thống điều khiển phân tán DDE Dynamic Data Exchange Trao đổi liệu động ERP Enterprise Resourse Planning Quản lý tài nguyên EDDL Electronic Device Description Ngôn ngữ mô tả thiết bị điện tử Language FDT Field Device Tool Côngcụ thiết bị trường FT Flow Transmitter Thiết bị đo lưu lượng FBD Function Block Diagram Sơ đồ khối chức HCS Hybrid Control System Hệ thống điều khiển lai HMI Human – Machine Interface Giao tiếp người máy HTTP HyperText Transfer Protocol Giao thức truyền siêu văn IEC International Electrotechnical Tổ chức kỹ thuật điện quốc tế Commission ISA 95 International standard for the Chuẩn cho việc tích hợp hệ thống cấp integration of enterprise and control điều hành doanh nghiệp systems LED Light Emitting Diode Đi-ốt phát quang iii MES Manufacturing Execution System Hệ thống thực thi sản xuất OLE Object Linking and Embedding Nhúng, liên kết đối tượng ODBC Open DataBase Connectivity Kết nối sở liệu mở OPC Object Linking and Embedding Liên kết nhúng đối tượng cho điều (OLE) for Process Control khiển trình OPC AE OPC Alarm & Event OPC cảnh báo kiện OPC DA OPC Data Access OPC truy cập liệu OPC DX OPC Data eXchange OPC trao đổi liệu OPC HDA OPC Historical Data Access OPC truy cập liệu lịch sử OPC XML– OPC XML Data Access OPC truyền tải liệu XML DA OPC UA OPC Unified Architecture OPC kiến trúc tổng thể PLC Programmable Logic Controller Bộđiều khiển logic lập trình SCADA Supervisory Control And Data Hệ thống giám sát thu thập liệu Acquisition SFC Sequential Function Charts Biểu đồ chức SOA Service Oriented Architecture Kiến trúc hướng dịch vụ SOAP Simple Object Access Protocol Giao thức truy cập đối tượng đơn giản SDK Software Development Kit Bộcôngcụpháttriểnphầnmềm TCP Transmission Control Protocol Giao thức điều khiển truyền liệu WSDL Web Services Description Language Ngôn ngữ mô tả dịch vụ web XML Extensible Markup Language Ngôn ngữ đánh dấu mở rộng iv DANH MỤC CÁC HÌNH VẼ STT Hình số Nội dung Trang 1.1 Kiến trúc phân tầng phầnmềm hệ thống công nghiệp (ISA 95) 16 1.2 Hệ thống tích hợp cho hệ thống giám sát điều khiển dựa mô hình ISA 95 OPC 16 1.3 Kiến trúc truyền thống dùng cho hệ thống công nghiệp 18 1.4 Kiến trúc dùng OPC cho hệ thống công nghiệp 18 1.5 OPC UA đề xuất W3C 19 1.6 Phương thức hoạt động OPC DA 21 1.7 Phương thức hoạt động OPC AE 23 1.8 UA thay DA, AE HAD 24 1.9 OPC UA – đảm bảo chất lượng 24 10 1.10 Vượt qua internet tường lửa 24 11 1.11 Ví dụ mô hình thông tin chung 25 12 1.12 UA giấy chứng thực 25 13 1.13 Từ phầnmềm nhúng đến hệ thống 25 14 1.14 Mac, Windows hay Linux 25 15 1.15 SOAP/XML hay UA Binary 26 16 1.16 UA SDK – giải pháp tiết kiệm chi phí 26 17 1.17 Các đặc tả OPC UA 26 18 1.18 Tổng quan OPC UA 28 19 1.19 Lớp Mô hình thông tin 29 20 1.20 Các lớp pháttriển ứng dụng OPC UA 30 21 2.1 Mô hình côngcụ OPC UA Client-Server SDK 38 22 2.2 Mô hình ứng dụng đề xuất dựa côngcụ OPC UA ClientServer SDK 40 23 2.3 Các class OPC UA Client SDK 42 24 2.4 Biểu đồ hoạt động Discovery Component 43 25 2.5 Biểu đồ hoạt động Session Manager 44 26 2.6 Biểu đồ hoạt động Subsription Manager 45 27 2.7 Biểu đồ hoạt động Model Manager 46 v 28 2.8 Kiến trúc chung OPC UA Server SDK 48 29 2.9 Các bước khởi tạo Server 50 30 2.10 Khởi tạo phiên làm việc 51 31 2.11 InodeManager đối tượng quản lý không gian địa 52 32 2.12 Biểu đồ hoạt động – Client gửi yêu cầu truy vấn 53 33 2.13 Biểu đồ hoạt động dịch vụ duyệt không gian nút 54 34 2.14 Biểu đồ hoạt động dịch vụ đọc giá trị thuộc tính 55 35 2.15 Biểu đồ hoạt động dịch vụ tạo nút 56 36 2.16 Tổng quan quản lý đăng ký 57 37 2.17 Mô hình quản lý đăng ký theo dõi liệu 57 38 2.18 Biểu đồ hoạt động dịch vụ CreateSubscription 59 39 2.19 Sơ đồ hoạt động dịch vụ thêm phần tử theo dõi 60 40 2.20 Mô hình lấy mẫu liệu 61 41 2.21 Sơ đồ kết nối OPC UA Server với thiết bị 62 42 2.22 Giao diện ISecurityHelper 65 43 2.23 Cơ chế hoạt động 65 44 2.24 Tạo giấy chứng nhận 66 45 2.25 Giấy chứng nhận 66 46 3.1 Sơ đồ hoạt động hệ thống quan trắc môi trường 69 47 3.2 Kiến trúc hệ thống quan trắc môi trường 70 48 3.3 Cấu hình Controller toán 72 49 3.4 Cách xâydựng Controller ứng dụng toán 73 50 3.5 Thiết bị phần cứng hệ thống quan trắc 75 51 3.6 Giao diện OPC UA Client hệ thống quan trắc 75 52 3.7 Thiết bị giả lập FLEX 1000 77 53 3.8 Mô hình hệ thống toán 78 54 3.9 Cấu hình Controller toán 81 55 3.10 Cách xâydựng Controller ứng dụng toán số 82 56 3.11 Mô hình thực nghiệm 82 57 4.1 Sơ đồ thực nghiệm 86 58 4.2 Mô hình ứng dụng trình trộn nước 87 vi 59 4.3 Cấu hình Controller toán 88 60 4.4 Cách xâydựng Controller toán 89 61 4.5 Giao diện mô hình hệ thống giám sát điều khiển trình trộn nước 90 62 4.6 Mô hình chung cho ứng dụngđiều khiển trình 92 vii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỞ ĐẦU 1 Lý chọn đề tài Mục tiêu nghiêncứu luận án 1 Nhiệm vụ nghiêncứu luận án .3 Đối tượng phạm vi nghiêncứu .4 Ý nghĩa khoa học thực tiễn luận án 5 Phương pháp nghiêncứu .5 Nội dung luận án 6 Kết nghiên cứu, đóng góp luận án 8 CHƯƠNG 1: TỔNG QUAN 9 1.1 Hệ thống điều khiển tự động hóa công nghiệp .9 1.1.1 Thiết bị điều khiển khả trình 9 1.1.2 Hệ thống điều khiển phân tán 10 1.1.3 Hệ thống điều khiển lai 11 1.1.4 Điều khiển tập trung điều khiển phân tán 11 1.2 Lịch sử pháttriển chuẩn kết nối OPC UA 12 1.2.1 OLE 13 1.2.2 COM/DCOM 13 1.2.3 XML .14 1.2.4 SOA 15 1.2.5 Web Services 15 1.3 Tổng quan OPC 15 1.4 Các đặc tả OPC 20 1.4.1 Đặc tả OPC DA .20 1.4.2 Đặc tả XML-DA 21 1.4.3 Đặc tả DX 22 1.4.4 Đặc tả HDA .22 1.4.5 Đặc tả OPC AE 23 1.4.6 Đặc tả OPC Security 23 1.4.7 Đặc tả OPC Batch 23 1.5 Đặc tả OPC UA 24 1.5.1 Mô hình Client – Server OPC UA 30 1.5.2 Nhận xét đặc tả OPC 31 viii 1.6 Phân tích đánh giá công trình liên quan 33 1.6.1 Hệ thống KSC 33 1.6.2 Hệ thống OPC-EWS 33 1.6.3 Giao thức trao đổi liệu 34 1.6.4 XML-DA Server nhúng 34 1.6.5 SOCRADES, SIRENA SODA 34 1.6.6 Vai tròcôngcụ OPC UA Client-Server SDK pháttriểnphầnmềmgiám sát điều khiển 35 1.7 Nhiệm vụ luận án .37 1.8 Kết luận 38 CHƯƠNG 2: XÂYDỰNGBỘCÔNGCỤ OPC UA CLIENT-SERVER SDK CHO HỆ THỐNG GIÁM SÁT VÀĐIỀU KHIỂN 39 2.1 Xâydựngcôngcụ OPC UA Client-Server SDK 39 2.1.1 Kiến trúc hệ thống côngcụ OPC UA Client-Server SDK 39 2.1.2 Xâydựng OPC UA Client SDK 43 2.1.3 Xâydựng OPC UA Server SDK .49 2.1.3.1 Khởi tạo Server .51 2.1.3.2 Module quản lý phiên làm việc 51 2.1.3.3 Module quản lý không gian địa 52 2.1.3.4 Module quản lý đăng ký theo dõi liệu .58 a Mô hình quản lý đăng ký theo dõi liệu .58 b Lấy mẫu liệu không gian nút 62 2.2 Kết nối thiết bị với OPC UA Server .62 2.3 Giải pháp bảo mật cho hệ thống 64 2.4 Kết luận 68 CHƯƠNG 3: ỨNG DỤNGBỘCÔNGCỤ OPC UA CLIENT-SERVER SDK VÀO BÀI TOÁN GIÁM SÁT VÀĐIỀU KHIỂN 70 3.1 Bài toán 1: Ứng dụngcôngcụ OPC UA Client-Server SDK hệ thống quan trắc môi trường .70 3.1.1 Ứng dụng cho hệ thống quan trắc môi trường 71 3.1.2 Kết thực nghiệm 75 3.2 Bài toán 2: Ứng dụngcôngcụ OPC UA Client-Server SDK cho hệ thống giám sát điều khiển hệ thống điều hòa .77 3.2.1 Modbus 77 3.2.2 Hệ thống giám sát & điều khiển điều hòa nhiệt độ ứng dụngcôngcụ OPC UA Client-Server SDK kết nối giao thức Modbus 79 3.3 Kết luận 85 ix User case giao tiếp với Client B4.3 User case giao tiếp với Client Mô tả User case thực chức giao tiếp với client Khi client kết nối với server Tác nhân Client Điều kiện kích hoạt User case kích hoạt client kết nối với server Chi tiết Alarm & Event: Cứ lần server cập nhập liệu từ thiết bị lên, user case tiến hành so sánh với điều kiện (được người điều khiển server thiết lập giao diện quản lý Alarm & Event) Nếu liệu vượt khoảng điều kiện quy định user case phát cảnh báo tới client Data access: Cứ sau giây user case tiến hành lấy liệu từ thiết bị gửi cho client Historical data access: User case lưu lại liệu thiết bị lần lấy liệu lên thời gian lấy liệu Khi client yêu cầu liệu lịch sử thiết bị, user case gửi liệu cho client Điều khiển thiết bị: User case cung cấp cho client phương thức để điều khiển thiết bị tương ứng Ví dụ tắt, bật ống nước một… 128 Biểu đồ trình tự t phía Server Giao G tiếp vớ ới thiết bị H Hình 4.2 Biểểu đồ trình tự giao tiếpp với thiết bịị 129 Quản lý cảnnh báo s kiện Hình 4.3 Biểu đồồ trình tự quuản lý cảnhh báo kiện 130 Giao tiếp vớ ới Client: H Hình 4.4 Biểểu đồ trình tự giao tiếpp với Client 131 Biểu đồ lớp Server Hình 4.5 Biểu B đồ lớp OPC UA Server 132 Mô tả chi tiết biểu đồ lớp Server B4.4 Chi tiết biểu đồ lớp Tên Kiểu Ống nước Class Bình nước Class UnderlyingSystem Class Quản lý dữliệu Class DataAccessManageBase Class unified so Unified Automation cung cấp Class Quản lý dữliệu lịch sử HistoryManageBase Class unified so Unified Automation cung cấp ControllerEventTypeData Class BaseEventTypeData Điều khiển dữliệu ControllerObject Server OPC UA ServerManage Quản lý Node BasenodeManage Class unified so Unified Automation cung cấp Class Class unified so Unified Automation cung cấp Class Class unified so Unified Automation cung cấp Class Class unified so Unified Automation cung cấp 133 Mô tả Class đại diện cho ống nước giới thực Class đại diện cho bình nước giới thực Class giao tiếp với thiết bị phần cứng Class quản lý liệu thời gian thực thiết bị Class quản lý liệu thời gian thực SDK cung cấp Class quản lý liệu lịch sử thiết bị Class quản lý liệu lịch sử thiết bị SDK cung cấp Định nghĩa kiểu kiện cho đối tượng điều khiển Class Base cho định nghĩa kiểu liệu kiện Đối tượng điều khiển Đối tượng điều khiển SDK cung cấp Server viết theo chuẩn OPC UA Class server viết theo chuẩn OPC UA SDK cung cấp Class quản lý không gian node hệ thống Class sở quản lý node hệ thống SDK cung cấp Thiết kếế chứcc củaa Client Biểu đồ User case c Hìnnh 4.6 Biểu u đồ chức năăng OP PC UA Clien nt 134 Đặc tả Use case Tác nhân: Người sử dụng Các Use Case: Usecase: Kết nối Server B4.5 Usecase: Kết nối server Mô tả Người sử dụng kết nối tới OPC UA Server Tác nhân Người sử dụngĐiều kiện kích Người sử dụng click vào nút kết nối server hoạt Chi tiết - - Kết nối server: Người sử dụng click vào nút kết nối Client gửi yêu cầu tìm kiếm server, duyệt danh sách điểm cuối tìm với server tại, kết nối tạo session để bắt đầu phiên làm việc Ngắt kết nối: Người sử dụng click vào nút ngắt kết nối Client gửi yêu cầu ngắt kết nối, đóng session để kết thúc phiên làm việc Usecase: Đọc liệu B4.6 Usecase: Đọc liệu Mô tả Người sử dụng đọc liệu từ OPC UA Server Tác nhân Người sử dụngĐiều kiện kích Người sử dụng xem liệu nhiệt độ, lượng nước, thông tin đối hoạt tượng Chi tiết Người sử dụng đọc liệu nhiệt độ, lượng nước van, bình chứa Client gửi yêu cầu đọc liệu cho server, hiển thị kết trả giao diện 135 Usecase: Ghi liệu B4.7 Usecase: Ghi liệu Mô tả Người sử dụng ghi liệu cho đối tượng OPC UA Server Tác nhân Người sử dụngĐiều kiện kích Người sử dụng thiết lập liệu nhiệt độ, lượng nước hoạt Chi tiết Người dùng thiết lập nhiệt độ, lượng nước cho van bình chứa Client gửi giá trị thiết lập cho server, hiển thị kết giao diện Usecase: Đóng/mở thiết bị B4.8 Usecase: Đóng/mở thiết bị Mô tả Người sử dụng đóng/mở thiết bị phần cứng Tác nhân Người sử dụngĐiều kiện kích Người sử dụng chọn chức đóng/mở thiết bị phần cứng hoạt Chi tiết Người sử dụng lựa chọn chức đóng/mở thiết bị phần cứng.Client gửi phương thức tới server, hiển thị kết trả server qua giao diện Usecase: Theo dõi kiện B4.9 Usecase: Theo dõi kiện Mô tả Tác nhân Người sử dụng theo dõi cảnh báo, kiện, tình trạng hoạt động thiết bị Người sử dụngĐiều kiện kích Người sử dụng chọn chức theo dõi, cảnh báo kiện hoạt Chi tiết Người sử dụng lựa chọn chức theo dõi, cảnh báo kiện Client gửi yêu cầu tới server, hiển thị kiện cảnh báo lên giao diện chương trình 136 Kết nối OPC C UA Clien nt OPC UA Serverr Discoverry Server thhực thi dịchh vụ tìm Seerver trảả lại daanh sách Seerver đăăng ký cho Client Như ưng trước kh hi Client cóó thể tìm Server S Server S phải đăng đ ký tấất dịcch vụ mà nóó có với Disscovery Servver Sau khhi tìm thấy thhông tin vềề Server, Client gửi yêêu cầu kết nối vớii Server Hình 4.7 Biểu đồ trrình tự kết nối Client C – Serrver 137 Để thực h việc kếết nối Client – Seerver, dịch vụ v Discoverry tìm kiếếm thiết bịị đầu cuối (Endpoint) cung c cấp dịịch vụ cho Client C Sau Client kết nối với thiết bị đầầu cuối, mộột phiên làm m việc (Sesssion) đư ược khởi tạạo để thực h việc giao g tiếp giiữa Client v Server K Khi Client hoàn h thành việc v kết nốii, thêm m nút m vào đốối tượng thích hợp tronng không giaan địa Server Hình 4.8 Biểu đồ hoạt độngg Clieent – Serveer 138 Biểu đồ trình tự t Clieent Hìình 4.9 Biểểu đồ trình tự kết nối vớ ới Server 139 Hình 4.100 Biểu đồ trình t tự đọc//ghi nhiệt độ đ (lượng nư ước) Hìình 4.11 Biiểu đồ trình tự gọi phươ ơng thức 140 H Hình 4.12 Biiểu đồ trìnhh tự theo dõii kiện Biểu đồ lớp Client H Hình 4.13 Biểu B đồ thiếết kế lớp củaa Client 141 Mô tả lớp: B4.10 Mô tả lớp Tên lớp MainForm Read Write CallMethod Subscription Browse Mô tả Thực việc tìm kiếm server, thực thi kết nối ngắt kết nối Đọc giá trị thuộc tính nhiệt độ, lượng nước Ghi giá trị thuộc tính nhiệt độ, lượng nước, gửi tới cho server Gọi phương thức tắt bật van cung cấp server Giám sát theo dõi kiện cảnh báo hệ thống Gọi danh sách đối tượng không gian địa server 142 ... làm chủ công nghệ, tạo bước đột phá nghiên cứu, phát triển ứng dụng CNTT vào công nghiệp, luận án hướng hai vấn đề sau: (1) Nghiên cứu, xây dựng công cụ phát triển phần mềm hỗ trợ giám sát điều. .. việc phát triển ứng dụng phần mềm công nghiệp, đặc biệt hệ thống giám sát điều khiển Các nỗ lực nhà phát triển lập trình giảm bớt trình nghiên cứu phát triển công nghệ mới, mặt khác, thành phần. .. khiển công nghiệp Sau đưa kết nghiên cứu áp dụng vào toán thực tế cho hệ thống giám sát điều khiển để đánh giá tính khả thi, hiệu kết đạt Tác giả vào nghiên cứu phát triển công cụ phần mềm ứng