Modbus Protocol คืออะไร
Modbus คือโปรโตคอลการสื่อสารที่พัฒนาขึ้นโดยบริษัท Modicon systems ด้วยรูปแบบง่าย ๆ เป็นรูปแบบการส่งข้อมูลระหว่างอุปกรณ์อิเล็กทรอนิกส์ อุปกรณ์ที่ต้องการข้อมูลเราเรียกว่า ModbusMaster ส่วนอุปกรณ์ที่ให้ข้อมูลที่ต้องการเราเรียกว่า Modbus slave
ใช้เพื่อวัตถุประสงค์อะไร
Modbus เป็น Open Protocol หมายความว่าบุคคลทั่วไปสามารถพัฒนาอุปกรณ์ที่ใช้การสื่อสารแบบ Modbus โดยไม่ต้องเสียค่าใช้จ่ายใด ๆ Modbus จึงเป็น Protocol พื้นฐานและนิยมใช้อย่างแพร่หลายในทุกอุตสาหกรรม โดยใช้รับส่งข้อมูลจากอุปกรณ์ควบคุมกับ Controller หรือระบบประมวลผลข้อมูลต่าง ๆ
ทำงานอย่างไร
Modbus เป็นการสื่อสารโดยการส่งข้อมูลไปตามสายสัญญาณ Serial ระหว่างอุปกรณ์ โดยวิธีการสื่อสารที่ง่ายที่สุดคือการต่อสายสัญญาณ Serial ระหว่าง Master หนึ่งตัวกับ Slave หนึ่งตัว
ข้อมูลจะถูกส่งต่อเนื่องกันไปด้วยสัญญาณ 0 หรือ 1 ซึ่งเราเรียกว่า Bit โดยแต่ละบิตจะอยู่ในรูปแบบแรงดัน (Voltage) โดย 0 จะแทนด้วยแรงดันด้านบวกและ 1 แทนด้วยแรงดันด้านลบ ทำให้สัญญาณ Bit ถูกส่งไปด้วยความรวดเร็ว ความเร็วที่ใช้งานโดยทั่วไปคือ 9600 bps (bits per second)
เลขฐานสิบหก (hexadecimal) คืออะไร
ตัวเลข 0 และ 1 ที่ส่งมาจะแปลความหมายเป็นค่าตัวเลขได้ก็ด้วยการใช้รูปแบบของเลขฐานสิบหก โดย 4 Bit ที่ต่อกันจะเป็นกลุ่มของเลขฐานสิบหกหนึ่งค่าตั้งแต่ 0 ถึง F ดังตาราง
0000 = 0 | 0100 = 4 | 1000 = 8 | 1100 = C |
0001 = 1 | 0101 = 5 | 1001 = 9 | 1101 = D |
0010 = 2 | 0110 = 6 | 1010 = A | 1110 = E |
0011 = 3 | 0111 = 7 | 1011 = B | 1111 = F |
และแต่ละกลุ่มของ 8 Bit เราเรียกว่า Byte ซึ่งจะแสดงความหมายของ Character หนึ่งตัวที่แทนด้วยตัวเลขตั้งแต่ 00 ถึง FF
จะเก็บข้อมูลในรูปแบบ Modbus อย่างไร
ข้อมูลต่าง ๆ ของอุปกรณ์ที่เป็น Slave จะเก็บอยู่ในตาราง 4 ตารางที่มีคุณลักษณะต่างกัน โดยสองตางรางแรกจะเก็บข้อมูลของแบบ Discrete ที่เป็นค่า On/Off (Coil) ส่วนอีกสองตารางที่เหลือจะเก็บค่าตัวเลข(Register)
Coil และ Register ต่างก็มีตารางแบบ Read-only คืออ่านได้อย่างเดียว และ Read-write คืออ่านได้และเขียนข้อมูลลงไปได้
แต่ละตารางจะมีข้อมูล 9999 (เก้าพันเก้าร้อยเก้าสิบเก้า) ค่า
Coil หรือ Contact ซึ่งเป็น Discrete แต่ละตัวจะถูกระบุตำแหน่งด้วย Address ตั้งแต่ 0000 ถึง 270E ซึ่งเป็นเลขฐานสิบหก (แปลงเป็นฐานสิบคือ 0 ถึง 9998)
Register แต่ละตัวใช้พื้นที่ 16 bits = 2 bytes = 1 word และมี address ตั้งแต่ 0000 ถึง 270E เช่นกัน
Register แต่ละตัวใช้พื้นที่ 16 bits = 2 bytes = 1 word และมี address ตั้งแต่ 0000 ถึง 270E เช่นกัน
Data Addresses | Coil/Register Numbers | Type | Table Name |
0000 to 270E | 1-9999 | Read-Write | Discrete Output Coils |
0000 to 270E | 10001-19999 | Read-Only | Discrete Input Contacts |
0000 to 270E | 30001-39999 | Read-Only | Analog Input Registers |
0000 to 270E | 40001-49999 | Read-Write | Analog Output Holding Registers |
Coil / Register Number จะเป็นเพียง Location name จะไม่ปรากฏอยู่ในข้อมูลที่ถูกรับส่ง แต่Data Addressจะถูกระบุอยู่ในข้อมูล เช่นเดียวกับบุรุษไปรษณีย์จะส่งจดหมายได้ต้องปรากฏบ้านเลขที่อยู่บนซองจดหมาย
ยกตัวอย่างเช่น Register ตัวแรกคือ 40001 จะมี Data Address คือ 0000 เมื่อนำตัวเลข 40001 ลบด้วย 0000 จะได้ค่าที่เรียกว่า Offset คือ 40001 โดยแต่ละตารางจะมีค่า Offset คือ 1, 10001, 30001และ 40001 ตามลำดับ
ข้อมูลอ้างอิง : EDA Instruments & Systems
ขอ แบบ ที่ เข้าใจ กว่า นี้ ได้ไหมคับ แบบ ยกตัว อย่าง การ ป้อน และการ อ่านค่า จาก คู่มือ
ตอบลบModbus Protocol คืออะไร ~ Automation Review >>>>> Download Now
ตอบลบ>>>>> Download Full
Modbus Protocol คืออะไร ~ Automation Review >>>>> Download LINK
>>>>> Download Now
Modbus Protocol คืออะไร ~ Automation Review >>>>> Download Full
>>>>> Download LINK