การสร้าง switch พื้นฐานบน WinCC 7.x
การสร้างปุ่มกดนั้น ต้องถือว่าเป็นพาร์ทพื้นฐานของการเขียนหน้าจอทุกแบบ แต่การใช้งาน WinCC 7.x นั้นมีความแตกต่างจาก WinCC Professional พอสมควร ดังนั้นผู้ที่คุ้นเคยกับการใช้งานบน platform TIA มาก่อน อาจจะสับสนในการใช้งานบ้าง
ตัวอย่างในบทความนี้จะแสดงการใช้งานปุ่มกดในรูปแบบที่จะได้ใช้งานบ่อยๆทั้ง 4 แบบคือ ปุ่มกดแบบ Set, ปุ่มกดแบบ Reset, ปุ่มกดแบบกดติดปล่อยดับ และปุ่มกดแบบกดติดกดดับ ซึ่งอาจจะมีการประยุกต์ด้วยการเขียน Script บ้าง แต่จะไม่ได้ยากมากเกินไปนัก และช่วยให้ผู้ใช้งานเข้าใจการเขียน Script ได้ดีขึ้นด้วย
– สร้าง tag เพื่อทดสอบการใช้งาน โดยตั้งชื่อว่า Switch1 มีชนิดแบบ Binary Tag
– วางปุ่มกด 4 ปุ่มเพื่อแทนการกดปุ่มแบบ Set, Reset, Momentary (กดติดปล่อยดับ) และ Invert (กดติดกดดับ)
– ในส่วนของรูปมอเตอร์สามารถหาได้จาก Library -> Siemens HMI Symbol Library
– ตั้งค่า Control Properties ของมอเตอร์ให้ SymbolAppearance เป็นแบบ Shaded -1 เพื่อให้สามารถเปลี่ยนสีได้
– Link tag เพื่อเปลี่ยนสีให้กับมอเตอร์ โดยคลิกขวาที่ ForeColor -> Dynamic Dialog…
– แล้วตั้งสีในกรณีที่ tag Switch1 เป็นจริงและเป็นเท็จ ตามต้องการ
– สร้าง switch แบบ Set ด้วยการสร้าง Event ให้ปุ่มกด แล้วใส่ Constant = 1 ให้กับ tag Switch1
– สร้าง switch แบบ Reset ด้วยการสร้าง Event ให้ปุ่มกด แล้วใส่ Constant = 0 ให้กับ tag Switch1
– สำหรับการสร้างปุ่มแบบกดติดปล่อยดับนั้น ให้เราทำ Event 2 ครั้งคือตอนกด ให้นำ Constant=1 ใส่ใน tag Switch1
และตอนปล่อยให้นำ Constant=0 ใส่ใน tag Switch1
– ส่วนปุ่มกดติดกดดับนั้น อาจจะต้องมีการเขียน Script เพิ่มเติม โดยจะยกตัวอย่างทั้ง C และ VBS แล้วแต่ความถนัดในการใช้งานของแต่ละคน
ตัวอย่าง C Script เพื่อทำปุ่มกดติดกดดับ
โดยเนื้อหาของ C Script ประกอบด้วย
SHORT S7;
S7 = GetTagBit(“Switch1”);
S7 = 1-S7;
SetTagBit(“Switch1”,S7);
ตัวอย่าง VB Script เพื่อทำปุ่มกดติดกดดับ
Dim S7
Set S7 = HMIRuntime.Tags(“Switch1”)
S7.Read
S7.Value = 1 – S7.Value
S7.Write
– เมื่อทดสอบด้วย WinCC Runtime ก็จะได้ปุ่มกดทั้ง 4 แบบตามต้องการ
NOTE:
1. กรณีที่รู้สึกว่าการเปลี่ยนสีของมอเตอร์ค่อนข้างช้า เราสามารถตั้งค่า Trigger ให้เร็วขึ้นได้ เพราะค่า Update ปกติของโปรแกรมคือ 2s
แล้วเปลี่ยนส่วนของ Standard cycle ให้เร็วขึ้น เช่นจาก 2s เป็น 250ms เป็นต้น
2. อีกวิธีหนึ่งที่สามารถเปลี่ยนสีมอเตอร์ได้ ก็คือการทำ Animation ซึ่งการทำ Animation โดยเลือก Add Property ของ ForeColor มาผูกกับ Data type แบบ Bool ของ tag “Switch1” นั่นเอง ซึ่งก็ให้ผลไม่ต่างกับการตั้งค่าใน Dynamic Dialog เลย