CHU域N TRUY陰N THÔNG MODBUS TCP/IP

Một phần của tài liệu Nghiên cứu và xây dựng giải thuật thu thập dữ liệu và điều khiển dự phòng hệ thống điện (Trang 39 - 42)

Là giao th泳c truy隠n thông 8逢嬰c phát tri吋n lên t瑛 modbus RTU và n隠n ethernet. Modbus là m瓜t giao th泳c do hãng Modicon (Sau này thu瓜c AEG và Schneider Automation) phát tri吋n. Modbus 8鵜nh ngh a m瓜t t壱p h嬰p r瓜ng các d鵜ch v映 ph映c v映 trao 8鰻i d英 li羽u quá trình, d英 li羽u 8i隠u khi吋n và d英 li羽u ch育n 8oán. Modbus mô t違 quá trình giao ti院p gi英a m瓜t b瓜 thi院t b鵜8i隠u khi吋n v噂i các thi院t b鵜 khác thông quá c挨 ch院 yêu c亥u, 8áp 泳ng. Truy隠n thông gi英a các nút c栄a Modbus th詠c hi羽n b茨ng cách g穎i các thông 8i羽p. Ai隠u t嘘t c栄a chu育n Modbus là s詠 linh ho衣t, và s詠 d宇 th詠c hi羽n c栄a nó. Không ch雨 các thi院t b鵜 nh逢 Microcontroller, PLC... có th吋 truy隠n thông v噂i Modbus, mà còn các sensor thông minh c ng trang b鵜 Modbus 8吋 g穎i d英 li羽u c栄a chúng 8院n các host system. Trong th運i gian ng逸n hàng tr<m nhà s違n xu医t tích h嬰p Modbus vào trong thi院t b鵜 c栄a h丑 và Modbus tr荏 thành chu育n cho các m衣ng truy隠n thông công nghi羽p.Trong mô hình tham chi院u ISO/OSI thì Modbus th詠c ra là m瓜t chu育n giao th泳c và d鵜ch v映 thu瓜c l噂p 泳ng d映ng. Do v壱y, t亥ng v壱t lý c栄a Modbus có th吋 t詠 do ch丑n l詠a. Modbus ban 8亥u ch衣y trên RS-232, nh逢ng các th詠c hi羽n Modbus sau nh医t dùng RS-485 vì nó cho phép kho違ng cách l噂n, t嘘c 8瓜 cao và kh違 n<ng c栄a m瓜t m衣ng multi-drop th詠c s詠.

Nh逢 8ã phân tích, do là m瓜t l噂p 泳ng d映ng nên c挨 ch院 giao ti院p 荏 Modbus ph映 thu瓜c vào h羽 th嘘ng truy隠n thông c医p th医p. C映 th吋, có th吋 phân chia ra hai lo衣i là m衣ng Modbus chu育n và Modbus trên các m衣ng khác (TCP/IP, Modbus Plus, MAP).

Khi th詠c hi羽n Modbus trên các m衣ng khác, các thông báo Modbus 8逢嬰c 8逢a vào các khung theo giao th泳c v壱n chuy吋n, liên k院t d英 li羽u c映 th吋. M衣ng Modbus s穎 d映ng m瓜t trong 2 ch院8瓜 truy隠n là ASCII ho員c RTU.

Ch院 8瓜 ASCII: M厩i byte trong thông báo 8逢嬰c g穎i thành hai ký t詠 ASCII 7 bít, trong 8ó m厩i ký t詠 bi吋u di宇n m瓜t ch英 s嘘 hex. 姶u 8i吋m c栄a ch院8瓜 truy隠n này là nó cho phép m瓜t kho違ng th運i gian tr嘘ng t嘘i 8a gi英a 2 ký t詠 mà không gây ra l厩i. C医u trúc m瓜t ký t詠 khung g穎i 8i 8逢嬰c th吋 hi羽n nh逢 sau:

̇ 1 bit kh荏i 8亥u (Start bit).

̇ 7 bit bi吋u di宇n m瓜t ch英 s嘘 HEX c栄a byte c亥n g穎i d逢噂i d衣ng ký t詠 ASCII (0-F), trong 8ó bit th医p nh医t 8逢嬰c g穎i 8i tr逢噂c.

̇ 1 bit Parity 8吋 ki吋m tra ch鰯n l胤 n院u s穎 d映ng parity.

̇ 1 bit k院t thúc (Stop bit) n院u s穎 d映ng parity ho員c 2 bit k院t thúc n院u không s穎 d映ng parity.

Ch院 8瓜 RTU (Remote Terminal Unit): M厩i byte trong thông báo 8逢嬰c g穎i thành m瓜t ký t詠 8 bit. 姶u 8i吋m chính c栄a ch院8瓜 truy隠n này so v噂i ch院 8瓜 ASCII là hi羽u su医t cao h挨n. Tuy nhiên, m厩i thông báo ph違i truy隠n thành m瓜t dòng liên t映c. C医u trúc m瓜t ký t詠 khung g穎i 8i 8逢嬰c th吋 hi羽n nh逢 sau:

̇ 1 bit kh荏i 8亥u (Start bit)

̇ 8 bit c栄a byte thông báo c亥n g穎i, bit th医p nh医t 8逢嬰c g穎i 8i tr逢噂c ̇ 1 bit Parity 8吋 ki吋m tra ch鰯n l胤 n院u s穎 d映ng parity

̇ 1 bit k院t thúc (Stop bit) n院u s穎 d映ng parity ho員c 2 bit k院t thúc n院u không s穎 d映ng parity

