WinCC cung cấp hai trình soạn thảo cho chương trình C. Một trình soạn thảo trong Graphics Designer cho việc tạo CAction cho các đối tượng, một trình soạn thảo khác trong Global Script cho việc tạo những Function và Action toàn cục. Cú pháp của ngôn ngữ soạn thảo tương ứng với C chuẩn theo ANSI. Một vùng ứng dụng khác cho ngôn ngữ lập trình C trong WinCC kèm theo việc tạo Dynamic Wizards. Do đó có sẵn trình soạn thảo tách rời.
2.7.2. Soạn thảo Action trong Graphics Designer
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 một chương trình cửa CAction cho một Event của đối tượng:
• 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.7.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
a. 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
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.7.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:
- 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