Xây dựng mạng điều khiển thiết bị nhúng RS485 bằng LabView - Thái Quang Vinh
4. Kết luận
Hệ thống LV485, sau khi thử nghiệm đã chạy và hoàn toàn có thể đưa ra ứng dụng thực
tế. Hệ thống đã được xây dựng trên cơ sở những tài nguyên có sẵn ở thị trường Việt Nam, giá
thành hạ. Và nhất là với giao thức LV485, cho phép mở rộng mạng điều khiển tích hợp với
nhiều thiết bị có sẵn cũng như mạng điều khiển phân cấp.
Hệ thống này sau khi hoàn thiện hoàn toàn có thể ứng dụng được trong các hệ thống điều
khiển trong thực tế với khoảng cách truyền xa, nhất là các hệ thống nhúng trong công nghiệp,
các hệ thống cảnh báo với dữ liệu truyền ảnh thời gian thực, các hệ thống tích hợp điều khiển
qua mạng Internet
7 trang |
Chia sẻ: thucuc2301 | Lượt xem: 765 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Xây dựng mạng điều khiển thiết bị nhúng RS485 bằng LabView - Thái Quang Vinh, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
T¹p chÝ Khoa häc & C«ng nghÖ - Sè 1(45) Tập 2/N¨m 2008
55
XÂY DỰNG MẠNG ĐIỀU KHIỂN THIẾT BN NHÚNG RS485
BẰNG LabVIEW
Thái Quang Vinh - Hà Mạnh Đào(Viện Công nghệ Thông tin-Viện KH&CN Việt Nam)
1. Giới thiệu mạng RS485
RS485 là chuNn truyền thông được sử dụng phổ biến trong thực tế, nhất là trong môi
trường công nghiệp. Nó được ứng dụng để tự động hoá các quá trình, tự động hoá sản xuất,
HVAC, các hệ thống an ninh, điều khiển mô tơ, điều khiển chuyển động [1,4,6,7,8]...Nó là một
chuNn được mở rộng từ các chuNn RS232, RS422. Nhưng khác với RS232, RS485 là mạng đa
điểm và nó cũng khác với RS422, nó cho phép nhiều nút truyền và nhận dữ liệu trên mạng.
Đồng thời RS485 cũng chính là chuNn để từ đó xây dưng lên các chuNn Profibus và Fieldbus, là
các chuNn được sử dụng chủ yếu trong môi trường công nghiệp hiện nay [4].
RS485 là mạng đa điểm sử dụng tín hiệu sai khác giữa 2 tín hiệu truyền trên BUS so với
tín hiệu GND, từ đó giảm được nhiễu và truyền được khoảng cách xa. Số nút mạng mạng RS485
có thể mở rộng tới 32 nút với trở kháng đầu vào là 12k và có thể mở rộng tới 256 nút với trở
kháng đầu vào của bộ nhận cao hơn nữa. Đặc biệt mạng RS485 có thể mở rộng khoảng cách
truyền tới 1200m với tốc độ đến 90kbps, tốc độ đó có thể lên tới 10Mbps với khoảng cách gần
hơn [1]. Trong trường hợp muốn mở rộng khoảng cách truyền xa hơn nữa, RS485 có thể sử
dụng các bộ lặp tín hiệu( repeater) để bắt đầu một đoạn mạng RS485 mới.
Các nút mạng RS485 có thể là PC, các bộ vi điều khiển, PLC hoặc bất kỳ thiết bị nào có
khả năng truyền thông tuần tự. Mỗi nút có thể là bộ truyền, nhận hoặc cả truyền và nhận. Với
nút truyền hoặc nhận đều có một tín hiệu điều khiển cho phép/không cho phép, 1 tín hiệu đầu
vào(bộ truyền) hoặc ra (bộ nhận) dữ liệu, hai tín hiệu vào/ra nối với hệ thống bus.
Mạng RS485 có 2 cách để ghép nối mạng với PC [1,4]:
- Sử dụng card mở rộng hoặc
- Gắn bộ chuyển đổi RS485 với các cổng có sẵn như RS232, LPT, USB..
Trong trường hợp ghép nối qua cổng RS232, có thể sử dụng các bộ chuyển
RS232/RS485 hoặc ngược lại. các bộ chuyển này sử dụng phổ biến các chíp chuyên dụng như
MAX485, SN75176B...
Mạng RS485 có 2 kiểu topo mạng:
- Kiểu kết nối sử dụng 2 dây: Trong kiểu kết nối này, BUS tín hiệu gồm 2 dây tín hiệu và một
dây tín hiệu GND. Sơ đồ mạng kiểu này thể hiện như hình 1(a)[1,4]. Mỗi nút mạng gồm có bộ nhận,
bộ truyền dữ liệu và tín hiệu điều khiển Tx/Rx cho phép điều khiển bộ thu hay nhận dữ liệu( sử dụng
mạch 3 trạng thái). Giao thức truyền thông trong kiểu kết nối này là Hafl- Duplex, tức tại mỗi thời
điểm, trên mạng chỉ có một nút truyền và một nút nhận dữ liệu. Với cấu hình mạng RS485 2 dây sẽ
giảm giá thành và các thiết bị RS485 có thể cấu hình nội tại hoặc bên ngoài đối với hệ thống 2 dây.
- Kiểu 4 dây: thể hiện như hình 1(b)[1,4], gồm 4 dây tín hiệu và một dây tín hiệu GND(5
dây). Trong mạng 4 dây có thể có một hoặc nhiều nút Master. Trong trường hợp có một nút
Master thì nút Master có thể truyền thông với tất cả các nút Slave, còn tất cả các nút Slave chỉ
truyền thông với nút Master. Mạng cấu hình 4 dây cho phép sử dụng giao thức truyền thông kiểu
Full- Duplex, tức truyền thông 2 chiều đồng thời.
T¹p chÝ Khoa häc & C«ng nghÖ - Sè 1(45) Tập 2/N¨m 2008
56
Hình 1a. Mạng RS-485 đa điểm sử dụng 2 dây
Hình 1b. Mạng RS-485 đa điểm sử dụng 4 dây
A
B G
R
TX
RX A
B
A
B G
R
TX
RX A
B
A
B G
R
TX
RX A
B
R
G
A
B
A
B
R1 R2
A A A
A A
Rt Rt
R1 R2 R1 R2
R1 R2
1200m
G: Bộ phát tín hiệu
R: Bộ thu tín hiệu
Rt,R1,R2:Điện trở
A
B G
R
TX
RX
A
B
A
B G
R
TX
RX A B
B G
R
TX
RX B
A
A
R
G
A
B
A
B
R1 R2
A A A
A A
Rt Rt
R1 R2 R1 R2
R1 R2
1200m
G: Bộ phát tín hiệu
R: Bộ thu tín hiệu
Rt,R1,R2:Điện trở
Rt Rt
MASTER SLAVE
SLAVE SLAVE
A
T¹p chÝ Khoa häc & C«ng nghÖ - Sè 1(45) Tập 2/N¨m 2008
57
Phần mềm điều khiển RS485:
RS485 bao gồm các đặc tả phần cứng, còn các giao thức mạng RS485 không được thiết
kế chuNn cùng các đặc tả này mà nó tuỳ thuộc vào người thiết kế và từng bài toán cụ thể. Trong
các giao thức này, vấn đề quan trọng nhất đó là xây dựng các quy tắc điều khiển bộ nhận/ gửi tín
hiệu, khuôn dạng dữ liệu truyền, các lệnh và các đáp ứng giữa các nút mạng và hệ thống địa chỉ
hoá các mỗi nút mạng. Mỗi nút mạng phải có một địa chỉ duy nhất trong toàn mạng. Với hệ
thống cấu hình 2 dây thường điều khiển kết nối bộ truyền với bộ nhận dưới dạng "loopback".
Đối với hệ thống Master/Slave, nút Master sẽ phát sinh các lệnh gửi tới các nút Slave và nhận
đáp ứng trả về từ các nút này. Mỗi nút trong mô hình này phải có một địa chỉ duy nhất.
2. Xây dựng mạng RS485 với LabVIEW(LV485)
2.1. Hệ thống LV485
Mạng RS485 được xây dựng kết nối PC với các bộ điều khiển sử dụng các chíp 89Cx51
hoặc PIC16F84 và được điều khiển bởi chương trình LabVIEW sử dụng cấu hình 2 dây và làm
việc theo kiểu half-duplex. Hệ thống này cho phép kết nối các rhiết bị nhúng với hệ LabVIEW
với khoảng cách truyền thông xa để phục vụ cho các hệ thống điều khiển từ xa, các hệ thống an
ninh, giám sát qua mạng với camera, các hệ thống HomeAutomation ...
Hệ thống được thiết kế cho phép truyền tín hiệu điều khiển từ PC đến các bộ điều khiển
và nhận dữ liệu chuyển về PC từ các bộ điều khiển đó. Mỗi thời điểm chương trình chỉ cho
phép thao tác với một bộ điều khiển.
Vấn đề thiết kế hệ thống LV485 gồm 2 phần: thiết kế phần cứng và phần mềm, trong đó
đặc biệt là xây dựng giao thức truyền thông cho mạng LV485. Sơ đồ mạng LV485 được thể
hiện như hình 2. Trong sơ đồ này hệ thống bao gồm các thành phần sau:
- PC: Máy tính cá nhân với phần mềm giám sát, thu thập dữ liệu và điều khiển viết bằng
ngôn ngữ LabVIEW, giao thức được thiết kê cho mạng LV485.
- Các bộ điều khiển nhúng sử dụng chíp 89Cx51 hoặc PIC 16F84...
- Hệ thống BUS RS485 gồm 2 dây+ 1 dây tín hiệu GND
- Các bộ chuyển đổi từ chuNn RS485 sang chuNn RS485
- Các bộ điều khiển nhúng #1 đến #N với N cưc đại lớn nhất là 32
Hình 2. Hệ thống LV485
PC
(LabVIEW)
#1
#2
• • •
#N
GND
B A
RS232 to
RS485
RS232 to
RS485
RS232 to
RS485
RS232 to
RS485
RS485 BUS
T¹p chÝ Khoa häc & C«ng nghÖ - Sè 1(45) Tập 2/N¨m 2008
58
2.1.1. Xây dựng phần cứng hệ thống LV485
• Các bộ điều khiển nhúng #1->#N
Các bộ điều khiển được thiết kế với chíp 89C2051, 89C4051, 89C52.... Các bộ điều khiển
này thực hiện các nhiệm vụ thu thập dữ liệu, gửi dữ liệu về cho PC và nhận tín hiệu điều khiển
từ PC qua mạng RS485 của LV485. Mỗi bộ điều khiển có địa chỉ riêng và duy nhất để nhận
dạng. Các bộ điều khiển giao tiếp với mạng RS485 thông qua cổng RS232 và bộ chuyển đổi từ
RS232 thành RS485 và ngược lại. Bộ điều khiển nhúng bao gồm các thành phần chủ yếu sau:
- Mạch vi xử lý 89C4051 hoặc 89C2051, đây là các bộ xử lý tám bít có giá thành
thấp và đơn giản. Mạch chíp này được kết nối với các thiết bị vào/ra.
- Mạch dao động thạch anh với tần số 11.972MHz
- Mạch giao tiếp cổng tuần tự RS232 sử dụng chíp MAX232
- Mạch nguồn AC/DC 5V.
- Các mạch I/O nhận tín hiệu AI từ bộ chuyển đổi ADC nối với các sensor tín hiệu
đầu vào, các tín hiệu DIO.
• Các bộ chuyển đổi RS232/485
Các bộ chuyển đổi này sử dụng các chíp MAX485 hoặc chíp SN75156B, sơ đồ các bộ
chuyển đổi ở các nút mạng được thể hiện như hình 6. Trong sơ đồ này, các điện trở R1, R2, R3,
R4 được thêm vào mỗi nút, còn điện trở R5 chỉ thêm vào 2 nút cuối của mạng RS485. Tín hiệu
điều khiển sử dụng tín hiệu RTS của RS232. Mạng sử dụng nút với đặc điểm của bộ chuyển đổi
này cho phép mở rộng mạng cực đại tới 32 nút mạng.
Hệ thống bus LV485
Hệ thống Bus này được thể hiện như hình 2[1][2][4][6][8]. BUS gồm có 3 đường tín
hiệu, với 2 dây tín hiệu RS485 và dây tín hiệu GND. Các dây này có thể sử dụng dây cáp xoắn
đôi và có khoảng cách xa giữa 2 nút truyền thông lên tới 1200m.
2.1.2. Xây dựng giao thức LV485
Phần mềm LV485 gồm nhiều phần mềm được phát triển, cài đặt trên PC và trong các bộ điều
khiển nhúng.
Giao thức LV485 hoạt động theo kiểu half-duplex với tốc độ truyền dữ liệu là 9600bps. Gói tin
của giao thức bao gồm các byte 8 bít. Kích thước tối thiểu của gói tin là 3byte và cực đại là 8
byte có cấu trúc mô tả ở bảng 1.
Bảng 1: *Tập lệnh và đáp ứng của giao thức LV485: Tập lệnh 8 bít bao gồm các lệnh và các đáp ứng
Byte offset Bít Tên Mô tả
0 0-2 LEN Tuỳ chọn độ dài dữ liệu, giá trị 0 nghĩa LEN=3 byte.
0 3-7 CONID ID LV485 của các bộ điều khiển nhúng có giá trị từ 0->31
1 0-7 COMMAND Lệnh và đáp ứng của LV485
2 0-7 DATA Dữ liệu, LEN=0 nghĩa là không có dữ liệu
2+LEN 0-7 CHKSUM Kiểm tra check sum
T¹p chÝ Khoa häc & C«ng nghÖ - Sè 1(45) Tập 2/N¨m 2008
59
Các lệnh được truyền từ PC tới các bộ điều khiển, các đáp ứng gửi từ các bộ điều khiển
về PC. Tại mỗi bộ điều khiển có vòng quét và cập nhật dữ liệu cục bộ. Tại mỗi bộ điều khiển,
khi nhận được lệnh yêu cầu chuyển dữ liệu thì sẽ gửi dữ liệu về PC qua các đáp ứng, khi nhận
lệnh cập nhật thì cập nhật các thiết bị cục bộ. Sơ đồ quá trình thể hiện như hình 3.
Hình 3. Cơ chế hoạt động của LV485
Hình 4. Thuật toán gửi/nhận lệnh/dữ liệu của PC và các nút mạng LV485
a) Thuật toán gửi/nhận lệnh/dữ liệu của PC b )Thuật toán gửi/nhận lệnh/dữ liệu của nút mạng
START
Phát sinh tín hiệu RST
Truyền gói tin tới CONID
Truyền
Xong?
Đặt ở trạng thái nhận gói tin
Địa chỉ=0?
Phân tích, hiển thị dữ liệu
Tiếp tục?
END
START
Khởi động vòng quét dữ liệu cục bộ
Có gói tin?
Đúng đ/c?
Phân tích byte lệnh và tạo gói tin và göi
Đặt BĐK ở trạng thái truyền tin
Đặt BĐK ở trạng thái nghe
Tiếp tục ?
END
VXL I/O
Local Loop
PC
(LV485)
VXL I/O
Local Loop
Global Loop Global Loop
Commands
Responses
T¹p chÝ Khoa häc & C«ng nghÖ - Sè 1(45) Tập 2/N¨m 2008
60
Còn phía PC, đầu tiên khi chương trình LV485 khởi động, nó gửi tín hiệu( sử dụng tín hiệu
RST) để đặt bộ chuyển đổi RS232/RS485 ở trạng thái truyền, thực hiện truyền gói tin tới tất cả
các trạm (broadcast), trong gói tin chưa CONID của bộ điều khiển được nhận gói tin.
Sau đó LV485 được đặt lại ở trạng thái nghe. Lệnh tiếp theo chỉ được gửi đi sau khi LV485
ở trạng thái nghe một khoảng thời gian xác đinh. Lưu đồ thuật toán thể hiện như hình 4(b).
2.2. Xây dựng phần mềm LV485
2.2.1. Phần mềm hệ điều khiển nhúng
Phần mềm điều khiển nhúng viết bằng hợp ngữ và được nạp trong các chíp xử lý của các bộ
điều khiển. Phần mềm này có nhiệm vụ:
- Thu thập dữ liệu và gửi đến PC
- Nhận gói tin từ PC qua mạng LV485, phân tích gói tin, nhận tín hiệu điều khiển
- Phát sinh tín hiệu điều khiển bộ chuyển đổi RS232/485
2.2.2.Phần mềm điều khiển LV485
Phần mềm LV485 được viết bằng ngôn ngữ LabVIEW[2][3][4] đóng vai trò là hệ thống
giám sát, thu thập dữ liệu và điều khiển toàn bộ hệ thống mạng LV485. Phần mềm này sử dụng
tín hiệu RST/CST để điều khiển việc gửi và nhận dữ liệu. Phần mềm này sử dụng các lệnh thao
tác với cổng COM của LabVIEW:
- Lệnh cấu hình cổng COM với tín hiệu RST/CST
- Lệnh viết dữ liệu ra cổng com
- Lệnh đọc dữ liệu từ cổng COM
3. Mô phỏng
Hệ thống LV485 được mô phỏng với mạng gồm 3 nút bộ điều khiển nhúng dùng chíp
89C4051, chương trình LV485 với giao diện như hình, trong có trường CONID chọn thiết bị tương
tác, tín hiệu đọc được hiển thị trong trường Acquisition, các công tắc gửi tín hiệu ra điều khiển Led
trên các bộ điều khiển. Hình 5 là giao diện của chương trình mô phỏng viết bằng ngôn ngữ LabVIEW.
Hình 5. Giao diện chưong trình LabVIEW của mạng LV485
T¹p chÝ Khoa häc & C«ng nghÖ - Sè 1(45) Tập 2/N¨m 2008
61
4. Kết luận
Hệ thống LV485, sau khi thử nghiệm đã chạy và hoàn toàn có thể đưa ra ứng dụng thực
tế. Hệ thống đã được xây dựng trên cơ sở những tài nguyên có sẵn ở thị trường Việt Nam, giá
thành hạ. Và nhất là với giao thức LV485, cho phép mở rộng mạng điều khiển tích hợp với
nhiều thiết bị có sẵn cũng như mạng điều khiển phân cấp.
Hệ thống này sau khi hoàn thiện hoàn toàn có thể ứng dụng được trong các hệ thống điều
khiển trong thực tế với khoảng cách truyền xa, nhất là các hệ thống nhúng trong công nghiệp,
các hệ thống cảnh báo với dữ liệu truyền ảnh thời gian thực, các hệ thống tích hợp điều khiển
qua mạng Internet
Tóm tắt
RS485 là một chuNn được sử dụng rất phổ biến trong công nghiệp và là nền tảng của các
chuNn Profibus và Fieldbus, là những chuNn truyền thông chính trong môi trường Công nghiệp
hiện nay. Mạng RS485 không có giao thức truyền thông chuNn mà giao thức được phát triển tuỳ
thuộc vào từng ứng dụng cũng như người thiết kế. Bài báo này đề cập đến vấn đề xây dựng một
mạng RS485 cho các thiết bị nhúng và xây dựng một giao thức truyền thông LV485 trên mạng
đó. Đồng thời cũng đề cập đến vấn đề ứng dụng nó trong thức tế.
Summary
LabVIEW-Based RS485-Network Design for Communication of Embedded Systems
RS485 has popular applications in communication network of industrial control systems
with widely-used protocols as DH485, profibus, fieldbus, devicenet, controlnet.... In the case of
embedded systems with serial interfaces, the communication network of such systems must be
able to accommodate large amounts of data exchange in real time. In this paper we present our
design of control network of embedded systems via physical media RS485 and developed
communication protocol using LabVIEW for industrial applications.
Tài liệu tham khảo
[1] Clyde F. Coombs Jr., electronic instrument Handbook, McGraw-Hill, Copyright @ 2000.
[2] National instruments, Measurement and Automation, Catalog 2005, 2006.
[3] National instruments, LabVIEW user manual, Copyright 2000
[4] Maxim, Pre-emphasis improves RS-485 Communications, 2001
[5] Texas instruments, User manual, Copyright 2003
[6] Allegro Microsystems Inc., 5804 BiMOS unipolar Stepper-Motor Translator/Driver datasheet,
Massachussetts,1998.
[7] SGS-THOMSON Microelectronics, L293D Push-Pull four Channel Driver with Diodes datasheet,
Jun. 1996.
[8] Vishay Semiconductor GmbH., TCST110 up to TCST230 Transmissive Optical Sensor with
Phototransistor output datasheet, Jun. 1999, available at
Các file đính kèm theo tài liệu này:
- brief_838_9319_7_962_2053247.pdf