Chương 4:
THIẾT LẬP DỰ ÁN SCADA
TRÊN WinCC
Phan Duy Anh Ver.1
THIẾT LẬP DỰ ÁN SCADA TRÊN WinCC
Demo Project: Hệ thống trạm trộn (3)
Giống như hệ thống trạm trộn (2) ta đã thực hiện ở phần
trước, bây giờ bổ sung tính năng chạy tự động/bằng tay
(Auto/Manual). Chi tiết được mô tả như sau:
Phan Duy Anh Ver.1
THIẾT LẬP DỰ ÁN SCADA TRÊN WinCC
● Khi switch Auto/Manual chuyển sang vị trí Auto thì hệ thống tự
động hoạt động theo một chương trình cài sẵn: Ban đầu Valve
A mở để chất lỏng A vào bồn trong thời gian Ta, Sau đó đóng
Valve A, mở Vanlve B trong thời gian Tb. Khi hết thời gian này
thì đóng Valve B, bật Mixer hoạt động trong thời gian Tm. Sau
đó tắt Mixer và mở Valve C để thành phẩm ra ngoài trong
khoảng thời gian Tc. Kết thúc khoảng thời gian này, đóng Valve
C.
● Thời gian Ta, Tb, Tm hay Tc cho phép cài đặt bởi người vận
hành.
● Khi chạy tự động thì các buttons điều khiển bằng tay không còn
hiệu lực.
● Khi switch Auto/Manual chuyển sang vị trí Manual thì hệ thống
hoạt động ở chế độ bằng tay như trong phần 2 đã thực hiện.
Phan Duy Anh Ver.1
THIẾT LẬP DỰ ÁN SCADA TRÊN WinCC
Phan Duy Anh Ver.1
Chương 4:
THIẾT LẬP DỰ ÁN SCADA
TRÊN WinCC
Bài 9:
Visual Basic Script trên
WinCC
Phan Duy Anh Ver.1
Visual Basic Script trên WinCC
* Tổng quan
* Visual Basic Script
* Viết chương trình cho Project
Phan Duy Anh Ver.1
Tổng quan
● Ngôn ngữ lập trình được tích hợp kèm các phần mềm
SCADA để tăng thêm độ mềm dẻo khi kỹ sư dự án thực
hiện các yêu cầu phức tạp.
● WinCC ver 5. về trước chỉ hỗ trợ C Script, các phiên
bản sau này hỗ trợ tốt cả C Script (CS) và Visual Basic
Script (VBS).
● Hầu hết các phần mềm SCADA khác đều sử dụng VBS.
Phan Duy Anh Ver.1
Visual Basic Script trên WinCC
* Tổng quan
* Visual Basic Script
* Viết chương trình cho Project
Phan Duy Anh Ver.1
Visual Basic Script
● VBS được sử dụng trong WinCC để tăng tính linh hoạt
cho chương trình điều khiển giám sát bằng cách viết
code để tác động đến hệ thống.
● VBS có các khái niệm cần lưu ý:
+ Module
+ Procedure (thủ tục)
+ Action (hành động)
● Procedure: được dùng để chứa code, mỗi procedure
chỉ cần tạo một lần, sử dụng nhiều lần trong toàn bộ
project. Thay vì phải code nhiều lần, ta chỉ cần gọi
procudure liên quan. Với procedure, code sẽ tường
minh, và dễ kiểm soát.
Phan Duy Anh Ver.1
Visual Basic Script
● Các procedures có liên quan nhau thường được lưu
trong cùng một module.
● Module: hai loại standard module và project module
● Standard module: chứa các procedures toàn cục cho
các project. Các modules này được lưu trữ theo địa chỉ:
\ApLib\ScriptLibStd\.bmo
● Project module: chứa các procedures riêng của
project. Các module này được lưu trữ theo địa chỉ:
\ScriptLib\.bmo
Phan Duy Anh Ver.1
Visual Basic Script
Các procedures trong một standard module
Phan Duy Anh Ver.1
Visual Basic Script
● Trong procedures là các đoạn code chương trình được
viết để thực hiện một/những nhiệm vụ nào đó.
● Ví dụ: (xem thêm phần “VBS for creating Procedures
and Actions” trong file WinCC Help)
+ Đọc/Ghi giá trị Tag:
‘Định nghĩa một biến
Dim objTag
‘Gán biến này tới tag
Set objTag = HMIRuntime.Tags("Tag1")
‘Đọc giá trị của tag
objTag.Read
Phan Duy Anh Ver.1
Visual Basic Script
‘Tăng giá trị này lên 1 đơn vị
objTag.Value = objTag.Value + 1
‘Ghi giá trị này ra tag
objTag.Write
+ Chuyển màu nền của hình chữ nhật có tên Rectangle1 trong picture
thành màu đỏ:
‘Định nghĩa một biến
Dim objRectangle
‘Gán biến này thành đối tượng "Rectangle1“ trong picture
Set objRectangle = ScreenItems("Rectangle1")
‘Thay đổi màu nền của đối tượng thành màu đỏ
objRectangle.BackColor = RGB(255,0,0)
Phan Duy Anh Ver.1
Visual Basic Script
● Action: là hành động trong đó có chứa một hoặc nhiều
procedures và được kích hoạt bởi một sự kiện trigger
nhằm thực thi các đoạn code trong các procedures
chứa trong nó.
Phan Duy Anh Ver.1
Visual Basic Script
● Các sự kiện triggers dùng để kích hoạt action trong
VBS của WinCC gồm có: timer trigger và tag trigger.
● Timer trigger: thực thi một action tại một thời điểm cho
trước. Gồm hai loại: trigger có chu kỳ (cyclic) và trigger
không có chu kỳ (acyclic).
● Tag trigger: thực thi một action khi có sự thay đổi value
của tag.
Phan Duy Anh Ver.1
Visual Basic Script trên WinCC
* Tổng quan
* Visual Basic Script
* Viết chương trình cho Project
Phan Duy Anh Ver.1
Viết chương trình cho Project
● Trước tiên, cần thiết kế thêm cho Mixing_Station picture
như hình bên dưới.
Phan Duy Anh Ver.1
Viết chương trình cho Project
Switch Auto/Manual điều khiển tag Auto_Manual như hình.
Khi Switch ở Auto thì tag này có giá trị 1, khi switch ở Manual
thì tag này có giá trị 0.
Phan Duy Anh Ver.1
Viết chương trình cho Project
● Tạo thêm một picture có tên “Auto_Param” chẳn hạn có các
I/O fields ValveA, ValveB, ValveC, Mixer kết nối tương ứng
với các tags Time_Valve_A, Time_Valve_B, Time_Valve_C,
Time_Mixer qui định thời gian chạy tự động cho từng đối
tượng.
Phan Duy Anh Ver.1
Viết chương trình cho Project
● Trên picture Mixing_station tạo thêm một ‘picture window’ kết
nối đến picture ‘Auto_Param’.
Phan Duy Anh Ver.1