Hướng dẫn Thiết kế Hệ thống SCADA trên WinCC

MỤC LỤC

Kiểu dữ liệu và phân chia bộ nhớ

 Vùng nhớ nạp (load memory): (RAM trong CPU, cộng thêm EEPROM có sẵn trong CPU hoặc thẻ EEPROM gắn thêm) là vùng nhớ chứa chương trình của ta bao gồm tất cả các khối chương trình ứng dụng OB, FB, FC, các khối chương trình trong thư viện hệ thống được sử dụng (SFB, SFC) và các khối dữ liệu DB. Như các khối DB đang được mở, khối chương trình (OB, FB, FC, SFB, SFB) đang được CPU thực hiện và phần bộ nhớ cấp phát cho những tham số hình thức để các khối chương trình này trao đổi tham trị với hệ điều hành và với các khối chương trình khác (local block).

Cấu trúc chương trình

Từng nhiệm vụ điều khiển con có thể được chia thành những nhiệm vụ nhỏ và cụ thể hơn nữa, do đó một khối chương trình con cũng có thể được gọi từ một khối chương trình con khác. • Sau khi khối con thực hiện xong nhiệm vụ và ghi kết quả dưới dạng tham trị đầu ra cho biến OUT, IN-OUT của local block, hệ điều hành sẽ chuyển các tham trị này cho khối mẹ và giải phóng khối con cùng local block ra khỏi word memory.

Ngôn Ngữ Lập Trình S7-300 Ngôn Ngữ Lập Trình S7-300

