Modbus มาสเตอร์หรือสเลฟ? วิธีที่ xLogic ทำหน้าที่ทั้งสองอย่างบน RS485 บัสเดียว

ถามผู้รวมระบบห้าคนว่าMicro PLCควรมีอะไรในเครือข่าย Modbus และสี่คนจะบอกว่าสเลฟ คนที่ห้าซึ่งหมดพอร์ต CPU รู้ความจริง: คนที่ห้าต้องการให้ PLC เป็นมาสเตอร์

xLogic ทำได้ทั้งสองอย่าง คู่มือระบุไว้อย่างชัดเจน: CPU สามารถทำหน้าที่เป็นสเลฟหรือมาสเตอร์ในเครือข่าย Modbus โดยพูด Modbus RTU, ASCII หรือ TCP ขึ้นอยู่กับเลเยอร์ทางกายภาพ ความยืดหยุ่นนั้นคือความแตกต่างระหว่าง PLC ที่เหมาะกับสถาปัตยกรรมของคุณและ PLC ที่บังคับให้คุณต้องออกแบบใหม่

โหมดสเลฟ: ค่าเริ่มต้นที่สะดวกสบาย

การติดตั้งส่วนใหญ่เป็นเรื่องง่าย: HMI หรือ SCADA สอบถาม PLC CPU นั่งอยู่บน RS485 — ผ่านพอร์ตในตัวหรือโมดูล PR-RS485/SR-RS485 สำหรับ CPU ที่ไม่มีพอร์ตในตัว — และตอบสนองต่อคำขอ Modbus RTU การกำหนดที่อยู่ตามแผนที่มาตรฐาน: อินพุต, เอาต์พุต, ธง, ธงอนาล็อก, รีจิสเตอร์, ชิฟท์รีจิสเตอร์ ตั้งค่าที่อยู่สถานี, ตั้งค่าความเร็วบอด (9600 เป็นค่าเริ่มต้น; เปลี่ยนที่ CPU ก่อนหากคุณต้องการความเร็ว) และการสอบถามก็ทำงานได้

อุปกรณ์หลายตัวบนบัสเดียว? ให้แต่ละตัวมีที่อยู่เฉพาะ คู่มือพูดตรงไปตรงมาเกี่ยวกับเรื่องนี้ — ที่อยู่ซ้ำทำให้การสื่อสารทำงาน "ไม่ถูกต้อง" ซึ่งเป็นภาษาของวิศวกรที่หมายถึง "ทำให้ข้อมูลเสียหายอย่างเงียบ ๆ"

โหมดมาสเตอร์: ซูเปอร์พาวเวอร์ที่เงียบสงบ

นี่คือจุดที่สถาปัตยกรรมเปิดกว้าง วาง CPU บนบัสในฐานะมาสเตอร์ และมันสามารถสอบถาม:

  • VFD สำหรับการตอบสนองความเร็วและรหัสข้อผิดพลาด
  • มิเตอร์พลังงานสำหรับยอดการบริโภค
  • I/O แบบขยายระยะไกลผ่าน Modbus แทนที่จะเป็น CAN
  • PLC ตัวที่สอง — แม้แต่ตัวที่สาม — สำหรับตรรกะที่กระจาย

ทันใดนั้น PLC ขนาดกะทัดรัดหนึ่งตัวกลายเป็นสมองของเซลล์ขนาดเล็ก รวบรวมข้อมูลจากอุปกรณ์ครึ่งโหลและส่งต่อไปยัง SCADA ผ่าน Ethernet นั่นทำให้ฮาร์ดแวร์ทั้งหมดในแผงหนึ่งรวมอยู่ในโมดูล DIN-rail โมดูลเดียว

สถาปัตยกรรมจริง: สถานีปั๊ม

ปั๊มสองตัว, ตัวส่งระดับหนึ่งตัว (4-20mA), เครื่องวัดการไหลสองตัว, VFD หนึ่งตัว โหมดมาสเตอร์: CPU สอบถามเครื่องวัดและ VFD บน RS485 รัน PID ระดับและลอจิกการสลับ เผยแพร่ค่าที่รวมกันผ่าน Modbus TCP ไปยัง PC ที่รันแพ็คเกจฟรี easySCADA หนึ่ง PLC หนึ่งเครือข่าย ไม่มีเกตเวย์ ไม่มีตัวแปลงโปรโตคอล ไม่มี CPU ตัวที่สอง

เวลาการกำหนดค่ารวมกับบล็อกอ่าน/เขียน Modbus: หนึ่งบ่าย คู่มือเก่าต้องการอุปกรณ์สามตัวและเอกสารการจับมือสองฉบับ

คำแนะนำที่ใช้ได้จริง

เริ่มต้นในฐานะสเลฟ นี่คือเส้นทางที่มีความเสี่ยงต่ำและครอบคลุมแผงส่วนใหญ่ เมื่ออุปกรณ์ที่สองปรากฏบนบัสและคุณเริ่มหวังว่า PLC จะอ่านมันโดยตรงได้ เปลี่ยนโหมดและใช้บทบาทมาสเตอร์ เส้นโค้งการเรียนรู้คือหนึ่งบ่าย — ผลตอบแทนคือสถาปัตยกรรมที่ขยายได้โดยไม่ต้องมีฮาร์ดแวร์ใหม่

สถาปัตยกรรมไฮบริด: มาสเตอร์ในท้องถิ่น, สเลฟทั่วโลก

