Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 114 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
114
Dung lượng
1,85 MB
Nội dung
TỔNG LIÊN ĐOÀN LAO ĐỘNG THÀNH PHỐ TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG Đề tài: ĐIỀU KHIỂN- GIÁM SÁT THIẾT BỊ DÙNG MẠNG RS485 GVHD: TS HOÀNG MINH TRÍ SVTH : TRỊNH VĂN PHẬN LỚP : 08DD3N MSSV : 811202D TP.HỒ CHÍ MINH, Tháng 7/2009 LUẬN VĂN TỐT NGHIỆP GVHD: TS Hồng Minh Trí TỔNG LIÊN ĐỒN LAO ĐỘNG THÀNH PHỐ TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG Đề tài: Điều Khiển- Giám Sát Thiết Bị Dùng Mạng RS485 GVHD: TS HỒNG MINH TRÍ SVTH : TRỊNH VĂN PHẬN LỚP : 08DD3N MSSV : 811202D TP.HỒ CHÍ MINH, Tháng 7/ 2009 SVTH: Trịnh Văn Phận -1- LUẬN VĂN TỐT NGHIỆP GVHD: TS Hồng Minh Trí Mục lục: PHẦN A: LÝ THUYẾT CHƯƠNG 1: 10 GIỚI THIỆU VỀ RS232-RS485 10 Giới thiệu chung: 10 RS232: 10 RS485: 12 Full Duplex: 20 Half Duplex: 20 Các dạng truyền thông: 21 Mơ hình mạng thực luận văn 21 CHƯƠNG 2: 23 GIỚI THIỆU SERIAL PORT VÀ CƠ SỞ DỮ LIỆU TRONG VISUAL BASIC 2005 23 2.1 Giới thiệu truyền thông nối tiếp SerialPort: 23 2.2 Giới thiệu lập trình sở liệu: 26 2.2.1Những khái niệm sở liệu: 26 2.2.2Cách tạo DataBase MS Access 27 2.2.3 Truy cập DataBase: 29 2.2.4 Hướng dẫn tạo báo cáo (Crystal report) 31 Phần B: 36 THI CÔNG 36 CHƯƠNG 3: 37 GIAO DIỆN CHƯƠNG TRÌNH ĐIỀU KHIỂN VÀ GIÁM SÁT 37 3.1 Giao diện chương trình: 37 3.2 Các khối chức chương trình 38 CHƯƠNG 4: 41 MẠCH ĐIỀU KHIỂN VÀ LƯU ĐỒ GIẢI THUẬT 41 4.1 Mạch giao tiếp điều khiển 41 4.2 Lưu đồ giải thuật 44 4.2.1 Lưu đồ VB: 44 4.2.2 Lưu đồ vi điều khiển: 45 CHƯƠNG 5: 47 CHƯƠNG TRÌNH 47 5.1 Chương trình VB: 47 5.2 Chương trình vi điều khiển: 59 Kết Luận hướng phát triển Luận Văn 66 Phụ lục: 67 Giới thiệu đôi nét vi điều khiển họ MSC-51 67 1.1 Giới thiệu cấu trúc phần cứng họ MSC-51 (8951): 67 1.2 Khảo sát chân 8951: 69 1.2.1.Sơ đồ chân 8951: 69 1.2.2 Chức chân 8951: 69 1.3 Cấu trúc bên vi điều khiển: 71 SVTH: Trịnh Văn Phận -5- LUẬN VĂN TỐT NGHIỆP GVHD: TS Hồng Minh Trí 1.3.1 Tổ chức nhớ: 71 1.3.2 Các ghi có chức đặc biệt: 74 1.3.3 Bộ nhớ (external memory) : 78 1.4 Hoạt động TIMER: 83 1.4.1 Giới thiệu: 83 1.4.2 Các ghi điều khiển TIMER 85 1.4.3 Các chế độ TIMER cờ tràn(TIMER MODES AND OVERFLOW): 89 1.5 Hoạt động Port nối tiếp 91 1.5.1 Giới thiệu 91 1.5.2 Các ghi chế độ hoạt động port nối tiếp: 92 1.5.3 Tổ chức ngắt 8051 97 1.6 Tóm tắt tập lệnh 8051: 98 1.6.1 Sự định vị ghi (Register Addressing): 98 1.6.2 Sự định địa trực tiếp (Direct Addressing): 99 1.6.3 Sự định vị địa gián tiếp (Indirect Addressing): 99 1.6.4 Sự định địa tức thời (Immediate Addressing): 100 1.6.5 Sự định địa tương đối: 100 1.6.6 Sự định địa tuyệt đối (Absolute Addressing): 101 1.6.7 Sự định vị dài (Long Addressing) : 101 1.6.8 Sự định địa phụ lục (Index Addressing): Error! Bookmark not defined Giới thiệu đôi nét Keil C: 102 2.1 Giới thiệu: 102 2.2 Cơ C: 102 3.2.1 Các thị trước xử lý Keil C 102 2.2.2 Các toán tử : 103 2.2.3 Các kiểu liệu: 105 2.2.4 Cấu trúc chương trình C 106 2.2.5 Các lệnh C 107 TÀI LIỆU THAM KHẢO 111 Nguyễn Mạnh Giang _ NXB GD Hà Nội _1994 111 VISUAL BASIC 2005 (Tập 1+2+3+5) 111 Phương Lan – Trần Tiến Dũng NXB Phương Đông 111 www.caulacbovb.com 111 www.vbcode.com 111 www.dientuvietnam.net 111 Các hình bài: Hình 1.1: Cặp dây xoắn RS485 17 Hình 1.2: Truyền RS485 tham chiếu với đất 18 Hình 1.3: Sơ đồ phát, nhận RS485 19 Hình 1.4: Sơ đồ phát, nhiều nhận RS485 19 Hình 1.5: Sơ đồ sử dụng nhiều truyền nhận RS485 19 Hình 1.6: Một dạng kết nối đường truyền RS485 hợp lí 20 Hình 1.7: mơ hình mạng luận văn 21 SVTH: Trịnh Văn Phận -6- LUẬN VĂN TỐT NGHIỆP GVHD: TS Hồng Minh Trí Hình 2.1: Tạo database 28 Hình 2.2: Giao diện thiết kế bảng liệu 29 Hình 2.4: Tạo liên kết với VB 30 Hình 2.5: chọn loại CSDL nguồn liệu 31 Hình 3.1: Giao diện điều khiển – giám sát 37 Hình 3.2: Khối chọn cổng COM hiển thị kết nối 38 Hình 3.3: Khối điều khiển giám sát 38 Hình 3.4: Bảng trạng thái thiết bị 38 Hình 3.5: khối tìm kiếm trạng thái thiết bị lưu 39 Hình 3.6: Bảng báo trạng thái thiết bị 39 Hình 3.7: Giao diện giao tiếp máy mạng nội LAN 40 Hình 1.1: Sơ đồ khối 8051 68 Hình 1.2: Sơ đồ chân IC 8951 69 SVTH: Trịnh Văn Phận -7- LUẬN VĂN TỐT NGHIỆP GVHD: TS Hồng Minh Trí LỜI NĨI ĐẦU Hiện đất nước ta chuyển theo phát triển chung giới khu vực Châu Á sản xuất đa dạng đầy tiềm Nền sản xuất khơng địi hỏi số lượng lao động khổng lồ mà yêu cầu trình độ, chất lượng tay nghề, kỹ thuật lao động thiết bị sản xuất Trên đà phát triển đó, vấn đề tự động hố q trình sản xuất, nghiên cứu trở thành nhu cầu cần thiết Thoạt đầu vấn đề tự động hoá thực riêng lẻ từ khí hố đến mạch điện tử Ngày nay, với xuất cuả Chip vi xử lý máy tính với việc sử dụng rộng rãi đẩy vấn đề tự động hoá lên bước cao thời lượng nhanh … Trong đó, việc ứng dụng Máy Vi Tính Internet vào kỹ thuật đo lường điều khiển đem lại kết đầy tính ưu việc Các thiết bị, hệ thống đo lường điều khiển ghép nối với Máy Vi Tính có độ xác cao, thời gian thu thập số liệu ngắn Ngồi ra, máy tính cịn có phần giao diện lên hình tiện lợi cho người sử dụng Việc dùng máy tính để điều khiển thơng tin liên lạc với vấn đề truyền liệu quan trọng Hiện dùng máy tính để liên lạc với thơng qua hệ thống mạng như: mạng cục (LAN) hay mạng toàn cầu Internet Do đó, phạm vi hiểu biết cuả mình, em tìm hiểu thực đề tài: “Điều Khiển-Giám Sát Thiết Bị Dùng Mạng RS485” thông qua cổng nối tiếp viết chương trình phần mềm để truyền số liệu hai hệ thống Mặc dù em cố gắng nhiều để hoàn thành luận văn này, song giới hạn thời gian kiến thức nên nội dung cịn nhiều thiếu sót Rất mong đóng góp ý kiến q thầy bạn sinh viên để luận văn hoàn thiện Xin chân thành cảm ơn Sinh viên thực Trịnh Văn Phận SVTH: Trịnh Văn Phận -8- LUẬN VĂN TỐT NGHIỆP GVHD: TS Hồng Minh Trí PHẦN A: LÝ THUYẾT SVTH: Trịnh Văn Phận -9- LUẬN VĂN TỐT NGHIỆP GVHD: TS Hồng Minh Trí CHƯƠNG 1: GIỚI THIỆU VỀ RS232-RS485 Giới thiệu chung: Những tổ chức tiêu chuẩn quốc tế cho truyền thơng ITU ( International Communication Union) , EIA (Electronic Industry Association ) ISO ( International Standards Organisaton) Những tiêu chuẩn ITU liên quan tới truyền thông nối tiếp định nghĩa đặc điểm kỹ thuật Vseries Sau số chuẩn truyền thông thường dùng công nghiệp RS-232C RS-449 , RS-422A , RS-423A RS-485 RS232: Chuẩn RS-232C lần giới thiệu vào năm 1962 hiệp hội kỹ thuật điện tử EIA chuỗi giao tiếp truyền thong máy tính thiết bị ngoại vi ( modem , máy tính khác , máy vẽ , mouse …) Cổng giao tiếp RS-232C giao diện phổ biến rộng rãi Máy tính PC thường dùng chuột cho cổng COM1 , COM2 để trống cho ứng dụng khác Cùng với cổng máy in , cổng nối tiếp RS-232C sử dụng thuận tiện cho mục đích đo lường điều khiển Việc truyền liệu qua RS-232C tiến hành theo cách nối tiếp , nghĩa bit liệu gửi nối tiếp đường truyền dẫn Trước hết , loại truyền dùng cho khoảng cách lớn khả gây nhiễu nhỏ đáng kể so với dùng cổng song song Mặt khác , việc dùng cổng song song có nhược điểm đáng kể cáp truyền dùng q nhiều sợi làm tăng chi phí Hơn , tín hiệu nằm khoảng 0-5V khơng thích hợp với khoảng cách lớn Tốc độ baud thơng thường có giá trị : 300, 1200 , 4800 , 9600 , 19200 baud SVTH: Trịnh Văn Phận - 10 - LUẬN VĂN TỐT NGHIỆP GVHD: TS Hoàng Minh Trí chân 25 chân Chức DCD – Data Carrier Detect (ngõ vào) RXD – Receive Data ( ngõ vào) TXD – Transmit Data( ngõ ra) 20 DTR – Data Terminal Ready ( ngõ ra) GND – Ground ( nối đất) 6 DSR – Data Set Ready ( ngõ vào RTS – Request To Send ( ngõ ra) CTS – Clear To Send ( ngõ vào) 22 RI – Ring Indicator ( ngõ ra) Bảng 1.1 Sắp xếp chân cổng nối tiếp máy tính Mức tín hiệu nhận truyền qua chân RXD TXD thông thường nằm khoảng –12V đến +12V , mức logic tín hiệu đảo ngược lại Mức điện áp mức High nằm –3V –12V , mức Low nằm +3V +12V Ở trạng thái tĩnh đường có điện áp –12V , bít khởi động ( startbit) mở đầu cho việc truyền liệu , tiếp sau đến bit liệu ; bit có giá trị thấp gửi trước tiên Số bit liệu thay đổi Cuối bit dừng ( stop bit) đặt lại trạng thái lối ( 12V) Một yêu cầu quan trọng RS-232 thời gian chuyển từ mức logic tới mức logic khác không vượt 4% thời gian bit Vì , tốc độ 19200 baud , thời gian chuyển mức logic phải nhỏ 0.04/19200=2,1s Vấn đề làm giới hạn chiều dài đường truyền Với tốc độ truyền 19200 baud ta truyền xa 50ft ( khoảng 15m) Một vấn đề quan trọng cần ý sử dụng RS-232C mạch thu phát không cân ( đơn cực ) Điều có nghĩa tín hiệu vào so với đất Vì , điện hai điểm đất hai mạch thu phát khơng có dòng điện chạy trên dây đất Kết có áp rơi dây đất ( V=I.R) làm suy yếu tín hiệu logic Nếu truyền tín hiệu xa , điện trở R tăng dẫn đến áp rơi đất lớn dần đến lúc tín hiệu logic rơi vào vùng khơng xác định mạch thu không liệu truyền từ mạch phát Chính khơng cân mạch thu phát nguyên nhân giới hạn đường truyền SVTH: Trịnh Văn Phận - 11 - LUẬN VĂN TỐT NGHIỆP GVHD: TS Hồng Minh Trí RS485: Khi thực thông tin tốc độ cao , qua khoảng cách lớn môi trường thực , phương pháp đơn cực (single-ended) thường khơng thích hợp Việc truyền dẫn liệu vi sai ( hay tín hiệu vi sai cân bằng) cho kết tốt phần lớn trường hợp Tín hiệu vi sai loại bỏ ảnh hưởng thay đổi việc nối đất giảm nhiễu xuất điện áp chung mạng RS422 thiết kế dùng cho khoảng cách tốc độ Baud rates lớn so với RS232 , mức tín hiệu lên đến 100K bít/giây khoảng cách đạt 4000ft RS422 tạo thành mạng multi-drop network với truyền khoảng 10 nhận Tuy nhiên , mạng multi-network thực gồm nhiều mạch phát nhận nối vào đường dây bus chung , node phát nhận data RS485 đáp ứng yêu cầu Chuẩn RS485 cho phép 32 mạch truyền mạch nhận nối vào đường dây bus đơn (với repeater tự động truyền / nhận trở kháng cao, giới hạn mở rộng lên đến hàng trăm node mạng) Bên cạnh , RS485 cịn chịu xung đột data(data collision) điều kiện lỗi đường dây bus Để giải vấn đề xung đột data thường xuất mạng multidrop network , đơn vị phần cứng( converters, repeaters , micro-processor controls ) thiết kế để ln trì trạng thái nhận chúng sẵn sàng truyền data Một node master kích khởi yêu cầu truyền đến slave node cách định địa node Phần cứng phát bit start ký tự truyền tự động cho phép truyền làm việc Sau ký tự truyền , phần cứng trở trạng thái nhận sau vài micro giây SVTH: Trịnh Văn Phận - 12 - LUẬN VĂN TỐT NGHIỆP GVHD: TS Hồng Minh Trí Giới thiệu đơi nét Keil C: 2.1 Giới thiệu: C ngôn ngữ mạnh nhiều ngưịi dùng Nếu nói số lệnh C khơng nhiều Nhưng lập trình cho vxl , chi cần biết số lượng lệnh không nhiều Đầu tiên bạn phải làm quen với Các kiểu toán tử C Các kiểu liệu Cẩu trúc chương trình Các cấu trúc điều khiển (chính tập lệnh ) Cấu trúc điều kiện : if else Các cấu trúc lặp Vòng lặp while Vòng lặp while Vòng lặp for Lệnh break Cấu trúc lựa chọn: switch case Biết sử dụng hàm chương trình 2.2 Cơ C: 3.2.1 Các thị trước xử lý Keil C // chu thich /********** chu thich****************** **************************************** Đây dòng thích *************************************** */ Tất dịng bắt đầu hai dấu sổ (//) coi thích mà chúng khơng có ảnh hưởng đến hoạt động chương trình Chúng lập trình viên dùng để giải thích hay bình phẩm bên mã nguồn chương trình Trong trường hợp này, dịng thích giải thích ngắn gọn mà chương trình làm Cịn dấu (/* */) bạn thích dịng tuỳ thích #include #include "AT89X52.H" SVTH: Trịnh Văn Phận - 102 - LUẬN VĂN TỐT NGHIỆP GVHD: TS Hồng Minh Trí trình biên dịch gọi file thư viện 89 #define bien_thay_the bien // định nghĩa lại biến Ví Dụ: #define Congtac P0_6 port0.6 đặt tên congtac , ta gọi tên trình biên dịch Keil tự chuyển tới bit quản lý P0_6 Các viết gần cho chương trình , nhiên khơng nên q lạm dụng Ngồi ưu điểm bật C bạn tạo thư viện Ví dụ sau tạo thư viện thuvien.h (đi h bạn tạo cách save as *.h Keil C ) #ifndef _thuvien_H #define _thuvien_H //mã chương trình #endif 2.2.2 Các tốn tử : Tốn tử gán (=) Ví Dụ: b = 5; a = + b; a = + (b = 5); a = b = c = 5; Các toán tử số học ( +, -, *, /, % ) + cộng - trừ * nhân / chia % lấy phần dư (trong phép chia) Các toán tử gán phức hợp (+=, -=, *=, /=, %=, >>=, = Lớn < = Nhỏ Ví Dụ: (7 == 5) trả giá trị false (6 >= 6) trả giá trị true tất nhiên thay sử dụng số, sử dụng biểu thức Cho a=2, b=3 c=6 (a*b >= c) trả giá trị true (b+4 < a*c) trả giá trị false Chú ý = (một dấu bằng) hoàn toàn khác với == (hai dấu bằng) (==) nhằm so sánh (=)gán giá trị biểu thức bên phải cho biến bên trái Các toán tử logic ( !, &&, || ) ! NOT && AND || OR Ví Dụ: !(5 == 5) trả false biểu thức bên phải (5 == 5) có giá trị true !(6 SHR Dịch bit sang phải thứ tự ưu tiên: Thứ tự 10 11 13 Tốn tử Mơ tả Associativity :: () [ ] -> sizeof ++ -~ ! &* (type) +*/% +> < >= == != &^| && || ?: = += -= *= /= %= , scope Trái Trái 2.2.3 Các kiểu liệu: a kiểu liệu chuẩn: Type Bits char SVTH: Trịnh Văn Phận tăng/giảm Đảo ngược bit NOT Toán tử trỏ Chuyển đổi kiểu Dương âm Toán tử số học Toán tử số học Dịch bit Toán tử quan hệ Toán tử quan hệ Toán tử thao tác Toán tử logic Toán tử điều kiện Trái Trái Trái Trái Trái Trái Trái Phải Dấu phẩy Trái Byte Range -128 to +127 - 105 - LUẬN VĂN TỐT NGHIỆP GVHD: TS Hồng Minh Trí unsigned char to 255 enum 16 32,768 to +32,767 short 16 -32,768 to +32,767 unsigned short 16 to 65,535 int 16 -32,768 to +32,767 unsigned int 16 to 65,535 long 32 -2,147,483,648 to +2,147,483,647 unsigned long 32 to 4,294,697,295 b Kiểu liệu Keil C: Type Bits Byte Range bit 0 to sbit 0 to sfr to 255 sf16 16 to 65,535 2.2.4 Cấu trúc chương trình C //Các thị tiền định #include //Gọi thư viện có sẵn cách viết khác "*.h" #define led1 PORTA.0 //dùng định nghĩa biến char bien1,bien2; //cac bien can dung int a,b; void chuongtrinhcon(unsigned int b) // chuong trinh { SVTH: Trịnh Văn Phận - 106 - LUẬN VĂN TỐT NGHIỆP GVHD: TS Hoàng Minh Trí … } int ham(void) // chuong trinh dang ham { … Return(a); } void main(void) //chương trình { int a; // khai bao bien dang so nguyen chuongtrinhcon(); a = ham(); } Chương trình nơi bạn viết chương trình nhỏ , tiện cho đoạn lệnh gặp lại nhiều lần Chương trình có thể gọi chương trình đâu Hàm chương trình trả vể cho giá trị Cách sử dụng hàm chương trình bạn nên tham khảo thêm kĩ thuật lập trình C để hiểu rõ 2.2.5 Các lệnh C Cấu trúc điều kiện: if else ->if (condition) statement if (x == 100) x++; x=100 tăng x thêm ->if (condition) statement1 else statement2 if (x == 100) x++; else x- -; // x=100 tăng x thêm cịn khơng giảm x Các cấu trúc lặp Vịng lặp while Dạng sau: while (điều khiện) { lệnh}; while(1) {}; Tạo vòng lặp mãi , hay đùng lập trình VXL Chương trình viết dấu ngoặc Vịng lặp do-while Dạng thức: lệnh while (điều kiện); SVTH: Trịnh Văn Phận - 107 - LUẬN VĂN TỐT NGHIỆP GVHD: TS Hồng Minh Trí { x++; // viết câu lệnh } while(x>10) tăng giá trị x x > 10 Chức hồn tồn giống vịng lặp while trừ có điều điều kiện điều khiển vịng lặp tính tốn sau statement thực hiện, statement thực lần condition không thoả mãn Như vd kể x >10 tăng giá trị lần trước Vịng lặp for Dạng thức: for (biến; điều kiện; bước nhảy) dịng lệnh; Chức lặp lại biến chừng condition mang giá trị đúng, vịng lặp while Nhưng thêm vào đó, for cung cấp chỗ dành cho lệnh khởi tạo lệnh tăng Vì vịng lặp thiết kế đặc biệt lặp lại hành động với số lần xác định Cách thức hoạt động sau: 1, gán giá trị ban đầu cho biến thực Nói chung đặt giá khí ban đầu cho biến điều khiển Lệnh thực lần 2, điều kiện kiểm tra, vịng lặp tiếp tục cịn khơng vịng lặp kết thúc bước nhảy bỏ qua 3, Lệnh thực Nó lệnh đơn khối lệnh bao cặp ngoặc nhọn 4, Cuối cùng, bước nhảy thực để tăng biến điều khiển vòng lặp quay trở lại bước Phần khởi tạo lệnh tăng không bắt buộc phải có Chúng bỏ qua phải có dấu chấm phẩy ngăn cách phần Vì vậy, viết for (;n