SỬ DỤNG CÁC Ô NHỚ VÀ CẤU TRÚC THANH GHI TRẠNG THÁ

    Nếu ô nhớ đã được xác định thông qua phần chữ là có kích thước 1 bit thì phần số sẽ gồm địa chỉ của byte và số thứ tự của bit trong byte đó được tách với nhau bằng dấu chấm. Với cách nhìn này, bit BR biễu diễn bit bộ nhớ bên trong máy mà RLO cất vào trước khi một phép tốn word làm thay đổi RLO, để cho RLO khả dụng lần nữa sau khi phép tốn tiếp tục chuỗi logic bit bị ngắt.

    CÁC LỆNH VÀ PHÉP TỐN

      Ta có thể sử dụng bất kỳ một trong các lệnh sau để chuyển đổi số dấu chấm động IEEE 32 bits trong thanh ghi ACCU1 thành số nguyên kép (các lệnh khác nhau về cách làm tròn) và kết quả được cất ở ACCU1. BEU Kết thúc khối không điều kiện (unconditional). Khối hiện hành được kết thúc bất chấp RLO. Quét chương trình được tiếp tục ở lệnh ngay sau lệnh gọi khối. BEC Kết thúc khối có điều kiện conditional).

      Thực Thi Chương Trình Thực Thi Chương Trình

      HOẠT ĐỘNG CỦA CPU

         Từ trạng thái 16 bits (STW) chứa trạng thái của các lệnh khi thực thi trong chương trình như RLO,OV (overflow), OS (overflow stored), CC1 và CC0 (CC=condition code) và BR (binary result). - Xóa đi các phần không giữ của bộ nhớ bit, bộ nhớ timer, và bộ nhớ counter; xóa các ngăn xếp ngắt và ngăn xếp khối; bỏ tất cả các báo động quá trình lưu trữ và báo động chẩn đốn; và (đối với khởi động lại đầy đủ) xây dựng các danh sách địa chỉ và các bảng ảnh I/O.

        Bảng sau cho thấy lượng bộ nhớ mà có thể được đặt cấu hình trong vùng RAM không bốc hơi
        Bảng sau cho thấy lượng bộ nhớ mà có thể được đặt cấu hình trong vùng RAM không bốc hơi

        CÁC KHỐI LOGIC

           OB85 (Not Load Fault): được gọi khi CPU thấy chương trình ứng dụng có sử dụng chế độ ngắt nhưng chương trình xử lý tín hiệu ngắt lại không có trong khối OB tương ứng. Ta có thể đổi tên các biến tạm này nếu ta muốn, nhung không nên ghi bất cứ dữ liệu nào vào các biến tạm này: STEP7 ghi vào các biến này mỗi lần OB bắt đầu chạy, và bất cứ dữ liệu nào mà ta cất ở đó sẽ bị mất. Các tham số mà đưa vào FB và một số dữ liệu cục bộ (các biến “tĩnh”) được cất trong DB tình huống; dữ liệu cục bộ khác (các biến tạm) được cất trong “L stack”.

          • Khối dữ liệu hệ thống SDB (system data block): vùng nhớ của chương trình được tạo bởi các ứng dụng STEP7 khác nhau để chứa dữ liệu cần để điều hành PLC.

          Chương trình soạn thảo Giải thích

          Các thành phần của project trong Control Center

          Các kiểu điều khiển truyền thông như: Modbus Protocol Suite.chn, Mitsubishi FX.CHN, Profibus DP.CHN, Modbus serial.CHN, SIMATIC S7 Protocol Suite.CHN, SIMATIC S5 ETHERNET TF.CHN…. Mỗi kênh WinCC thực hiện việc truy nhập các kiểu tham số kết nối đặc biệt với các nghi thức đặc biệt (chẳng hạn, kênh SIMATIC S5 Ethernet TF hỗ trợ việc truy nhập SIMATIC S5 với TF. Khối kênh sẽ thực hiện các bước truyền thông cần thiết để đáp ứng yêu cầu về các giá trị quá trình bằng kết nối kênh đặc biệt, và do đó cung cấp các giá trị quy trình này cho quản lý dữ liệu WinCC.

          Để phản ảnh thông tin về địa chỉ của các hệ thống PLC khác nhau, các tags ngồi chứa một mục tổng quát gồm các thông tin về tên, kiểu, các giá trị giới hạn và một mục chuyên biệt về kết nối mà cách diễn tả phụ thuộc kết nối logic.

          Get Functions: là các hàm dùng để chuyển các giá trị của thuộc tính

          Sử dụng hàm nội để tạo các đối tượng đồ họa và các vùng lưu trữ động. • Allocate: chứa các hàm để dự trữ và cho phép làm việc với bộ nhớ. • Graphics: chứa các hàm để đọc và thiết lập thuộc tính cho các đối tượng đồ họa.

          • WinCC: chứa các hàm chủ yếu dùng cho hệ thống thông báo và thu thập dữ liệu từ quá trình khi ở chế độ run time.

          Set Functions: là các hàm dùng để tạo giá trị cho thuộc tính

          REPORT DESIGNER

            Việc chọn dữ liệu để xuất thì phụ thuộc ứng dụng và được thực thi khi layout, print job được tạo hoặc khi printout được khởi động trực tiếp. Trong WinCC, ta sử dụng các báo cáo để đưa ra các dữ liệu đã được định cấu hình (như tài liệu phản hồi) và để báo cáo các dữ liệu trực tuyến (như giá trị đo lường, báo cáo lỗi). Trong khi xuất nếu cần thiết, phần động này có thể được chia ra giữa các trang riêng biệt, từ lúc chưa biết số lượng dữ liệu cho đến thời điểm xuất.

            Để xuất dữ liệu cấu hình (tài liệu phản hồi) và dữ liệu trực tuyến khi run time (như các thông báo và các giá trị đo lường), ta phải kết nối các đối tượng động của report layout với dữ liệu từ mỗi ứng dụng.

            Hệ Thống Hệ Thống SCADA SCADA

              Các hệ thống như vậy có thể được gọi bằng các tên khác trong các tình huống và các kỹ nghệ khác, như: DAC (Data Acquition and Control = Điều khiển và thu thập dữ liệu), DCS (Distributed Control Systems = Các hệ thống điều khiển phân bố), v.v…Tất cả các hệ thống này về cơ bản thực hiện cùng các chức năng. Hệ thống SCADA có 4 phần tử chính: người điều hành (operator), phần tử thiết bị đầu cuối chính MTU (Master Terminal Unit), truyền thông liên lạc và phần tử thiết bị đầu cuối ở xa RTU (Remote Terminal Unit). Nhiệm vụ của MTU là khởi động tất cả các công việc: truyền thông liên lạc, thu thập dữ liệu, lưu trữ thông tin, gửi thông tin đến các hệ thống khác, và giao tiếp với người điều hành.

              RTU thu thập thông tin ở xa từ nhiều thiết bị nhập như các valve, bơm, báo động (alarm), đồng hồ đo (meter)…Chủ yếu dữ liệu dạng analog (số thực), digital (on/off), hoặc dữ liệu xung (như đếm số vòng xung của các meter).

              Kiến trúc hệ thống

              Các giao thức có thể mở rộng như TCP/IP (Transmission Control Protocol and Internet Protocol) hoặc các giao thức riêng riêng. Những luồng dữ liệu tổng quát chứa các thông tin được tổ chức theo mô hình 7 lớp ISO/OSI. Mô hình OSI được sử dụng để đặt tiêu chuẩn cho cách trao đổi thông tin với các giao thức, truyền thông và dữ liệu.

              RTU nhận thông tin của nó nhờ vào mã nhận dạng của nó trong dữ liệu truyền.

              HMI = Human_Machine Interface Module

              Thực Hiện Chương Trình Thực Hiện Chương Trình

              • GIỚI THIỆU VỀ HỆ THỐNG PHA TRỘN
                • TẠO CÁC GIAO DIỆN KẾT NỐI BẰNG WINCC
                  • LẬP TRÌNH CHO HỆ THỐNG BẰNG SIMATIC S7-3OO

                    Hệ thống pha trộn bao gồm: 3 loại chất lỏng chứa sẵn ở 3 bồn cung cấp, dẫn qua bơm và valve trước khi vào bồn pha trộn, một bồn để chứa chất lỏng sau khi trộn, và một động cơ dùng để khuấy trộn. Do không có các sensor báo mực chất lỏng, sensor đo lưu lượng nên phần lập trình điều khiển chủ yếu dựa vào bộ định thời Timer và đặc điểm của các valve, bơm. Đặc biệt khi động cơ đang quay hoặc khi van xả đang hoạt động, ta có thể nhấn nút “PAUSE”, tồn bộ hệ thống sẽ dừng lại cho đến khi nhấn “PAUSE” lần nữa.

                    Thực tế chương trình không dùng các cảm biến cảnh báo về: mức đầy, mức cạn, sự cố máy bơm v.v…cho nên màn hình này chỉ mô phỏng, không áp dụng cho chương trình.

                    Triển Đề Tài

                    Kết quả thực hiện

                    Ta có thể điều khiển hệ thống bằng hai cách: điều khiển bằng các công tắc vật lý hoặc điều khiển trên máy tính thông qua các giao diện được thực hiện bằng lập trình WinCC. Do vậy, việc thực hiện đề tài chỉ dựa vào các tài liệu tìm hiểu ngôn ngữ lập trình, trong thời gian cho phép chắc chắn sẽ không tránh khỏi thiếu sót. Nhưng những gì đã làm được, em đã đáp ứng gần như đầy đủ các yêu cầu cho đề tài bao gồm: điều khiển, giám sát và thu thập dữ liệu theo đúng nghĩa của một hệ SCADA.

                    Tồn tại hạn chế: nút “Pause” có tác dụng khi động cơ hoặc van xả đang hoạt động, và chỉ áp dụng được cho một van cung cấp ( do tính chất của lệnh gọi CALL trong khối OB1, van thực hiện được là van được gọi trước trong chương trình).

                    Hướng phát triển đề tài

                    Trong WinCC, ta có thể kết nối và lấy dữ liệu từ các ô nhớ, trạng thái các bits…để thực hiện điều khiển, giám sát và thu thập dữ liệu. Những khó khăn gặp phải: Nhiệm vụ đề tài là thiết kế hệ SCADA cho hệ thống pha trộn hóa chất. Tuy có vẻ là đề tài khá cổ điển, nhưng thực chất sử dụng các ngôn ngữ lập trình hồn tồn mới.