Tìm hiểu những khái niệm mới trong lĩnh vực tự động hóa công nghiệp, mối quan hệ giữa các thành phần, các lớp trong đó là một điều quan trọng trong việc tích hợp hệ thống, mở rộng ứng dụ
Trang 1ĐẶNG HỮU THỌ
TRUY XUẤT THÔNG TIN VÀ ĐIỀU KHIỂN QUÁ TRÌNH CÔNG NGHỆ TRÊN NỀN TẢNG
Trang 2Cán bộ hướng dẫn khoa học : TS.Tröông Ñình Chaâu
Cán bộ chấm nhận xét 1 :
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Cán bộ chấm nhận xét 2 :
(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Luận văn thạc sĩ được bảo vệ tại HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ
TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày tháng năm
Trang 3NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: Phái:
Ngày, tháng, năm sinh: .Nơi sinh:
Chuyên ngành: .MSHV:
I- TÊN ĐỀ TÀI:
II- NHIỆM VỤ VÀ NỘI DUNG:
III- NGÀY GIAO NHIỆM VỤ (Ngày bắt đầu thực hiện LV ghi trong Quyết định giao đề tài):
IV- NGÀY HOÀN THÀNH NHIỆM VỤ:
V- CÁN BỘ HƯỚNG DẪN (Ghi rõ học hàm, học vị, họ, tên):
(Học hàm, học vị, họ tên và chữ ký) QL CHUYÊN NGÀNH
Nội dung và đề cương luận văn thạc sĩ đã được Hội đồng chuyên ngành thông qua
Ngày tháng năm
Trang 4Lời cám ơn
Trong thời đại bùng nổ thông tin hiện nay, các ứng dụng trong đời sống, sản xuất ngày càng hiện đại và phức tạp Với yêu cầu các hệ thống mang tính mở cao hơn đưa đến hiệu quả ngày càng cao Để đạt được điều đó, lĩnh vực tự động hóa công nghiệp xuất hiện thêm các khái niệm mới
Tìm hiểu những khái niệm mới trong lĩnh vực tự động hóa công nghiệp, mối quan hệ giữa các thành phần, các lớp trong đó là một điều quan trọng trong việc tích hợp hệ thống, mở rộng ứng dụng Do vậy, tôi chọn đề tài Truy xuất thông tin và điều khiển quá trình công nghệ trên nền tảng Web làm đề tài luận văn thạc sĩ
Tôi xin chân thành cảm ơn các bạn lớp cao học ngành Điều khiển học Kỹ thuật K15, các thầy cô trong bộ môn Điều khiển tự động khoa Điện-Điện tử, đại học Bách khoa Tp HCM Đặc biệt là thầy Trương Đình Châu đã nhiệt tình giúp đỡ để hoàn thành luận văn này
Trang 5Tóm tắt
Trong lĩnh vực tự động hóa quá trình công nghệ, sản xuất của các doanh nghiệp - xí nghiệp, việc tích hợp các thành phần trong hệ thống điều khiển là vấn đề được đặt lên hàng đầu Việc tích hợp hệ thống một cách hợp lý sẽ mang lại nhiều lợi ích như tiết kiệm chi phí sản xuất, nâng cao năng suất lao động, tăng khả năng mở rộng cho hệ thống Một trong những kỹ thuật hiện đại trong vấn đề tích hợp hệ thống hiện nay là truy xuất thông tin dựa trên nền tảng Web
Trong khuôn khổ luận văn tác giả phân tích, lựa chọn và xây dựng công cụ cho việc tích hợp các thành phần trong hệ thống điều khiển trên một công nghệ chuẩn - Web
Mô hình truy xuất thông tin quá trình công nghệ dựa trên nền tảng Web mang lại rất nhiều ưu điểm so với mô hình truyền thống Để giải quyết vấn đề này trong luận văn đặt ra và thực hiện những nhiệm vụ:
Giả lập quá trình và đối tượng động bằng Simulink của Matlab
Thực hiện kết nối giữa OPC Server với đối tượng động
Thực hiện kết nối phần mềm HMI với quá trình động thông qua OPC Server
Thực hiện kết nối giữa OPC Client COM và OPC Server COM bằng giao thức HTTP
Xây dựng OPC Client XML để truy xuất OPC Server DA COM thông qua giao thức HTTP, WebService
Xây dựng Web server truy cập đến quá trình công nghệ thông qua OPC Server; dùng trình duyệt Interner Explorer để hiển thị thông tin quá trình công
Trang 6Luận văn đã thực hiện việc phân tích, tổng hợp các kỹ thuật hiện nay Tiến đến, xây dựng mô hình truy xuất động thông tin quá trình thông tin quá trình công nghệ Và cụ thể đạt được những kết quả như:
Đưa ra được một cái nhìn tổng thể về vấn đề truy xuất thông tin của các quá trình công nghệ hiện nay
Tích hợp phần mềm HMI với đối tượng thông qua OPC; thực hiện việc hiển thị động thông tin quá trình công nghệ bằng trình duyệt Internet Explorer
Thực hiện OPC XML client truy xuất vào OPC server COM truyền thống bằng giao thức HTTP và WebService
Thực hiện liên kết giữa OPC client COM và OPC server COM với giao thức HTTP bằng OPCXML gateway
Luận văn nêu ra toàn bộ mối liên kết của các quá trình công nghệ từ cấp thấp nhất đến cấp cao nhất Do vậy, các kỹ sư điều khiển có thể tích hợp hệ thống một cách dễ dàng Việc mở rộng các ứng dụng được thực hiện dễ dàng Có thể ứng dụng việc tích hợp hệ thống đã nêu trên trong nhiều lĩnh vực như dầu khí, điện lực, cung cấp nước, hàng không…
Luận văn có thể phát triển nghiên cứu sâu hơn về OPC XML và Webservice tạo ra các phần mềm ứng dụng, đồng thời thực hiện mô phỏng đối tượng có liên kết với OPC gần với thực tế sản xuất Nghiên cứu phương pháp điều khiển dự báo mô hình ứng dụng trong công nghiệp Phát triển, xây dựng OPC server theo đặc tả UA (Universal Architecture), là cấu trúc mang tính mở nhất hiện nay Phát triển OPC theo công nghệ NET, điều này làm tăng khả năng sử dụng của OPC Phát triển việc truy xuất thông tin theo các chuẩn khác nhau trong môi trường internet Ứng dụng giao thức HTTPs để thực hiện các vấn đề về bảo mật hệ thống
Trang 7OPC, nền tảng Web là khái niệm mới trong lĩnh vực tự động hóa công nghiệp và ngày càng phát triển mạnh Do vậy, nghiên cứu về OPC, nền tảng web, truy xuất thông tin qúa trình công nghiệp thông qua các chuẩn khác nhau là cần thiết trong công cuộc công nghiệp hóa, hiện đại hóa
Trang 8Mục lục
Chương 1 7
Tổng quan 7
1.1 Mục tiêu đề tài 7
1.2 Tính cấp thiết của đề tài 7
1.3 Phân tích và so sánh các phương pháp truy xuất thông tin quá trình công nghệ 8
1.3.1 Truy xuất thông tin quá trình công nghệ truyền thống 8
1.3.2 Truy xuất thông tin dựa trên nền Web 14
1.4 Các vấn đề cần giải quyết 18
Chương 2 20
Phân tích các công nghệ và thiết kế hệ thống 20
2.1 COM (Component Object Model) 20
2.2 OPC 23
2.2.1 Tổng quan 23
2.2.2 Các đối tượng (Objects) và các giao tiếp (Interfaces) 27
2.2.3 Đặc tả OPC Data Access (OPC DA) 28
2.3 Webservice và OPC XML 36
2.3.1 Giới thiệu về Web Service 36
2.3.2 Vai trò của Web Service 36
2.3.3 Đặc tả OPC XML 1.0 37
2.4 Giả lập quá trình công nghệ và đối tượng động 49
2.4.1 Điều khiển dự báo mô hình (MPC) trong điều khiển quá trình (Proccess control) 49
2.4.2 Sử dụng MPC Toolbox để xây dựng bộ điều khiển MPC cho lò hơi công nghiệp&giám sát hệ thống bằng OPC 53
Chương 3 57
Kết qủa thực hiện 57
3.1 Tổng quan 57
3.2 OPC XML DA Client truy xuất thông tin quá trình công nghệ thông qua OPC Server 59
3.3 OPC Client COM truy xuất OPC Server COM bằng web service và giao thức HTTP 60
3.4 Mô hình trình duyệt IE hiển thị thông tin quá trình điều khiển hệ thống qua Internet 61
3.5 HMI truy xuất vào thông tin thiết bị thông qua OPC Server 62
Trang 93.6 OPC Server có thể kết nối với các thiết bị theo các giao thức khác
nhau 63
Chương 4 64
Kết luận và hướng phát triển của đề tài 64
4.1 Kết luận 64
4.2 Hướng phát triển 65
Tài liệu tham khảo 67
Phụ lục 69
Trang 10Chương 1
Tổng quan
1.1 Mục tiêu đề tài
Tích hợp các thành phần trong hệ thống điều khiển đa cấp là vấn đề được đặt lên hàng đầu trong việc thực hiện tự động hóa quá trình công nghệ, sản xuất của các doanh nghiệp - xí nghiệp Việc tích hợp hệ thống một cách hợp lý sẽ mang lại nhiều lợi ích như tiết kiệm chi phí sản xuất, nâng cao năng suất lao động, tăng khả năng mở rộng cho hệ thống Một trong những kỹ thuật hiện đại trong vấn đề tích hợp hệ thống hiện nay là truy xuất thông tin dựa trên nền tảng Web Mục tiêu đề tài là phân tích tổng hợp các kỹ thuật tích hợp hiện nay và xây dựng mô hình truy xuất thông tin động quá trình công nghệ dựa trên nền tảng Web
1.2 Tính cấp thiết của đề tài
Tự động hóa công nghiệp là lĩnh vực đang ngày càng phát triển mạnh mẽ, tích hợp tất cả các công nghệ hiện đại Tuy nhiên, việc nghiên cứu một cách tổng quan về tự động hóa công nghiệp, các kỹ thuật thực hiện trong lĩnh vực này còn chưa được thực hiện một cách đầy đủ Hầu hết các đề tài trong lĩnh vực này trước đây đều tập trung vào việc xây dựng các giao diện HMI để mô phỏng hệ thống hoặc xây dựng một hệ thống SCADA để liên kết với các PLC
Ở Việt Nam hiện nay, sử dụng các hệ thống SCADA đều phụ thuộc vào từ phần cứng cho đến phần mềm của một nhà cung cấp (ví dụ, Siemens, Omron,
…) Cho nên, về vấn đề chi tiết hệ thống đều phụ thuộc từ đầu đến cuối vào nhà cung cấp này, và tốn nhiều kinh phí cho việc bảo trì hệ thống (thuê chuyên gia nước ngoài) Chuyên gia về tích hợp hệ thống chưa được chuyên nghiệp hóa cho
Trang 11nên việc lựa chọn các thành phần trong hệ thống tự động hoá – các doanh nghiệp xí nghiệp chưa nghĩ đến Vấn đề nữa là truy xuất và điều khiển quá trình công nghệ, đối đượng phân bố từ xa là mơ ước của các nhà sản xuất vì mang lại hiệu quả cao
Trong khuôn khổ luận văn tác giả phân tích, lựa chọn và xây dựng cấu trúc cho việc tích hợp các thành phần trong hệ thống điều khiển trên một công nghệ chuẩn - Web
Để thấy rõ lợi ích của công nghệ Web, trước hết luận văn đề cập đến việc phân tích và so sánh các phương pháp truy xuất thông tin quá trình công nghệ khác nhau
1.3 Phân tích và so sánh các phương pháp truy xuất thông tin quá trình công nghệ
1.3.1 Truy xuất thông tin quá trình công nghệ truyền thống
Một ví dụ điển hình cho việc truy xuất thông tin quá trình công nghệ là hệ thống SCADA trong các nhà máy (hình 1.3.1) SCADA là hệ thống điều khiển giám sát và thu thập dữ liệu trong các hệ thống công nghiệp phổ biến trên toàn thế giới Nó được ứng dụng rộng rãi trong hầu hết các lĩnh vực sản xuất, hàng hóa, vận tải [11]
SCADA là sự tích hợp của các thiết bị phần cứng và phần mềm Các thiết bị phần cứng là các PLC, các thiết bị cảm biến, các thiết bị điều khiển, các thiết bị truyền động….Các gói phần mềm là do mỗi hãng sản xuất thiết bị tạo ra để sử dụng các thiết bị của hãng mình Các hệ thống SCADA truyền thống chỉ hoạt động trong một phạm vi một nhà máy, xí nghiệp Các hoạt động về bảo trì, sửa chữa, các yêu
Trang 12giảm chi phí sản xuất Vấn đề truy xuất thông tin của các quá trình công nghệ cần được mở rộng ra thành mạng diện rộng (intranet), internet…Để thực hiện điều này, các hãng sản xuất thực hiện mở rộng theo nhiều cách khác nhau, ở nhiều cấp độ khác nhau [10]
Liên kết ở cấp trường
Xét ớ cấp trường (field), có rất nhiều giao thức truyền thông khác nhau của nhiều hàng sản xuất khác nhau ví dụ như Modbus, Profibus, DeviceNet… Mô hình truyền thông ở cấp trường giừa MTU và RTU (hình 1.3.2)
Supervision
Automatic Control
Field Management
Business Management
Analog I/O, Discrete I/O
Flow
measur.
T Temp
measur.
P Pressure measur. Actuator
Control objects
Realtime DB
SCADA
Station SCADA Station VB, C++Applications
Web
Server Modules of factoryresource management Relation DB
Cấu trúc hệ thống điều khiển truyền thống
Hình 1.3.1
Trang 13Thông qua môi trường truyền thông (comunication network) các RTU liên lạc với các MTU Mạng truyền thông ở cấp trường có nhiều cách khác nhau như mạng vô tuyến, mạng hữu tuyến Các chuẩn truyền thông hiện nay là RS232, RS485, RS422 Khi mạng truyền thông là intranet/intetnet, các thiết bị đều tích hợp gateway, mỗi thiết bị đều có một địa chỉ IP để liên kết với các thiết bị khác, thì việc mở rộng hệ thống là hoàn toàn có thể Đây là một xu hướng trong việc phát triển mở rộng hệ thống SCADA Thông qua giao thức TCP/IP, các thiết bị có thể kết nối với nhau trong phạm vi mạng intranet hoặc internet (hình 1.3.3)
Với cấu hình như trên thì rất thuận tiện cho việc mở rộng hệ thống SCADA Các nhà sản xuất hệ thống đang nghiên cứu mở rộng hệ thống như vậy
C e n tral M o n ito rin g S tatio n
đ iều khiển
RTU
CN MTU
Giám sát viên
Hình 1.3.2
Trang 14Liên kết giữa cấp trường và cấp ứng dụng
Liên kết này là liên kết giữa các thiết bị với các phần mềm giám sát, điều khiển và hiển thị Mô hình truy xuất thông tin giữa ứng dụng với thiết bị (hình 1.3.4) Theo cách truyền thống thì mỗi hãng sản xuất sẽ có driver riêng cho thiết
bị của hãng, tương ứng với giao thức cấp trường của thiết bị Khi một ứng dụng muốn liên kết với thiết bị thì phải hiểu rõ driver này và điều này rất hạn chế trong việc mở rộng các ứng dụng Việc các ứng dụng liên kết theo chuẩn DDE cũng mang nhiều hạn chế trong việc phát triển ứng dụng [14] Với yêu cầu đặt
ra là hệ thống phải mang tính mở để người sử dụng có thể khai thác một cách hiệu quả ứng dụng, khái niệm OPC xuất hiện và là một chuẩn mở trong công nghiệp Trong phạm vi luận văn đề cập đến các đặc tả của OPC
TCP/IP Network (internet/intranet)
HMI Station
MTU RTU
Hình 1.3.3
Trang 15Liên kết ở cấp ứng dụng
Là liên kết giữa các ứng dụng cấp trên như liên kết giữa các HMI, giữa các ứng dụng với nhau… Lớp ứng dụng là lớp cao nhất trong mô hình truyền thông, có tính chất tương tác trực tiếp với người sử dụng, do đó cấu trúc của hệ thống phải hướng đến mở để người sử dụng có thể tương tác càng nhiều với hệ thống thì càng mang lại hiệu suất cao Với mô hình truyền thống, các ứng dụng bên ngoài truy xuất vào hệ thống thông qua Web Server chỉ đơn thuần là lấy dữ liệu trong các cơ sở dữ liệu, không liên quan gì với đặc tính động của hệ thống công nghiệp Các ứng dụng công nghiệp cập nhật dữ liệu vào cơ sở dữ liệu và người sử dụng truy cập vào lấy dữ liệu trong cơ sở dữ liệu [11] Yêu cầu đặt ra là làm sao có thể dùng các chương trình đơn giản như các trình duyệt, telnet…để có thể truy xuất trực tiếp vào hệ thống để hiển thị dữ liệu và cả cấu hình cho hệ thống
Driver tương ứng với giao thức bus trường
Ứng dụng
người dùng
(C++, VB…)
Ứng dụng (HMI, SCADA)
Giao thức trường (Modbus,
DDE DDE
Trang 16Cấu trúc phân lớp trong mô hình truyền thông hiện tại của các phần mềm hiển thị giám sát trong công nghiệp theo giao thức TCP/IP (hình 1.3.5) Các phần mềm này liên kết với nhau qua giao thức DDE, DCOM hoặc tự phát triển giao thức cho riêng mình dựa trên giao thức DDE, DCOM [13]
Do vậy, các ứng dụng lớp trên chỉ có thể liên lạc với nhau thông qua mạng intranet, nếu được mở rộng ra môi trường internet thì việc truyền thông này sẽ không thực hiện được với các ứng dụng có sử dụng Firewall Và đây là hạn chế của mô hình dùng DDE, DCOM
Tóm lại, mô hình truy xuất thông tin quá trình công nghệ theo cách truyền thống tồn tại các nhược điểm sau:
1 Cấu trúc phần mềm ứng dụng không linh hoạt, chi phí cho việc mở rộng, phát triển lớn
2 Truy xuất thông tin theo DDE, DCOM bị chặn bời FireWall
DCOM,DDE, netDDE
TCP, UDP
IP, IPX Ethernet, 1394
Cấu trúc truyền thông hiện tại trong mô hình mạng TCP/IP
Hình 1.3.5
Trang 173 Các máy tính muốn truy xuất thông tin của qúa trình công nghệ phải cài đặt chương trình dành riêng
1.3.2 Truy xuất thông tin dựa trên nền Web
Truy xuất thông tin dựa trên nền tảng web về cơ bản cũng giống như các
hệ truyền thống nhưng đặc điểm khác biệt ở đây là vấn truyền thông giữa các thiết
bị thông qua mạng intranet, internet được chuẩn hóa theo các chuẩn Web, các vấn đề về dữ liệu đều dựa trên nền tảng Web Hệ thống SCADA dựa trên nền tảng Web có thể được kết nối với nhau trên một mạng diện rộng (intranet), trên internet, các thiết bị có thể ở cách xa nhau, tận dụng các ưu điểm của công nghệ Web, môi trường truyền thông internet
Mô hình truy xuất thông tin hệ thống mở rộng (hình 1.3.6) mang lại nhiều
ưu điểm so với mô hình truyền thống Tuy nhiên, độ phức tạp của hệ thống cũng tăng lên Các ứng dụng khác nhau liên lạc với nhau qua các giao thức khác nhau, giao thức phổ biến hiện nay là HTTP, SNMP, POP3, FTP, DDE, HTTP/SOAP… Các ứng dụng dựa trên nền Web là các ứng dụng truyền thông theo giao thức HTTP, và gần đây là HTTP/SOAP với sự xuất hiện của XML
Công nghệ Web mới được phát triển trong thời gian gần đây Với sự xuất hiện đầu tiên của HTML cùng với những ưu điểm của nó, đã đưa đến việc phát triển các ứng dụng web Sau này là sự xuất hiện của DHTML, XML làm cho các ứng dụng Web phát triiển mạnh mẽ Đặc biệt là sự xuất hiện của XML đã mang lại một sự linh hoạt mạnh mẽ trong việc phát triển các ứng dụng
Trang 18Truy xuất thông tin quá trình công nghệ dựa trên nền tảng web bao gồm hai phần Phần thứ nhất là truy xuất thông tin từ cấp độ nhà máy và phần thứ hai là đưa các thông tin này vào các ứng dụng web Truy xuất thông tin từ các thiết
bị trường theo phương thức cũ vẫn còn tồn tại khuyết điểm OPC Server là một khái niệm mới trong vấn đề truy xuất thông tin ở cấp độ trường (field) (hình 1.3.7)
Hình 1.3.6
Browser
(IE)
SCADA HMI
Client (OPC)
Intranet/internet
Server (OPC/Web)
Mobile Device
Server (OPC)
Remote RTU
Mô hình truy xuất thông tin hệ thống mở rộng
Database
Sensor Motor
physic protocol
Trang 19OPC dựa trên chuẩn COM của Microsoft Nó mang lại nhiều ưu điểm hơn
so với phương thức cũ Truy xuất thông tin quá trình công nghệ theo chuẩn OPC mang tính mở cao Người sử dụng có thể truy xuất thông tin hệ thống một cách dễ dàng thông qua các interface Mô hình cấu trúc truyền thông trên nền tảng web trong mô hình TCP/IP (hình 1.3.8) và cấu trúc truyền thông HTTP/SOAP với sự xuất hiện của XML (hình 1.3.9) Khi sử dụng hai mô hình truyền thông này sẽ khắc phục nhược điểm của mô hình truyền thống, đồng thời phát triển ứng dụng trong phạm vi rộng Dùng giao thức HTTP, chúng ta có thể sử dụng giao thức HTTPs sẵn có để thực hiện các vấn đề về bảo mật hệ thống
OPC Server
Configuration and maintenance
Analog I/O, Discrete I/O
Control objects
OPC Server
Realtime DB
OPC Server
Field Management
Business Management
Trang 20Các lợi ích khi thực hiện truy xuất thông tin dựa trên nền tảng Web và OPC
Thực hiện truy xuất thông tin hệ thống dựa trên nền tảng web và OPC mang lại rất nhiều lợi ích:
HTTP TCP, UDP
IP, IPX Ethernet, 1394
Cấu trúc truyền thông ứng dụng Web trong mô hình mạng TCP/IP
Hình 1.3.8
Trang 211 Hệ thống có tính linh hoạt cao, việc dựa trên các chuẩn Web mang lại một
sự tiết kiệm trong việc triển khai, mở rộng hệ thống, sử dụng các trình duyệt internet sẵn có để giám sát hệ thống, tận dụng các môi trường truyền thông sẵn có do vậy tiết kiệm chi phí cho hệ thống…
2 Với việc truy xuất thông tin trên nền tảng web, người sử dụng có thể thực hiện ở bất kỳ nơi nào, chỉ với chương trình đơn giản như các trình duyệt web…
3 Với cấu trúc mở của OPC, hệ thống mang tính mở rất cao Do vậy, dễ dàng mở rộng các ứng dụng, tích hợp hệ thống Đặc biệt, trong hoàn cảnh của Việt Nam hiện nay
4 Truy xuất thông tin trên nền tảng Web không bị chặn bởi càc Firewall, do vậy tăng khả năng bảo mật của hệ thống
5 Sử dụng giao thức HTTPs sẵn có để thực hiện các vấn đề bảo mật hệ thống
1.4 Các vấn đề cần giải quyết
So sánh hai mô hình truy xuất thông tin quá trình công nghệ trên, mô hình truy xuất thông tin quá trình công nghệ dựa trên nền tảng Web mang lại rất nhiều ưu điểm so với mô hình truyền thống Do vậy, đề tài có nhiệm vụ thể hiện quá trình truy xuất động thông tin quá trình công nghệ trên nền tảng Web với các nhiệm vụ cụ thể sau:
1 Thực hiện kết nối giữa OPC Server COM với thiết bị trường (PLC)
2 Giả lập quá trình và đối tượng động bằng Simulink của Matlab
3 Xây dựng OPC Client XML để truy xuất OPC Server DA COM thông qua
Trang 225 Thực hiện kết nối giữa OPC Client COM và OPC Server COM thông qua Webservice
6 Xây dựng Web server truy cập đến quá trình công nghệ thông qua OPC Server
7 Dùng trình duyệt IE để hiển thị thông tin quá trình công nghệ theo giao thức HTTP qua mạng internet
Trang 23Chương 2
Phân tích các công nghệ và thiết kế hệ thống
2.1 COM (Component Object Model)
Một ứng dụng thông thường trên máy tính là một file nhị phân đơn lẻ Trình biên dịch biên dịch một ứng dụng và ứng dụng đó không thể thay đổi cho đến khi chúng được biên dịch lại và đưa ra thị trường Những thay đổi trong hệ điều hành, phần cứng, những yêu cầu mới của khách hàng đều phải đợi cho đến khi ứng dụng được biên dịch lại [7]
Với các khuyết điểm như vậy, công nghệ phần mềm đã phát triển theo hướng chia một ứng dụng thành nhiều phần khác nhau và lập trình viên có thể thay đổi, phát triển một cách linh hoạt và có tính kế thừa Khái niệm COM (Component Object Model) ra đời Sự khác nhau giữa ứng dụng truyền thống và ứng dụng theo COM (hình 2.1.1)
Với sự ra đời của khái niện COM, công việc phát triển ứng dụng đã có những bước phát triển mạnh mẽ Từ những thư viện COM, lập trình viên có thể phát triển ứng dụng một cánh nhanh chóng (hình 2.1.2) Đồng thời người sử dụng
FILE NHỊ PHÂN THÔNG
THƯỜNG Component A Component B
Component C Component D
Ứng dụng truyền thống Ứng dụng COM
Hình 2.1.1
Trang 24cũng có thể tích hợp những component của mình vào những ứng dụng sẵn có [7]
Với sự gia tăng các yêu cầu tính toán, ứng dụng chạy trên nhiều máy tính khác nhau Microsoft đã đưa ra chuẩn DCOM để đáp ứng nhu cầu các ứng dụng phân tán - COM phân tán (Distributed COM: DCOM) - COM phân tán là những component mà có thể đươc truy xuất qua mạng [6] (hình 2.1.3)
COM là một đặc tả COM cung cấp cách thức để xây dựng các component mà chúng có thể liên kết với nhau COM đưa ra những chuẩn mà các component và client phải tuân theo để đảm bảo chúng có thể hoạt động được với nhau OLE
Component A
Componet B
Component C
Componet A Componet C
Remote Machine 2 Remote Machine 1
Hình 2.1.3
Trang 25là đặc tả COM thế hệ đầu tiên và được sử dụng rộng rãi trong các ứng dụng Sử dụng những ưu điểm của đặc tả COM, lĩnh vực tự động hóa công nghiệp đã đưa
ra khái niệm OPC (OLE for process control) Các thành phần COM liên kết với nhau thông qua các interface
Ở đây ta phân biệt rõ khái niệm interface của thành phần COM Interface của một DLL là tập hợp các hàm do DLL trưng ra, interface của một lớp C++ là tập hợp các thành viên của lớp đó, một interface của thành phần COM cũng là tập hợp của các hàm mà COM hiện thực và client sử dụng
Đối với COM, interface là một cấu trúc vùng nhớ cụ thể chứa một dãy các con trỏ hàm (hình 2.1.5)
Thành phần COM Các interface
Mô hình thành phần COM Hình 2.1.4
Trang 26Một thành phần COM có thể có rất nhiều interface, mỗi interface có thể có rất nhiều hàm
2.2 OPC
2.2.1 Tổng quan
OPC (OLE for Process Control) là một chuẩn mới do các hãng sản xuất thiết bị, các hãng tích hợp hệ thống hàng đầu thế giới cùng với hãng phần mềm Microsoft tạo ra nhằm đưa đến một chuẩn chung trong công nghiệp nhằm tiết kiệm chi phí lắp đặt, bảo trì, sửa chữa, mở rộng của hệ thống sản xuất công nghiệp Các yêu cầu đưa đến việc tạo ra một chuẩn chung OPC [14]
Mô hình thông thường không sử dụng OPC (hình 2.2.1) Mỗi một ứng dụng muốn truy xuất vào các thiết bị thì phải sử dụng các driver của từng thiết bị Điều này rất hạn chế trong việc mở rộng và phát triển ứng dụng Rõ ràng, một ứng dụng muốn liên kết với n thiết bị theo n giao thức khác nhau thì ứng dụng đó phải hình thành n thành phần để liên kết với n driver khác nhau đó Điều này là hạn chế rất lớn trong vấn đề truy xuất thông tin thiết bị Để khắc phục khuyết điểm này, khái niệm OPC ra xuất hiện
Fx1 Fx2 Fx3 Fxn
IX
Mô hình interface IX Hình 2.1.5
Trang 27Mô hình có sử dụng OPC (hình 2.2.2) có nhiều ưu điểm hơn mô hình không có sử dụng OPC Các ứng dụng muốn truy xuất thông tin của các thiết bị, nó không cần quan tâm đến driver của các thiết bị, mà chỉ biết cách truy xuất qua một chuẩn chung đó là COM COM là chuẩn phần mềm của Microsoft Nhưng khuyết điểm của điều này là các hệ điều hành khác không chạy các thành phần COM được
OPC có nhiều đặc tả tương ứng với các mục đích khác nhau: OPC DA, OPC HDA, OPC A&E, OPC XML,…Trong phạm vi đề tài chỉ giới thiệu OPC DA, OPC XML OPC DA (Data Access) dùng truy xuất dữ liệu động với các thiết bị trường OPC XML là OPC dựa trên ngôn ngữ XML
OPC dựa trên các khái niệm components của Microsoft Do vậy nó mang đầy đủ các đặc tính của một thành phần COM Một OPC Client có thể kết nối với nhiều OPC Server của nhiều nhà cung cấp khác nhau thông qua các interface được chuẩn hóa (hình 2.2.3) Đây là ưu điểm của OPC
OPC phân biệt hai loại interface: custom interface và automation
interface Có hai cách truy xuất OPC server thông qua hai loại interface (hình 2.2.4) Automation Wrapper là một DLL dùng để chuyển đổi những triệu gọi hàm từ automation interface sang custom interface [14]
Trang 28ABB AC800M
Télémécanique TSX
AC800M OPC server OPC server Schneider
Siemens OPC server
OperatorIT Historian
(Information Manager)
Siemens S7 Mô hình sử dụng OPC
driver
Profinet driver
history data base
Mô hình không sử dụng OPC
Hình 2.2.1
Trang 29C++
Server
VB Appication Automation Wrapper
Custom Interface
Automation Interface
Custom Interface
Trang 302.2.2 Các đối tượng (Objects) và các giao tiếp (Interfaces)
Đối tượng OPCServer (hình 2.2.5) cung cấp cách thức để truy xuất (Read/Write) hoặc liên lạc với các nguồn dữ liệu OPC Client kết nối với OPC Server và liên lạc với OPC Server thông qua các giao tiếp (Interfaces) Đối tượng OPCServer cung cấp cho OPC Client các chức năng tạo và quản lý các đối tượng OPCGroup (hình 2.2.6) Các group này cho phép Client tổ chức dữ liệu mà chúng muốn truy xuất Một nhóm (group) có thể tích cực (active) hay không tích cực Một nhóm (group) cũng cung cấp cho Client cách thức “subscribe” danh sách các Items để chúng được cập nhật khi chúng thay đổi
Hình 2.2.5
Hình 2.2.6
Trang 31Các custom interface của các object trong OPC Data Access (OPC DA) [20]
OPCServer (phụ lục, phụ lục 1)
IOPCServer IOPCServerPublicGroups (optional) IOPCBrowseServerAddressSpace (optional) IOPCItemProperties (new 2.0)
IConnectionPointContainer (new 2.0) IOPCCommon (new 2.0)
IPersistFile (optional) OPCGroup (phụ lục, phụ lục 1)
IOPCGroupStateMgt IOPCPublicGroupStateMgt (optional) IOPCASyncIO2 (new 2.0)
IOPCAsyncIO (obsolete - V1) IOPCItemMgt
IConnectionPointContainer (new 2.0) IOPCSyncIO
IDataObject (obsolete - V1) EnumOPCItemAttributes IEnumOPCItemAttributes
2.2.3 Đặc tả OPC Data Access (OPC DA)
OPC Data Access bao gồm Data Access Client và Data Access Server
Trang 32truy xuất vào thanh ghi của PLC thông qua truyền thông nối tiếp Data Access Server có thể là một thành phần trong một chương trình lớn hơn (PC based control) [14]
Đặc tả Data Access định nghĩa hai khái niệm mà Data Access Server hiện thực và Data Access Client sử dụng – không gian tên (Namespace) và cấu trúc phân cấp các đối tượng OPC
Không gian tên (namespace) chứa toàn bộ nguồn dữ liệu và các liên kết dữ liệu của Server Không gian tên có hai dạng: dạng theo cấu trúc cây (hierarchical namespace) và dạng phẳng (flat namespace) Trong cấu trúc không gian tên có hai khái niệm đó là Node và lá (leaves) còn gọi là các items Các node và item tượng trưng cho nguồn dữ liệu và liên kết dữ liệu của server Bên cạnh đó node và item còn chứa đựng thuộc tính (propertis) của bản thân node và item OPC Client có thể truy xuất vào các item này để lấy dữ liệu (hình 2.2.7)
Mô hình liên kết với thành phần windows (hình 2.2.8) thể hiện rõ hơn khái niệm truy xuất truy xuất thông tin
Đối tượng OPC (OPC object) bao gồm OPCServer, OPCGroup, OPCItem Trong đó OPCServer, OPCGroup là các đối tượng COM thực sự, trong khi OPCItem không phải là đối tượng COM Đối tượng OPCItem tượng trưng cho lá (leave) hay là thuộc tính của lá và node trong không gian tên
Chuẩn dữ liệu trao đổi giữa OPC server và OPC client bao gồm 3 thành phần:
1 Dữ liệu thật sự (value data): trong việc trao đổi dữ liệu giữa server và client và ngược lại, tất cả các đặc tả OPC sử dụng kiểu dữ liệu DCOM gọi là VARIANT Việc ánh xạ kiểu dữ liệu từ ứng dụng đặc biệt sang kiểu dữ liệu VARIANT được thực hiện tại server hoặc client Thể hiện giá trị của tag
Trang 332 Nhãn thời gian (time stamp): time stamp là kiểu dữ liệu dài 8 byte thể hiện thông tin thời gian của bản thân tag
3 Thông tin trạng thái: thể hiện trạng thái của tag
Cấu trúc phân lớp của chương trình OPC Server (hình 2.2.9)
Client component
Server component Hình 2.2.7
Trang 34OPC Client
OPCServer
OPCGroup OPCGroup
OPCItem OPCItem OPCItem OPCItem
Windows drivers Protocol FieldBus
Device Specific Protocol Logic Hardware Connection Management
CAÁU TRUÙC OPC SERVER
Hình 2.2.9
Trang 35Cấu trúc cây của OPC server minh họa (hình 2.2.10) thể hiện các tag trong OPC server Các tag này được kết nối với các thiết bị vật lý thông qua các giao thức trường Mối quan hệ giữa các item và các tag (hình 2.2.11) khi Client truy xuất vào OPC Server để lấy thông tin
Mỗi client cấu trúc các items bởi các group, độc lập với
server
Khi khởi động, client truy tìm trong cấu trúc của server
có item mà nó cần hay không
Mỗi client đăng kí các group và item của nó tại server
và server lưu giữ cấu trúc các item của nó
Temperature Heat_On TAG TAG Server root
GroupX
Level TAG
Area 1
Oven_1
Tank_1
GroupZ Client1
Item1 Item2 Item3 Item1 Item2
server
clients
Client2
Một OPC server được cấu trúc dạng cây với root, branches và leaves (items)
Nhánh có thể chứa nhánh khác và items
Cấu trúc không gian tên có thể là dạng cây hoặc dạng flat
Controller 1
Machine 2
Controller 2
Controller_3.Prog_2 Controller_3.Prog_1
Cell 1
Level_1 Level_2 Ramp4
TA
G TA
G TA
G
An item được định nghĩa bởi
"fully qualified ItemID", của nó
OPC Server hiển thị các object
Hình 2.2.10
Trang 36Quá trình truyền thông Write của mỗi group: đồng bộ (synchronous) và bất đồng bộ (Asynchronous) (hình 2.2.12)
Mô hình truyền thông đọc đồng bộ và bất đồng bộ của mỗi Group (hình 2.2.13)
Mô hình Subcribe và cập nhật dữ liệu(hình 2.2.13)
synchronous asynchronous
myGroup.SynchRead()
client
Call Reply
myGroup.AsyncRead()
myGroup_AsyncReadComplete()
server
Call Reply
Quá trình READ Hình 2.2.13
myGroup.SynchWrite()
client
Call Reply
y
Quá trình WRITE Hình 2.2.12
Trang 37Mô hình truyền thông Subcribe, cập nhật dữ liệu và Refresh (hình 2.2.15) Mô hình truy xuất thông tin từ thiết bị trường đến ứng dụng (hình 2.2.16) với hai trường hợp là Cache và Device
server client
Subscribe
Notify
myGroup.IsSubscribed
myGroup_DataChange() myGroup_DataChange()
myGroup.IsSubscribed
myGroup_DataChange() myGroup_DataChange()
Server cập nhật Client khi dữ liệu thay đổi
- trong một group cụ thể (myGroup_DataChange) or
- trong bất kỳ group nào (myGroups_GlobalDataChange)
Trong trường hợp thứ hai, chỉ có những group nào có dữ liệu thay đổi mới được cập nhật
Trang 38Như vậy khi nào dữ liệu đã đăng ký (subscribed data) được truyền đi? Một
Group có hai đặc tính điều khiển khi nào dữ liệu thay đổi được truyền đi
+ Refreshrate: là tỉ lệ mà server lấy mẫu giá trị – được tính bằng giây (1/rate) + Deadband: chỉ áp dụng cho các giá trị analog Deadband = % tầm (in Engineer Unit) Giá trị deadband được truyền đi nếu sai lệch với lần truyền trước đó vượt quá giá trị deadband Deadband áp dụng cho toàn bộ group, không xem xét đến các item cụ thể, và ít khi sử dụng
fieldbus
client application (OPC client) OPC server cache
fieldbus device
fieldbus device
fieldbus connection
server lấy mẫu các items
(at the RequestedUpdateRate)
và đặt chúng vào cache
synchronous call over the field bus to the end device (takes a while)
no need for “device access” when
fieldbus operates cyclically…
FB manager
proprietary protocol
"SynchRead" đọc dữ liệu từ cache (local to
the PC) hoặc đọc đồng bộ từ device (thiết
bị)
"Write" thì luôn luôn vào device
(DA 3.0 cho phép viết vào cache)
Trang 392.3 Webservice và OPC XML
2.3.1 Giới thiệu về Web Service
Web Service mở rộng khái niệm xử lý phân tán (distributed processing) và dùng xây dựng những cấu kiện (components) Theo đấy các hàm hành sự của cấu kiện có thể được triệu gọi thông qua Internet Các cấu kiện này (components) có thể được xây dựng từ bất kỳ ngôn ngữ nào tương thích với NET, và các cấu kiện này có thể liên lạc sử dụng những nghi thức (protocol) mở mang tính độc lập với platform (platform-independent) Một Web Service là một đoạn mã managed đơn vị (điển hình được cài đặt dưới IIS) mà ta có thể triệu gọi từ xa sử dụng HTTP [24]
Web Service bao gồm 3 công nghệ hỗ trợ: một ngôn ngữ mô tả được gọi là WSDL (Web Service Description Language), một nghi thức truyền tin (protocol, chẳng hạn HTTP GET, HTTP POST hoặc SOAP), một dịch vụ phát hiện (discovery service, được thể hiện bởi các tập tin *.vdisco)
2.3.2 Vai trò của Web Service
Trước kia, truy cập từ xa các đoạn mã nhị phân đòi hỏi những nghi thức thuộc sàn diễn đặc trưng (và thỉnh thoảng là ngôn ngữ đặc trưng) Ví dụ như DCOM, DCOM client truy cập các kiểu dữ liệu COM từ xa sử dụng các triệu gọi RPC (Remote Procedure Call) được gắn kết chặt chẽ CORBA cũng đòi hỏi các nghi thức được gắn kết chặt chẽ để hiện dịch những kiểu dữ liệu từ xa, EJB (Enterprise Java Beans) đòi hỏi một nghi thức đặc trưng và ngôn ngữ đặc trưng (Java)
Một trong các hạn chế của DCOM là không thể vượt qua tường lửa
Trang 40HTTP là một nghi thức liên lạc đặc thù mà tất cả mọi sàn diễn đều chấp nhận hỗ trợ
Như vậy, sử dụng Web Service, người triển khai Web Service có thể sử dụng bất cứ ngôn ngữ nào mình muốn Người tiêu thụ Web Service có thể dùng HTTP chuẩn để triệu gọi các hàm hành sự trên những kiểu dữ liệu được định nghĩa trên Web Service (hình 2.3.1)
Người sử dụng Web Service không nhất thiết là client sử dụng Browse, có thể là ứng dụng console hoặc Windows Form Trong mỗi trường hợp, client tương tác gián tiếp với Web Service thông qua một proxy trung gian Proxy được xem như là một kiểu dữ liệu nằm ở xa Tuy nhiên, đoạn mã của proxy có nhiệm vụ chuyển những yêu cầu cho Web Service sử dụng HTTP chuẩn hoặc tuỳ chọn các thông điệp SOAP
Application Phương thức
Hình 2.3.1