นี่คือการกำหนดค่าที่ชนะการโต้แย้งมากที่สุด: CPU ทำหน้าที่เป็นมาสเตอร์ Modbus บน RS485 ในท้องถิ่น — สอบถาม VFD, เครื่องวัด, I/O ระยะไกล — และทำหน้าที่เป็นสเลฟ Modbus บนด้าน Ethernet ในเวลาเดียวกัน ตอบสนองต่อการสอบถามของ SCADA ผ่าน TCP การควบคุมในท้องถิ่นยังคงเป็นเชิงกำหนดและในท้องถิ่น; การมองเห็นทั่วโลกไหลขึ้นโดยไม่ต้องมี PLC ตัวที่สองหรือเกตเวย์

ไฮบริดนั้นคือสถาปัตยกรรมตามธรรมชาติสำหรับเซลล์ขนาดเล็ก ลอจิกของเครื่องจักรเป็นเจ้าของค่ากระบวนการ; SCADA เห็นแผนที่รีจิสเตอร์ที่สะอาด; และทั้งสองไม่เคยแย่งชิงสายเดียวกัน เมื่อ SCADA มีวันที่ไม่ดี เซลล์ยังคงทำงาน — บทบาทมาสเตอร์ในท้องถิ่นไม่ขึ้นอยู่กับการสอบถามจากด้านบน

ออกแบบแผนที่รีจิสเตอร์สำหรับทั้งสองบทบาทในครั้งเดียว: การสอบถามในท้องถิ่นเขียนลงในบล็อกข้อมูล แผนที่สเลฟเผยแพร่บล็อกเดียวกันนั้น ชุดรีจิสเตอร์ชุดเดียว โปรโตคอลสองชุดอ่านมัน ไม่มีการซ้ำซ้อน วินัยแผนที่จากส่วนก่อนหน้าจ่ายคืนสองครั้งในดีไซน์นี้

เมื่อไหร่ที่ควรข้าม Modbus โดยสิ้นเชิง

Modbus เป็นม้าแรงงาน แต่ไม่ใช่คำตอบเสมอไป หากไซต์ต้องการการรวมการจัดการอาคาร BACnet คือภาษาที่ BMS ใช้พูด — และ CPU ที่รองรับ Ethernet ก็รองรับมัน หากข้อมูลต้องไปถึงคลาวด์ผ่านไฟร์วอลล์ MQTT จะเผยแพร่โดยไม่ต้องมีพอร์ตเปิด หากความต้องการคือการควบคุมในท้องถิ่นที่ง่ายโดยไม่มีอุปกรณ์ภายนอก Modbus จะไม่มีอะไรเพิ่ม — CPU ทำงานแบบสแตนด์อโลน

เรื่องราวหลายโปรโตคอลคือเมนู ไม่ใช่ข้อบังคับ เริ่มต้นด้วย Modbus เพราะมันมีอยู่ทุกที่และราคาถูก; เพิ่ม BACnet เมื่ออาคารเข้าร่วม; เพิ่ม MQTT เมื่อคลาวด์เรียกร้อง การเพิ่มแต่ละครั้งคือขั้นตอนการกำหนดค่าใน CPU เดียวกัน ไม่ใช่การเปลี่ยนฮาร์ดแวร์ นั่นคือสถาปัตยกรรมของแพลตฟอร์มที่เติบโตไปพร้อมกับโครงการแทนที่จะบังคับให้มีการโยกย้าย

และเมื่อมีลูกค้าร้องขอโปรโตคอลที่แพลตฟอร์มไม่รองรับ — มันเกิดขึ้น — คำตอบที่ซื่อสัตย์คือเกตเวย์ และการสนทนาขายที่ซื่อสัตย์เกิดขึ้นก่อนการสั่งซื้อ ไม่ใช่หลังจากการโต้แย้งการว่าจ้าง

คำถามรีจิสเตอร์ 32-Bit

ไม่ sooner หรือ later อุปกรณ์จะเผยแพร่ค่า 32-bit — ยอดรวมของมิเตอร์พลังงาน, ยอดรวมการไหล — และข้อผิดพลาดคลาสสิกคือการอ่านเพียงครึ่งเดียว Modbus แบ่งค่า 32-bit ออกเป็นสองรีจิสเตอร์ที่ต่อเนื่องกัน และลำดับไบต์คือการเจรจา ไม่ใช่มาตรฐาน ตรวจสอบคู่มืออุปกรณ์, จับคู่ลำดับคำในแผนที่ และตรวจสอบกับค่าที่รู้จักก่อนที่จะเดินสายเข้ากับลอจิกการเตือน A ลำดับคำที่ผิดผลิตการอ่านที่น่าเชื่อถือและผิดพลาดอย่างแน่นอน — ประเภทที่แพงที่สุด

และรักษาการเดินสายให้ซื่อสัตย์: RS485 ต้องการกราวด์ทั่วไปและการสิ้นสุดที่เหมาะสมที่ปลาย โปรโตคอลสามารถอยู่รอดได้มากมาย เลเยอร์ไฟฟ้าไม่สามารถอยู่รอดได้ทุกอย่าง คู่สายบิด, ขั้วบวกที่ถูกต้อง, การอ้างอิงกราวด์หนึ่งตัว — นั่นคือความลับทั้งหมดสำหรับการทำงาน Modbus ที่เงียบสงบมาหลายปี