RS-485 ย่อมาจาก Recommended Standard 485 เป็นมาตรฐานการสื่อสารแบบอนุกรมแบบหลายจุด (multipoint) ที่พัฒนาโดย EIA (Electronic Industries Association) ในปี 1983 ถูกออกแบบมาเพื่อใช้งานในระบบอุตสาหกรรมและระบบควบคุมอัตโนมัติ รองรับการส่งข้อมูลระยะไกลได้ถึง 1200 เมตร สามารถเชื่อมต่ออุปกรณ์หลายตัวบนสายเคเบิลเดียว ทนทานต่อสัญญาณรบกวนสูง และโครงสร้างที่เรียบง่าย
การใช้งาน RS-485
- ระบบควบคุมอัตโนมัติ: RS-485 มักใช้ในระบบควบคุมอัตโนมัติ เช่น ระบบควบคุมอาคาร ระบบควบคุมอุตสาหกรรม ระบบควบคุมการจราจร
- ระบบ SCADA: RS-485 มักใช้ในระบบ SCADA (Supervisory Control and Data Acquisition)
- ระบบ PLC: RS-485 มักใช้ในระบบ PLC (Programmable Logic Controller)
- ระบบเครือข่ายเซ็นเซอร์: RS-485 มักใช้ในระบบเครือข่ายเซ็นเซอร์
องค์ความรู้ที่จำเป็นสำหรับการใช้งาน RS-485
Essential Guidelines for RS-485 Communication
การใช้งาน RS-485 จำเป็นต้องมีความรู้และทักษะหลายด้านเพื่อให้สามารถตั้งค่าและใช้งานได้อย่างมีประสิทธิภาพ นี่คือองค์ความรู้หลัก ๆ ที่จำเป็นต้องมี:
1.ความรู้เบื้องต้นเกี่ยวกับ IC MAX485 และโมดูลสื่อสาร RS-485
IC MAX485
- คุณสมบัติ: IC MAX485 ผู้ผลิต: Maxim Integrated เป็นตัวขับ (driver) และตัวรับ (receiver) สัญญาณ RS-485 ที่ทำงานด้วยไฟเลี้ยงต่ำเพียง 5V มันสามารถส่งข้อมูลได้ในระยะทางไกลและทนทานต่อสัญญาณรบกวน รองรับความเร็วสูงสุดถึง 2.5 Mbps
- การเชื่อมต่อ: MAX485 รองรับการเชื่อมต่อแบบ half-duplex ซึ่งหมายความว่ามันสามารถส่งและรับข้อมูลได้ แต่ไม่พร้อมกัน สามารถสลับโหมดการทำงานระหว่างการส่งและการรับโดยการควบคุม pin DE และ RE
- การใช้งาน: ใช้ในระบบที่ต้องการการสื่อสารระหว่างอุปกรณ์หลายตัว เช่น ระบบควบคุมอัตโนมัติในโรงงาน ระบบสื่อสารในอาคาร และระบบการจัดการพลังงาน
IC ที่สามารถใช้สำหรับการสื่อสารแบบ RS-485 ไม่จำเป็นต้องเป็น MAX485 เสมอไป ยังมี IC อื่นๆ ที่สามารถใช้งานได้เช่นกัน ซึ่งมีหลากหลายยี่ห้อและรุ่นที่รองรับการใช้งาน เช่น SN75176 หรือ ADM485 ฯลฯ
คุณสามารถศึกษาเพิ่มเติมเกี่ยวกับ MAX485 function table เพื่อควบคุมโหมดการทำงาน IC
เราขอข้ามเนื้อหาพื้นฐานที่ต้องใช้เวลาทำความเข้าใจ แต่คุณสามารถใช้งานง่ายขึ้นด้วยโมดูลต่อไปนี้
โมดูล RS-485 TTL to UART
- ความสำคัญ: โมดูลนี้ช่วยให้การเชื่อมต่อระหว่างอุปกรณ์ที่ใช้สัญญาณ RS-485 กับอุปกรณ์ที่ใช้สัญญาณ UART (TTL) ง่ายขึ้น โดยเฉพาะกับไมโครคอนโทรลเลอร์หรือบอร์ดพัฒนาเช่น Arduino, Raspberry Pi
- การทำงาน: โมดูลจะมี IC เช่น MAX485 ที่ทำหน้าที่แปลงสัญญาณ RS-485 เป็นสัญญาณ TTL (UART) และในทางกลับกัน ทำให้สามารถส่งข้อมูลระหว่างอุปกรณ์ที่ใช้มาตรฐานต่างกันได้
- การเชื่อมต่อ: โมดูลมักมี pin header สำหรับเชื่อมต่อกับไมโครคอนโทรลเลอร์ และ terminal block สำหรับเชื่อมต่อกับสายสัญญาณ RS-485
2. โปรโตคอลการสื่อสาร (Communication Protocols)
การสื่อสารในระบบ RS-485 สามารถใช้โปรโตคอลหลายชนิดขึ้นอยู่กับความต้องการและการใช้งานของระบบ
Modbus คืออะไร?
เป็นโปรโตคอลการสื่อสารที่พัฒนาโดย Modicon (ปัจจุบันเป็นส่วนหนึ่งของ Schneider Electric) ในปี 1979 สำหรับใช้ในระบบควบคุมและอัตโนมัติทางอุตสาหกรรม Modbus ถูกออกแบบมาเพื่อเชื่อมต่ออุปกรณ์อิเล็กทรอนิกส์หลายๆ ตัวในเครือข่ายเดียวกัน ทำให้สามารถแลกเปลี่ยนข้อมูลระหว่างกันได้อย่างมีประสิทธิภาพ
รูปแบบของ Modbus
1.Modbus RTU (Remote Terminal Unit)
2.Modbus ASCII
3.Modbus TCP/IP
โครงสร้างของข้อความ Modbus
ข้อความ Modbus ประกอบด้วยส่วนประกอบหลักดังนี้:
- ที่อยู่ของอุปกรณ์ (Address):
- ระบุหมายเลขของอุปกรณ์ที่ต้องการสื่อสาร (0-247)
- ฟังก์ชันโค้ด (Function Code):
- ระบุประเภทของการดำเนินการที่ต้องการทำ เช่น อ่านค่า, เขียนค่า
- ข้อมูล (Data):
- ข้อมูลที่ต้องการอ่านหรือเขียน
- ที่อยู่ของรีจิสเตอร์หรือคอยล์
- การตรวจสอบข้อผิดพลาด (Error Check):
- CRC สำหรับ Modbus RTU
- LRC สำหรับ Modbus ASCII
ฟังก์ชันหลักของ Modbus
- อ่านข้อมูล:
- ฟังก์ชันโค้ด 01: อ่านคอยล์ (Read Coils)
- ฟังก์ชันโค้ด 02: อ่านสวิตช์ (Read Discrete Inputs)
- ฟังก์ชันโค้ด 03: อ่านรีจิสเตอร์ที่ถือค่า (Read Holding Registers)
- ฟังก์ชันโค้ด 04: อ่านรีจิสเตอร์ที่เป็นข้อมูลอินพุต (Read Input Registers)
- เขียนข้อมูล:
- ฟังก์ชันโค้ด 05: เขียนคอยล์ตัวเดียว (Write Single Coil)
- ฟังก์ชันโค้ด 06: เขียนรีจิสเตอร์ตัวเดียว (Write Single Register)
- ฟังก์ชันโค้ด 15: เขียนหลายคอยล์ (Write Multiple Coils)
- ฟังก์ชันโค้ด 16: เขียนหลายรีจิสเตอร์ (Write Multiple Registers)
- อื่นๆ:
- ฟังก์ชันโค้ด 07: อ่านสถานะ (Read Exception Status)
- ฟังก์ชันโค้ด 08: การทดสอบการสื่อสาร (Diagnostics)
- ฟังก์ชันโค้ด 17: รายงานสถานะของอุปกรณ์ (Report Slave ID)
- ฟังก์ชันโค้ด 22: เขียนรีจิสเตอร์ (Mask Write Register)
- ฟังก์ชันโค้ด 23: อ่าน/เขียนรีจิสเตอร์ (Read/Write Multiple Registers)
– การแปลงเลขฐาน (Number System Conversion) เลขฐานสอง (Binary), เลขฐานสิบ (Decimal), เลขฐานสิบหก (Hexadecimal) ความเข้าใจในการแปลงระหว่างเลขฐานต่าง ๆ จะช่วยให้สามารถอ่านค่าและตั้งค่าการสื่อสารได้อย่างถูกต้อง ปัจจุบันมีแอพที่สำหรับอำนวยความสะดวกมากมาย
– ประเภทข้อมูลพื้นฐาน (basic data type)
บิต (Bit) : เป็นหน่วยข้อมูลที่เล็กที่สุด ใช้เก็บข้อมูลตรรกะ มีค่าเป็น 0 หรือ 1
ไบต์ (Byte) : ประกอบด้วย 8 bit ใช้เก็บข้อมูลตัวอักษร ตัวเลข หรือสัญลักษณ์ ใช้พื้นที่หน่วยความจำ 1 byte
ตัวอักษร (Character) : ใช้เก็บข้อมูลตัวอักษร ตัวเลข หรือสัญลักษณ์ โดยทั่วไปใช้ 1 byte
ตัวเลขจำนวนเต็ม (Integer) : ใช้เก็บข้อมูลตัวเลขจำนวนเต็มบวกหรือลบ ช่วงค่าขึ้นอยู่กับขนาดตัวแปร
ตัวเลขจำนวนเต็มที่ไม่มีเครื่องหมาย (Unsigned integer) : ใช้เก็บข้อมูลตัวเลขจำนวนเต็มบวก ช่วงค่าขึ้นอยู่กับขนาดตัวแปร
3. การเชื่อมต่อและการตั้งค่าเครือข่าย (Network Configuration)
การเดินสายสัญญาณ RS-485
2-wire (half-duplex) สามารถส่งหรือรับข้อมูลได้ทีละเวลาเท่านั้น ไม่สามารถทำทั้งสองอย่างพร้อมกันได้
4-wire (full-duplex) แยกสัญญาณส่งและรับออกจากกัน อุปกรณ์ในเครือข่ายสามารถส่งและรับข้อมูลพร้อมกันได้ เหมาะสำหรับระบบที่ต้องการการส่งข้อมูลแบบไม่ต้องรอคิว (Simultaneous Communication)
– การเดินสายไฟ : การเดินสายไฟในการสื่อสาร RS-485 มีหลายรูปแบบที่สามารถใช้งานได้ตามความต้องการของระบบ โดยรูปแบบที่นิยมใช้มีสองประเภทหลัก ได้แก่ Point-to-Point (P2P) และ Multidrop (หรือ Multidrop Bus)
1. การเดินสายไฟแบบ Point-to-Point (P2P)
การเชื่อมต่อ
อุปกรณ์ 1 (Device 1): เชื่อมต่อพิน A และ B ไปยังพิน A และ B ของอุปกรณ์ 2
อุปกรณ์ 2 (Device 2): เชื่อมต่อพิน A และ B ไปยังพิน A และ B ของอุปกรณ์ 1
2. การเดินสายไฟแบบ Multidrop (Multidrop Bus)
RS-485 Field Bus Cable Routing สายเคเบิลเครือข่ายฟิลด์บัสควรเดินสายในลักษณะบัสต่อเนื่องแบบเดซี่เชน ไม่ควรมีการเชื่อมต่อแบบสตับ แบบสตาร์ หรือแบบริง สายเคเบิลแบบบัสเนื่องจากอาจทำให้เกิดการสะท้อนของสัญญาณและสัญญาณรบกวน ควรผ่านแต่ละโหนดและเชื่อมต่อโดยไม่มีการแยกหรือแยกสาขาในเครือข่ายสายเคเบิล
ภาพและข้อมูลอ้างอิงจาก : Schneider Electric
https://ecostruxure-building-help.se.com/bms/topics/show.castle?id=10817&locale=en-US&productversion=2.0
https://www.se.com/es/es/faqs/FA221785/
การเดินสาย
– เพิ่มตัวต้านทาน (Termination Resistor) ใช้ต้านทาน 120 โอห์ม ที่ปลายทั้งสองของสายบัส (ระหว่างสายสัญญาณ A และ B) เพื่อป้องกันการสะท้อนของสัญญาณ
– ใช้ Bias Resistor เพื่อกำหนดค่าไบอัสให้กับบัส สามารถช่วยลดปัญหาการลอยของสัญญาณ (floating) เมื่อไม่มีการส่งข้อมูล
– การใช้การส่งสัญญาณแบบสมดุล (Balance)
ในการสื่อสาร RS-485 การส่งสัญญาณดิฟเฟอเรนเชียลแบบสมดุลเกี่ยวข้องกับสายสองเส้น ซึ่งมักมีป้ายกำกับว่า A (ข้อมูล +) และ B (ข้อมูล -) สัญญาณบนสายทั้งสองนี้เป็นแบบกลับด้านกัน ต่อไปนี้เป็นคำอธิบายวิธีการทำงาน:
สัญญาณ A (ข้อมูล +): สายนี้มีสัญญาณดั้งเดิม
สัญญาณ B (ข้อมูล -): สายนี้มีสัญญาณกลับด้าน ซึ่งอยู่ตรงข้ามกับสัญญาณ A
ลองนึกภาพรูปคลื่นต่อไปนี้สำหรับสัญญาณ:
สัญญาณ A (ข้อมูล +): คลื่นไซน์ที่สั่นระหว่าง +1V ถึง -1V
สัญญาณ B (ข้อมูล -): คลื่นไซน์กลับหัวที่สั่นระหว่าง -1V ถึง +1V
เมื่อเปรียบเทียบสัญญาณทั้งสองนี้ (A – B) สัญญาณส่วนต่างจะถูกสร้างขึ้น สัญญาณดิฟเฟอเรนเชียลนี้จะช่วยลดสัญญาณรบกวนและปรับปรุงความสมบูรณ์ของสัญญาณ เนื่องจากสัญญาณรบกวนใดๆ ที่ส่งผลต่อสายไฟทั้งสองเส้นเท่ากันจะถูกยกเลิกในกระบวนการลบ แนวทางที่สมดุลนี้เป็นเหตุผลสำคัญว่าทำไม RS-485 จึงมีความแข็งแกร่งและเชื่อถือได้ในระยะทางไกลและในสภาพแวดล้อมที่มีสัญญาณรบกวนทางไฟฟ้า
– การตั้งค่า Baud Rate, Parity, Stop Bits, และอื่น ๆ เพื่อให้สอดคล้องกับทุกอุปกรณ์ในเครือข่าย
– การใช้อุปกรณ์ทวนสัญญาณ (Repeaters) และเทอร์มิเนเตอร์ (Terminators) ที่ช่วยป้องกันการสะท้อนของสัญญาณ ในระบบเครือข่ายใหญ่ ๆ
– ขีดจำกัดการเชื่อมต่ออุปกรณ์ในระบบ RS-485
- ขีดจำกัดมาตรฐาน: ตามมาตรฐาน RS-485 สามารถเชื่อมต่อได้สูงสุด 32 unit load บนบัส RS-485 เดียว (การใช้ทรานซีฟเวอร์ที่มี unit load ต่ำจะช่วยให้สามารถเชื่อมต่ออุปกรณ์ได้มากขึ้นในระบบ RS-485)
- ข้อพิจารณาทางปฏิบัติ: แม้ว่าขีดจำกัดตามทฤษฎีอาจสูง แต่ข้อจำกัดทางปฏิบัติ เช่น การเสื่อมสัญญาณ ความยาวของบัส และคุณภาพของสายเคเบิล สามารถส่งผลต่อจำนวนอุปกรณ์ที่สามารถเชื่อมต่อได้อย่างน่าเชื่อถือ การปรับตั้งและการใช้รีพีทเตอร์สามารถช่วยขยายเครือข่ายและรักษาความสมบูรณ์ของสัญญาณ
สรุปได้ว่า มาตรฐาน RS-485 อนุญาตให้เชื่อมต่อ unit load สูงสุด 32 บนบัสเดียว แต่ด้วยทรานซีฟเวอร์สมัยใหม่ที่มี unit load ต่ำกว่า สามารถเชื่อมต่ออุปกรณ์ได้มากขึ้น ควรพิจารณาด้านปฏิบัติและปรึกษาข้อมูลจาก datasheet ของทรานซีฟเวอร์เพื่อข้อมูลที่แม่นยำ
อ้างอิง
Unit Load Definition, Maximum Network Load and Affects of Excess Unit Load (MNB and Generic RS-485 Devices)
Expanded Unit Load with Network of Isolated Devices Only (MNB and Generic RS-485 Devices)
4. การใช้งานซอฟต์แวร์และเครื่องมือ (Software and Tools)
ซอฟต์แวร์การตั้งค่าและการตรวจสอบการสื่อสาร เช่น Modbus Poll, ModScan, QModMaster
การใช้เครื่องมือวิเคราะห์สัญญาณ (Oscilloscope) และเครื่องมือวัดอื่น ๆ สำหรับการตรวจสอบและแก้ไขปัญหา
5. การอ่านและทำความเข้าใจคู่มืออุปกรณ์ (Device Manual)
คู่มือจะให้ข้อมูลที่สำคัญเกี่ยวกับการตั้งค่า การสื่อสาร และการใช้งานอุปกรณ์ การทำความเข้าใจข้อมูลในคู่มือเป็นสิ่งสำคัญในการใช้งานอุปกรณ์อย่างถูกต้องและมีประสิทธิภาพ
(คลิกที่รูปภาพตัวอย่างคู่มือเพื่อขยายในแท็บใหม่)
สรุป
การเรียนรู้และเข้าใจองค์ความรู้เหล่านี้จะทำให้คุณสามารถตั้งค่าและใช้งานระบบ RS-485 ได้อย่างถูกต้องและมีประสิทธิภาพ การฝึกฝนและการทดลองใช้งานจะช่วยให้คุณมีความเชี่ยวชาญในการใช้งาน RS-485 ในการสื่อสารอุตสาหกรรมและการประยุกต์ใช้งานอื่น ๆ ได้อย่างมีประสิทธิภาพมากขึ้น
แหล่งอ้างอิง
Content filtered by: iMicon System
Reference the main content from: Schneider Electric
(Especially the connection format and Modbus, a communication protocol developed by Modicon, which is now part of Schneider Electric)
แหล่งข้อมูลเพิ่มเติม
- ข้อมูลเกี่ยวกับ RS-485 : https://en.wikipedia.org/wiki/RS-485
- ข้อมูลเกี่ยวกับ Modbus: https://modbus.org/
- เว็บไซต์ Schneider Electric: https://www.se.com/ww/en/
- การเดินสายไฟของเครือข่ายการสื่อสาร RS485 : https://www.se.com/es/es/faqs/FA221785
- การกำหนดเส้นทางสายเคเบิลบัสฟิลด์ RS-485 : https://ecostruxure-building-help.se.com/bms/topics/show.castle?id=10817&locale=en-US&productversion=2.0
.
.
.
.
Before you quit – Try
ก่อนที่คุณจะยอมแพ้ – ลองทำดู
ไม่ว่าคุณจะล้มเหลวมากี่รอบ หรือผิดพลาดมาแล้วกี่ครั้ง
คุณก็ยังนำหน้าคนที่ไม่เคยแม้แต่คิดที่จะลงมือทำ
Basic RS-485 Communication With Micromation Dev Board V3 Lite