html การทำงานของเกตเวย์ Modbus: เฟรม RTU, ธุรกรรม TCP และการแมป | FCTELE
                                   +8618758069661 [email protected]
ค้นหาผลิตภัณฑ์ คำแนะนำ: เว้นวรรค = AND, | = OR, ! = NOT

มีคำถามหรือไม่? โทรหาเราวันนี้!

+8618758069661

หรือฝากข้อความถึงเรา

ข้อความออนไลน์

หลักการทำงานของเกตเวย์สื่อสาร Modbus: การแปลง RTU เป็น TCP การแมปแอดเดรส และการแก้ปัญหาการหมดเวลารอ

จำนวนการเข้าชม: 88 +1ต้นฉบับโดย FCTELEผู้เขียน: ทีมเทคนิค FCTELE
สรุปภาพรวม

เกตเวย์ Modbus ทำอะไรนอกเหนือจากการส่งไบต์อนุกรมผ่าน TCP?

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

สามกลไกและขอบเขตการตรวจสอบติดตามเส้นทางสัญญาณ แล้วตรวจสอบบริการจริง

01แปลงรูปแบบเฟรมให้ถูกต้อง

Convert the correct framingRTU and TCP have different framing and transaction context.NetworkGatewaySerialFraming + mapping + response contextSupported conversion, not arbitrary translation

RTU และ TCP มีรูปแบบเฟรมและบริบทธุรกรรมต่างกัน

02แมปคำขอไปยังอุปกรณ์

Map requests to the deviceA network session and a serial station address identify different objects.RequestStation mapInstrumentNetwork context ≠ serial station addressVerify channel, address and returned known value

เซสชันเครือข่ายและที่อยู่สถานีอนุกรมใช้ระบุสิ่งที่ต่างกัน

03เผื่อเวลารับส่งกลับของการสื่อสารอนุกรม

Budget serial turnaroundOne shared serial path has finite request and reply time.Node 1Poll 1Node 2Poll 2Node 3Poll 3One shared polling timelineTimeouts and retries also consume scan time

เส้นทางอนุกรมที่ใช้ร่วมกันหนึ่งเส้นทางมีเวลาสำหรับคำขอและการตอบกลับจำกัด

ปัดเพื่อเปรียบเทียบแผนภาพทั้งสาม →

ภาพประกอบแนวคิดเพื่อการเรียนรู้ ไม่ใช่รูปคลื่นที่วัดได้ แผนผังการเดินสายติดตั้ง หรือสถาปัตยกรรมภายในของผลิตภัณฑ์รุ่นใดรุ่นหนึ่ง
  • แปลงรูปแบบเฟรมให้ถูกต้อง

    ยืนยันว่ารองรับการแปลง ไม่ใช่เพียงการส่งผ่านแบบโปร่งใส

  • แมปคำขอไปยังอุปกรณ์

    ตรวจสอบการแมปยูนิตกับช่องสัญญาณที่ใช้งานจริงของเกตเวย์

  • เผื่อเวลารับส่งกลับของการสื่อสารอนุกรม

    รวมเวลาการส่งข้อมูลตามลำดับ การประมวลผลของอุปกรณ์ และการรอคิวด้วย

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

เกตเวย์ Modbus แปลงคำขอจากวิธีการขนส่งข้อมูลหนึ่งไปเป็นอีกวิธีหนึ่ง และจัดการความสัมพันธ์ระหว่างคำขอกับการตอบกลับ เกตเวย์ Modbus TCP เป็น RTU ที่พบทั่วไปไม่ได้เพียงย้ายไบต์เท่านั้น แต่ยังจัดการส่วนหัวข้อความ TCP ที่อยู่อนุกรม และเช็กซัมด้วย อีกทั้งไม่ได้เข้าใจหน่วยของปริมาณทางวิศวกรรม เช่น อุณหภูมิหรือความดันโดยอัตโนมัติ การตีความรีจิสเตอร์ยังคงขึ้นอยู่กับเอกสารของอุปกรณ์และแอปพลิเคชัน

แยกโปรโตคอลออกจากอินเทอร์เฟซทางกายภาพก่อน

RS485 กำหนดเงื่อนไขการส่งสัญญาณทางไฟฟ้า ขณะที่ Modbus กำหนดคำขอและการตอบกลับในระดับแอปพลิเคชัน พอร์ต RS485 แบบเดียวกันจึงไม่จำเป็นต้องใช้ Modbus โดยทั่วไปพบ Modbus RTU บนบัสอนุกรม ส่วน Modbus TCP ใช้การเชื่อมต่อ TCP เซิร์ฟเวอร์อนุกรมแบบโปร่งใสสามารถส่งผ่านไบต์ RTU ได้ แต่ไม่ได้หมายความว่าจะรองรับไคลเอนต์ Modbus TCP มาตรฐาน เมื่อจัดซื้อ ควรตรวจสอบทิศทางการแปลงโปรโตคอล บทบาท ความสามารถในการทำงานพร้อมกัน และฟังก์ชันที่เกตเวย์รองรับให้ชัดเจน ไม่ใช่ดูเพียงว่ามีพอร์ตอนุกรมและพอร์ตเครือข่าย

