1. Trang chủ
  2. » Luận Văn - Báo Cáo

Giao thức modbus

13 34 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 407,5 KB

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ - - TIỂU LUẬN Kiến trúc máy tính mạng truyền thông công nghiệp Đề tài: Giao thức Modbus *** I Giới thiệu đề tài Định nghĩa Modbus: Modbus giao thức hãng Modicon (sau thuộc AEG Schnelder automation) phát triển theo mơ hình ISO/OSI(International Organization for Standardization/Open Systems Interconnection Reference Model: Tổ chức tiêu chuẩn hóa quốc tế/Mơ hình tham chiếu kết nối hệ thống mở Modbus thực chất giao thức dịch vụ thuộc lớp ứng dụng Có thể vận chuyển cấp thấp TCP/MAP (Manufacturing Message Protocol), Modbus Plus đường truyền nối tiếp RS-232 Modbus định nghĩa tập hợp rộng dịch vụ phục vụ trao đổi liệu trình, liệu điều khiển liệu chuẩn đốn Mudbus mơ tả trình giao tiếp điều khiển với thiết bị khác thông qua chế yêu cầu/đáp ứng Ví dụ: Trong ứng dụng PLC người ta tìm thấy tập hợp dịch vụ đưa Modbus Đặt biệt hệ thống thu thập liệu điều khiển giám sát(Scada) Modbus hay sử dụng đường truyền RS-232 ghép nối thiết bị đầu cuối (PLC, PC) với thiết bị truyền liệu (Modem) Hình ảnh minh họa Cơ chế giao tiếp: Modbus phụ thuộc vào hệ thống truyền thông cấp thấp Được chia làm hai loại mạng Modbus chuẩn Mudbus mạng khác(vi dụ: TCP/IP, Modbus Plus, MAP) 2.1 Mạng Modbus chuẩn: - Các trạm Modbus giao tiếp với qua chế chủ/tớ(Master/Slave), số thiết bị chủ gửi u cầu, cịn thiết bị tớ đáp ứng yêu cầu trả lại thực hành động định theo yêu cầu Các thiết bị chủ máy tính điều khiển trung tâm thiết bị lập trình, thiết bị tớ PLC điều khiển số chuyên dụng khác 2.2 Modbus mạng khác: Modbus Plus MAP sử dụng Modbus giao thức cho lớp ứng dụng, thiết bị giao chế riêng mạng Ví dụ: giao tiếp tay đơi(Peer to peer), điều khiển đóng vai tro chủ tớ lần giao dịch khác nhau.(mỗi trạm lúc có quan hệ logic với nhiều đối tác, đồng thời đóng vai trị chủ tớ giao dichj khác nhau.) 2.3 Chu trình u cầu - đáp ứng: • • • • • Một thông báo yêu cầu bao gồm phần sau: Địa trạm nhận yêu cầu (0-247)., dịa gửi đồng loạt Mã hàm gọi thị hành động trạm tớ thực hiên theo yêu cầu ví dụ, mã hàm 03 yêu cầu trạm tớ đọc nội dung ghi lưu trả lại kết Dữ liệu chứa thông tin bổ sung nà trạm tớ cần cho việc thực hàm gọi Thông tin kiểm lợi giúp trạm tớ kiểm tra độ tồn vẹn nội dung thơng báo nhận Chế đọ truyền - Chế độ ASCII Mỗi ký tự khung bao gồm : · bit khởi đầu (Start bit) · bit biểu diễn chữ số hex byte cần gửi dạng kí tự ASCII (0-9 AF), bit thấp gửi trước · bit parity chẵn/lẻ, sử dụng parity · bit kết thúc (Stop bit) sử dụng parity bit kết thúc không sử dụng parity Chế độ truyền (tiếp) Khi thiết bị mạng Modbus chuẩn đặt chế độ RTU (Remote Terminal Unit), byte thông báo gửi thành ký tự bit Ưu điểm chế độ truyền so với chế độASCII hiệu suất cao Tuy nhiên , thông báo phải truyền thành dòng liên tục Cấu trúc kí tự khung gửi thể sau : Mỗi ký tự khung bao gồm : · bit khởi đầu (Start bit) · bit byte thơng báo cần gửi, bit thấp gửi trước · bit parity chẵn /lẻ, sử dụng parity bit kết thúc (Stop bit) sử dụng parity bit kết thúc khơng sử dụng parity Ví dụ khung u cầu liệu khung trả lời • Khung ASCII: - Trong điện gửi giao thức Modbus (chế độ truyền ASCII) , khung thơng báo bắt đầu kí tự ":", tiếp đến địa thiết bị, mã hàm, mã kiểm lỗi LRC kết thúc hai kí tự CR LF - Bức điện trả lời ngồi thơng tin giống điện gửi kèm thêm vào thơng tin u cầu Cấu trúc điện Khung ASCII Khởi đầu Ký tự Địa Ký tự Mã hàm Ký tự Dữ liệu N Ký tự Mã LCR Ký tự Kết thúc Ký tự Các đối tượng Modbus ASCII  Modbus sử dụng đường truyền thơng dây dẫn, có mở rộng cho chuẩn truyền thông không dây mạng TCP/IP  Sử dụng mạng công nghiệp, cơng ty, nhà máy… Ví dụ: Các hệ PLC nhà máy sản xuất (trong PLC người ta tìm thấy tập hợp dịch vụ đưa Modbus) - Đặc biệt trong hệ thống SCADA Modbus sử dung đường truyền RS-232 ghép nối thiết bị đầu cuối (PLC, PC) với thiết bị truyền liệu  Kết nối thiết bị MODBUS Một cách đơn giản để đưa thiết bị trường vào hệ thống điều khiển trình, PLC hay máy tính cơng nghiệp kết nối I/O analog số thành hệ thống I/O phân tán mang tính truyền thơng MODBUS Thí dụ, NCS (hệ thống kết nối mạng) Moore Industries cho phép người sử dụng kết nối tín hiệu analog số từ xa (sau kết nối với chủ MODBUS cáp đơi xoắn) Đa hệ thống NCS lắp đặt nhiều vị trí tồn nhà máy, tất kết nối MODBUS (hình 4) - Một cách đơn giản để đưa thiết bị trường vào hệ thống điều khiển trình, PLC hay máy tính cơng nghiệp kết nối I/O analog số thành hệ thống I/O phân tán mang tính truyền thơng MODBUS Thí dụ, NCS (hệ thống kết nối mạng) Moore Industries cho phép người sử dụng kết nối tín hiệu analog số từ xa (sau kết nối với chủ MODBUS cáp đôi xoắn) Đa hệ thống NCS lắp đặt nhiều vị trí tồn nhà máy, tất kết nối MODBUS - Giải pháp hoạt động máy hệ Trong nhiều nhà máy nay, công cụ đo trường kết nối với DCS hay PLC qua “home run wiring”, đây, thiết bị kết nối với cặp dây xoắn mang tín hiệu analog Với NCS, cặp dây xoắn sử dụng cho tín hiệu MODBUS Điều thật hữu ích nhà máy muốn bổ sung thêm công cụ trường khơng muốn nối thêm dây (chi phí lắp đặt 100 đôla cho foot) Một hệ thống I/O phân tán cung cấp tất I/O có., sử dụng để gửi liệu từ tất dụng cụ trường hệ - Trong số trường hợp, hệ thống điều khiển khơng có khả xử lí tín hiệu MODBUS Có thể hệ thống điều khiển thừa kế quen với việc xử lí I/O analog 4-20mA I/O số nối trực tiếp, lập trình hệ thống hệ cũ để cung cấp liệu MODBUS trở nên khó khăn Thơng thường, người sử dụng mong muốn bổ sung tín hiệu từ xa vào hệ thống họ mà nối dây hay mua card giao diện MODBUS đắt đỏ địi hỏi tái lập trình sâu Trong trường hợp đó, giải pháp peer – to –peer hồn hảo Thí dụ, CCS (hệ thống tập trung cáp) NCS Moore Industries có tính truyền thơng peer – to – peer - NCS CCS tương tự module I/O, có phận thu thập thơng tin bên thiết lập cấu hình peer-topeer peer-to-host - Với hệ thống NCS peer-to-peer (hình 5), hai tập trung sử dụng: trường phịng điều khiển Cơng cụ trường kết nối với NCS - thiết bị kết nối với phòng điều khiển NCS kết nối cặp dây xoắn đơn Đầu từ phòng điều khiển NCS nối với panel I/O analog có hệ thống điều khiển Bằng cách này, tín hiệu analog từ truyền trường hệ quan sát theo trạng thái analog gốc thông qua card I/O analog nhà máy Điều làm cho việc lập trình đưa tín hiệu vào hoạt động trở nên bớt khó khăn việc lập trình card giao diện số Giải pháp peer-topeer cung cấp truyền thơng hai chiều dó hai chiều hệ thống có đầu vào đầu Hình 5: Kết nối peer-to-peer Trong số trường hợp, hệ thống điều khiển khơng thể xử lí tín hiệu MODBUS, giải pháp peer-to-peer với hai hệ thống NCS thay tất nối dây home run với cáp MODBUS đơn Đầu analog từ phòng điều khiển NCS nối trực tiếp với card I/O hệ thống host  - Ưu điểm & ứng dụng: - Với MODBUS ASCII, thơng điệp mã hóa hexadecimal, sử dụng đặc tính ASCII bit Đối với byte thơng tin, cần có byte truyền thơng - Vì thích hợp modem điện thoại hay kết nối sử dụng sóng radio ASC II sử dụng tính phân định thơng điệp, Do tính phân định này, rắc rối phương tiện truyền dẫn không làm thiết bị nhận dịch sai thông tin Điều quan trọng đề cập đến modem chậm, điện thoại di động… - Điểm mạnh Modbus tính mở, đơn giản yêu cầu phần cứng -Điều tốt chuẩn Modbus linh hoạt, dễ thực Khơng thiết bị thơng minh microcontroller, PLC truyền thơng với Modbus, mà cịn sensor thơng minh trang bị Modbus interface gửi lệu chúng đến hệ thống chủ - Một ưu điểm khác MODBUS chạy tất phương tiện truyền thơng, có cổng kết nối dây xoắn, khơng dây, sợi quang, Ethernet, modem điện thoại, điện thoại di động vi song • Nhược điểm - MODBUS ASC II chậm số loại protocol Các chế độ truyền thông nối tiếp Modbus : Modbus/ASCII Modbus/RTU Các kết nối Modbus serial dùng hai chế độ truyền bản, ASCII hay RTU, remote terminal unit Chế độ truyền theo truyền thông serial định nghĩa cách Modbus message mã Với Modbus/ASCII, message định dạng ASCII đọc Định dạng Modbus/RTU dùng mã nhị phân làm thông điệp đọc giám sát, giảm kích thước thơng điệp mà cho phép nhiều data trao đổi thời gian Tất node phân đoạn mạng Modbus phải có mode truyền serial Một thiết bị cấu hình dùng Modbus/ASCII khơng thể hiểu message theo Modbus/RTU ngược lại Khi dùng Modbus/ASCII, tất message mã theo giá trị hexadecimal, biểu diễn theo ký tự ASCII khả đọc Chỉ ký tự A F dùng để mã Với byte thông tin, hai truyền thơng byte cần, truyền thơng byte định nghĩa bit theo hệ hexadecimal Với Modbus/RTU data trao đổi theo định dạng nhị phân, byte thơng tin mã theo truyền thông byte Các thông điệp Modbus kết nối serial không gửi theo định dạng phẳng Chúng frame cho receiver cách dễ dàng để dò bắt đầu kết thúc message Khi dùng Modbus/ASCII, ký tự dùng để bắt đầu kết thúc frame Dấu colon ':' dùng để báo hiệu bắt đầu message message kết thúc kết hợp CR/LF Modbus/RTU mặt khác dùng khe thời gian lặng đường truyền thông để frame Mỗi message phải theo khe thời gian có độ dài tối thiểu 3.5 ký tự Nếu receiver dò khe tối thiểu 1.5 ký tự, cho message đến đệm nhận làm Thuận lợi Modbus/ASCII là, cho phép khe byte message có độ dài tối đa giây Với Modbus/RTU cần nhận message stream liên tục Các thuộc tính Modbus/ASCII Modbus/RTU Ký tự Error check Frame start Frame end Các Gap message Start bit Data bits Parity Stop bits Modbus/ASCII ASCII and A F LRC Longitudinal Redundancy Check character ':' characters CR/LF Modbus/RTU Binary 255 CRC Cyclic Redundancy Check 3.5 chars silence 3.5 chars silence sec 1.5 times char length even/odd 1 even/odd none none Địch Modbus Thông tin Modbus message địa receiver Parameter chứa byte thông tin Trong Modbus/ASCII mã thành hai ký tự hexadecimal, Modbus/RTU byte dùng Các địa hợp lệ dải 247 Các giá trị 247 gán cho thiết bị Modbus cụ thể dùng địa broadcast Các Message gửi sau nhận tất slave Một slave đáp ứng với Modbus message Khi đáp ứng dùng địa master request Theo cách master thấy device thực đáp ứng với request Bên Modbus device, holding register, input output gán số 10000 Một mong đợi, địa dùng Modbus message để đọc hay đặt giá trị Rủi thay trường hợp Trong Modbus message địa dùng với giá trị 9999 Nếu bạn muốn đọc giá trị output (coil) 18 ví dụ, bạn phải định giá trị 17 Modbus query message Nhiều bối rói hơn, cho input holding register offset phải trừ từ địa device để lấy địa thích hợp để đặt vào Modbus message structure Điều dẫn đến lỗi phổ biến nên quan tâm thiết kế ứng dụng với Modbus Bảng sau trình bày dải địa cho coil, input holding register cách địa Modbus message tính ho trước địa thực item slave device Device and Modbus address ranges Device address Modbus address Description 10000* address - Coils (outputs) * 10001 20000 address - 10001 Inputs 40001 50000* address - 40001 Holding registers * Các giá trị cực đại phụ thuộc thiết bị Các mã chức Modbus Tham số thứ hai Modbus message mã chức Cái định nghĩa kiểu message kiểu hành động đòi hỏi slave Tham số chứa byte thông tin Trong Modbus/ASCII điều mà với hai ký tự hexadecimal, Modbus/RTU byte dùng Các mã chức hợp lệ khoảng 255 Không phải tất Modbus device nhận biết tập mã chức Các mã chung thảo luận Bình thường, Modbus slave trả với đáp ứng, dùng mã chức request Tuy nhiên, error dò, bit cao mã chức bật lên Theo cách master thấy khác biệt đáp ứng thành công thất bại Các mã chức Modbus phổ biến Mã Mô tả 01 Đọc trạng thái coil 02 đọc trạng thái input 03 Đọc holding register 04 Đọc input register 05 Tác động coil 06 Đặt lại register 07 Đọc trạng thái ngoại lệ 15 Tác động nhiều coil 16 Đặt lại nhiều register 17 Báo cáo slave ID Chức 01: Đọc trạng thái coil Trong ngôn ngữ Modbus, coil giá trị output rời rạc Chức Modbus 01 dùng để đọc trạng thái output Chỉ truy vấn device thời điểm Địa Broadcast hỗ trợ chức Modbus Chức dùng để request trạng thái coil khác lúc Điều làm định nghĩa dải output trường data message Cấu trúc truy cấn chức 01 Byte Giá trị Mô tả 1 247 Địa thiết bị Slave Mã chức 255 Địa bắt đầu, byte cao 255 Địa bắt đầu, byte thấp 255 Số coil, byte cao 255 Số coil, byte thấp 7( 8) LRC/CRC Giá trị kiểm tra Error Khi nhận Modbus query message có chức 01, slave thu thập giá trị output cần thiết dựng answer message Chiều dài message phụ thuộc vào số value mà phải trả Nhìn chung, giá trị N yêu cầu, số ((N+7) mod 8) byte cần thiết để lưu giá trị Số thực databyte datablock đặt byte data field Do cấu trícchung answer cho Modbus function 01 query là: Cấu trúc trả lời Function 01 Byte Giá trị Mô tả 1 247 Địa Slave device Function code 255 Số data byte N N+3 255 Bit pattern giá trị coil N+4( N+5) LRC/CRC Giá trị kiểm tra Error Function 02: Đọc trạng thái input Đọc giá trị input với Modbus làm theo cách đọc trạng thái coil Khác biệt cho input Modbus function 02 dùng Broadcast addressing mode không hỗ trợ Bạn query giá trị input device lúc Giống với coil, địa input đầu tiên, số input để đọc phải đặt data field query message Các Input device bắt đầu đánh số từ 10001 Giá trị địa tương đương địa Modbus message Cấu trúc query Function 02 Byte Value Mô tả 1 247 Địa thiết bị Slave 2 Function code 255 Địa bắt đầu, byte cao 255 Địa bắt đầu, byte thấp 255 Số input, byte cao 255 Số input, byte thấp 7( 8) LRC/CRC Error check value Sau nhận query message có Modbus function 02, slave đặt giá trị input yêu cầu message structure gửi message trở lại Modbus master Chiều dài message phụ thuộc vào số giá trị input trả Điều làm cho chiều dài output message thay đổi Số databyte data field mà chứa giá trị input chuyển byte data field Mỗi message trả lời Modbus có cấu trúc chung sau Cấu trúc trả lời Function 02 Byte Value Mô tả 1 247 Địa thiết bị Slave 2 Function code 255 Số data byte N N+3 255 Bit pattern of input values N+4( N+5) LRC/CRC Error check value Function 03: Đọc holding register Các giá trị bên Modbus device lưu holding register Các register có chiều rơng hai byte dùng cho mục đích khác Vài register chứa tham số cấu hình khác dùng cho giá trị đo lường trả (nhiệt độ ) cho host Các Register thiết bị tương thích Modbus bắt đầu đếm 40001 Chúng đánh địa cấu trúc thông điệp Modbus với địa bắt đầu Modbus function 03 dùng để yêu cầu hay nhiều giá trị ghi holding từ device Chỉ slave device đánh địa query đơn Các query Broadcast với function 03 không hỗ trợ Cấu trúc query Function 03 Byte Value Mô tả 1 247 Slave device address Function code 255 Starting address, high byte 255 Starting address, low byte 255 Number of registers, high byte 255 Number of registers, low byte 7( 8) LRC/CRC Error check value Sau xử lý query, Modbus slave trả giá trị 16 bit holding register u cầu Vì kích thước holding registers, register mã với hai byte message trả lời Data byte chứa byte cao, thứ hai byte thấp register Thông điệp trả lời Modbus bắt đầu với địa thiết bị slave function code 03 Byte tiếp số data byte theo sau Giá trị gấp đôi số register trả Một kiểm tra lỗi mở rộng cho host để kiểm tra có lỗi truyền thơng xuất hay không Địa Loại Tên - 9999 10001 - 19999 30001 - 39999 40001 - 49999 Đọc viết Cuộn cảm Chỉ đọc Đầu vào rời rạc Chỉ đọc Bộ ghi đầu vào Đọc viết Bộ ghi Holding ... khác 2.2 Modbus mạng khác: Modbus Plus MAP sử dụng Modbus giao thức cho lớp ứng dụng, thiết bị giao chế riêng mạng Ví dụ: giao tiếp tay đơi(Peer to peer), điều khiển đóng vai tro chủ tớ lần giao. .. thông cấp thấp Được chia làm hai loại mạng Modbus chuẩn Mudbus mạng khác(vi dụ: TCP/IP, Modbus Plus, MAP) 2.1 Mạng Modbus chuẩn: - Các trạm Modbus giao tiếp với qua chế chủ/tớ(Master/Slave),... nối hệ thống mở Modbus thực chất giao thức dịch vụ thuộc lớp ứng dụng Có thể vận chuyển cấp thấp TCP/MAP (Manufacturing Message Protocol), Modbus Plus đường truyền nối tiếp RS-232 Modbus định nghĩa

Ngày đăng: 04/08/2020, 01:13

TỪ KHÓA LIÊN QUAN

w