CHƢƠNG 2 : HỆ THỐNG TRUYỀN THÔNG SCADA ĐIỆN LỰC
3.4. Tủ điều khiển giám sát SCADA cho trạm điện phân phối
Mô hình hệ truyền thông được triển khai xây dựng triển khai thực nghiệm trên tủ điều khiển giám sát SCADA cho trạm điện phân phối hạ áp. Mô hình được thiết kế và
thi công tại Câu lạc bộ Kỹ thuật Khoa Điện tử, trường Đại học Kỹ thuật Công nghiệp Thái Nguyên. Một số hình ảnh tủ điện được thi công:
Hình 3-11: Mô hình tủ điều khiển giám sát trạm điện phân phối 3.5. Kết luận chƣơng 3
Trong chương này tác giả đã đưa ra mô hình trạm biến áp phân phối. qua đó phân tích các khối trong sơ đồ và lựa chọn cấu trúc truyền thông, thiết bị sử dụng trong tủ điều khiển như đồng hồ đa năng Selec MFM – 384, bộ điều khiển S7 – 1200, modun truyền thông CM 1241 RS422/RS485. Xây dựng được tủ liên kết các thiết bị trên để hoạt động theo tính năng của luận văn đã đề cập. Tuy nhiên, đó mới chỉ là xây dựng phần cứng, để tủ điều khiển có thể hoạt động được chúng ta phải xây dựng phần mềm nhúng vào thiết bị phần cứng, điều này được nhóm tác giả đưa ra ở chương 4.
CHƢƠNG 4: LẬP TRÌNH TRUYỀN THÔNG SCADA TRẠM ĐIỆN PHÂN PHỐI
4.1. Giới thiệu phần mềm TIA Portal:
Phần mềm lập trình PLC và HMI trong luận văn này là SIMATIC TIA Portal v13 của hãng Siemens. Đây là phần mềm tích hợp gồm có:
Simatic Step 7: lập trình cho PLC
Win CC: lập trình HMI
S7 PLCSIM: mô phỏng cho PLC
Updater: chương trình nâng cấp phần mềm,…
TIA Portal (Totally Integrated Automation Portal) là phần mềm tự động hóa đầu
tiên trong công nghiệp sử dụng chung một môi trường, một phần mềm duy nhất cho tất cả các tác vụ trong tự động hóa. Phần mềm lập trình này giúp người sử dụng phát triển, tích hợp các hệ thống tự động hóa một cách nhanh chóng, do giảm thiểu thời gian trong việc tích hợp, xây dựng ứng dụng từ những phần mềm riêng rẽ.
Được thiết kế với giao diện thân thiện người sử dụng, TIA Portal thích hợp cho cả những người mới lẫn những người nhiều kinh nghiệm trong lập trình tự động hóa. Là phần mềm cơ sở cho các phần mềm dùng để lập trình, cấu hình, tích hợp các thiết bị trong dải sản phẩm Tích hợp tự động hóa toàn diện (TIA) của Siemens. Ví dụ như phần mềm mới Simatic Step 7 để lập trình các bộ điều khiển Simatic, Simatic WinCC để cấu hình các màn hình HMI và chạy SCADA trên máy tính.
Để thiết kế TIA portal, Siemens đã nghiên cứu rất nhiều các phần mềm ứng dụng điển hình trong tự động hóa qua nhiều năm, nhằm mục đích hiểu rõ nhu cầu của khách hàng trên toàn thế giới. Là phần mềm cơ sở để tích hợp các phần mềm lập trình của Siemens lại với nhau, TIA Portal giúp cho các phần mềm này chia sẽ cùng một cơ sở dữ liệu, tạo nên sự thống nhất trong giao diện và tính toàn vẹn cho ứng dụng. Ví dụ, tất cả các thiết bị và mạng truyền thông bây giờ đã có thể được cấu hình trên cùng một cửa sổ. Hướng ứng dụng, các khái niệm về thư viện, quản lý dữ liệu, lưu trữ dự án, chẩn đoán lỗi, các tính năng online là những đặc điểm rất có ích cho người sử dụng khi sử dụng chung cơ sở dữ liệu TIA Portal.
Tất cả các bộ đều khiển PLC, màn hình HMI, các bộ truyền động của Siemens đều được lập trình, cấu hình trên TIA portal. Việc này giúp giảm thời gian, công sức trong việc thiết lập truyền thông giữa các thiết bị này. Ví dụ người sử dụng có thể sử dụng tính năng “kéo và thả’ một biến của trong chương trình điều khiển PLC vào một màn hình của chương trình HMI. Biến này sẽ được gán vào chương trình HMI và sự kết nối giữa PLC – HMI đã được tự động thiết lập, không cần bất cứ sự cấu hình nào thêm.
Phần mềm mới Simatic Step 7, tích hợp trên TIA Portal, để lập trình cho S7-1200, S7-300, S7-400 và hệ thống tự động PC-based Simatic WinAC. Simatic Step 7 được chia thành các module khác nhau, tùy theo nhu cầu của người sử dụng. Simatic Step 7
cũng hỗ trợ tính năng chuyển đổi chương trình PLC, HMI đang sử dụng sang chương trình mới trên TIA Portal.
Simatic WinCC được tích hợp trên TIA Portal, dùng để cấu hình cho các màn hình TP và MP hiện tại, màn hình mới Comfort, cũng như để giám sát điều khiển hệ thống trên máy tính (SCADA). Việc thiết lập, cấu hình cho các Simatics biến tần cũng sẽ được tích hợp vào TIA Portal trong các phiên bản sau.
Các bƣớc khởi tạo dự án trong TIA Portal:
Bƣớc 1: từ màn hình desktop nhấp đúp chọn biểu tượng Tia Portal:
Bƣớc 2: Click chuột vào Create new project để tạo dự án.
Bƣớc 4: Chọn Configure a device:
Bƣớc 6 : Chọn loại CPU PLC sau đó chọn Add:
Sơ đồ kết nối truyền thông của PLC:
Cửa sổ lập trình HMI:
4.2. Lập trình truyền thông Modbus RTU với CM 1241
Giao thức Modbus được sử dụng để trao đổi dữ liệu giữa PLC S7 – 1200 (Master) với các thiết bị cấp trường khác (Slave): Đồng hồ MFM 384, màn hình HMI, …
Sau đây là các bước thực hiện để thiết lập giao tiếp Modbus RTU với mô đun CM 1241 trên S7 – 1200.
4.2.1. Cài đặt mô đun CM 1241 trong Project
Để thêm một mô đun vào cấu hình của CPU, chọn mô đun CM 1241 trong catalog phần cứng, nhấp đúp hoặc kéo mô đun vào khe tương ứng trên CPU. Bạn phải thêm các mô đun vào cấu hình thiết bị và tải cấu hình phần cứng về CPU để các mô đun có thể hoạt động được.
4.2.2. Cấu hình mô đun truyền thông CM 1241
Đầu tiên vào "Device Configuration" Click vào hình ảnh của mô đun Click vào mục "General".
Hình 4-2: Các bước cấu hình mô đun CM.
Tại General để cấu hình, chú ý những mục sau:
Trong RS422/RS485 interface, vào mục Port Configuration, tại đây ta chú ý
tới các thông số được khoanh như trong hình.
Trong Operating mode chọn Half duplex (RS485) two-wire operation là chế
độ truyền thông RS485 2 dây.
Các thông số: Baud rate, Parity, Data bits, Stop bits được cấu hình giống như
trên thiết bị Slave.
Thông số Wait time: thời gian chờ thiết lập lại, nghĩa là nếu kết nối không thành công thì trong khoảng thời gian này module sẽ cố gắng kết lối lại, quá khoảng thời gian trên mà vẫn không kết nối được thì mô đun khởi động lại. Tiếp theo là Hardware identifier, thông số này không thiết lập nhưng phải nhớ để sử dụng sau này.
Sau đó ta biên dịch để hoàn thành quá trình cấu hình cho mô đun và bắt đầu đi vào lập trình.
4.2.3. Lập trình truyền thông Modbus RTU
Với truyền thông Modbus RTU, CPU hỗ trợ sẵn 3 lệnh chính:
MB_COMM_LOAD: Dùng để cấu hình cho cổng kết nối, được khởi động
đầu tiên và chỉ chạy 1 lần trong cả quá trình truyền thông.
a) MB_COMM_LOAD
Cấu trúc lệnh trong chương trình:
Các tham số của lệnh MB_COMM_LOAD:
REQ: Bằng 1 thì hàm sẽ được thực hiện, nhưng do chỉ cần thực hiện 1 lần để
khởi tạo các thông số truyền thông, nên REQ chỉ có giá trị bằng 1 trong vòng lặp đầu tiên.
PORT: Là giá trị của thông số Hardware indentifier trong quá trình cấu hình
mô đun.
Baud: Lựa chọn một trong các giá trị: 300, 600, 1200, 2400, 4800, 9600,
19200, 38400, 57600, 76800, 115200.
Parity: 0 – None; 1 – Odd; 2 – Even.
MB_DB: Tham chiếu đến khối dữ liệu được sử dụng bởi các lệnh
MB_MASTER hoặc MB_SLAVE. Sau khi MB_SLAVE hoặc
MB_MASTER được đặt trong chương trình, định danh của DB tự động xuất hiện trong danh sách thả xuống (drop-list) của lệnh.
DONE: Có giá trị TRUE cho một lần quét, sau khi yêu cầu cuối cùng được
hoàn thành mà không có lỗi.
ERROR: TRUE cho một lần quét, sau khi yêu cầu cuối cùng kết thúc với lỗi. Mã lỗi được cho trong tham số STATUS.
STATUS: mã lỗi. b) MB_MASTER
Các tham số của lệnh:
REQ: Khi được bật sẽ bắt đầu quá trình truyền thông.
MB_ADDR: Địa chỉ của Slave.
MODE: Chế độ đọc/ ghi (Xem bảng các hàm Modbus).
DATA_ADDR: Địa chỉ tương đối của thanh ghi chứa giá trị cần đọc.
DATA_LEN: Độ dài của dữ liệu cần đọc.
DATA_PTR: Con trỏ chỉ tới địa chỉ lưu dữ liệu.
DONE: Có giá trị TRUE cho một lần quét, sau khi yêu cầu cuối cùng được
hoàn thành mà không có lỗi.
BUSY: 0 – đang rỗi, 1 – đang bận.
ERROR: TRUE cho một lần quét, sau khi yêu cầu cuối cùng kết thúc với lỗi. Mã lỗi được cho trong tham số STATUS.
STATUS: mã lỗi.
Quy tắc truyền thông Modbus Master:
MB_COMM_LOAD phải được thực thi để cấu hình cổng truyền thông trước
khi lệnh MB_MASTER có thể dùng cổng đó để truyền tin.
Nếu cổng được dùng cho Master, nó sẽ không được dùng bởi MB_SLAVE.
Có thể dùng nhiều lệnh MB_MASTER cho 1 cổng, nhưng tất cả phải dùng chung một MB_MASTER_DB.
Các lệnh Modbus không sử dụng ngắt để điều khiển quá trình truyền thông.
Chương trình phải thăm dò các điều kiện kết thúc lệnh MB_MASTER.
Nên gọi tất cả các thực thi MB_MASTER cho một cổng trong một chu kỳ chương trình OB. Các lệnh Modbus master chỉ có thể thực hiện trong một chu kỳ chương trình. Việc bắt đầu một lệnh Modbus Master bởi một lệnh master khác ở mức độ ưu tiên cao hơn sẽ dẫn đến hoạt động không đúng. Các lệnh Modbus Master không được thực thi khi khởi động, chẩn đoán hoặc thời gian bị lỗi.
Khi một lệnh khởi tạo phiên truyền, nó phải được thực hiện liên tục (EN = 1) cho đến khi trả về DONE = 1 hoặc ERROR = 1. Một thực thể MB_MASTER được xem như tích cực cho đến khi một trong hai sự kiện trên xảy ra. Khi thực thể gốc đang tích cực, bất kỳ lời gọi nào đến một thực thể khác (REQ = 1) sẽ phát sinh lỗi.
Các hàm Modbus RTU:
DATA_ADDR (địa chỉ Modbus Slave): Xác định địa chỉ bắt đầu của dữ liệu được truy cập trong slave.
Lệnh MB_MASTER sử dụng đầu vào MODE thay vì Mã hàm (Function Code). Tổ hợp của MODE và Modbus address xác định mã hàm được dùng trong bản tin Modbus thực.
Bảng mã hàm Modbus:
MODE Modbus
Function Data length Toán hạng và dữ liệu
Modbus Address 0 01 1 – 2000 Đọc các output bit: 1 – 2000 bit/yêu cầu 1 – 9999 0 02 1 – 2000 Đọc các input bit: 1 – 2000 bit/yêu cầu 10001 – 19999 0 03 1 – 125 Đọc Hold Register: 1 – 125 word/yêu cầu 40001 – 49999 0 04 1 – 125 Đọc input word: 1 – 125 word/yêu cầu 30001 – 39999 1 05 1 Ghi output bit:
1 bit/yêu cầu 1 – 9999 1 06 1 Ghi hold register:
1 word/yêu cầu 40001 – 49999 1 15 2 – 1968 Ghi nhiều output bit:
2 – 1968 bit/yêu cầu 1 – 9999 1 16 2 – 123 Ghi nhiều hold register:
1 – 123 word/yêu cầu 40001 – 49999
11 11 0
Đọc từ trạng thái truyền thông (0 – rỗi, 0xFFFF – bận) và bộ đếm sự kiện (Tăng 1 đơn vị khi hoàn thành 1 bản tin) của Slave.
80 08 1 Kiểm tra trạng thái Slave sử dung mã chẩn đoán 0x0000.
81 08 1 Reset bộ đếm sự kiện slave sử dụng mã chẩn đoán 0x000A 3 – 10, 12 – 79, 82 – 255 Dành riêng
Bảng mã lỗi:
Mã lỗi Mô tả
0000 Không có lỗi
80C8 Slave timeout. Kiểm tra tốc độ baud, parity và dây nối của
Slave.
80D1
Bộ nhận đưa ra yêu cầu kiểm soát luồng để tạm ngừng phiên truyền và không cho phép lại trong khoảng thời gian chờ cho trước. Lỗi này cũng được tạo do phần cứng kiểm soát luồng khi bộ thu không xác nhận CTS trong thời gian cho trước.
80D2 Yêu cầu truyền bị hủy do không có tín hiệu DSR được nhận từ
DCE.
80E0 Bản tin kết thúc do tràn bộ đệm nhận.
80E1 Bản tin kết thúc do lỗi parity.
80E2 Bản tin kết thúc do lỗi khung.
80E3 Bản tin kết thúc do lỗi tràn.
80E4 Bản tin kết thúc do chiều dài dữ liệu vượt quá kích thước bộ
đệm.
8180 Giá trị ID của port không hợp lệ, hoặc lệnh
MB_COMM_LOAD bị lỗi
8186 Địa chỉ Modbus không hợp lệ
8188 Mode không hợp lệ cho bản tin broadcast
8189 Giá trị địa chỉ dữ liệu không hợp lệ
818A Giá trị chiều dài dữ liệu không hợp lệ
818B Con trỏ dữ liệu nguồn/đích không hợp lệ: Sai kích thước
818C Con tro không hợp lệ: dữ liệu phải ở vùng nhớ DB hoặc vùng
nhớ M
8200 Cổng bận do đang xử lý yêu cầu truyền
c) MB_SLAVE
Cấu trúc lệnh trong chương trình:
Các tham số của lệnh:
MB_ADDR: Địa chỉ của Slave (1 – 247).
MB_HOLD_REG: Con trỏ tới khối dữ liệu Modbus.
NDR: Dữ liệu mới sẵn sàng: 0 – Không có dữ liệu mới; 1 – Dữ liệu mới được ghi bởi master.
ERROR: TRUE cho một lần quét, sau khi yêu cầu cuối cùng kết thúc với lỗi. Mã lỗi được cho trong tham số STATUS.
STATUS: mã lỗi.
4.3. Lập trình truyền thông Ethernet
Truyền thông qua mạng LAN Ethernet được dùng để trao đổi dữ liệu giữa PLC S7 – 1200 và máy tính trạm cài đặt WinCC cho mục đích điều khiển giám sát & thu thập dữ liệu của trạm điện phân phối.
1. Nhấp vào giao diện PROFINET của bộ điều khiển S7 – 1200, gán địa chỉ IP & Subnet Mask tương ứng dưới: "Properties > General > Ethernet Addresses".
3. Trong "Device View" của "Hardware Catalog", chọn mô đun truyền thông "IE General", kích đúp để thêm mô đun vào máy tính PC.
4. Click vào "IE General" của giao diện vừa tạo. Trong "Properties > General > PROFINET interface [X1] > Ethernet Addresses", nhập địa chỉ IP & Subnet Mask của máy tính trạm.
5. Chuyển sang chế độ "Network View", chọn "Connections" để tạo kết nối HMI. Kết nối giao diện của bộ điều khiển S7 – 1200 và máy trạm bằng cách kéo – thả.
6. Nhấp vào kết nối HMI. Trong "Properties > General > Access point", nhập tên đang dùng trong giao diện PG/ PC của trạm Runtime.
7. Mở giao diện PG/ PC trên máy trạm qua "Start > Control panel > Set PG/PC interface".
8. Bên dưới access point của "S7ONLINE (STEP 7)" và "Interface Parameter Assignment Used", chọn "TCP/IP Ethernet adapter used".
9. Hoàn tất việc cấu hình và tải Project xuống bộ điều khiển S7 - 1200 và trạm Runtime.
4.4. Lập trình cho bộ điều khiển PLC 4.4.1. Thuật toán chƣơng trình 4.4.1. Thuật toán chƣơng trình
START Thực hiện lệnh MC Local/ Remote Có lệnh ĐK Có lệnh ĐK Đọc đồng hồ đo MFM 383 Truyền dữ liệu lên HMI
END Từ xa Tại chỗ Có Có Không Không
4.5. Lập trình giao diện điều khiển giám sát
Sau khi tham khảo một số giao diện HMI tại các trạm điện, học viên đã lập trình giao diện HMI cho mô hình trạm điện phân phối đã đề cập trong Chương 3 và được kết quả như sau:
4.5.1. Màn hình chính
Đây là giao diện đầu tiên sau khi khởi động chương trình. Người dùng ấn vào nút "Login" để đăng nhập hệ thống, và ấn nút "Exit" để kết thúc chương trình điều khiển. Để có thể thực hiện các chức năng của hệ thống SCADA (Điều khiển, giám sát, lưu trữ, cài đặt, …) yêu cầu người dùng phải đăng nhập được vào chương trình.
Hình 4-4: Giao diện màn hình chính 4.5.2. Giao diện điều khiển, giám sát
Từ màn hình giao diện, người vận hành có thể giám sát các thông số của trạm: dòng điện, điện áp, công suất (P, Q, S), năng lượng, tần số và hệ số công suất. Trạng thái đóng, cắt của dao cách ly, máy cắt.
Khi thông số về dòng điện, điện áp của trạm vượt quá hoặc thấp hơn giá trị ngưỡng
đặt trước thì các cảnh báo tương ứng sẽ nhấp nháy (chu kỳ 1s) ở phần cảnh báo sự cố