รหัสข้อผิดพลาดของโมดบัสวัดพลังงานแสดงว่ามีอุปกรณ์ได้รับคำขอแต่ไม่สามารถดำเนินการตามคำขอได้ ซึ่งแตกต่างจากการหมดเวลา, กรอบซีเรียลเสียหาย หรือค่าที่ถอดรหัสด้วยลำดับไบต์ผิด เริ่มต้นโดยการบันทึกคำขอและการตอบสนองที่แม่นยำ จากนั้นตรวจสอบข้อผิดพลาดกับแผนที่ลงทะเบียนสำหรับรุ่นมิเตอร์ที่ติดตั้ง ห้ามเปลี่ยนการตั้งค่าการป้องกัน, รีเซ็ตตัวนับ หรือออกคำสั่งเขียนเพื่อให้ข้อผิดพลาดหายไป การสืบสวนแบบอ่านอย่างเดียวมักจะให้เส้นทางที่ปลอดภัยและชัดเจนกว่าต่อสาเหตุ.
คู่มือนี้อธิบายวิธีการรู้จำการตอบสนองข้อผิดพลาด แยกความผิดพลาดของโปรโตคอลออกจากความล้มเหลวในการสื่อสาร และเตรียมหลักฐานที่ผู้จำหน่ายมิเตอร์หรือวิศวกรบูรณาการสามารถใช้งานได้จริง มันไม่ได้ให้แผนที่ลงทะเบียน BY194 หรืออ้างว่าทุกอุปกรณ์สนับสนุนฟังก์ชันทุกอย่างที่อธิบายไว้ในโปรโตคอล.
ระบุสิ่งที่กลับมาแท้จริง
การตอบสนองปกติและการตอบสนองข้อผิดพลาดมีโครงสร้างที่แตกต่างกัน ข้อกำหนดโปรโตคอลแอปพลิเคชัน Modbus กำหนดรหัสฟังก์ชันข้อผิดพลาดเป็นรหัสฟังก์ชันที่ร้องขอโดยมีบิตที่สำคัญที่สุดตั้งไว้แล้ว ข้อมูลข้อผิดพลาดจึงระบุสภาพที่รายงาน ตัวอย่างเช่น ข้อผิดพลาดกับฟังก์ชัน 03 ใช้ฟังก์ชัน 83 ในเลขฐานสิบหก ตัวอย่างนั้นอธิบายการกรอบโปรโตคอล ไม่ใช่ที่อยู่หรือความสามารถของมิเตอร์เฉพาะ.
ยืนยันก่อนว่าการตอบสนองเป็นของคำขอที่อยู่ในระหว่างการตรวจสอบ บนบัสซีเรียล เปรียบเทียบตัวตนของอุปกรณ์และกรอบที่จับภาพไว้ ข้ามเกตเวย์ TCP ให้เก็บรหัสธุรกรรมและรายละเอียดเส้นทางด้วย เกตเวย์อาจรายงานปัญหาของตัวเองแทนที่จะส่งคืนข้อผิดพลาดที่สร้างโดยมิเตอร์ ความแตกต่างนี้สำคัญเพราะการตอบสนองของเกตเวย์ที่ถูกต้องไม่ได้พิสูจน์ว่าวัสดุปลายทางสามารถเข้าถึงได้.
หมดเวลาที่ไม่มีการตอบสนองที่ถูกต้องให้จัดประเภท การล้มเหลวของ CRC หมายความว่าข้อความซีเรียลที่ได้รับล้มเหลวในการตรวจสอบความสมบูรณ์และไม่ควรรับเป็นการตอบสนองของแอปพลิเคชัน การตอบสนองปกติที่ถูกต้องแต่มีการวัดที่ไม่น่าเชื่อถือก่อให้เกิดคำถามที่แตกต่างกัน: ที่อยู่, ประเภท, การปรับขนาด, หน่วย และความสดใหม่ของข้อมูล แยกประเภทเหล่านี้ออกจากกันในบันทึกเหตุการณ์.
อ่านรหัสโดยไม่วินิจฉัยเกินไป
| ข้อยกเว้น | ความหมายของโปรโตคอล | การตรวจสอบเบื้องต้นที่เป็นประโยชน์ | สิ่งที่รหัสไม่ได้กำหนดไว้ |
|---|---|---|---|
| 01 | ฟังก์ชันผิดกฎหมาย | เปรียบเทียบฟังก์ชันที่ร้องขอกับคู่มืออุปกรณ์ | ฮาร์ดแวร์มิเตอร์ชำรุด |
| 02 | ที่อยู่ข้อมูลผิดกฎหมาย | ตรวจสอบออฟเซ็ตเริ่มต้นและช่วงที่ร้องขอให้ครบถ้วน | การเปลี่ยนแปลงเฉพาะที่อยู่ของอุปกรณ์จะช่วยได้หรือไม่ |
| 03 | ค่าข้อมูลผิดกฎหมาย | ตรวจสอบโครงสร้างคำขอและปริมาณหรือค่าฟิลด์ที่อนุญาต | แรงดันไฟฟ้าหรือกระแสที่วัดได้อยู่นอกช่วง |
| 04 | ความล้มเหลวของอุปกรณ์เซิร์ฟเวอร์ | เก็บหลักฐานและปฏิบัติตามการวินิจฉัยของผู้ผลิต | ส่วนประกอบที่ล้มเหลวเฉพาะเจาะจง |
| 05 หรือ 06 | รับทราบหรืออุปกรณ์เซิร์ฟเวอร์ยุ่ง | ตรวจสอบว่าการดำเนินการและการตอบสนองนั้นได้รับการบันทึกไว้หรือไม่ | อนุญาตให้ลองใหม่ได้ไม่จำกัด |
| 0A หรือ 0B | ปัญหาเส้นทางเกตเวย์หรือการตอบสนองของเป้าหมาย | ตรวจสอบเส้นทางเกตเวย์และลิงก์ด้านล่าง | การลงทะเบียนแอปพลิเคชันมีอยู่ |
ป้ายชื่อและความแตกต่างด้านบนเป็นไปตามข้อกำหนดโปรโตคอลของแอปพลิเคชัน การเกิดขึ้นและการจัดการขึ้นอยู่กับฟังก์ชันที่นำไปใช้และเอกสารอุปกรณ์ โค้ดบางตัวเกี่ยวข้องกับการดำเนินการที่มิเตอร์ไฟฟ้าบางรุ่นอาจไม่สนับสนุน อย่าสร้างคำแนะนำการแก้ปัญหาบนสมมติฐานว่ารหัสทั้งหมดที่ระบุสามารถเกิดขึ้นได้ในรุ่นที่ติดตั้ง.
รหัส 03 เป็นรหัสที่อ่านผิดได้ง่ายเป็นพิเศษ ในบริบทนี้ “ค่าข้อมูล” เกี่ยวข้องกับฟิลด์คำขอหรือโครงสร้างที่เซิร์ฟเวอร์ปฏิเสธ ไม่ใช่สัญญาณเตือนทั่วไปที่ระบุว่าปริมาณทางกายภาพที่วัดได้ไม่ปลอดภัย สัญญาณเตือนไฟฟ้าเชิงปฏิบัติการต้องได้รับการแปลความหมายโดยใช้คู่มือมิเตอร์และการจัดการป้องกันของการติดตั้ง.
ตรวจสอบคำขออ่านครบถ้วน
บันทึกฟังก์ชัน ที่อยู่เริ่มต้น และปริมาณที่ร้องขอพร้อมกัน การตรวจสอบเพียงรีจิสเตอร์แรกอาจพลาดช่วงที่ข้ามขอบเขตที่ไม่รองรับ การอ่านที่เริ่มต้นที่ตำแหน่งที่ถูกต้องอาจยังรวมถึงรีจิสเตอร์ที่สงวนไว้ เกินขอบเขตที่รองรับโดยอุปกรณ์ หรือแบ่งค่าที่ต้องการรูปแบบการเข้าถึงที่มีเอกสารกำหนดไว้.
ดำเนินการตามคู่มือรุ่นที่แน่นอน รวมถึงการแก้ไขและรายละเอียดตัวเลือกการสื่อสาร การอ้างอิงรีจิสเตอร์ที่พิมพ์อาจใช้แนวทางการนับแบบมนุษย์ที่แตกต่างจากออฟเซ็ตที่ส่งในข้อความ ใช้ คู่มือออฟเซ็ตที่อยู่รีจิสเตอร์ เพื่อบันทึกการแปลงนั้นอย่างชัดเจน อย่าลองใช้ชุดของออฟเซ็ตที่เดาไว้บนระบบการผลิตโดยไม่มีแผนทดสอบที่ได้รับอนุมัติและมีขอบเขต.
เลือกรายการอ่านอย่างเดียวที่ผู้ผลิตจัดทำเอกสารไว้หนึ่งรายการเพื่อใช้เป็นเกณฑ์มาตรฐาน ตรวจสอบฟังก์ชันที่ร้องขอและปริมาณที่อนุญาต หากเกณฑ์มาตรฐานทำงานได้แต่วลีหรือบล็อกที่ตั้งใจไว้ล้มเหลว ให้เปรียบเทียบคำขอทั้งสองรายการแทนที่จะเปลี่ยนอัตราการรับส่งข้อมูล (baud rate) การเดินสาย และการระบุแอดเดرسของรีจิสเตอร์ในเวลาเดียวกัน ความแตกต่างที่ถูกควบคุมหนึ่งรายการจะให้หลักฐานที่ชัดเจนกว่าการรีเซ็ตการกำหนดค่าแบบกว้างๆ.
เมื่อการบูรณาการทั้งหมดล้มเหลว ให้ตรวจสอบพื้นฐานด้วย การตั้งค่าการสื่อสารของมิเตอร์วัดพลังงาน. ตัวเลือกการสื่อสารที่ระบุไว้ในหน้าผลิตภัณฑ์ไม่ใช่ข้อพิสูจน์ว่าอุปกรณ์ที่จัดส่งมาเฉพาะเจาะจงนั้นจะมีตัวเลือกดังกล่าว มีการกำหนดค่าตามที่คาดไว้ หรือใช้แมปที่พบสำหรับรุ่นย่อยอื่น.
แยกระหว่างการปฏิเสธของมิเตอร์และการปฏิเสธของเกตเวย์
บันทึกข้อมูลตัวกลางทุกตัวระหว่างซอฟต์แวร์และเครื่องมือวัด ระบุรุ่นของเกตเวย์ โหมดการสื่อสาร ตัวระบุการกำหนดเส้นทาง (routing identifier) เวอร์ชันเฟิร์มแวร์ที่เกี่ยวข้อง และผู้ที่มีอำนาจในการเปลี่ยนแปลงการกำหนดค่า แอดเดรสของอุปกรณ์ซีเรียลสามารถถูกแปลหรือเลือกได้ผ่านทางการตั้งค่าของเกตเวย์ คำขอที่ส่งไปยังเส้นทางปลายทางที่ไม่ถูกต้องอาจทำให้เกิดข้อผิดพลาดของเกตเวย์ได้ แม้ว่าการเชื่อมต่อเครือข่ายจะปกติก็ตาม.
รวบรวมบันทึก (logs) ของเกตเวย์หากมี แต่หลีกเลี่ยงการสันนิษฐานว่ามีตัวนับหรือการวินิจฉัยที่ไม่มีเอกสารระบุไว้ เปรียบเทียบการตอบสนองของเกตเวย์เองกับการจับข้อมูล (capture) ที่ได้รับการอนุมัติ ณ ขอบเขตปลายทาง หากการติดตั้งรองรับขั้นตอนดังกล่าว งานลักษณะนี้ควรดำเนินการโดยทีมควบคุมที่รับผิดชอบ โดยไม่รบกวนบัสที่ใช้งานร่วมกันหรือเปิดเผยเครือข่ายปฏิบัติการ.
ข้อยกเว้นที่เกิดขึ้นทันทีและหมดเวลาที่ล่าช้า (delayed timeout) เรียกร้องการดำเนินการครั้งต่อไปที่แตกต่างกัน ข้อยกเว้นที่เกิดขึ้นทันทีอาจแสดงว่าเป้าหมายเข้าใจคำขอมากพอที่จะปฏิเสธมัน การหมดเวลาอาจเกิดจากการกำหนดเส้นทาง ความพร้อมใช้งานของอุปกรณ์ การกำหนดค่าสาย หรือการตอบสนองที่สูญหาย การสังเกตอย่างใดอย่างหนึ่งเพียงอย่างเดียวไม่สามารถระบุอุปกรณ์ที่ชำรุดได้ ให้รักษาเวลา (timings) ไว้เป็นการสังเกต แทนที่จะเปลี่ยนให้เป็นข้อกำหนดเวลาตอบสนองที่ไม่ได้รับการสนับสนุน.
ใช้การลองใหม่แบบมีขอบเขตและการยกระดับปัญหา
การส่งคำขอที่ไม่ถูกต้องซ้ำๆ ไม่ได้ช่วยให้คำขอนั้นถูกต้องขึ้น สำหรับการตอบสนองฟังก์ชันที่ไม่ถูกต้องหรือแอดเดรสที่ไม่ถูกต้อง ให้หยุดคำขอนั้นและเปรียบเทียบกับคู่มือทีก่อนลองใหม่ สำหรับเงื่อนไขไม่ว่างชั่วคราวที่มีเอกสารระบุไว้ ให้ใช้หน่วงเวลาที่ผู้ผลิตแนะนำ จำนวนครั้งสูงสุด และเส้นทางการยกระดับที่ชัดเจน อย่าถือว่าการตอบสนองว่าไม่ว่างเป็นการอนุญาตให้ทำการพอลลิง (polling) แบบไม่จำกัด.
บัสที่ใช้งานร่วมกันอาจมีไคลเอนต์หรือเกตเวย์หลายตัว ดังนั้นควรประสานงานการตรวจสอบใดๆ ป้องกันไม่ให้ลูปการลองใหม่ของการบูรณาการส่งผลกระทบต่ออุปกรณ์มากเกินไปหรือซ่อนข้อผิดพลาดดั้งเดิมไว้ในบันทึกขนาดใหญ่ เก็บความล้มเหลวครั้งแรก การเปลี่ยนแปลงที่ถูกควบคุม และผลลัพธ์สุดท้ายไว้ การอ่านค่าที่สำเร็จในภายหลังไม่ควรลบหลักฐานที่จำเป็นในการอธิบายว่าทำไมคำขอแรกจึงถูกปฏิเสธ.
เดอะ ข้อกำหนดสายสื่อสารแบบอนุกรม Modbus ช่วยแยกแยะการจัดรูปแบบข้อความ (framing) และความสมบูรณ์ออกจากข้อยกเว้นของแอปพลิเคชัน ใช้ควบคู่ไปกับคู่มืออุปกรณ์ แทนที่จะถือว่าเฟรมซีเรียลที่ถูกต้องเป็นข้อพิสูจน์ว่าการทำงานของแอปพลิเคชันที่ร้องขอทุกรายการได้รับการสนับสนุน.
สร้างแพ็คเกจหลักฐานพร้อมสำหรับซัพพลายเออร์
คำขอสนับสนุนที่เป็นประโยชน์รวมถึงรุ่นและเวอร์ชันของมิเตอร์ หมายเลขซีเรียลในกรณีที่เหมาะสม การแก้ไขคู่มือ ตัวเลือกการสื่อสารที่ติดตั้ง ข้อมูลเฟิร์มแวร์ถ้ามี และการวัดที่ตั้งใจ ระบุอ้างอิงการลงทะเบียนที่แน่นอนตามที่พิมพ์ในคู่มือ รวมถึงการตั้งค่าการเริ่มต้นและจำนวนที่ส่งโดยลูกค้า.
แนบคำขอหนึ่งรายการและการตอบสนองดิบที่เกี่ยวข้องพร้อมเวลาประทับและการใช้สัญลักษณ์เลขฐานสิบหกที่สอดคล้องกัน ระบุว่าการจับภาพเกิดขึ้นที่ใด เช่น ฝั่งลูกค้า เกตเวย์ หรืออินเทอร์เฟซอนุกรม รวมถึงการตอบสนองที่คาดหวังตามคู่มือ ข้อยกเว้นที่สังเกตได้ การทดสอบที่จำกัดแล้วและผลลัพธ์ของมัน ลบข้อมูลรับรอง ข้อมูลเครือข่ายที่ละเอียดอ่อน และข้อมูลการดำเนินงานที่ไม่เกี่ยวข้องก่อนแบ่งปันแพ็คเกจ.
สำหรับ เครื่องมือมัลติฟังก์ชัน CNBYG BY194, ข้อมูลผลิตภัณฑ์สาธารณะระบุการสื่อสาร RS485/MODBUS ตัวเลือก เอกสารประกอบสำหรับการกำหนดค่าที่สั่งซื้อจริงก่อนเลือกฟังก์ชันหรือรีจิสเตอร์ รูปภาพผลิตภัณฑ์ไม่สามารถยืนยันการสนับสนุนโปรโตคอล ตัวเลือกที่ติดตั้ง การกำหนดเทอร์มินัล หรือพฤติกรรมข้อยกเว้น.
ตรวจสอบความถูกต้องก่อนเปิดการเก็บข้อมูลอีกครั้ง
หลังจากการแก้ไขที่บันทึกไว้แล้ว ให้ทำการอ่านที่ได้รับการอนุมัติเดิมซ้ำและเปรียบเทียบโครงสร้างการตอบสนองกับรูปแบบที่คาดหวัง ยืนยันว่าผลลัพธ์มาจากเครื่องมือที่ตั้งใจและแสดงการวัดที่ตั้งใจ ตรวจสอบหน่วย การปรับสเกล และการแปลความหมายแยกกัน การยกเว้นข้อผิดพลาดไม่สามารถรับรองความถูกต้องของการวัดได้.
สำหรับค่าที่มีหลายรีจิสเตอร์ ให้ดำเนินการต่อด้วย การตรวจสอบลำดับไบต์และลำดับเวิร์ด แทนที่จะตัดสินความสำเร็จจากตัวเลขที่เป็นไปได้ ให้เปรียบเทียบการอ่านกับอ้างอิงที่เชื่อถือได้ภายใต้สภาพเสถียรและบันทึกเกณฑ์การยอมรับที่โครงการเลือกไว้ ค่าที่ดูสมเหตุสมผลเพียงค่าหนึ่งเดียวเป็นหลักฐานที่อ่อนแอ.
ค่อยๆ ฟื้นฟูการเก็บข้อมูลปกติ ทบทวนว่าข้อยกเว้นยังเกิดขึ้นอีกหรือไม่ และเก็บบันทึกคำจำกัดความคำขอสุดท้ายไว้ในบันทึกการบูรณาการ หากข้อยกเว้นแตกต่างกันปรากฏขึ้น ให้เปิดสาขาการวินิจฉัยแยกต่างหากแทนการเขียนทับคำอธิบายก่อนหน้านี้ ซึ่งช่วยให้การบำรุงรักษาในอนาคตสามารถทำซ้ำได้และอุปกรณ์ทดแทนง่ายต่อการบูรณาการอย่างถูกต้อง.
การเรียนรู้เพิ่มเติม: ความล้มเหลวด้านความสมบูรณ์ versus คำขอที่ถูกปฏิเสธ
บทเรียนทางการศึกษาที่เป็นกลางด้านล่างอธิบายวิธีตรวจจับข้อผิดพลาดในการส่งข้อมูล ซึ่งสนับสนุนความแตกต่างที่ได้กล่าวไว้ก่อนหน้านี้: ความล้มเหลวด้านความสมบูรณ์แตกต่างจากข้อยกเว้นของคำขอที่ถูกต้องตามกฎหมาย การเรียนรู้ไม่ได้กำหนดรหัสข้อยกเว้นของ Modbus หรือแทนที่เอกสารโปรโตคอล ใช้เป็นพื้นฐานในการแยกสาขาการวินิจฉัยเหล่านั้น.
คำถามที่มักถูกถาม
ข้อยกเว้น 02 หมายความว่าที่อยู่มิเตอร์ผิดหรือไม่?
ไม่จำเป็นเสมอไป ข้อผิดพลาด Illegal Data Address หมายถึงช่วงข้อมูลของแอปพลิเคชันที่ร้องขอไม่ถูกต้อง โปรดตรวจสอบฟังก์ชัน ค่าออฟเซ็ตของรีจิสเตอร์ที่ส่งไป และจำนวนข้อมูลทั้งหมดให้ตรงกับคู่มือของรุ่นอุปกรณ์ที่ติดตั้ง พร้อมทั้งตรวจสอบตัวตนของอุปกรณ์แยกต่างหาก.
สามารถถือว่าการหมดเวลารอ (Timeout) เป็นรหัสข้อยกเว้นได้หรือไม่?
ไม่ได้ การหมดเวลารอหมายความว่าไม่ได้รับการตอบกลับที่ตรงตามเงื่อนไขและถูกต้องภายในระยะเวลาที่ไคลเอนต์กำหนดไว้สำหรับรอรับข้อมูล กรณีนี้จำเป็นต้องตรวจสอบการสื่อสารและการกำหนดเส้นทาง แทนที่จะกำหนดประเภทข้อยกเว้นขึ้นมาเอง.
ระบบเชื่อมต่อควรลองดำเนินการใหม่โดยอัตโนมัติทุกครั้งที่เกิดข้อยกเว้นหรือไม่?
ไม่ควรแก้ไขฟังก์ชันหรือที่อยู่ที่ไม่ถูกต้องให้เรียบร้อยก่อนจึงค่อยลองใหม่ ควรลองใหม่เฉพาะกรณีที่เกิดข้อผิดพลาดชั่วคราวตามที่มีการระบุไว้ในเอกสารเท่านั้น โดยต้องกำหนดระยะเวลาหน่วง จำนวนครั้งสูงสุดในการลองใหม่ และขั้นตอนการยกระดับปัญหาให้ชัดเจน หลีกเลี่ยงการส่งคำขอซ้ำ ๆ ซึ่งทำให้เครือข่ายที่ใช้ร่วมกันมีภาระเพิ่มขึ้นโดยไม่สามารถแก้ไขสาเหตุของปัญหาได้.
การตอบสนองปกติพอที่จะอนุมัติการวัดหรือไม่?
ไม่เพียงพอ ต้องยืนยันข้อมูลระบุตัวตน ประเภทข้อมูล ลำดับไบต์ (Byte Order) การปรับสเกล หน่วย และความเป็นปัจจุบันของข้อมูล การแลกเปลี่ยนข้อมูลผ่านโปรโตคอลที่สำเร็จพิสูจน์ได้เพียงว่ามีการตอบสนองต่อคำขอเท่านั้น ส่วนการยอมรับค่าที่วัดได้จำเป็นต้องผ่านการตรวจสอบแยกต่างหาก.
