การควบคุมอุตสาหกรรมได้ย้ายจากการควบคุมแบบสแตนด์อโลนไปสู่การตรวจสอบส่วนกลางและการควบคุมส่วนกลางและตอนนี้ได้เข้าสู่ยุคเครือข่ายตัวควบคุมอุตสาหกรรมที่เชื่อมต่อกับเครือข่ายยังให้การจัดการเครือข่ายที่สะดวก Modbus เป็นหนึ่งในโปรโตคอลเครือข่ายสำหรับตัวควบคุมอุตสาหกรรม
การแนะนำโปรโตคอลการสื่อสาร Modbus
Modbus Protocol ก่อนอื่นจากความเข้าใจที่แท้จริงนั้นรวมถึง MOD และ BUS สองส่วนแรกคือมันคือบัสนั่นคือโปรโตคอลบัสและ I2C, SPI ที่คล้ายกัน, รถบัสหมายความว่ามีโฮสต์มีทาสอุปกรณ์เหล่านี้บนรถบัสเดียวกัน
Modbus รองรับ Master Master เดียวทาสหลายตัวและอุปกรณ์ทาสสูงสุด 247 เครื่อง เกี่ยวกับ MOD เนื่องจากโปรโตคอลนี้ถูกใช้ครั้งแรกในคอนโทรลเลอร์ PLC ตัวควบคุม PLC ของ Modicon จะแน่นอนซึ่งเป็นที่มาของชื่อ Mod-Bus
ต่อมา Modicon ได้มาโดย Schneider (Schneider), Modbus Protocol ถูกนำมาใช้กันอย่างแพร่หลายในตัวควบคุมอุตสาหกรรม HMIs และเซ็นเซอร์และได้รับการยอมรับอย่างค่อยเป็นค่อยไปจากผู้ผลิตรายอื่นกลายเป็นโปรโตคอลการสื่อสารหลักสำหรับการสื่อสารกับอุปกรณ์ต่อพ่วง
Modbus เป็นของเลเยอร์แอปพลิเคชันที่เจ็ดในรูปแบบการอ้างอิง 7-} เลเยอร์ OSI และมีสองประเภทของเลเยอร์ข้อมูลลิงค์: ขึ้นอยู่กับโปรโตคอลอนุกรมมาตรฐานและโปรโตคอล TCP, ลวดทางกายภาพ 3- ลวด 232, 2- และสื่อการส่งอื่น ๆ
Modbus Protocol เป็นโหมดคำขอ/คำตอบของกระบวนการโต้ตอบโฮสต์เริ่มต้นคำขอการสื่อสารทาสตอบสนองต่อคำขอของโฮสต์ทาสจะไม่ส่งข้อมูลอย่างแข็งขันเมื่อไม่ได้รับคำขอของโฮสต์และทาสจะไม่สื่อสารกัน
คุณสมบัติของโปรโตคอลการสื่อสาร Modbus
(1) มาตรฐานเปิดผู้ใช้สามารถใช้โปรโตคอล Modbus ได้โดยไม่ต้องเสียค่าใช้จ่ายมั่นใจได้ว่าไม่จำเป็นต้องจ่ายค่าธรรมเนียมใบอนุญาตและจะไม่ละเมิดสิทธิ์ในทรัพย์สินทางปัญญา
(2) Modbus สามารถรองรับอินเทอร์เฟซไฟฟ้าที่หลากหลายเช่น Rs -232, Rs -485 ฯลฯ นอกจากนี้ยังสามารถส่งผ่านสื่อที่หลากหลายเช่นคู่บิดไฟเบอร์ออปติกไร้สายและอื่น ๆ
(3) รูปแบบเฟรมของ Modbus นั้นง่ายกะทัดรัดและเข้าใจง่าย เป็นเรื่องง่ายสำหรับผู้ใช้ที่จะใช้และง่ายสำหรับผู้ขายในการพัฒนา
ประเภทข้อมูล modbus 4
โปรโตคอล Modbus กำหนดว่าประเภทข้อมูลสำหรับการอ่านและการเขียนสามารถแบ่งออกเป็น 4 ประเภทต่อไปนี้ตามแอตทริบิวต์และประเภทการอ่านและประเภท:
1. อินพุตที่ไม่ต่อเนื่อง (อินพุต discretes):1 บิตอ่านอย่างเดียว
2. ขดลวด (ขดลวด):1- บิตอ่าน-เขียน
3. การลงทะเบียนอินพุต:16 บิตอ่านอย่างเดียว
4. การลงทะเบียนถือ:16 บิตอ่าน/เขียน
รุ่นโปรโตคอล Modbus
ปัจจุบันโปรโตคอล Modbus มีอยู่สำหรับอนุกรมอีเธอร์เน็ตและเครือข่ายอื่น ๆ ที่รองรับโปรโตคอลอินเทอร์เน็ต
อุปกรณ์ Modbus ส่วนใหญ่สื่อสารผ่านเลเยอร์ EIA แบบอนุกรม -485 ชั้นกายภาพ
สำหรับการเชื่อมต่อแบบอนุกรมมีสองตัวแปรที่แตกต่างกันเล็กน้อยในแง่ของการแสดงข้อมูลตัวเลขที่แตกต่างกันและรายละเอียดโปรโตคอล Modbus RTU เป็นตัวแทนขนาดกะทัดรัดของข้อมูลไบนารีและ Modbus ASCII เป็นตัวแทนของมนุษย์ ทั้งสองตัวแปรใช้การสื่อสารแบบอนุกรม รูปแบบ RTU ติดตามด้วยคำสั่ง/ข้อมูลที่มีการตรวจสอบความซ้ำซ้อนของวงจรในขณะที่รูปแบบ ASCII ใช้การตรวจสอบความซ้ำซ้อนตามยาว โหนดที่กำหนดค่าสำหรับตัวแปร RTU ไม่ได้สื่อสารกับโหนดที่กำหนดค่าสำหรับตัวแปร ASCII และในทางกลับกัน
สำหรับการเชื่อมต่อผ่าน TCP/IP (เช่น Ethernet) ที่มีตัวแปร Modbus/TCP หลายตัววิธีการนี้ไม่จำเป็นต้องมีการคำนวณการตรวจสอบ
สำหรับโปรโตคอลการสื่อสารทั้งสามแบบโมเดลข้อมูลและการเรียกใช้ฟังก์ชันจะเหมือนกันเฉพาะการห่อหุ้มจะแตกต่างกัน
Modbus มี ModbusPlus รุ่นขยาย (Modbus+ หรือ MB+) อย่างไรก็ตามโปรโตคอลนี้เป็นกรรมสิทธิ์ของ Modicon และแตกต่างจาก Modbus มันต้องใช้ตัวประมวลผลร่วมพิเศษเพื่อจัดการการหมุนโทเค็นความเร็วสูงคล้ายกับ HDLC มันใช้สายเคเบิลคู่บิด 1Mbit/s และมีการแยกการแปลงในแต่ละโหนดอุปกรณ์ที่ใช้การแปลง/การทริกเกอร์การแปลงแทนที่จะเป็นแรงดันไฟฟ้า/ระดับที่ทริกเกอร์ การเชื่อมต่อ Modbus Plus กับคอมพิวเตอร์ต้องใช้อินเทอร์เฟซพิเศษซึ่งมักจะเป็นบอร์ดที่รองรับ ISA (SA85), PCI หรือ PMCIA Bus
ดังนั้นเมื่อเราอ้างถึงโปรโตคอล Modbus มันเป็นสิ่งสำคัญที่จะต้องกำหนดว่ามันเป็นโหมดใดที่ยังคงมีความแตกต่างอย่างมากระหว่างโหมดที่แตกต่างกัน
รูปแบบเฟรมข้อมูล modbus
สิ่งแรกที่เราต้องรู้คือเฟรมข้อมูล modbus ปกติมีดังต่อไปนี้: ฟิลด์ที่อยู่ + รหัสฟังก์ชั่น + ข้อมูล + การตรวจสอบความผิดพลาดรวมทั้งรูปแบบเฟรม modbus นั้นเหมือนกันโดยไม่คำนึงถึงโปรโตคอลเวอร์ชันใดข้างต้น:
ส่วนใหญ่รวมถึง:
1. ฟิลด์ที่อยู่:นั่นคือที่อยู่ทาสที่จะเข้าถึงโดยต้นแบบช่วงของมัน 0 ~ 247
2. รหัสฟังก์ชั่น:เช่นการดำเนินการประเภทใดที่อาจารย์ต้องการแสดงบนทาส
3. ข้อมูล:หากคำขอของต้นแบบคือการอ่านข้อมูลแล้ว "ข้อมูล" ควรมีข้อมูลต่อไปนี้: จะเริ่มอ่านข้อมูล + ข้อมูลที่จะอ่านได้มากแค่ไหน หากคำขอของต้นแบบคือการเขียนข้อมูลไปยังทาสแล้ว "ข้อมูล" ควรมีข้อมูลต่อไปนี้: จะเริ่มเขียนข้อมูล + ข้อมูลจำนวนเท่าใดที่จะเขียน + ข้อมูลเฉพาะที่จะเขียน
4. ข้อผิดพลาดตรวจสอบ:เพื่อให้แน่ใจว่าความถูกต้องของการส่งข้อมูลโปรโตคอล Modbus จะเพิ่มการตรวจสอบข้อผิดพลาดสองไบต์ที่ส่วนท้ายของเฟรมข้อมูล
รหัสฟังก์ชัน modbus
รหัสฟังก์ชั่น Modbus ซึ่งเขียนไว้ในกรอบข้อมูลคำขอโฮสต์กำหนดว่าโฮสต์อ่านหรือเขียนไม่ว่าจะอ่านขดลวดปริมาณหรือลงทะเบียนไม่ว่าจะเป็นการลงทะเบียนเดียวหรือการลงทะเบียนหลายรายการ ฯลฯ และข้อมูลประเภทใดที่โฮสต์ร้องขอ
รหัสฟังก์ชันมีสามประเภทหลัก: รหัสฟังก์ชั่นสาธารณะรหัสฟังก์ชั่นที่ผู้ใช้กำหนดและรหัสฟังก์ชั่นที่สงวนไว้
1. รหัสฟังก์ชันสาธารณะ
-รหัสฟังก์ชั่นที่กำหนดไว้ดีกว่า
-มีความสามารถพิเศษ
-เปลี่ยนแปลงได้โดยองค์กร Modbus
-พิสูจน์ได้อย่างเปิดเผย
-มีการทดสอบความสอดคล้องที่ใช้งานได้
-พิสูจน์ใน MB IETF RFCS
-รหัสฟังก์ชั่นที่กำหนดสาธารณะที่กำหนดและรหัสฟังก์ชั่นที่ไม่ได้กำหนดไว้สำหรับการใช้งานในอนาคต
2. รหัสฟังก์ชั่นที่ผู้ใช้กำหนด
มีสองช่วงการกำหนดรหัสฟังก์ชั่นที่ผู้ใช้กำหนดคือ 65 ถึง 72 และทศนิยม 100 ถึง 110
-ผู้ใช้สามารถเลือกและใช้รหัสฟังก์ชั่นโดยไม่ได้รับการอนุมัติจากองค์กร Modbus
-การใช้รหัสฟังก์ชั่นที่เลือกไม่ได้รับประกันว่าจะไม่ซ้ำกัน
-หากผู้ใช้ต้องการรีเซ็ตฟังก์ชั่นเป็นรหัสฟังก์ชั่นสาธารณะจากนั้นผู้ใช้จะต้องเริ่ม RFC เพื่อแนะนำการเปลี่ยนแปลงในการจำแนกประเภทสาธารณะและกำหนดรหัสฟังก์ชั่นสาธารณะใหม่
3. รหัสฟังก์ชันที่สงวนไว้
-รหัสฟังก์ชั่นที่ใช้กันทั่วไปโดยบาง บริษัท สำหรับผลิตภัณฑ์ดั้งเดิมและไม่สามารถใช้งานสาธารณะได้
ที่ใช้กันจริงที่สุดคือรหัสฟังก์ชั่น 4 รหัสในรหัสฟังก์ชันสาธารณะ: 03/04/06/10
0 x03: อ่านการลงทะเบียนการถือครองหลายรายการ
0 x04: อ่านการลงทะเบียนอินพุต
0 x06: เขียนการลงทะเบียนการถือครองเดี่ยว
0 x10: เขียนการลงทะเบียนการถือครองหลายรายการ
เนื่องจาก PLC ส่วนใหญ่ควบคุมผู้ติดต่อรีเลย์ขดลวด (ขดลวด) จึงถูกอ่านและเขียนบน PLC บ่อยครั้ง ที่นี่จำเป็นต้องให้ความสนใจเป็นพิเศษกับจุดหนึ่งคือ: การลงทะเบียนถือการลงทะเบียนต้องแยกความแตกต่างระหว่าง {{0}} x 0 6 เขียนลงทะเบียนเดี่ยวและ 0x10 เขียนลงทะเบียนหลายครั้ง




