Multilingual

หน้าจอ Basic Panel นั้นสามารถรองรับการทำหน้าจอให้แสดงผลแบบหลายภาษาได้อยู่แล้ว ซึ่งทำให้ข้อจำกัดทางภาษาของผู้ใช้งานลดลงได้  การทำหน้าจอแบบหลายภาษาในยุคเริ่มต้นของ HMI นั้นจะทำด้วยการสร้างหน้าจอแต่ละภาษาแยกหน้ากัน แล้วทำการเปลี่ยนหน้าจอไปหน้าหน้าจอของแต่ละภาษาเอาเอง

แต่สำหรับหน้าจอยุคใหม่แล้ว การเปลี่ยนภาษาสามารถทำได้โดยใช้ part เดิมในหน้าเดียวกันได้เลย ทำให้การพัฒนาง่ายขึ้นและลดจำนวนหน้าจอลงไปได้มาก (ซึ่งส่งผลถึงการลดหน่วยความจำในหน้าจอด้วย)

โดยการตั้งค่าและการใช้งาน Multilingual มีขึ้นตอนการตั้งค่า การใช้งาน และการประยุกต์ใช้งานดังนี้

การตั้งค่าให้ใช้งาน Multilingual

  1. ที่หน้าต่าง Project tree ให้เราไปเลือกในส่วนของ Languages & resources -> Project languages ให้เราไปเลือกภาษาที่ต้องการเปลี่ยนเพิ่มขึ้นมา ซึ่งค่า default ภาษาอังกฤษจะถูกตั้งค่าเอาไว้ภาษาเดียว
    multilingual_01.png
  2. ในส่วนของ Runtime settings ในอยู่ภายใน project ของ HMI ให้เราไปที่ Language & font แล้วทำการ enable ภาษาที่เราได้เพิ่มจากขั้นตอนก่อนหน้านี้ด้วย  ถ้าหากเราไม่ enable ในส่วนนี้ การเปลี่ยนภาษาก็ไม่สามารถทำได้เช่นกัน
    multilingual_02.png

 

การตั้งค่าในการแสดงผลหลายภาษาใน Text

  1. การตั้งค่าให้ Text สามารถเปลี่ยนภาษาได้ ให้เราวาง Text ปกติแล้วพิมพ์ข้อความภาษาอังกฤษที่ต้องการตามปกติลงไปก่อน
    multilingual_03.png
  2. จากนั้นให้เราไปที่ Properties ของ Text ตัวนั้น แล้วไปเลือก tab ที่ชื่อว่า Texts จะพบว่าจะมี column ที่เป็นภาษาไทยแสดงอยู่ ให้เราพิมพ์ข้อความภาษาไทยที่สอดคล้องกับข้อความภาษาอังกฤษที่เราได้พิมพ์ไว้ก่อนหน้านี้ลงไป
    multilingual_04.png

 

การตั้งค่าในการแสดงผลหลายภาษาใน Button 2 สถานะ

  1. สำหรับตัวอย่างนี้ เราจะยกตัวอย่างกรณีที่เราต้องการวางปุ่มกดแบบที่แสดงสถานะ ON/OFF ในตัว ซึ่งกรณีนี้ให้เราทำการสร้างปุ่มกด และ Properties ของปุ่มกดตามปกติ
  2. ให้ทำการสร้าง Text List โดยเลือก Selection เป็นแบบ Value/Range เพราะสถานะของปุ่มกดมีค่าเป็น 0 กับ 1 จากนั้นให้เรากำหนดค่า 0 กับ 1 นี้ในตาราง Text List entries และแต่ละสถานะ ON/OFF นั้นให้เราเลือก Properties -> Texts เพื่อพิมพ์ภาษาไทยที่สอดคล้องกับภาษาอังกฤษที่ต้องการ
    multilingual_05
    multilingual_06
  3. กลับมาที่ปุ่มกดที่ต้องการอีกรอบ ให้เราเลือก Label เป็นแบบ Text lists เพื่อ link ไปหา Text list ที่เราได้สร้างขึ้นมา
    multilingual_07.png

 

การสร้างปุ่มเพื่อเปลี่ยนภาษา

การสร้างปุ่มเพื่อเปลี่ยนภาษาจริงๆแล้วมีหลายวิธี ในหัวข้อนี้เราจะอธิบายการสร้างปุ่มเปลี่ยนภาษาแบบปุ่มกดตรงๆกับการเปลี่ยนภาษาโดยไป link กับ tag ที่ต้องการ

การเปลี่ยนภาษาแบบวางปุ่มตรงๆ

  1. ทำการวางปุ่มเพื่อเปลี่ยนภาษามาก่อน (ในที่นี้ขอวางปุ่มปกติแบบไม่มีการตกแต่งความสวยงาม)
    multilingual_08.png
  2. ที่ปุ่มเปลี่ยนเป็นภาษาอังกฤษ ให้เราไปตั้ง Properties -> Events แล้วเลือกเป็นแบบ SetLanguage แล้วให้เลือก Runtime language เป็นภาษาอังกฤษ
    multilingual_09
  3. ที่ปุ่มเปลี่ยนเป็นภาษาไทย ให้เราไปตั้ง Properties -> Events แล้วเลือกเป็นแบบ SetLanguage แล้วให้เลือก Runtime language เป็นภาษาไทย
    multilingual_10.png
    สังเกตว่าเมื่อเราเปลี่ยนรูปแบบเป็น Runtime language แล้ว มีมีภาษาให้เราเลือกตามที่เราได้ตั้งค่าเอาไว้ตั้งแต่แรกว่าเราได้ enable ภาษาอะไรไว้บ้าง
    multilingual_11.png
  4. อย่าลืมสร้างภาษาให้กับปุ่มเปลี่ยนภาษาแต่ละตัวด้วย

    This slideshow requires JavaScript.

  5. เมื่อทดสอบด้วยการทำ simulation จะเห็นว่าภาษามีการเปลี่ยนไปตามการกดปุ่มเปลี่ยนภาษา

    This slideshow requires JavaScript.

    This slideshow requires JavaScript.

