Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 12 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
12
Dung lượng
335,5 KB
Nội dung
ĐẠI HỌC CÔNG NGHIỆP TP.HCM KHOA CÔNG NGHỆ ĐIỆN TỬ TIỂU LUẬN MÔN MẠNG TRUYỀN THÔNG CÔNG NGHIỆP ĐỀ TÀI: TÌM HIỂU GIAO THỨC MODBUS/ASCII GVHD SVTH : : Th.S TRẦN VĂN TRINH BÙI XUÂN VINH - 077166541 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ả q 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 yêu cầu, 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 yê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 độ toà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 A- F), 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 yê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 q 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í toà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 q 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 420mA 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-to-peer 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-to-peer 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: peer-to-peer Kết nối 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 peerto-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 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 Ký tự Error check Frame start Frame end Các Gap message Start bit Data bits Parity Stop bits Các thuộc tính Modbus/ASCII Modbus/RTU Modbus/ASCII Modbus/RTU ASCII and A F Binary 255 LRC Longitudinal Redundancy CRC Cyclic Redundancy Check Check character ':' 3.5 chars silence characters CR/LF 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 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 Byte 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ợ Byte 7( 8) Cấu trúc query Function 03 Value Mô tả 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 LRC/CRC Error check value Sau xử lý query, Modbus slave trả giá trị 16 bit holding register yê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 Đọc viết Cuộn cảm 10001 - 19999 Chỉ đọc Đầu vào rời rạc 30001 - 39999 Chỉ đọc Bộ ghi đầu vào 40001 - 49999 Đọc viết Bộ ghi Holding ... đườ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... 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... 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