Chú ý: Có thể tạo mới và sửa chữa các hàm có sẵn trong Global Script
Action là các chức năng được tạo lập trong ngôn ngữ lập trình C và được thực hiện đều đặn hoặc là đáp ứng lại một sự kiện. Ví dụ các sự kiện là bấm phím thay đổi thuộc tính hoặc trong giá trị các biến Tag. Action được liên kết với các mục sau: đối tượng đồ hoạ, lưu trữ dữ liệu, vòng lặp Alarm hay chức năng của hệ thống Message. Giá trị trả về của một hàm có thể điều khiển thuộc tính của đối tượng mà Action gắn tới.
Các hàm và action mà có thể dùng trong suốt một quá trình hay một dự án được gọi là “Global Script” – các Script toàn cục. Chúng không được liên kết với các đối tượng.
Cùng với các hàm Project, ta có thể sử dụng “Internal function”, các hàm trong là các hàm chuẩn riêng của hệ thống, cũng như tất cả các hàm trong thư viện C chuẩn
Chú ý: Việc xử lý action được thực hiện nhờ một module biên dịch. Khi thực hiện nhiều hoặc mở rộng các action, ta có thể lập kế hoạch cho một tải hệ thống cao hơn. Do vậy nên thay thế các action mở rộng bằng các DLL riêng.
• Lập trình với C-Action cho Properties của đối tượng thì cần phải có Trigger, còn Event thì không cần có Trigger vì bản thân nó là Trigger rồi
Cấu trúc một chương trình cửa C-Action cho một Property của đối tượng:
• Câu lệnh #include”apdefap.h” là khai báo các thư viện các Function và Action hỗ trợ có sẵn.
• Dòng thứ hai là dòng mã lệnh tự động phát sinh giống nhau cho các Properties và không được thay đổi. Bao gồm:
Picture Name (lpszPictureName) Object Name (lpszObjectName) Property Name (lpszPropertyName)
• Nội dung của chương trình là do người sử dụng viết, ví dụ chương trình trên bao gồm: Khai báo biến
Tính toán các giá cho Property Trả về giá trị cho Property
Chú ý: Sau khi lập trình xong Action cho một Property của đối tượng thì phải chọn Trigger cho nó bằng biểu tượng ở góc phải bên trên của cửa sổ
• Cấu trúc có một số điểm khác cơ bản sau: Hàm không có giá trị trả về
Sau khi lập trình xong Action cho một Event không phải chọn Trigger. 2.6.3.Global Script WinCC
• Chức năng: Đây là môi trường chuẩn dùng để lập trình các sự kiện, trạng thái cho hệ thống sử dụng ngôn ngữ C. Lập trình trong Global Script là lập trình theo
cấu trúc.
• Global Script cho phép ta tạo ra những hành động (thay đổi trạng thái) cho các đối tượng. Trình soạn thảo này cho phép ta tạo ra các hàm giống như trong C và các sự kiện này có thể sử dụng trong một dự án hoặc nhiều dự án phụ thuộc vào loại hàm được tạo ra.
• Cấu trúc của một Global Script bao gồm các thành phần sau: a. Project Functions:
Tạo ra các module nhỏ, mỗi module là một chương trình con có thể tạo mới và sửachữa các hàm có sẵn. Chỉ được sử dụng trong Project mà nó tạo ra
Standard Functions:
Là các hàm chuẩn đã có sẵn trong WinCC có thể tạo mới và sửa chữa các hàm có sẵn Được sử dụng trong tất cả các Project
Internal Functions:
Chứa các lệnh cơ bản trong WinCC dùng để lập trình không thể tạo mới hay sửa chữa các hàm có sẵn được sử dụng trong tất cả các Project
2.6.4.Sự khác nhau giữa Function và Action
• Function được sử dụng khi cần tính toán nhiều lần trong chương trình. Ưu điểm của hàm Function là:
o Chỉ cần lập trình một lần. Khi cần thực hiện chỉ cần gọi hàm và đưa ra đối số thích hợp
o Chương trình ngắn và dễ hiểu
• Action khác với Function, nó chỉ được hoạt động khi có các điều kiện click. Ưu điểm của Action là:
o Action không có đối số
o Có thể tạo bảo quyền cho Action
Để tạo và soạn thảo Funtion hay Action ta sử dụng Global Script WinCC * Lập trình tạo một Funtion
Giả sử ta lập trình một ví dụ đơn giản là tính tổng hai số Integer và xuất kết quả ra màn hình khi nhấn một nút ấn Button.
Để mở cửa sổ Global Script, từ cửa sổ Wincc Explorer -> kích chuột phải Global Script bên nửa cửa sổ bên trái -> chọn Open, thì hộp thoại Global xuất hiện Kích chuột phải vào loại vào Function -> chọn New. Trong cửa sổ soạn thảo ta ta lập trình như sau:
Cấu trúc của một Funtion đơn giản: Kiểu dữ liệu trả về của hàm, Tên hàm, Đối số cùng với kiểu dữ liệu của nó, Thân hàm, Gía trị trả về của hàm
Để xem kết quả tính toán của hàm và chuẩn đoán lỗi ta dùng của sổ Global Script Window, cách thực hiện như sau:
- Mở trang màn hình Graphics Designer
- Từ Object Palete -> chọn Standard -> chọn Smart Object -> chọn Appliaction Window
- Hộp thoại “Window content” xuất hiện -> chọn “Global Sript” -> chọn OK - Hộp thoại “Template” xuất hiện -> chọn
“GSC Diagnostic” -> chọn OK
- Kích chuột phải vào Application Window vừa tạo ra -> chọn Properties -> cửa sổ “Object Properties” xuất hiện chọn
“Properties”. Chọn “Yes” cho tất cả các thuộc tính của Miscellaneous. Khi chạy Runtime kết quả của lệnh Printf sẽ được hiện ra trên cửa sổ này
2.6.5.Các thủ tục hay sử dụng khi lập trình • Định nghĩa Tag
Cú pháp #define Tên Tag
Trong đó : Tag là biến đã được khai báo trong Tag Manager
Ví dụ: Gỉa sử đã định nghĩa một Tag tên là Start trong Tag Manager có địa chỉ trên PLC đã xác định từ trước. Vậy câu lệnh sau: #define Tag0 “Start“
Thì khi đó trong chương trình ta dùng biến Tag0 thay cho biến “Start“ • Khai báo hằng, biến
Khai báo hằng: Cú pháp #define Tên hằng
Khai báo biến: Cú pháp: Kiểu dữ liệu của biến Tên biến • Thủ tục xuất dữ liệu ra màn hình
Cú pháp: printf ();
2.6.6.Một số hàm hay sử dụng trong chương trình.
Cú pháp: BOOL SetTagBit(Tag Tag_Name, short int value);
Chức năng: thiết lập một giá trị cho biến quá trình (kiểu dữ liệu BOOL) b. SetTagByte
Cú pháp: BOOL SetTagByte(Tag Tag_Name, BYTE value);
Chức năng: thiết lập một giá trị cho biến quá trình (kiểu dữ liệu 8 bit không dấu). c. GetTagBit
Cú pháp: BOOL GetTagBit (Tag Tag_Name);
Chức năng: lấy giá trị hiện thời của một Tag, kiểu dữ liệu Binary d. GetTagByte
Cú pháp: BOOL GetTagByte (Tag Tag_Name);
Chức năng: lấy giá trị hiện thời của một Tag, kiểu dữ liệu 8 bit không dấu 2.6.7.Các hàm điều khiển
a.Thoát khỏi RunTime
Cú pháp: BOOL DeactiveTProject();
Chức năng: Thoát khỏi chương trình WinCC đang chạy Runtime b.Thoát khỏi WinCC
Cú pháp: BOOL ExitWinCC();
Chức năng: Thoát khỏi chương trình WinCC, kể cả WinCC Explorer 2.6.8.Các hàm xử lý tính toán
Bảng 2.1. Các hàm xử lý tính toán
+ Phép cộng + Dấu dương
- Phép trừ số - Dấu âm
% Trả về số dư của phép chia ++ Phép tăng
* Phép nhân -- Phép giảm
2.6.9.Các hàm tính toán trên bit
Bảng 2.2. Các hàm xử lý tính toán trên bít & Phép hội các bit (AND) ~ Phép lấy phần bù
! Phép tuyển các bit (OR) << Phép dịch các bít về bên trái ^ Phép tuyển các bit loại trừ >> Phép dịch các bít về bên phải 2.6.10.Các toán tử logic
Bảng 2.3. Các toán tử logic
> Lớn hơn < Nhỏ hơn
>= Lớn hơn hoặc bằng && Và
= = Bằng || Hoặc
!= khác ! Đảo
CHƯƠNG III
XÂY DỰNG HỆ THỐNG GIÁM SÁT VÀ ĐIỀU KHIỂN CHO HỆ THỐNG CHIẾT BIA, DẬP NẮP VÀ ĐÓNG
KEG BIA CỦA CÔNG TY CỔ PHẨN BIA RƯỢU, NƯỚC GIẢI KHÁT HÀ NỘI.