Nó được cài đặt, và chạy trên máy tính dùng làm WebServer, nhờ có chương trình này mà người sử dụng có thể truy cập đến các thôngtin của trang Web từ một máy tính khác ở trên mạng Intern
Trang 1LỜI NÓI ĐẦU
Trong quá trình công nghiệp hóa – hiện đại hóa đất nước Tự độnghóa là yếu tố không thể thiếu trong một nền công nghiệp hiện đại Nói đến tựđộng hóa thì máy tính là một công cụ hỗ trợ đắc lực nhất và không thể thiếu đượctrong rất nhiều lĩnh vực, đặc biệt là trong đo lường, điều khiển và giám sát
Việc ứng dụng máy tính vào kỹ thuật đo lường, điều khiển và giám sát
đã đem lại nhiều kết quả đầy tính ưu việt Các thiết bị, hệ thống đo lường, điềukhiển và giám sát ghép nối với máy tính có độ chính xác cao, thời gian thu thập
dữ liệu ngắn Nhưng điều đáng quan tâm nhất là mức độ tự động hóa trong việcthu thập và xử lý kết quả đo, kể cả việc lập bảng thống kê, đồ họa, cũng như in rakết quả Vì vậy, tôi chọn đề tài “WEB SERVER GIÁM SÁT HỆ THỐNG”
Đề tài của tôi nghiên cứu về Web Server đặc biệt đó là phần OPCServer và phần mềm WinCC Web Navigator để giám sát hệ thống Đồng thời sửdụng mạng LAN thực thi ứng dụng điều khiển hệ thống đèn giao thông Trong đó
có một máy server kết nối với PLC điều khiển và giám sát yêu cầu chấp hành từmáy client; hai máy còn lại là máy client cho phép gởi yêu cầu chấp hành
Trong quá trình làm luận văn mặc dù được sự hướng dẫn tận tình củagiáo viên hướng dẫn Th.S Hoàng Đình Long và bản thân tác giả cũng đã cố gắngtham khảo tài liệu và tìm hiểu nhưng do thời gian và kinh nghiệm còn hạn chếnên luận văn không thể tránh khỏi những thiếu sót Tác giả rất mong nhận đượcnhững ý kiến đóng góp và nhận xét đánh giá quí báu của các thầy cô và các bạn
để luận văn được hoàn thiện hơn
Tôi xin chân thành cảm ơn sự hướng dẫn tận tình và chu đáo của cácthầy cô trong khoa đặc biệt giáo viên hướng dẫn Th.S Hoàng Đình Long đã giúp
đỡ tôi rất nhiều để tôi hoàn thành được luận văn này
Xin chân thành cám ơn
SVTH: LƯU TIẾN ĐẠT
Trang 2NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Ngày 09 tháng 07 năm 2009 GIÁO VIÊN HƯỚNG DẪN
Th.S HOÀNG ĐÌNH LONG
Trang 3NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 1
Ngày … tháng … năm 200… GIÁO VIÊN PHẢN BIỆN
Trang 4NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 2
Ngày … tháng … năm 200… GIÁO VIÊN PHẢN BIỆN
Trang 5MỤC LỤC
LỜI NÓI ĐẦU 1
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 2
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 1 3
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 2 4
MỤC LỤC 5
DANH MỤC HÌNH 6
CHƯƠNG 1: TỔNG QUAN VỀ WEB SERVER 9
1.1.Giới thiệu Web server 9
1.2.Vai trò của Web server [7] 11
1.3.Tầm quan trọng của web server [7] 11
1.4.Các tiêu chuẩn đánh giá [7] 12
1.4.1.Hiệu năng 12
1.4.2.Bảo mật 12
1.4.3.Truy cập và tích hợp với cơ sở dữ liệu 13
1.4.4.Quản lý và quản trị web server 13
1.5.Nền tảng cơ bản của web server [7] 13
1.5.1.Xử lý truy nhập cạnh tranh 14
1.5.2.Bảo mật 14
1.5.3.Lưu trữ và truy nhập cơ sở dữ liệu 15
1.5.4.Lựa chọn cuối cùng 15
CHƯƠNG 2: OPC SERVER 16
CHƯƠNG 3: WINCC - WEB NAVIGATOR 28
CHƯƠNG 4: THIẾT LẬP WEB NAVIGATOR 38
CHƯƠNG 5: ỨNG DỤNG MINH HỌA 55
CHƯƠNG 6: ĐÁNH GIÁ VÀ KẾT LUẬN 62
TÀI LIỆU THAM KHẢO 63
PHỤ LỤC: GIỚI THIỆU CHUẨN COM VÀ DCOM 64
Trang 6DANH MỤC HÌNH
LỜI NÓI ĐẦU 1
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 2
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 1 3
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 2 4
MỤC LỤC 5
DANH MỤC HÌNH 6
CHƯƠNG 1: TỔNG QUAN VỀ WEB SERVER 9
1.1.Giới thiệu Web server 9
1.2.Vai trò của Web server [7] 11
1.3.Tầm quan trọng của web server [7] 11
1.4.Các tiêu chuẩn đánh giá [7] 12
1.4.1.Hiệu năng 12
1.4.2.Bảo mật 12
1.4.3.Truy cập và tích hợp với cơ sở dữ liệu 13
1.4.4.Quản lý và quản trị web server 13
1.5.Nền tảng cơ bản của web server [7] 13
1.5.1.Xử lý truy nhập cạnh tranh 14
1.5.2.Bảo mật 14
1.5.3.Lưu trữ và truy nhập cơ sở dữ liệu 15
1.5.4.Lựa chọn cuối cùng 15
CHƯƠNG 2: OPC SERVER 16
Hình 2.1: Mô hình OPC server 17
Hình 2.2: OPC client 17
Hình 2.3: Mối quan hệ giữa OPC server / client 18
Hình 2.4: Mối quan hệ giữa server và Group 18
Hình 2.5: Mối quan hệ giữa Group / Item 19
Hình 2.6: OPC interface 21
Hình 2.7: Kiến trúc Client/Server trong OPC 22
Hình 2.8: OPC Custom Interfaces 23
Hình 2.10: Ví dụ về mạng OPC 25
CHƯƠNG 3: WINCC - WEB NAVIGATOR 28
Hình 3.1: WinCC SCADA Client, Web server và hệ thống client khác trong web với trung tâm lưu trữ cơ sở dữ liệu 29
Hình 3.2: Thin client trên các nền điều hành khác nhau trong WinCC Web Navigator server 32
Trang 7Hình 3.3: Trạm web server (tải cân bằng) với nhiều web client 32
Hình 3.4: Hệ thống đa người dùng lên đến 32 client trên một server 34
Hình 3.5: Mã hóa Manchester 35
CHƯƠNG 4: THIẾT LẬP WEB NAVIGATOR 38
Hình 4.1: Cài đặt Internet Information Services (IIS) 39
Hình 4.2: Quá trình cài đặt IIS 39
Hình 4.3: Cấu hình WinCC Web Navigator (1) 40
Hình 4.4: Cấu hình WinCC Web Navigator (2) 41
Hình 4.5: Cấu hình WinCC Web Navigator (3) 41
Hình 4.6: Kiểm tra trang Web mặc định 42
Hình 4.7: Phát hành trang Web bằng Wizard 43
Hình 4.8: Chọn đường dẫn cho trang Web 44
Hình 4.9: Chọn hình ảnh đưa lên trang Web 44
Hình 4.10: Chọn Function đưa lên trang Web 45
Hình 4.11: Chọn Graphic đưa lên trang Web 46
Hình 4.12: Hoàn thành quá trình đưa lên Web (1) 46
Hình 4.13: Hoàn thành quá trình đưa lên Web (2) 47
Hình 4.14: Đặt tên và password cho user 48
Hình 4.15: Thiết lập chức năng truy cập cho user 48
Hình 4.16: Cấu hình cho Local Intranet (1) 49
Hình 4.17: Cấu hình cho Local Intranet (2) 50
Hình 4.18: Cấu hình cho Local Intranet (3) 51
Hình 4.19: Hộp thoại đăng nhập vào hệ thống 52
Hình 4.20: Giao diện lần đầu tiên dùng WinCC Web Navigator 52
Hình 4.21: Cài đăt Web Navigator trên máy client thông qua Web 53
Hình 4.22: Hộp thoại lưu chương trình cài đặt Web Navigator 53
Hình 4.23: Hình ảnh hiển thị trên Internet Explorer của server 54
CHƯƠNG 5: ỨNG DỤNG MINH HỌA 55
Hình 5.1: Tạo biến trong PCAccess 59
Hình 5.2: Liên kết biến ngoại giữa WinCC với PCAccess 59
Hình 5.3: Liên kết biến nội trong WinCC 60
Hình 5.4: Kết quả Runtime trong WinCC 60
Hình 5.5: Kết quả giao diện Client 1 trên Internet Explorer 61
Hình 5.6: Kết quả giao diện Client 2 trên Internet Explorer 61
CHƯƠNG 6: ĐÁNH GIÁ VÀ KẾT LUẬN 62
TÀI LIỆU THAM KHẢO 63
Trang 8PHỤ LỤC: GIỚI THIỆU CHUẨN COM VÀ DCOM 64
Trang 9CHƯƠNG 1: TỔNG QUAN VỀ WEB SERVER
1.1. Giới thiệu Web server
Web Server là máy chủ có dung lượng lớn, tốc độ cao, được dùng đểlưu trữ thông tin như một ngân hàng dữ liệu, chứa những website đã được thiết
kế cùng với những thông tin liên quan khác (các mã Script, các chương trình, vàcác file Multimedia)
Web Server có khả năng gửi đến máy khách những trang Web thôngqua môi trường Internet (hoặc Intranet) qua giao thức HTTP - giao thức đượcthiết kế để gửi các file đến trình duyệt Web (Web Browser), và các giao thứckhác
Tất cả các Web Server đều có một địa chỉ IP (IP Address) hoặc cũng
có thể có một Domain Name Giả sử khi đánh vào thanh Address trên trình duyệtmột dòng http://www.abc.com sau đó gõ phím Enter Khi đó trình duyệt sẽ gửimột yêu cầu đến một Server có Domain Name là www.abc.com Server này sẽtìm trang Web có tên là index.htm rồi gửi nó đến trình duyệt
Bất kỳ một máy tính nào cũng có thể trở thành một Web Server bởiviệc cài đặt lên nó một chương trình phần mềm Server Software và sau đó kết nốivào Internet
Khi máy tính kết nối đến một Web Server và gửi đến yêu cầu truy cậpcác thông tin từ một trang Web nào đó, Web Server Software sẽ nhận yêu cầu vàgửi lại cho mình những thông tin mà mình mong muốn
Giống như những phần mềm khác, Web Server Software cũng chỉ làmột ứng dụng phần mềm Nó được cài đặt, và chạy trên máy tính dùng làm WebServer, nhờ có chương trình này mà người sử dụng có thể truy cập đến các thôngtin của trang Web từ một máy tính khác ở trên mạng (Internet, Intranet)
Web Server Software còn có thể được tích hợp với CSDL (Database),hay điều khiển việc kết nối vào CSDL để có thể truy cập và truy xuất thông tin từCSDL lên các trang Web và truyền tải chúng đến người dùng
Trang 10Server phải hoạt động liên tục 24/24 giờ, 7 ngày một tuần và 365 ngàymột năm, để phục vụ cho việc cung cấp thông tin trực tuyến Vị trí đặt serverđóng vai trò quan trọng trong chất lượng và tốc độ lưu chuyển thông tin từ server
20 FTP, File Transfer Protocol
21 FTP, File Transfer Protocol
23 Telnet
25 SMTP, Simple Mail Transfer Protocol
53 DNS, Domain Name Service
70 Gopher
80 HTTP, Hyper Text Transfer Protocol (the protocol used by the
World Wide Web)
107 Remote Telnet service
109 POP2, Post Office Protocol version 2
110 POP3, Post Office Protocol version 3
119 NNTP, Network News Transfer Protocol
143 IMAP4, Interactive Mail Access Protocol version 4 (used to be
used by IMAP2)
194 IRC, Internet Relay Chat
220 IMAP3, Interactive Mail Access Protocol version 3
389 LDAP, Lightweight Directory Access Protocol
Trang 11443 HTTPS, HTTP running over secure sockets
540 UUCP, UNIX to UNIX Copy
1.2. Vai trò của Web server [7]
Trước kia, truy cập từ xa các đoạn mã nhị phân đòi hỏi những giaothức thuộc sàn diễn đặ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 thủ tục gọi từ xa RPC (Remote Procedure Call) đượcgán kết chặt chẽ
Một trong các hạn chế của DCOM là không thể vượt qua tường lửa(firewall) Do vậy, Web server là cách khắc phục nhược điểm này Bằng cách sửdụng Web server ta có thể truy cập assembly sử dụng HTTP mà thôi Trong tất
cả các nghi thức hiện có, truy xuất thông tin và điều khiển quá trình công nghệtrên nền tảng Web HTTP là một nghi thức liên lạc đặc thù mà tất cả mọi trìnhduyệt đều chấp nhận hỗ trợ
Như vậy, sử dụng Web server, người triển khai Web server có thể sửdụng bất cứ ngôn ngữ nào mình muốn Người dùng Web server có thể dùngHTTP chuẩn để gọi các hàm thực thi trên những kiểu dữ liệu được định nghĩatrên Web server
Người sử dụng Web server không nhất thiết là client sử dụngBrowser, có thể là ứng dụng console hoặc Windows Form Trong mỗi trườnghợp, client tương tác gián tiếp với Web server thông qua một proxy trung gian,proxy được xem 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 server sử dụng HTTP chuẩn hoặc tùychọn các thông điệp SOAP
1.3. Tầm quan trọng của web server [7]
Việc lựa chọn giải pháp tốt nhất cho web server là cần thiết và có ảnhhưởng tới việc phát triển các ứng dụng nghiệp vụ sau này Web server có tầmquan trọng đặc biệt trong toàn bộ môi trường hoạt động của xí nghiệp
Web server cho phép chuyển giao dữ liệu bao gồm văn bản, đồ họa vàthậm chí cả âm thanh, video tới người sử dụng Người sử dụng chỉ cần chạy trình
Trang 12duyệt web (Web Browser) để liên kết các máy chủ qua mạng IP nội bộ yêu cầucủa người sử dụng được đáp ứng bằng cách click chuột vào các chủ đề minh họamẫu theo yêu cầu sẽ được gọi xuống từ máy chủ nào đó theo giao thức HTTP rồihiển thị trên máy cá nhân.
Các thành phần chủ chốt của web server là phần mềm Mỗi Webserver chạy trên một nền tảng phần cứng và một hệ điều hành cụ thể Nhưng việctạo các web server phục vụ cho hoạt động nghiệp vụ là vấn đề không dễ dàng.Ngoài việc lựa chọn ra một web server thích hợp và mạnh, người quản lý cònphải chú ý đến thiết kế mạng vì một web server thiết kế không tốt có thể dẫn đếngiảm hiệu năng mạng
1.4. Các tiêu chuẩn đánh giá [7]
Nói về chức năng và hiệu năng, các web server phân bố thành bốnnhóm chính: các máy chủ truyền thông thường, máy chủ thương mại, máy chủnhóm làm việc và máy chủ dùng cho mục đích đặc biệt Các tiêu chuẩn đánh giáweb server như sau:
Trang 131.4.3 Truy cập và tích hợp với cơ sở dữ liệu
Hầu hết các web server đều sử dụng giao diện CGI (CommonGateway Interface) Một số khác thì dùng giao diện lập trình ứng dụng (API),liên kết với cơ sở dữ liệu mở hoặc ngôn ngữ hỏi đáp có cấu trúc SQL
Đặc tính quan trọng của tiêu chuẩn này là khả năng quản trị từ xa,giao diện đồ họa và điều khiển cấu hình máy chủ Các máy chủ truyền thôngthường được xây dựng để truyền thông tin trên mạng công cộng và thường mang
cả bốn tiêu chuẩn nhưng thiếu khả năng hỗ trợ bảo mật Các máy chủ thương mại
có đặc tính này sẽ thuận lợi cho sữ lý ứng dụng nghiệp vụ có liên quan đến cácvấn đề như giao dịch thẻ ứng dụng Máy chủ nhóm làm việc, mạng IP nội bộ hayintranet, các máy chủ này sử dụng firewall nhằm bảo mật và ngăn chặn truy cậpbất hợp pháp
1.5. Nền tảng cơ bản của web server [7]
Một vấn đề quan trọng cần phải cân nhắc trước tiên là vợi hệ điềuhành nào sẽ chạy web server Web server xuất phát từ Unix, môi trường đã đượchoàn thiện qua thử thách Bởi vậy, một công ty thông thường sẽ chọn Unix nếumuốn đảm bảo chắc chắn Ngoài ra, quan trọng hơn, khả năng hỗ trợ nhiều bộ xử
lý và liên kết lại là lĩnh vực ưu thế của Unix trước Windows NT
Hiện tại, có thể nói là tính năng của các web server không hơn kémbao nhiêu và các nhà quản lý thường muốn sử dụng những công cụ điều hành màcác nhà sản xuất cung cấp cho các hệ điều hành đó Bởi vậy, theo nhận xét thìmôi trường Unix có những công cụ quản lý tinh vi hơn
Tuy nhiên, Windows NT được đánh giá là hệ điều hành nhiều triểnvọng, dễ cài đặt, sử dụng và hơn nữa chi phí cho một hệ Intel chạy Windows NT
sẽ rẽ hơn một phần ba so với Unix, và đây có thể là ưu thế lớn nhất của Windows
NT Microsoft và Novell đều đang cố gắng đẩy mạnh hệ điều hành mạng của họ,
mở rộng chức năng cho web server, bổ sung công cụ quản lý mà lâu nay kháchhàng than phiền vì sự thiếu vắng của nó Ngoài ra, cả hai cũng đang thực hiệnviệc kết nối hệ thống sever với các hệ thống email của người quản lý
Trang 141.5.1 Xử lý truy nhập cạnh tranh
Web server thường phải xử lý một số lượng lớn yêu cầu giao dịch mỗingày Để giải quyết vấn đề này, hầu hết các máy chủ thương mại đều chạy các hệđiều hành đa nhiệm như Unix Solaris, SCO, NFS, Windows NT và OS/2
Mặt khác, hiệu năng còn phụ thuộc vào chính các web server trongviệc xử lý đa luồng Với web server đa luồng, một tiến trình được tách thànhnhiều tiến trình con (hay các luồng) Các luồng có thể được thực hiện đồng thờitrên các tài nguyên khác nhau rồi sau đó có thể ghép lại để hoàn thiện quá trình.Các web server không hỗ trợ đa luồng thường là các sản phẩm miễn phí, cần phảikhởi động tiến trình mới mỗi khi người sử dụng gởi yêu cầu tới Một số ít sảnphẩm như Oracle web server cung cấp khả năng đa luồng Điểm khác biệt chính
là, với đa luồng, hệ điều hành kiểm soát các luồng khác nhau, còn với giả đaluồng tiến trình nó tự kiểm soát các luồng và cấp phát tài nguyên cần thiết chochúng Kỹ thuật giả đa luồng mang lại hiệu năng tốt hơn nhiều so với đa luồng
Web server thương mại điều có cùng một dạng điều khiển truy nhậpchống xâm phạm Một số web server cung cấp hàng loạt các lựa chọn điều khiểntruy nhập cho người quản trị như địa chỉ IP, tên máy khách, tập tin, thư mục, tênngười dùng và nhóm người dùng Cơ cấu bảo mật có thể nằm trong web serverhoặc trong hệ điều hành hay các thành phần liên kết
Các web server xử lý thông tin mật giống như trong các ứng dụngthương mại điện tử cần thiết bảo mật giao tác Với tính năng này, truyền thôngtrên mạng giữa khách hàng và máy chủ được mã hóa
Giao thức được sử dụng cho bảo mật gồm Secure Sockets Layer(SSL) và Secure HTTP (SHTTP) Giao thức được sử dụng nhiều nhất là SSL, mãhóa toàn bộ phiên giao tác khách hàng/chủ SHTTP là loại hướng tập tin Thay vì
mã hóa toàn bộ giao tác, giao thức này mã hóa các văn bản Web, sử dụng cho cảmáy khách và máy chủ Tuy nhiên, việc mã hóa dữ liệu phải dựa trên sự nhấtquán về thuật toán giữa máy chủ và máy khách
Trang 151.5.3 Lưu trữ và truy nhập cơ sở dữ liệu
Một lĩnh vực mà các nhà cung cấp web server đang bắt đầu khai phá
là các giao thức dữ liệu, văn bản web lưu trữ và truy nhập như thế nào Phươngpháp thông thường nhất là dữ liệu được lưu dưới dạng các tập tin riêng rẽ trêncác máy chủ khác nhau Tuy vậy, một vấn đề sẽ xuất hiện đối với các web serverlớn bởi vì một số lớn tập tin tăng lên không ngừng làm cho máy chủ ngày càngkhó khăn trong việc kết xuất dữ liệu
Việc lập kế hoạch web server không kết thúc ở lựa chọn sản phẩm.Người quản trị mạng cần phải lưu tâm đến vấn đề trước khi cài đặt và cấu hìnhweb server Các vấn đề đó liên quan đến thiết kế mạng, độ tin cậy của máy và giácả
Trước khi đưa vào sử dụng web server, người quản trị mạng cần đảmbảo kiến trúc hạ tầng cho việc xử lý giao dịch về web, chẳng hạn như dự tính lưulượng yêu cầu tới, kích thước đường truyền, vị trí các bộ router và cấu hình củamạng nội bộ
Một vấn đề khó nhận ra nữa là các web server cần thiết phải có khảnăng xử lý hoặc chịu các lỗi và tính dư thừa hay phân đoạn sản phẩm
Một cách để đảm bảo độ tin cậy máy chủ là sử dụng kỹ thuật gọi làDNS (Domain Name Server) trong đó có một máy chủ là ánh xạ dữ liệu của mộtmáy chủ có địa chỉ IP khác Nhưng cái khó là làm thế nào để đảm bảo tại mọi lúchai máy chủ đều giống nhau
Hầu hết các sản phẩm web server đều có giá vài nghìn đôla Nhưngthực tế việc này còn liên quan đến giá phát triển, bảo trì và điều hành hệ thống,nghĩa là, khả năng phát triển của nhà cung cấp web server, đội ngũ bảo trợ tại địaphương cũng như việc huấn luyện đào tạo có chất lượng
Trang 16CHƯƠNG 2: OPC SERVER
2.1. Giới thiệu chung về OPC
OLE for Process Control (OPC) được xây dựng và phát triển bởi OPCFoundation (gồm 150 công ty thành viên trong đó có Microsoft Corporation).OPC dựa trên kỹ thuật Microsoft’s Object Linking and Embeddeding (OLE) vàComponent Object Model (COM) OLE cung cấp một chuẩn giao tiếp chung chonhững thiết bị và những ứng dụng dùng để giao tiếp Những thiết bị mà thu thậphoặc hình thành dữ liệu trở thành OPC server, nó cung cấp cho những ứng dụngcủa OPC client
Trọng tâm của OPC là mô hình client/ server trong đó OPC servercung cấp và giao tiếp đến đối tượng của OPC, cho phép những ứng dụng trênclient điều khiển thiết bị và quản lý dữ liệu của thiết bị Những OPC server có thểđược truy cập thông qua hầu hết các phần mềm HMI và dùng các ngôn ngữ khácnhau bao gồm C++, Visual Basic và Delphi OPC server tập hợp dữ liệu từ cácthiết bị vật lý để phân tán đến những ứng dụng của OPC client và cũng có tráchnhiệm cập nhật dữ liệu của thiết bị khi OPC client thay đổi
OPC client kết nối và giao tiếp với OPC server thông qua một tronghai giao thức được định nghĩa trong đặc điểm của OPC Giao tiếp OLE cho phépngười dùng truy cập dữ liệu thông qua việc sử dụng ngôn ngữ chung Giao tiếpCOM thì phức tạp hơn, nhưng cung cấp cấp điều khiển mới hơn và mềm dẽo chongười phát triển và người dùng thành thạo ngôn ngữ như là C hoặc C++ Nhữngứng dụng của OPC client có thể truy cập OPC server cục bộ trong máy tính hoặcmạng server
Trang 17Hình 2.1: Mô hình OPC server
2.2. Tổng quan OPC [1]
2.2.1. OPC Object và giao tiếp [1]
OPC client có thể kết nối đến OPC server được cung cấp bởi một hoặcnhiều nhà cung cấp
Hình 2.2: OPC clientOPC server có thể được cung cấp bởi nhiều nhà cung cấp Nhà cungcấp cung cấp mã xác định thiết bị và dữ liệu mà trên server truy cập
Trang 18Hình 2.3: Mối quan hệ giữa OPC server / client
2.2.2.
Ở mức độ cao, OPC DataAccess server bao gồm nhiều đối tượng:server, group và item Đối tượng OPC server duy trì thông tin từ server và servernhư là một nơi chứa các nhóm đối tượng OPC Nhóm đối tượng OPC lưu trữthông tin chính nó và cung cấp cơ cấu lưu trữ và sắp xếp các OPC item cục bộ
Hình 2.4: Mối quan hệ giữa server và GroupNhóm OPC cung cấp cách thức cho các client sắp xếp dữ liệu Dữ liệu
có thể được đọc hoặc ghi Ngoài ra, các kết nối cơ bản được tạo ra giữa client và
Trang 19item trong group còn có cho phép hoặc không cho phép kết nối OPC client cóthể cấu hình tốc độ để OPC server cung cấp dữ liệu truyền đến OPC client.
Có hai loại group: nhóm công cộng và nhóm cục bộ Nhóm công cộngthì dùng chia sẽ cho nhiều client, nhóm cục bộ thì chia sẽ cho client cục bộ.Trong mỗi nhóm client có thể có một hoặc nhiều OPC Item
Hình 2.5: Mối quan hệ giữa Group / ItemOPC Item đại diện cho kết nối nguồn dữ liệu bên trong server Giaodiện người dùng không thể truy cập OPC Item như là đối tượng bằng OPC client
Vì thế không có định nghĩa giao tiếp bên ngoài cho OPC Item Tất cả các OPCItem được truy cập thông qua nhóm đối tượng OPC mà chứa OPC Item, hoặcmột cách đơn giản hơn là nơi đó có định nghĩa OPC Item
Chú ý rằng, item không phải là nguồn dữ liệu mà nó chỉ là phươngtiện kết nối đến dữ liệu Ví dụ, các tag trong hệ thống DCS tồn tại bất chấp sựtruy cập hiện tại của OPC client OPC Item hiểu rằng đó là địa chỉ của dữ liệuchứ thật sự không phải là nguồn dữ liệu vật lý
2.2.3.
Phương thức giao tiếp này cung cấp cơ chế cho OPC client để thôngbáo sự cố của những sự kiện đặc biệt và điều kiện đưa ra cảnh báo Nó cũng cungcấp công cụ cho phép OPC client giải quyết sự kiện và điều kiện được hỗ trợ bởi
Trang 20OPC server, và biết tình trạng hiện tại Trong OPC, cảnh báo xuất hiện trong điềukiện bất thường và đặc biệt Cảnh báo có tên gọi là OPC Event Server.
Mặt khác, sự kiện là sự cố có thể phát hiện mà nó là tâm điểm củaOPC server, thiết bị, và OPC client Sự kiện có thể được liên kết hoặc không liênkết với điều kiện Ví dụ, trạng thái chuyển từ HighAlarm sang Normal là sự kiệnliên kết với điều kiện Tuy nhiên, hành động của người điều khiển, cấu hình hệthống thay đổi và lỗi hệ thống là ví dụ của sự kiện không liên quan đến điều kiện.OPC client có thể góp phần báo sự kiện đặc biệt của sự cố
Giao tiếp IOPCEventServer cung cấp phương thức cho phép OPCclient để:
• Giải quyết các sự kiện mà OPC server hỗ trợ
• Gia nhập vào nơi lưu trữ các sự kiện đặc biệt, để OPC client có thể nhậnthông báo sự cố Bộ lọc có thể được sử dụng để định nghĩa tập con các sựkiện mong muốn
• Truy cập và vận động bổ sung điều kiện vào OPC server
2.2.4. OPC Historical Data Access [1]
Hệ thống truy nhập quá khứ tạo ra nguồn thông tin bổ sung để phântán đến người dùng Hiện tại các hệ thống truy nhập quá khứ sử dụng giao thứcriêng để phổ biến dữ liệu
Có hai loại Historian server Đặc điểm từng loại như sau:
• Simple Trend data servers Những server này cung cấp dữ liệu lưu trữ thô(dữ liệu đặc thù có sẵn từ OPC Data Access server)
• Dữ liệu nén và phân tích server phức tạp Những server này cung cấp dữliệu nén cũng như dữ liệu lưu trữ thô Nó có khả năng cung cấp dữ liệutổng hợp hoặc có chức năng phân tích dữ liệu như là giá trị trung bình, lớnnhất và nhỏ nhất…; có thể hỗ trợ cập nhật dữ liệu và lịch sử cập nhật; cóthể hỗ trợ lưu trữ chú thích cùng với lưu trữ dữ liệu quá khứ
2.2.5.
• Cho phép các ứng dụng khai thác, truy nhập dữ liệu theo một cách đơngiản, thống nhất
• Hỗ trợ truy nhập dữ liệu theo cơ chế hỏi tuần tự (polling) hoặc theo sựkiện (event-driven)
• Được tối ưu cho việc sử dụng trong mạng công nghiệp
Trang 21• Kiến trúc không phụ thuộc vào nhà cung cấp thiết bị.
• Linh hoạt và hiệu suất cao
• Sử dụng được từ hầu hết các công cụ phần mềm SCADA thông dụng,hoặc bằng một ngôn ngữ bậc cao (C++, Visual Basic, Delphi, )
2.2.6. Kiến trúc và thành phần của OPC [1]
Đặc điểm của OPC luôn gồm hai phần giao tiếp: Custom Interfaces vàAutomation Interfaces
Hình 2.6: OPC interfaceNhư được minh họa trên Hình 2.6, hai kiểu đối tượng thành phần quantrọng nhất trong kiến trúc OPC là OPC Server và OPC Group Trong khi OPCServer có nhiệm vụ quản lí toàn bộ việc sử dụng và khai thác các dữ liệu, thì 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ànhtừng nhóm để tiện cho việc truy nhập Thông thường, mỗi item ứng với một biếntrong một quá trình kỹ thuật hay trong một thiết bị điều khiển
2.2.6.1.
OPC Server [6]
OPC Server là một đối tượng phân tán, cung cấp giao diện OPC chuẩncho các ứng dụng Việc giao tiếp qua các mạng công nghiệp được thực hiện bằngcác lời gọi đơn giản, thống nhất không phụ thuộc vào mạng truyền thông và giaothức được sử dụng
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/Subscriber: Client chỉ cần một lần yêu cầu Server, sau đó tùytheo 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ộ
Trang 22Hình 2.7: Kiến trúc Client/Server trong OPCChuẩn OPC hiện nay qui định hai kiểu giao diện là Custom Interfaces(OPC Taskforce, 1998b) và Automation Interface (OPC Taskforce, 1998c) Kiểuthứ 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ểugiao 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 Custom Interface dùng cácngôn ngữ như C/C++ phức tạp hơn nhưng hiệu suất cao, dựa trực tiếp trên cácđối tượng COM Automation Interface dùng các ngôn ngữ đơn giản, phươngpháp lập trình đơn giản, hiệu quả thấp, dựa trên công nghệ COM automation
2.2.6.2.
Giống như các đối tượng COM khác, hai loại đối tượng thành phầnquan trọng nhất của OPC là OPC Server và OPC Group cung cấp các dịch vụ quacác giao diện của chúng, được gọi là OPC Custom Interfaces, như được minh họatrên Hình 2.6 Chính vì những giao diện này chỉ là các giao diện theo mô hìnhCOM thuần túy, việc lập trình với chúng đòi hỏi một ngôn ngữ biên dịch Trongthực tế, C++ là ngôn ngữ chiếm ưu thế tuyệt đối phục vụ mục đích này Bên cạnh
đó, các công cụ khác nhau cũng cung cấp một số phần mềm khung (frameworks)thích hợp để hỗ trợ người lập trình
Trang 23Hình 2.8: OPC Custom Interfaces
Để truy nhập dữ liệu dùng OPC Custom Interfaces, ta cần thực hiệnhàng loạt 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
• Dùng các phương pháp thích hợp của giao diện IOPCServer để tạo một sốđối tượng OPC-Group như cần thiết
• Tìm và lưu trữ con trỏ (địa chỉ) của các giao diện cần dùng của các đốitượng OPC-Group
• Sử dụng các giao diện thích hợp của OPC-Group để tổ chức và cấu hìnhcho 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à IOPCAsyncIO2 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
2.2.6.3.
Giống như đối với các đối tượng OLE Automation khác, việc sử dụngcá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 với COM được loại bỏ Người lập trìnhkhô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ànhthạo một công cụ tạo dựng ứng dụng RAD (rapid application development) nhưVisual Basic
Trang 24Mặ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ảitrả 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 giacủ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 đángquan tâm Lý do nằm chính trong mô hình giao tiếp của OLE Automation và cáccô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 dùng giaodiện IDispatch làm giảm thời gian phản ứng của một ứng dụng đối vớimột sự kiện một cách đáng kể
OPC nhóm các giao diện và các methods của chúng theo thứ tự 3 lớp:
• OPC Server class
• OPC Group class
• OPC Item class
2.2.7.
So sánh giữa mạng OPC và mạng không dùng OPC
Hình 2.9: Mạng không dựa trên OPCDựa vào hình 2.9 ta thấy, để thi hành các ứng dụng cần có đến 4driver để giao tiếp với các thiết bị mạng Có một vài trường hợp sự xung đột xuấthiện như hai driver cùng truy xuất đến mạng Hơn nữa nếu có nhiều ứng dụngthêm vào từ nhà sản xuất khác thì yêu cầu driver bổ sung, tạo cho hệ thống càng
Trang 25phức tạp hơn, việc này làm tăng khả năng phát sinh những vấn đề không tươngthích.
Kỹ thuật OPC loại trừ sự cần thiết thêm driver cho những thiết bịmạng Nhiều phần mềm ứng dụng bây giờ được được viết tuân theo chuẩn củaOPC và được xem như là OPC client Phần mềm liên kết giữa thiết bị mạng vàOPC client là OPC server OPC server kết nối một hoặc nhiều thiết bị từ nhữngnhà sản xuất khác nhau và driver khác nhau dựa trên OPC client
Hình 2.10: Ví dụ về mạng OPCDựa vào hình 2.10 ta thấy, để chạy hai ứng dụng chỉ cần có 2 OPCserver để giao tiếp với thiết bị mạng Nếu yêu cầu thêm OPC client, không cầnthiết thêm server vào nữa Kết quả là hệ thống đơn giản hơn với độ tương thíchđược bảm đảm
2.3. KEPServerEX [5]
KEPServerEX là một ứng dụng trên Windows 32 bit để hỗ trợ việctrao đổi dữ liệu và thông tin từ thiết bị và hệ thống công nghiệp đến những ứngdụng của client trên PC KEPServerEX được hiểu là ứng dụng trên server Trong
Trang 26công nghiệp, nó được xem như là việc chia sẽ dữ liệu của quá trình sản xuất giữanhững ứng dụng từ phần mềm HMI và dữ liệu quá khứ.
Những ứng dụng server/client đều có điểm chung là tiêu chuẩn hóaphương thức chia sẽ dữ liệu Trong công nghiệp, nhiều kỹ thuật client/server làđộc quyền Trong một số trường hợp những kiến trúc client/server độc quyềnđược sử dụng rộng rãi nhưng vẫn không dùng được cho ứng dụng khác Trongnhững ngày đầu khi Windows phát triển, Microsoft đã cung cấp công nghệclient/server chung gọi là DDE hoặc Dynamic Data Exchange DDE cung cấpkiến trúc cơ bản mà nó cho phép những ứng dụng của nhà cung cấp trên windowchia sẽ dữ liệu nhưng có một vấn đề DDE không thiết kế cho thị trường côngnghiệp Nó thiếu nhiều mong muốn về tốc độ và sự bền vững trong lĩnh vực côngnghiệp Tuy nhiên, việc này không ảnh hưởng đến việc DDE trở thành kiến trúcclient/server thống trị, rộng khắp do những giá trị mà nó mạng lại trong hầu hếtcác ứng dụng của windows Hiện nay, những thay đổi trên DDE của Microsoft đãphát triển bởi những nhà cung cấp hàng đầu trên thị trường Những thay đổi nàynhắm đến vấn đề về tốc độ và độ tin cậy nhưng những người trong lĩnh vực côngnghiệp muốn có hệ thống phát triển hơn
Với hệ điều hành 32 bit và sử dụng Ethernet để giao tiếp giữa nhữngthiết bị, cần có sự trao đổi dữ liệu nhanh hơn và chính xác hơn giữa những phầnmềm ứng dụng Vì vậy OPC trong công nghiệp ra đời
OPC server cung cấp một phương pháp chuẩn hóa việc cho phépnhiều ứng dụng trong công nghiệp chia sẽ dữ liệu nhanh chóng và bền vững.OPC server được thiết kế để đáp ứng những yêu cầu trong môi trường côngnghiệp
OPC server này được thiết kế gồm hai phần Phần thứ nhất cung cấpcác kết nối của OPC và DDE như là chức năng giao tiếp người dùng Phần thứhai gồm có driver truyền thông giao tiếp Hai phần này được thiết kế để cho phép
ta thêm vào những lựa chọn kết nối đến ứng dụng SCADA trong khi chỉ sử dụngduy nhất sản phẩm OPC server do vậy giảm được độ phức tạp khi kết nối
Trang 27Kỹ thuật OPC phản ảnh sự thay đổi giải pháp độc quyền đóng sangkiến trúc mở mà nó cung cấp giải pháp tiết kiệm dựa trên những tiêu chuẩn đãlập.
Trang 28CHƯƠNG 3: WINCC - WEB NAVIGATOR
3.1. Giới thiệu chung [3]
WINCC là phần mềm hỗ trợ cho điều khiển hệ thống với quá trình tựđộng Ngoài ra WinCC có thể được mở rộng hơn thông qua mạng LAN (LocalArea Network), cho dù là để giám sát một phần của hệ thống từ xa và rời rạc (Vídụ: trong hệ thống xử lý nước thải hoặc hệ thống các trạm điều khiển) hoặc đểtruy xuất thông tin của quy trình trong hiện tại và trong quá khứ
WinCC/WebNavigator hỗ trợ đầy đủ hệ thống điều khiển và giám sátthông qua web nói chung mà không cần phải thay đổi dự án WinCC web server
có thể được cài đặt trên hệ thống WinCC đơn người dùng, WinCC server hoặcclient Vì vậy web client kết nối với web server có thể truy cập đến tất cả các dự
án của WinCC server (có thể đến 12 server) trong hệ thống ở bất kỳ nơi nào trênthế giới
Người quản lý của trạm vận hành trên web thì quản lý cả cơ sở dữ liệucủa hệ thống mạng Còn với các cấp độ ủy quyền thì chỉ được phép truy cập.Ngoài ra, sự hỗ trợ của hệ thống bảo mật chuẩn bằng phần cứng trên hệ thốngInternet được cung cấp Số lượng client được thiết lập bởi người quản lý hệthống
Ngoài ra, trong việc lựa chọn WinCC Web Navigator, thông qua giảipháp thin client (SIMATIC Thin Client) và mobile client (PDA – PersonalDigital Assistant) cũng có thể kết nối đến hệ thống web server
Trang 29Hình 3.1: WinCC SCADA Client, Web server và hệ thống client khác trong web
với trung tâm lưu trữ cơ sở dữ liệu
3.2. WinCC / Web Navigator - Hệ thống điều khiển và giám sát thông qua web [3]
• Người điều khiển và giám sát ở khoảng cách xa, lên đến 50 trạmvận hành hoạt động đồng thời
• Tốc độ cập nhật nhanh do truyền thông điều khiển theo sự kiện
• Tối ưu client với chức năng đặc biệt để vận hành, giám sát, phântích, phục vụ và chẩn đoán
• Giải pháp thin client trên nhiều nền khác nhau (PC, on-site panel,mobile PDA)
• Có thể thêm vào Web và client cuối bất cứ lúc nào khi cần
• Phí bảo trì thấp do phần mềm quản lý trung tâm
• Chấp nhận sự thiết lập dữ liệu cho web mà không thay đổi
• Tăng cường sự bảo mật và tính sẵn sàng do sự cách ly giữa WinCC
Trang 30WinCC Web Navigator cung cấp khả năng vận hành và giám sát hệthống thông qua Internet, intranet trong nội bộ công ty hoặc mạng LAN màkhông cần phải thay đổi dự án WinCC Việc này dẫn đến khả năng hiển thị, vậnhành và truy cập như là vận hành máy trạm trực tuyến Việc này cũng có nghĩa làmàn hình hiển thị quá trình chứa đoạn mã VB hoặc C, giao diện người vận hành
có thể chuyển sang vài ngôn ngữ khác nhau và máy trạm trên web cũng được hợpnhất với nhà quản trị người dùng của hệ thống trực tuyến
Ngoài ra cách dùng điển hình của WinCC Web Navigator trong mạngWANs (Wide Area Networks), WinCC Web Navigator cũng có thể được dùngcho những ứng dụng mà có thể thêm vào với chi phí tối thiểu Đặc biệt là nhữngứng dụng có cấu trúc phân tán rõ rệt (hệ thống nước hoặc xử lý nước thải), hoặctrong những hệ thống cần truy cập thông tin quá trình rời rạc (quản lý tòa nhà).Thêm vào đó, web client cũng có thể được sử dụng như là trạm vận hành bìnhthường trong LAN
Với giải pháp web, Web Navigator được cài đặt trên hệ thống WinCCđơn người dùng hoặc trên server và Web Navigator client được cài đặt trên bất
kỳ máy PC nào Việc này cho phép dự án WinCC đang chạy được vận hành vàgiám sát thông qua Microsoft Internet Explorer mà không cần phải có WinCCtrên máy tính Ngoài Microsoft Internet Explorer, ta có thể dùng web client Webserver cũng có thể cài đặt cho WinCC client, nghĩa là web client có thể được kếtnối đến web server, có thể được truy cập các dự án của WinCC server phức tạptrong hệ thống từ bất kỳ nơi nào trên thế giới Các dự án WinCC có thể hiển thịđồng thời trên nhiều tab bằng chức năng có sẵn của Microsoft Internet ExplorerV7
Sự cách li của WinCC server và web server đảm bảo bằng chế độ bảomật và có hiệu quả cao, và việc này có thể tăng cường trong các web server độclập trên các SCADA client độc lập Trạm vận hành trên web bao gồm nhà quản
Trang 31trị người dùng của hệ thống trực tuyến Các cấp phân quyền khác nhau quản lý
sự truy cập của các cấp dưới
Người vận hành có thể xem hệ thống hoặc vận hành một phần hoặctoàn bộ hệ thống, tùy thuộc vào cách thiết lập của server Mọi sự đăng nhập hoặcđăng xuất được giám sát bằng chức năng báo động của hệ thống
Ngoài ra, chức năng bảo mật còn có thể giới hạn thời gian truy cậpcủa client, vô hiệu hóa các nút nhấn Hơn nữa, Web Navigator còn hỗ trợ các tiêuchuẩn bảo mật bằng phần cứng cho ứng dụng trong Internet như là router,firewall, proxy server, mã hóa SSL và kỹ thuật VPN
3.2.6 Giải pháp thin client
Thông qua giải pháp thin client với Microsoft Terminal Services, máytính đơn giản dưới hệ điều hành Windows, thiết bị lướt web đơn giản (SIMATICThin Client), và mobile client (PDA – Personal Digital Assistant) dưới hệ điềuhành Windows CE cũng có thể kết nối Những giải pháp này có một vài yêu cầu
về phần cứng bởi vì những client này chỉ hiển thị được màn hình trong khi đóWeb Navigator client chạy trên server cuối dưới Windows Có đến 25 thin client
có thể kết nối đến một server cuối
Ngược lại với đặc điểm của Web Navigator, thin client được định vịtrên cùng mạng LAN với server Sự truy cập bằng WAN, RAS thậm chí làintranet hoặc internet cũng cho phép Thiết bị di động có thể kết nối qua nhiềuphương tiện truyền thông như sóng radio hoặc LAN không dây
Trang 32Hình 3.2: Thin client trên các nền điều hành khác nhau trong WinCC
Web Navigator server
Nếu có quá nhiều trạm vận hành web cần hoạt động đồng thời thì trạmserver có thể được cấu hình trên nhiều web server Việc này đòi hỏi phải có bảnquyền Load Balancing (cân bằng tải) để tham gia vào web server Với LoadBalancing, sự bù đắp tải có khả năng chỉ định web client mới kết nối tự động kếtnối đến web server có tải thấp nhất Web server có thể truy cập đến web serverkhác cùng WinCC project và có thể có 50 web client được chỉ định Tất cả cóđến vài trăm trạm vận hành trên web Nếu sự chỉ định web server thất bại thìclient được truy cập tạm thời sang web server khác trong trạm server
Hình 3.3: Trạm web server (tải cân bằng) với nhiều web client