การเรียง address ของ S7-1200

รูปแบบการเรียง address ทั้งแบบ word และ double word นั้น อาจจะแตกต่างจาก PLC ยี่ห้ออื่นบ้าง แต่จริงๆแล้วไม่ใช่เรื่องแปลกเพราะเป็นสิ่งที่เราต้องศึกษาว่า PLC แต่ละยี่ห้อมีรูปแบบการเรียงข้อมูลสำหรับข้อมูลแบบ word/double word เป็นแบบไหน H/L หรือ L/H เป็นต้น

กรณีข้อมูลแบบ WORD

ถ้าข้อมูล %MW0 = 16#ABCD   ==> ค่าใน %MB0 = 16#AB และค่า %MB1=16#CD ดังรูปFAQ01_address_01.png

แต่หากเราต้องการสลับ byte กัน ก็สามารถใช้คำสั่ง swap ได้ ซึ่งจะทำให้ข้อมูลใน %MB1 ไปอยู่ byte บนแล้วข้อมูลใน %MB0 ไปอยู่ byte ล่างแทน
FAQ01_address_02.png

หากดูจาก Watch table จะได้ข้อมูลดังนี้
FAQ01_address_03

ผลจากการที่ข้อมูลสลับ byte แบบนี้ มักทำให้การทำ alarm ผิดพลาดบ่อยๆคือ เวลาเรานำข้อมูลไปใส่จอ HMI ซึ่งจะมองข้อมูลเป็นแบบ bit ใน word ตัวอย่างเช่น

  • bit0 ของ %MW0  แทนที่จะเป็น %M0.0 กลับกลายเป็น %M1.0 เป็นต้น
  • ส่วน %M0.0 กลับกลายเป็น %MW0 bit8 เป็นต้น
  • สามารถดูได้จากรูปข้างล่างเพื่อความเข้าใจที่ง่ายขึ้น

FAQ01_address_08.png

กรณีข้อมูลแบบ Double Word

ถ้าข้อมูล %MD0 = 16#ABCDEF12   ==> ค่าใน %MB0 = 16#AB , %MB1=16#CD, %MB2=16#EF และค่า %MB3=16#12 ดังรูปFAQ01_address_04

ส่วนในกรณีที่เราใช้คำสั่ง swap กับ Double word ข้อมูลจะทำการสลับทั้งตัว word และตัว byte ด้วย
FAQ01_address_05

ข้อมูลที่ได้จากการ monitor ผ่าน Watch table จะเป็นดังนี้
FAQ01_address_06.png

FAQ01_address_07.png

 

 

 

 

 

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