การเปลี่ยนภาษาแบบ link กับค่าใน tag

การเปลี่ยนภาษาแบบนี้เหมาะกับการที่เราต้องการที่จะให้ PLC สามารถเปลี่ยนภาษาที่ฝั่งจอ HMI ได้โดยดูจากค่าใน tag นั้นๆ ในตัวอย่างนี้ขอสมมติ tag นั้นให้เป็น internal memory ของจอก่อน แต่ของจริงผู้ใช้งานควรใช้ tag นี้เป็น tag ของ PLC

  1. สมมติว่าเราสร้าง I/O field ขึ้นมาแล้วไป link กับ tag ที่ชื่อว่า Tag_Change_Language  (อย่าลืมว่าในที่นี้เราใช้เป็น internal tag ของจอเพื่อความง่าย แต่ของจริงๆ tag นี้ควรเป็น tag จาก PLC)
    multilingual_18.png
  2. ที่ Project tree ให้เราไปเลือกหัวข้อ HMI tags แล้วให้ไปเลือก Tag_Change_Language ที่เราได้สร้างไว้  จากนั้นเลือก Properties ของ tag ตัวนี้  ที่หัวข้อ Events ให้เราเลือก Value change และเลือก Settings -> SetLanguage ดังรูป
    multilingual_19
  3. เปลี่ยนรูปแบบการเปลี่ยนภาษาเป็น HMI_Tag ดังรูป
    multilingual_20.png
  4. จากนั้นให้เลือก Tag_Change_Language ลงไปเพื่อเป็นตัวเปลี่ยนภาษา
    multilingual_21.png
  5. เพียงเท่านี้ Tag_Change_Language ก็จะเปลี่ยนภาษาได้แล้ว โดยสัมพันธ์จากค่าภายใน tag ตัวนี้นั่นเอง ซึ่งถ้าเราย้อนกลับไปดูที่ Runtime settings -> Language & font เราจะเห็น column Order ที่มีค่าเป็น 0 กับ 1 นั่นเอง นั่นหมายความว่าถ้า Tag_Change_Language มีค่าเป็น 0 จะแสดงผลภาษาอังกฤษ และถ้า Tag_Change_Language มีค่าเป็น 1 จะแสดงผลภาษาไทย
    multilingual_02
  6. เมื่อทดสอบด้วย simulation จะเห็นว่าภาษาจะเปลี่ยนถามค่าของ Tag_Change_Language

    This slideshow requires JavaScript.

การเปลี่ยนภาษาแบบใช้ drop down menu

การเปลี่ยนภาษาแบบใช้ drop down menu นั้น ให้เราทำการตั้งค่า “การเปลี่ยนภาษาแบบ link กับ tag” ในขั้นตอนที่แล้วให้เรียบร้อยก่อน ดังนั้นในกรณีนี้เราจะถือว่าเราได้ทำการตั้งค่า “การเปลี่ยนภาษาแบบ link กับ tag” เสร็จเรียบร้อยแล้ว และเราจะใช้ตัวแปร Tag_Change_Language ตามขั้นตอนที่แล้วไปเลย

  1. ให้สร้าง Text lists ตัวใหม่ขึ้นมา ในที่นี้เราตั้งชื่อเป็น Text_List_Change_Language และเลือก Selection เป็นแบบ Value/Range   และทำการตั้งค่า 0 เป็น English และ 1 เป็น Thaiและอย่าลืมตั้งคำในแต่ละภาษาจาก tab Texts ที่อยู่ใน Properties ของแต่ค่า Value ด้วย

    This slideshow requires JavaScript.

  2. กลับมาที่หน้าจอ ให้เราวาง part I/O field ที่หน้าจอ  และทำการ link Text list ไปยังตัว Text_List_Change_Language ที่ได้สร้างไว้  และทำการ Link Process tag ไปยัง Tag_Change_Language ที่ได้สร้างไว้แล้วmultilingual_26.png
  3. ดังนั้นจะเห็นว่าค่าใน Text List ที่เลือกภาษาอังกฤษหรือไทยนั้น จะไปกระทบกับค่าใน Tag_Change_Language ให้เปลี่ยนค่าเป็น 0 หรือ 1  และเราได้ตั้งค่าให้เมื่อ Tag_Change_Language มีการเปลี่ยนแปลงค่่าจะทำการ SetLanguage จากขั้นตอน “การเปลี่ยนภาษาแบบ link กับ tag” เรียบร้อยแล้ว จึงไม่ต้องตั้งอะไรเพิ่มในหัวข้อนี้อีก
  4. เมื่อทดสอบด้วยการทำ simulation จะเห็นว่าเราสามารถเปลี่ยนภาษาจาก drop down menu ได้แล้ว

    This slideshow requires JavaScript.

     

 

 

 

 

 

 

 

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s