chi隠u dài có th吋 khác nhau. Trong m瓜t m衣ng Modbus chu育n, n院u m瓜t trong hai ch院 8瓜 truy隠n RTU ho員c ASCII 8ã 8隠 c壱p 荏 trên 8逢嬰c ch丑n, m瓜t thông báo s胤 8逢嬰c 8óng khung. M厩i khung bao g欝m nhi隠u ký t詠 khung có c医u trúc nh逢8逢嬰c mô t違荏 ph亥n trên. Các ký t詠 này có th吋 chuy隠n 8i thành dòng liên t映c 荏 ch院 8瓜 RTU, ho員c có th吋 gián 8o衣n v噂i th運i gian t嘘i 8a m瓜t giây 荏 ch院 8瓜 ASCII. M映c 8ích c栄a vi羽c 8óng khung là 8吋 8ánh d医u kh荏i 8i吋m và k院t thúc c栄a m瓜t thông báo. Tuy cách mã hóa thông tin và c医u trúc ký t詠 khung có s詠 khác nhau gi英a 2 ch院8瓜 truy隠n nh逢ng v隠 c挨 b違n, c医u trúc c栄a m瓜t khung thông báo Modbus chu育n nh逢 sau:

̇ A鵜a ch雨 (Address) : Các giá tr鵜 8鵜a ch雨 h嬰p l羽 n茨m trong kho違ng 0- 247. Trong 8ó 8鵜a ch雨 0 dành riêng 8吋 g穎i thông báo 8欝ng lo衣t t噂i t医t c違 các tr衣m t噂. M厩i thi院t b鵜 ch栄 s穎 d映ng ô 8鵜a ch雨8吋 ch雨8鵜nh thi院t b鵜 t噂 nh壱n thông báo yêu c亥u.

̇ Mã hàm (Function code): Có giá tr鵜 h嬰p l羽 n茨m trong kho違ng 1-255, trong 8ó các mã hàm trong thông báo yêu c亥u ch雨 8逢嬰c phép t瑛 1-127. Tuy nhiên, h亥u h院t các thi院t b鵜 ch雨 h厩 tr嬰 m瓜t ph亥n nh臼 s嘘 hàm trên và ph亥n còn l衣i 8逢嬰c d詠 tr英 dùng v隠 sau này.

̇ D英 li羽u (Data): N瓜i dung ph亥n d英 li羽u nói lên chi ti院t hành 8瓜ng mà bên nh壱n c亥n ph違i th詠c hi羽n. Ví d映 trong m瓜t yêu c亥u 8丑c các thanh ghi thì ph亥n d英 li羽u ch泳a thông tin v隠8鵜a ch雨 thanh ghi 8亥u tiên, s嘘 l逢嬰ng các thanh ghi c亥n 8丑c và chi隠u dài th詠c t院 c栄a chính ph亥n d英 li羽u.

̇ B違o toàn d英 li羽u (Checksum): M衣ng Modbus chu育n s穎 d映ng hai bi羽n pháp b違o toàn d英 li羽u 荏 hai m泳c: Ki吋m soát khung thông báo và ki吋m soát ký t詠 khung. A嘘i v噂i hai ch院 8瓜 truy隠n ASCII hay RTU, có th吋 l詠a ch丑n bit ki吋m tra ch印n l飲 cho ký t詠 khung và vi羽c ki吋m tra ch印n l胤 này l衣i l員p l衣i m瓜t l亥n n英a 荏 khung thông báo b茨ng mã LRC (雲 ch院8瓜 ASCII) ho員c mã CRC (Ch院8瓜 RTU).

Modbus TCP/IP : Chính là s詠 k院t h嬰p gi英a m衣ng v壱t lý Ethernet, c医u trúc khung 8i羽n c栄a Modbus và 8óng gói chuy吋n d英 li羽u gi英a các thi院t b鵜 trong m衣ng b茨ng giao th泳c TCP/IP.

Modbus TCP/IP th瑛a k院 l衣i ph亥n Function code và Data t瑛 c医u trúc khung 8i羽n c栄a Modbus chu育n và thêm vào 8ó ph亥n MBAP (Modbus Application Protocol) Header g欝m 4 tr逢運ng nh逢 hình trên, có t鰻ng chi隠u dài là 7 byte.

Transaction identifier : Mã giao d鵜ch, phân bi羽t các giao d鵜ch khác nhau c栄a Modbus, có chi隠u dài 2 byte.

Protocol identifier: Mã nh壱n d衣ng giao th泳c. Khi s穎 d映ng giao th泳c Modbus, giá tr鵜 này b茨ng 0.

Length: Chi隠u dài s嘘 byte theo sau. Khi Server ho員c client g穎i thông báo yêu c亥u thì s胤 g穎i kèm theo giá tr鵜 này.

Unit identifier: Mã nh壱n d衣ng thi院t b鵜, dùng 8吋 nh壱n d衣ng thi院t b鵜 k院t n嘘i vào bus Sau khi 8ã 8逢嬰c thêm ph亥n MBAP, d英 li羽u s胤 8逢嬰c gói vào gói d英 li羽u TCP/IP và 8逢嬰c truy隠n qua m衣ng Ethernet t噂i 8鵜a ch雨8ích.

2.3 XÂY D衛NG GI謂I THU一T D衛 PHÒNG 雲 C遺P AI陰U KHI韻N 2.3.1 C医u trúc ph亥n c泳ng

Một phần của tài liệu Nghiên cứu và xây dựng giải thuật thu thập dữ liệu và điều khiển dự phòng hệ thống điện (Trang 39 - 42)