สิ่งที่แปลงคือโครงสร้างห่อหุ้มภายนอกและความสัมพันธ์ของธุรกรรม

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

RTU และ TCP มีโครงสร้างห่อหุ้มต่างกัน และเกตเวย์ควรจัดการที่อยู่ เช็กซัม และการจับคู่ธุรกรรมอย่างถูกต้อง
RTU และ TCP มีโครงสร้างห่อหุ้มต่างกัน และเกตเวย์ควรจัดการที่อยู่ เช็กซัม และการจับคู่ธุรกรรมอย่างถูกต้อง

แม้ที่อยู่จะถูกต้อง ก็ยังต้องตรวจสอบรูปแบบการอ้างอิงรีจิสเตอร์

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

การทำงานพร้อมกันบนเครือข่ายถูกจำกัดด้วยความสามารถในการประมวลผลแบบอนุกรม

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

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

สร้างสคริปต์ทดสอบตรวจรับโดยใช้ค่าที่ทราบ

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

ตัวอย่าง: การเชื่อมต่อปกติแต่อ่านค่าอุณหภูมิผิด

เริ่มจากค้นหาคำอธิบายรีจิสเตอร์อุณหภูมิอย่างเป็นทางการ และยืนยันรหัสฟังก์ชัน ออฟเซ็ต จำนวนรีจิสเตอร์ ลำดับไบต์หรือเวิร์ด และการปรับสเกล หมายเลขที่ซอฟต์แวร์แสดงอาจต่างจากออฟเซ็ตในข้อความ และการแมปที่อยู่ของเกตเวย์อาจทำให้คำขอไปยังอุปกรณ์อื่นได้เช่นกัน ตรวจสอบคำขอจริงและค่าดิบที่ส่งกลับในบันทึกของเกตเวย์ แยกตรวจสอบที่อยู่กับการตีความข้อมูล แล้วจึงปรับการกำหนดค่า อย่าข้ามการวิเคราะห์โปรโตคอลเพียงเพราะเครือข่ายออนไลน์อยู่ และอย่าสรุปว่าค่าที่ผิดทั้งหมดเกิดจากสัญญาณรบกวนในการสื่อสารอนุกรม สำหรับ RTU/ASCII และบทบาทมาสเตอร์/สเลฟที่ต่างกัน ให้ตรวจสอบโหมดที่ผลิตภัณฑ์ระบุว่ารองรับอย่างชัดเจน และอย่าคิดว่าการรองรับการแปลงทิศทางหนึ่งหมายถึงการแปลงสองทิศทางได้ตามอำเภอใจ

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

แปลจากบทความทางเทคนิคภาษาจีน เผยแพร่ต้นฉบับครั้งแรก: 2021-12-15 แก้ไขต้นฉบับล่าสุด: 2026-10-13T20:58:17+08:00. อ่านต้นฉบับภาษาจีน

คำถามที่พบบ่อยในการใช้งานจริง

เหตุใดเช็กซัม RTU ภายในเพย์โหลด TCP จึงอาจใช้ไม่ได้กับเซิร์ฟเวอร์ Modbus TCP?

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

IP ของเกตเวย์ที่เข้าถึงได้บอกได้หรือไม่ว่าเครื่องมือวัดปลายทางตัวใดเป็นผู้ตอบกลับ?

ไม่ได้ การแมปและเนื้อหาโปรโตคอลที่ส่งกลับต้องระบุอุปกรณ์ปลายทางที่ต้องการได้ ตรวจสอบที่อยู่สถานี การเลือกช่องสัญญาณ และค่าที่ทราบ ก่อนยอมรับว่าการเชื่อมต่อเครือข่ายใช้งานได้ถูกต้อง

เหตุใดการเพิ่มไคลเอนต์ TCP ที่ใช้งานพร้อมกันจึงอาจทำให้เวลาตอบสนองของเกตเวย์แย่ลง?

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

แหล่งข้อมูลและขอบเขตการนำไปใช้

เนื้อหาเพิ่มเติมเหล่านี้อธิบายกลไกทั่วไป คุณสมบัติที่รองรับ รายละเอียดการเชื่อมต่อ และเกณฑ์การตรวจรับต้องตรวจยืนยันกับอุปกรณ์ ซอฟต์แวร์ และสภาวะการทำงานจริง แผนภาพไม่ใช่ผลการวัดหรือหลักฐานการรับรอง

แชร์บทความนี้