Đ Án 2 Modbus
December 11, 2022 | Author: Anonymous | Category: N/A
Short Description
Download Đ Án 2 Modbus...
Description
LỜ I MỞ MỞ ĐẦ U ĐẦU MODBUS là một protocol phổ biến bậc nhất đượ c sử dụng hiện nay cho nhiều mục đích. MODBUS đơ n giản, r ẻ, phổ biến và dễ sử dụng. Hiện nay, dòng chip x ử lý lõi ARM (Acorn RISC Machine) ngày càng đượ c ứng dụng r ộng rãi trong các hệ thống nhúng mà đơn cử là các thiết bị di động do ưu thế tuyệt vớ i về tiết kiệm năng lượ ng, ng, tốc độ xử lý cao và luôn sẵn có các công c ụ hỗ tr ợ ợ ph phần cứng, phần mềm.
Để ứng dụng đượ c các dòng chip xử lý lõi ARM vào trong công nghiệ p thì cần sự k ết nối đến các PLC qua MODBUS từ đó em nghiên cứu về đề tài: “Viết MODBUS RTU trên board m ạch phát triển TIVA-C TM4C123GH6PM “. Đề tài này giúp em hiểu rõ hơ n về vi điều khiển, các chuẩn giao tiế p trong mạng công nghiệ p thực tế song do thờ i gian và kiến thức có hạn nên mạch còn nhiều thiếu sót. Em r ất mong nhận đượ c sự góp ý của các thầy cô để có thể nâng cao chất lượ ng ng của đề tài này .
1
LỜ I CẢM CẢM ƠN ƠN Em xin chân thành cảm ơn đến thầy Nuyễn Tấn Sỹ (Bộ môn Tự Động Hóa thuộc Khoa Điện – Điện Tử Trường Đại Học Bách Khoa TP Hồ Chí Minh). Thầy
đã giúp em chọn đề tài và hướ ng ng dẫn cũng như cung cấ p kinh nghiệm và tài liệu trong quá trình chúng em làm đồ án này. Em xin cảm ơn đến tất cả các thầy cô ở B Bộ Môn Tự Động Hóa đã cho chúng em nhữ ng kiến thức nền tảng giúp chúng em hoàn thành đồ án này.
2
NHIỆM VỤ NHIỆ VỤ ĐỀ TÀI ĐỀ TÀI Tạo một MODBUS Slave RTU trên board mạch phát triển TIVA-C TM4C123GH6PM tiế p vớ i MODBUS MODBUS Master RTU trên trên PC.
để giao
3
Chương I: MODBUS RTU I.
MODBUS là gì?
MODBUS do Modicon (hiện nay thuộc Schneider Electric) phát tri ển năm 1979, là một phương tiện truyền thông vớ i nhiều thiết bị thông qua một cặ p dây xoắn đơn. Ban đầu, nó hoạt động trên RS232, nhưng sau đó nó sử dụng cho cả RS485 để đạt tốc độ cao hơn, khoảng cách dài hơn, và mạng đa điểm (multi-drop). MODBUS đã nhanh chóng trở thành thành tiêu chuẩn thông dụng trong ngành tự động hóa, và Modicon đã cho ra mắt công chúng như mộ t protocol miễn phí. Ngày nay, MODBUS-IDA (www.MODBUS.org) , tổ chức sử dụng và cung c ấ p MODBUS lớ n nhất tiế p tục hỗ tr ợ ợ protocol protocol MODBUS trên toàn c ầu. MODBUS là một hệ thống “chủ - tớ”, “chủ” đượ c k ết nối vớ i một hay nhiều “tớ”. “Chủ” thườ ng ng là một PLC, PC, DCS, hay RTU. “Tớ” MODBUS RTU thườ ng ng là các thiết bị hiện trườ ng, ng, tất cả đượ c k ết nối vớ i mạng trong cấu hình multi-drop (hình1). Khi một chủ MODBUS RTU muốn có thông tin từ thiết bị, chủ sẽ gửi một thông điệ p về dữ liệu cần, tóm tắt dò lỗi tới địa chỉ thiết bị. Mọi thiết bị khác trên mạng sẽ nhận thông điệp này nhưng chỉ có thiết bị nào đượ c chỉ định mớ i có phản ứng.
Hình 1: Một mạng MODBUS RTU có m ột chủ, như PLC, PC, DCS và 247 thiết bị tớ đượ c k ết nối trong cấu hình multi-drop. Các thiết bị trên mạng MODBUS không thể tạo ra k ết nối; chúng chỉ có thể phản ứng. Nói cách khác, chúng “lên tiếng” chỉ khi được “nói tới”. Một số nhà sản xuất đang phát triển các thiết bị lai hotr ạtở choghép chúng ởđộng thànhnhư thành cáccác thiếtớ t bMODBUS, ị chủ ảo. tuy nhiên chúng cũng có “khả năng viết”, do đó làm
4
Ba phiên bản MODBUS phổ biến nhất đượ c sử dụng ngày nay là: - MODBUS ASCII - MODBUS RTU - MODBUS/TCP
II.
MODBUS RTU 1. N g uyê uyên n t ắc hoạt động Để k ết nối vớ i thiết bị tớ , chủ sẽ gửi một thông điệ p có: - Địa chỉ thiết bị - Mã chức năng - Dữ liệu - Kiểm tra lỗi
Địa chỉ thiết bị là một con số từ 0 đến 247. Thông điệp đượ c gửi tới địa chỉ 0 (truyền thông điệ p) có thể dượ c tất cả các tớ ch chấ p nhận, nhưng các con số từ 1-247 là các địa chỉ của các thiết bị cụ thể. Vớ i ngoại lệ của việc truyền thông điệ p, một thiết bị tớ luôn luôn phản ứng vớ i một thông điệ p MODBUS do đó chủ sẽ biết r ằng ằng thông điệp đã đượ c nhận Yêu cầu 01 02 03 04 05 06 0F 10 …
Mã chức năng
Đọc cuộn cảm Đọc đầu ra r ờờ i r ạc Đọc bộ ghi phần Đọc bô ghi đầu vào Viết cuộn cảm đơ n Viết bộ ghi đơ n Viết nhiều cuộn cảm Viết nhiều bộ ghi …… Hình 2: Các mã chức năng
Mã chức năng xác định yêu cầu thiết bị tớ th thực hiện hoạt động như đọc dữ liệu, chấ p nhận dữ liệu, thông báo tr ạng thái vv… (hình 2). Mã chức năng là từ 1 – 255. 255. Một số mã chức năng còn có các mã chức năng phụ. Dữ liệu xác định địa chỉ trong bộ nhớ thi thiết bị hay chứa các giá tr ị dữ liệu đượ c viết trong bộ nhớ thiết bị, hay ch ứa các thông tin cần thiết khác mang chức năng như yêu cầ u.
5
Kiểm tra lỗi là một giá tr ị bằng số 16 bit biểu diễn kiểm tra dự phòng tuần hoàn (CRC). CRC đượ c thiết bị chủ tạo ra và thiết bị tiế p nhận kiểm tra. Nếu giá tr ị CRC không thỏa mãn, thiết bị đòi hỏi truyền lại thông điệ p này. Khi thiết bị tớ th thực hiện các chức năng theo yêu cầu, nó sẽ gửi thông điệ p cho chủ. Thông điệ p chứa địa chỉ của tớ và và mã chức năng, dữ liệu theo yêu cầu, và một giá tr ị kiểm tra lỗi.
2. C ấấ u trúc bộ nhớ MODBUS MODBUS Mỗi thiết bị MODBUS có b ộ nhớ ch chứa dữ liệu quá trình. Thông số k ỹ thuật của MODBUS chỉ ra cách dữ liệu đượ c gọi ra như thế nào, loại dữ liệu nào có thể đượ c gọi ra. Tuy nhiên, không đặ t ra giớ i hạn về cách thức và vị trí mà nhà cung cấp đặt dữ liệu trong bộ nhớ. Dưới đây là ví dụ về cách thức mà nhà cung c ấp đặt các loại dữ liệu biến thiên quá trình hợ p lí.
Các đầu vào và cuộn cảm r ờờ i r ạc có giá tr ị 1 bit, mỗi một thiết bị lại có một địa chỉ cụ thể. Các đầu vào analog (bộ ghi đầu vào) được lưu trong bộ ghi 16 bit. Bằng cách sử dụng 2 bộ ghi này, MODBUS có thể hỗ tr ợ ợ format điểm floating (nổi) IEEE 32 bit. Bộ ghi Holding cũng sử dụng các bộ ghi bên trong 16 bit hỗ tr ợ ợ điểm floating. Địa Chỉ
Loại Tên 1-9999 Đọc hoặc ghi Cuộn cảm Đầu vào r ờ ờ i r ạc 10001-19999 Chỉ đọc 30001-39999 Chỉ đọc Bộ ghi đầu vào Đọc hoặc ghi 40001-49999 Bộ ghi Holding Hình 3: Địa chỉ bộ nhớ trong trong MODBUS
ữ li ệu 3. Đọc và và ghi d ữ ờ i r ạc ạc đọc), 3 (bộ ghi MODBUS có tớ i 255 mã chức năng, nhưng 1 (cuộ n cảm đọc), 2 (đầu vào r ờ Holding đọc), và 4 (bộ ghi đầu vào đọc) là các chức năng đọc đượ c sử dụng phổ biến nhất để thu thậ p dữ liệu từ các thiết bị tớ . Thí dụ, để đọc 3 từ 16 bit dữ liệu analog từ bản đồ bộ nhớ c của thiết bị 5, chủ sẽ gửi một yêu cầu như sau: 5 04 2 3 CRC
Trong đó, 5 là địa chỉ thiết bị, 4 đọc bộ ghi đầu vào, 2 là địa chỉ khởi đầu (địa chỉ 30002). 3 có nghĩa là để đọc 3 giá tr ị dữ liệu k ề nhau xuất phát từ đại chỉ 30002, và CRC là giá tr ị kiểm tra lỗi thông điệ p này. Thiết bị tớ , ngoài việc nhận dữ liệu này, sẽ gửi lại một tr ả lời như sau: 5 04 aa bb cc CRC
6
khiển TM4C123GH6PM Chương II: Vi điều điều khiể I.
Vi điều điều khiể khiển TM4C123GH6PM - Là vi điều khiển ARM Cortex-M4 của Texas Instruments. - Sơ đồ khối:
Hình 4: Sơ đồ khối vi điều khiển TM4C123GH6PM Trong đó gồm các khối: 6 khối GPIO từ port port A đế n port F : input/output logic, ng ắt mức logic theo cạnh, mức. 6 Timer 16/32 bit và 6 timer 32/64 bit và 12 chân capture /compare /PWM 16/32 bit và
12 chân capture/compare/PWM 32/64bit. Bộ Counter đếm lên hoặc xuống. Bộ Tạo xung PWM đơn giản (không có deadband). ợ đồng bộ timer, dừng lại trong quá trình debug. Hỗ tr ợ
7
Có thể dùng trong lấy mẫu ADC (Analog- Digiatal Converter, chuyển tín hiệu tương tự
sang tín hiệu số) hoặc truyền DMA (Direct Memory Access – cơ chế truyền dữ liệu tr ực tiế p giữa thiết bị I/O và RAM không cần qua CPU). 2 module PWM gồm 4 khối tạo xung PWM và 1 khối điều khiển. Mỗi khối tạo ra xung PWM có thể tạo ra 2 tín hiệu độc lậ p vớ i cùng tần số 1 căp bù tín hiệu bù nhau. 4 bộ module SSI mỗi module có:
- Chế độ SPI MICROWIRE hay TI SSI - Hoạt động ở ch chế độ Master hay Slave - Có thế điều chỉnh tốc độ xung nhip l bit - Có thể chia tần số - Hỗ tr ợ ợ ng ngắt và µDMA Bộ đọc encoder x4 (QEI)
II.
điều khiể MODBUS RTU trên vi vi điều khiển TM4C123GH6PM
Vớ i việc hỗ tr ợ ợ :
UART: truyền dữ liệu nối tiế p.
GPIO: ngõ vào/ra logic.
TIMER: bộ định thờ ii..
ADC: chuyển tín hiệu tương tự sang tín hiệu số
Vi điều khiển TM4C123GH6PM cho ta đầy đủ công cụ để viết một MODBUS RTU Slave trên nó.
8
luận Chương III: Lập trình, k ết luậ I.
K ết quả quả th thự ự c ttếế
Trên pc dùng phần mềm Modscan32 để làm MODBUS RTU Master
1. Đọc, ghi lên lên co coii l
9
2. Đọc, ghi lên lên ho hold ldii ng r egi st ste er
3. Đọc Ana A nalog log iinp nput ut
4. Đọc Di D i scr scre ete i np nput ut
10
Tài liệu tham khảo - http://www.modbus.org/docs/Modbus_Application_Protocol_V1_1b.pdf http://www.uyenviet.com.vn/home/Upload/Files/modbus.doc - http://www.uyenviet.com.vn/home/Upload/Files/modbus.doc - http://www.ti.com/lit/ds/spms376e/spms376e.pdf -
11
View more...
Comments