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

Thiết kế mạch slave trong giao thức modbus

24 38 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

Nội dung

Mục lục Lời tựa Như bạn biết, cơng nghiệp có nhiều hệ thống bus sử dụng như: Profibus, Can, Interbus, DeviceNet,… Tuy nhiên, Modbus lại giao thức phổ biến nhất, nhà cung cấp lựa chọn cho thiết bị hệ cũ Modbus chạy hầu hế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 sóng Có nghĩa kết nối thiết lập nhà máy hệ cũ hay dễ dàng Chương I : Tổng quan Modbus 1.1 Khái niệm Modbus Modbus giao thức hang Modicon phát triển Theo mơ hình ISO/OSI thực chất chuẩn giao thức dịch vụ thuộc lớp ứng dụng Modbus cấu trúc mạng truyền thơng kiểu nối tiếp Nó hỗ trợ hai chuẩn truyền dẫn RS232 RS485 Việc truyền liệu thực theo chế Master/Slave 1.2 Các đặc điểm Modbus 1.2.1 Phân loại Căn vào cách thức truyền liệu ta chia Modbus làm dạng: • Modbus RTU : Dữ liệu truyền bus nối tiếp truyền theo định dạng mã hexadecimal Nó sử dụng truyền thơng thơng thường • Modbus ASCII : Dự liệu truyền bus nối tiếp truyền dạng mã ascii Nó có ưu điểm dễ dàng để người dùng hiểu liệu truyền Được sử dụng việc kiểm tra giới thiệu cho giao thức mạng Modbus • Modbus TCP/IP : Dữ liệu truyền mạng Lan mạng khu vực rộng Dữ liệu định nghĩa dạng hexadecimal 1.2.2 Cấu trúc đoạn tin Modbus Đây cấu trúc đoạn tin giao thức Modbus: Address field Function field Data field Error check field byte byte Variable bytes Hình 1.0 Cấu trúc đoạn tin modbus 1.2.2.1 Address field : byte Có độ dài byte : nơi cung cấp địa slave mà master tác động tới Mỗi slave có địa chier Modbus riêng ( từ đến 247) 1.2.2.2 Function field : bytes Mã cho biết nhiệm vụ mà slave cần làm Đặc biệt, Modbus cung cấp bảng mã chung cho tất thiết bị Hình 1.1 Mã hàm cung cấp modbus Data field : Variable Khối thường chứa địa vùng thiết bị slava mà master muốn tác động tới Trong giao thức mạng Modbus, có tiêu chuẩn địa chung cho tất thiết bị có hỗ trợ Modbus Bảng trình bày địa chuẩn Modbus ghi thiết bị hỗ trợ Modbus 1.2.2.3 Hình 1.2 Địa chuẩn modbus ghi Error check field : bytes Chức : Giúp slave kiểm tra lỗi có xuất master truyền liệu hay không 1.2.2.4 1.3 Ứng dụng Modbus cơng nghiệp • Là phương pháp truyền thơng mở, giải pháp sử dụng phổ biến để kết nối thiết bị điện tử • Chúng hay dùng để truyền tín hiệu từ thiết bị đo, thiết bị điều khiển trở điều khiển hay hệ thống thu nhập liệu • Kết nối máy tính giám sát với thiết bị điều khiển ( RTU : remote terminal unit) hệ thống Scada Chương : Giao tiếp PLC Vi điều khiển 2.1 Đặt vấn đề PLC S7-300 Microcontroller MODBUS Hình 2.0 Sơ đồ cầu trúc tổng quát mạch Ở đồ án I, chúng em sử dụng PLC S7-300 giao tiếp với vi điều khiển qua chuẩn truyền thông công nghiệp Modbus để thực việc đo nhiệt độ tắt bật đèn sáng 2.2 Giải vấn đề 2.2.1 Hướng giải tổng quát Để giải vấn đề Chúng em sử dụng mạch điện có chứa: • Lm 35: cảm biến đo nhiệt độ • Rơ le đóng cắt điện 220V : • Max 485 : chuyển đổi tín hiệu chuẩn giao tiếp RS 232 sang RS 485, sử dụng cặp đôi dây xoắn phương pháp chặn song song (lắp trở 120 ôm) • Vi điều khiển atmega 8: lưu ý vi điều khiển có chứa ADC • Mạch nguồn cho vi điều khiển: Hình 2.1 Mạch in mạch Slave Hình 2.2 Ảnh 3D mạch Slave Sử dụng phương pháp truy nhập bus kiểu Master/ Slave cho PLC vdk atmega Hai phần tử sẽ giao tiếp qua giao thức Modbus với chuẩn truyền dẫn RS 485 ( phương thức chênh lệch đối xứng) Với nhiệm vụ đo nhiệt độ, LM35 đo nhiệt độ truyền thông tin atmega Vi điều khiển gửi liệu nhiệt độ Master- PLC yêu cầu Với nhiệm vụ bật tắt bóng đèn, Master yêu cầu đóng cắt Nó gửi lệnh tới Slave- vi điều khiển Rồi vi điều khiển lại tín hiệu điều khiển tới relay giúp đóng cắt tiếp điểm, giúp bóng đèn bật tắt 2.2.2 Hướng giải cụ thể 2.2.2.1 Lập trình phần mềm Sơ đồ thuật tốn: BẮT ĐẦU Khởi tạo phần cứng: Timer, ADC, UART, Ngắt timer Đọc byte liệu từ nhận UART (“Lắng nghe bus”) Byte nhận = địa slave Sai Đúng Đọc liệu từ nhận uart (Frame modbus) Tính tốn crc checksum kiểm tra lỗi Đúng Dữ liệu lỗi? Sai Xử lý liệu nhận gửi phản hồi Bộ truyền uart thiết lập với cài đặt: Baudrate: 19200 bps Start bit data bit No parity stop bit Cài đặt ADC: 10 bit, điện áp tham chiếu 5V Cài đặt ngắt timer: chu kì ngắt: 1s Chương trình phục vụ ngắt timer có chức đọc giá trị nhiệt độ từ cảm biến lm35 theo chu kì 1s Chương trình lập trình phần mềm CodevisionAVR: /****************************************************** Chip type : ATmega8 Program type : Application AVR Core Clock frequency: 11.059200 MHz Memory model : Small External RAM size :0 Data Stack size : 256 *******************************************************/ #include #include //modbus function code #define read_coil 01 #define write_coil 05 #define read_register 04 #define myaddr 0xCD //relay config #define relay_inits DDRB.0=1 #define relay_on PORTB.0=1 #define relay_off PORTB.0=0 #define TRcontrol DDRD.2=1 #define Tx_enable PORTD.2=1 #define Rx_enable PORTD.2=0 // Declare your global variables here //nhiet unsigned int nhiet_do; bit relay; bit frameIsBroadcast =0; unsigned char modbus_frame[16]; unsigned char response_frame[16]; #define DATA_REGISTER_EMPTY (1

Ngày đăng: 15/11/2020, 14:43

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w