Tiểu luận : Tìm hiểu lập trình WinCC cho hệ thống SCADA

Chia sẻ: Le Truong | Ngày: | Loại File: DOC | Số trang:21

1
1.185
lượt xem
668
download

Tiểu luận : Tìm hiểu lập trình WinCC cho hệ thống SCADA

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

WinCC sử dụng các công nghệ và phần mềm tiên tiến do Microsoft luôn là người dẫn đầu trong phát triển công nghệ phần mềm - WinCC có thể mở rộng một hệ thống từ đơn giản đến phức tạp một cách linh hoạt , từ hệ thống với một máy tính giám sát tới hệ thống với nhiều máy tính giám sát hay hệ thống có tính phân tán vói nhiều máy chủ

Chủ đề:
Lưu

Nội dung Text: Tiểu luận : Tìm hiểu lập trình WinCC cho hệ thống SCADA

  1. Tiểu luận: Tìm hiểu Lập trình WinCC cho hệ thống SCADA Mở đầu Trong tự động hóa người ta thường phải xậy dựng những hệ thống có tính tự động cao có khả năng tự động thực hiện các chức năng cơ bản như:  Điều khiển (Control)  Hiển thị (Display)  Cảnh báo (Alarm)  Lưu trữ (Archieve)  In ấn, thông báo (Report) Và gọi là một hệ thống SCADA (Supervisory Control and Data Acquisition System - hệ thống điều khiển giám sát và thu thập dữ liệu) Để xây dựng như vậy cần phải có những phần mềm chuyên dụng và ở Việt Nam hiện nay có một số phần mềm được sử dụng như WinCC, Fix-Intellution, Wonderware, Scitect, Plantscape(HoneyWell) ... Trong đó WinCC của Siemens được đánh giá cao nhất và thông dụng nhất. WinCC (Windows Control Center) là một phần chuyên dụng để xây dựng giao diện điều khiển (Human Machine Interface), xử lí và lưu trữ dữ liệu cho một hệ thống SCADA trên nền Windows (WinNT, WinXP, WinVista 32bit ...). WinCC là sản phẩm mà Siemens đã thuê Microsoft xây dựng và hiện tại bản mới nhất là bản WinCC7.0. Và vì vậy mà WinCC đã thừa hưởng bí quyết của Siemens - một công ty hàng đầu trong lĩnh vực tự động hóa quá trình và năng lực của Microsoft - công ty hangf ddaauf trong linhx vực phát triển phần mềm cho PC. WinCC có thể dễ dàng tích hợp trong các hệ thống có quy mô lớn nhỏ khác nhau và cả những hệ thống cấp cao như MES (Manufacturing Excution System - hệ thống quản lí việc thực hiện sản xuất) và ERP (Enterprise Resource Planning). Thực tế thì WinCC đã và đang được ứng dụng trên khắp các hệ thống của Siemens trên toàn cầu. Sinh Viên: Lê Đình Trường-Tink10b-ĐH Hồng Đức. Page 1 of 21
  2. Tiểu luận: Tìm hiểu Lập trình WinCC cho hệ thống SCADA Các đặc điểm chính của WinCC: - WinCC sử dụng các công nghệ và phần mềm tiên tiến do Microsoft luôn là người dẫn đầu trong phát triển công nghệ phần mềm. - WinCC có thể mở rộng một hệ thống từ đơn giản đến phức tạp một cách linh hoạt, từ hệ thống với một máy tính giám sát tới hệ thống với nhiều máy tính giám sát hay hệ thống có tính phân tán với nhiều máy chủ - WinCC có hàng loạt các module phần mềm kèm theo giúp định hướng theo từng loại ứng dụng đã được phát triển sẵn để người dùng lựa chọn khi cần - Tích hợp trong các bộ WinCC thường có các hệ quản trị cơ sở dữ liệu ODBC/SQL như Sysbase SQL hay SQL Server (ví dụ SQL Server2005 trong WinCC 7). Và có thể dễ dàng truy cấp tới CSDL của hệ thống bằng ngôn ngữ SQL hoặc ODBC. - WinCC cũng được tích hợp các giao diện chuẩn như DDE và OLE ... dùng chuyển đổi các chương trình chạy trên nền Windows. Các tính năng khác như ActiveX control và OPC server cúng được tích hợp sẵn trong WinCC - Để lập trình sự kiện thì WinCC hỗ trợ ngôn ngữ lập trình chuẩn ANSI- C và VBScripts (WinCC 7) - Tất cả các module của WinCC giao diện mở cho giao diện lập trình dùng ngôn ngữ C (C-API: Application Programming Interface). Điều này có nghĩa là có thể tích hợp cả cấu hình của WinCC cà cả các hàm thực hiện (runtime) vào một chương trình của người sử dụng - Có thể cài đặt trực tuyến WinCC bằng việc dùng thuật sĩ cài đặt (Setup Wizards) - WinCC hỗ trợ đa ngôn ngữ như Anh, Pháp, Đức và thậm chí cả một số ngôn ngữ châu Á, Mĩ cũng được tích hợp làm ngôn ngữ sử dụng - WinCC hỗ trợ hầu hết các loại PLC do nó đã gắn sẵn các kênh truyền thông để giao tiếp các loại PLC của Siemens như S5,S7,505 cũng như thông qua các giao thức chung như Profibus DP, DDE hay OPC. Thêm vào đó các chuẩn thông tin khác cũng có sẵn hay được lựa chọn bổ sung - WinCC là phần tử SCADA trong hệ thống PCS7 của Siemens (là một hệ thống điều khiển quá trình, một giải pháp tự động hóa được tích hợp toàn diện). Sinh Viên: Lê Đình Trường-Tink10b-ĐH Hồng Đức. Page 2 of 21
  3. Tiểu luận: Tìm hiểu Lập trình WinCC cho hệ thống SCADA Làm việc với WinCC Trong phần này sẽ đi sâu vào cách làm việc cũng như các bước xây dựng một hệ thống với WinCC. Nội dung bao gồm:  Giới thiệu giao diện làm việc  Quản lí các thẻ (Tags)  Thiết kế giao diện đồ họa điểu khiển cho một hệ thống tự động  Lập trình xử lí sự kiện cho các đối tượng  Thêm các điều khiển nâng cao khác Sinh Viên: Lê Đình Trường-Tink10b-ĐH Hồng Đức. Page 3 of 21
  4. Tiểu luận: Tìm hiểu Lập trình WinCC cho hệ thống SCADA Giao diện làm việc Khởi động: Khởi động WinCC từ menu start như hình trên Tạo mới một dự án: Chọn File->New một hộp thoại xuất hiện như hình dưới: Chọn loại dự án muốn tạo hoặc mở một dự án có sẵn (‘Open an Existing Project’) Sinh Viên: Lê Đình Trường-Tink10b-ĐH Hồng Đức. Page 4 of 21
  5. Tiểu luận: Tìm hiểu Lập trình WinCC cho hệ thống SCADA Giao diện làm việc: Giao diện làm việc gồm: - Tag Manaagement: quản lí các tag (thẻ liên kết) - Tructure tag: Cấu trúc, tổ chức các tag - Graphics Designer: Thiết kế môi trường đò họa điều khiển - Menu and toolbars: Tạo menu và thanh công cụ - Alarm Logging: Tạo lịch trình hệ thống - Report Designer: Thiết kế thông báo - Global Script: Tạo các đoạn mã điều khiển hệ thống(VBS&C) - ..... Sinh Viên: Lê Đình Trường-Tink10b-ĐH Hồng Đức. Page 5 of 21
  6. Tiểu luận: Tìm hiểu Lập trình WinCC cho hệ thống SCADA Quản lí Tags Trong hệ thống SCADA để truyền thông số giữa các thiết bị phần cứng PLC (sensor, cảm biến, hệ thống vận hàng , kiểm tra ...) với WinCC thì WinCC đã dùng các Tag. Các Tag này có nhiệu vụ đồng bộ hóa các dữ liệu giữa thiết bị PLC và các thành phần điều khiển trong WinCC trong đó có giao diện đồ họa điều khiển. Tag chứa các giá trị thực như là mức điền đầy của thùng nước, tình trạng các Van (đóng/mở)... hoặc là các giá trị tính toán cục bộ hay mô phỏng bên trong WinCC. Tương ứng với các Tag trong WinCC là các Tag quá trình trong PLC hoặc thiết bị mô phỏng. Có 2 loại Tag trong WinCC: - External Tag (Tag liên kết ngoài,Tag quá trình): Là các Tag do người dùng thiết lập để liên kết với PLC thông qua từng driver cụ thể cho mỗi loại PLC. Để tạo Tag loại này ta click phải chuột vào Link “Tag Management” chọn “Add new driver” sau đó chọn các PLC driver có sẵn kèm theo WinCC hoặc chọn một driver khác từ tệp tin có đuôi “.chn”. Sinh Viên: Lê Đình Trường-Tink10b-ĐH Hồng Đức. Page 6 of 21
  7. Tiểu luận: Tìm hiểu Lập trình WinCC cho hệ thống SCADA - Internal Tag (Tag cục bộ): Là Tag chứa các giá trị cục bộ trong WinCC để phục vụ tính toán, điều khiển trong giao diện đồ họa điều khiển. Để tạo một InternalTag ta chọn mục “Internal tags”, cửa sổ bên phải sẽ hiện ra các Tag cho bạn quản lí. Click phải chuột cào của sổ chọn “New Tag” nếu muốn tạo Tag mới hoặc “New Group” nếu muốn tạo nhóm các Tag. Nếu tạo Tag mới thì trong cửa sổ hiện ra yêu cầu nhập các thuộc tính cho Tag bao gồm: tên (Name), kiểu dữ liệu (DataType) và một số tùy chọn khác. Và tùy theo mục đích sử dụng Tag của mình mà có thể chọn kiểu dữ liệu thích hợp không gây dư thừa cũng như tràn bộ nhớ. Sinh Viên: Lê Đình Trường-Tink10b-ĐH Hồng Đức. Page 7 of 21
  8. Tiểu luận: Tìm hiểu Lập trình WinCC cho hệ thống SCADA Thiết kế giao diện đồ họa điều khiển Để tạo một giao diện điều khiển mới, trong thẻ Graphics Dessigner click phải chuột chon “New picture”. Chương trình sẽ tự động tạo file giao diện “NewPdl0.Pdl”, click phải chuột chon “Rename” để đổi tên. Để thiết kế giao diện nào thì double click vào file đó, một trình thiết kế giao diện đồ họa điều khiển (Graphics Dessigner) sẽ hiện ra: Công cụ Zoom Các đối tượng đồ họa Bảng màu Nét vẽ đối tượng Các lớp giao diện Tọa độ chuột Sinh Viên: Lê Đình Trường-Tink10b-ĐH Hồng Đức. Page 8 of 21
  9. Tiểu luận: Tìm hiểu Lập trình WinCC cho hệ thống SCADA Việc thiết kế giao diện điều khiển cho hệ thống đơn giản chỉ là gắp, thả, di chuyển, thay đổi thuộc tính. Tuy nhiên để có được hệ thống tối ưu thì phải có bước phân tích trước, tức là giải bài toán: hiển thị cái gì, thông số gì, ở đâu, tích chất của nó như thế nào ... Sau khi tạo bộ mặt cho giao diện thì tiếp theo là phải thiết lập liên kết từ đối tượng đồ họa đến các Tag cho từng thông số cụ thể và thông qua các Tag tạo mối quan giữa các đối tượng đồ họa. Để làm tốt điêu này cũng cần có bước phân tích tốt trước đó. Để thêm đối tượng đồ họa mới ta có thể gắp thả các đối tượng đồ họa cơ bản bên mục “Object Palette” hoặc trong thư viện bằng cách vào menu “View” chọn “Library” hoặc click vào biểu tượng “Display Library” trên thanh công cụ. Trong cửa sổ Library ta chọn các nhóm đối tượng bên phải và các đối tượng trong nhóm sẽ hiển thị bên trái. Ta có thể cho hiển thị mẫu thu nhỏ các đối tượng hoặc theo danh sách Hiển thị Danh sách Các bạn chỉ việc gắp thả đối tượng muốn vào màn hình thiết kế. Bước tiếp theo là đặt thuộc tính thích hợp cho các đối tượng: Click phải vào đổi tượng chọn “Properties” chọn thẻ “Properties”. Trong bảng Object Properties có một các thông số của đối tượng như màu sắc, hình thức hiển thị, kích thước, vị trí... và liên kết đến Sinh Viên: Lê Đình Trường-Tink10b-ĐH Hồng Đức. Page 9 of 21
  10. Tiểu luận: Tìm hiểu Lập trình WinCC cho hệ thống SCADA các Tag, thông báo hiển thị hoặc liên kết với một hàm viết bằng C-Action hoặc VBS (kèm theo các liên kết là các giá trị thời gian cập nhật lại thông số cho đối tượng ) Sau khi đã tạo các đối tượng đồ họa thích hợp ta chuyển sang bước tiếp theo là viết các hàm xử lí sự kiện cho các đối tượng đồ họa thông qua các Tag và trạng thái đối tượng khác (trình bày phần tiếp). Sinh Viên: Lê Đình Trường-Tink10b-ĐH Hồng Đức. Page 10 of 21
  11. Tiểu luận: Tìm hiểu Lập trình WinCC cho hệ thống SCADA Lập trình xử lí sự kiện cho các đối tượng Sinh Viên: Lê Đình Trường-Tink10b-ĐH Hồng Đức. Page 11 of 21
  12. Tiểu luận: Tìm hiểu Lập trình WinCC cho hệ thống SCADA Để điều khiển các đối tượng đồ họa, người xây dựng hệ thống có thể sử dụng ngôn ngữ ANSI-C (C chuẩn) hoặc VBS (VB Script) xây dựng các hàm độc lập hoặc thông qua các sự kiện bị kích thích của các đối tượng đồ họa cũng như các Tag. Để tạo hàm sử lí cho một đối tượng đồ họa ta chọn thẻ “Events” trong hộp thoại “Properties” (đã nêu trên). Ở khung bên phải là các hàm sự kiện được hỗ trợ cho đối tượng đồ họa này, click vào một đối tượng và khung bên phải hiển thị những hàm xử lí của nó (có hoặc không). Bạn thêm hàm mới cho sự kiện đó bằng click phải chuột vào mục “Action” của sự kiện đó và chọn ngôn ngữ muốn làm việc, tiếp đó của sổ biên tập mã nguồn sẽ hiện ra cho bạn xử lí. Trong cửa sổ biên tập mã sẽ có 2 khung, bên trái là các hàm cho hệ thống, hàm chuẩn và các hàm cục bộ, khung bên phải là nơi biên tập mã cho sự kiện hiện tại. Sinh Viên: Lê Đình Trường-Tink10b-ĐH Hồng Đức. Page 12 of 21
  13. Tiểu luận: Tìm hiểu Lập trình WinCC cho hệ thống SCADA Biên dịch Tham số mặc Thư vện định hàm Phạm vi hàm Mặc định các tham số của hàm phải giữ nguyên, toàn bộ những câu lệnh điều khiển, lặp ... đều thực hiện trong thân hàm. Ví dụ đoạn mã sau: Sinh Viên: Lê Đình Trường-Tink10b-ĐH Hồng Đức. Page 13 of 21
  14. Tiểu luận: Tìm hiểu Lập trình WinCC cho hệ thống SCADA #include "apdefap.h" void OnPropertyChanged(char* lpszPictureName, char* lpszObjectName,  char* lpszPropertyName,  double  value) { float TankValue; TankValue=GetTagFloat("Tank"); //lấy giá trị của Tag tên là Tank kiểu float if (GetTagBit("Vale1")){  //Ktra giá trị của Van số (Vale1) mở hay đóng(1/0)       if (TankValue
  15. Tiểu luận: Tìm hiểu Lập trình WinCC cho hệ thống SCADA Tạo các điều khiển khác Sinh Viên: Lê Đình Trường-Tink10b-ĐH Hồng Đức. Page 15 of 21
  16. Tiểu luận: Tìm hiểu Lập trình WinCC cho hệ thống SCADA Trong phạm vi của đề tài em chỉ mới tìm hiểu việc lập trình trên WinCC và chưa tìm hiểu cách tạo các điều khiển khác nên xin phép không trình bày phần này. Ví dụ xây dựng hệ thống cụ thể Sinh Viên: Lê Đình Trường-Tink10b-ĐH Hồng Đức. Page 16 of 21
  17. Tiểu luận: Tìm hiểu Lập trình WinCC cho hệ thống SCADA Để minh họa em xin trình bày các bước xây dựng một hệ thống đơn giản và chỉ xây dựng ở mức giao diện điều khiển cơ bản: Hệ thống tưới nước tự động cho cây Để xây dựng hệ thống trên nói riêng và hệ thống với WinCC nói chung thì cần thực hiện các bước sau:  Phân tích thiết kế  Thiết kế giao diện đồ họa điều khiển  Lập trình các sự kiện cho đối tượng  Tạo các bảng thông báo, bảng đánh giá, bản quy trình sản xuất ...  Kết nối thiết bị, chạy thử và đóng gói. Phân tích thiết kế mô hình Sinh Viên: Lê Đình Trường-Tink10b-ĐH Hồng Đức. Page 17 of 21
  18. Tiểu luận: Tìm hiểu Lập trình WinCC cho hệ thống SCADA Ta nhận thấy hệ thống tưới cây tự động có những đặc điểm sau:  Có sensor cảm ứng độ ẩm của đất (nơi trồng cây)  Có hệ thống vòi bơm nước và dẫn nước  Có bể chứa nước (trên cao) và thiết bị kiểm tra mức nước  Có 2 van: van trạng thái dẫn nước bể chứa và van cho phép dẫn nước tưới cây  Có công tắc nguồn cho cả hệ thống  Có các hiển thị về độ ẩm đất, mức nước trong bể, công suất bơm ... Từ những đặc điểm trên ta cần một số Tag cục bộ và kiểu dữ liệu như sau: Thiết kế giao diện điều khiển Sinh Viên: Lê Đình Trường-Tink10b-ĐH Hồng Đức. Page 18 of 21
  19. Tiểu luận: Tìm hiểu Lập trình WinCC cho hệ thống SCADA Từ những phân tích trên ta xây giao diện đồ họa điều khiển cho hệ thống như sau: Lập trình xử lí sự kiện cho các đối tượng Sinh Viên: Lê Đình Trường-Tink10b-ĐH Hồng Đức. Page 19 of 21
  20. Tiểu luận: Tìm hiểu Lập trình WinCC cho hệ thống SCADA Mã nguồn xử lí sự kiện cho các đối tượng: công tắc nguồn, bể nước (mức nước trong bể), độ ẩm của đất thay đổi, thay đổi công suất bơm nước, tốc độ bốc hơi nước của đất... Xin xem cụ thể trong mã nguồn hệ thống kèm theo tài liệu này. Chạy thử và đóng gói Kết quả chạy thử thành công ! Kết luận Sinh Viên: Lê Đình Trường-Tink10b-ĐH Hồng Đức. Page 20 of 21
Đồng bộ tài khoản