Giao tiếp máy tính chuẩn RS232 sử dụng LabVIEW

March 21, 2009  

Tài liệu LabVIEW này trình bày phương pháp và cung cấp ví dụ về giao tiếp  cổng COM máy tính theo  chuẩn RS232 bằng LabVIEW. Giao tiếp máy tính là việc thực thi quá trình truyền và nhận tín hiệu từ một hay nhiều thiết bị nào đó với máy tính hoặc giữa nhiều máy tính với nhau. Giao tiếp máy tính có nhiều ứng dụng trong khoa học kỹ thuật  bao gồm đo lường, giám sát, điều khiển tự động, lưu chuyển dữ liệu trong các nhà máy, xí nghiệp cho tới việc thực hiện các thí nghiệm ở các phòng nghiên cứu. Tài liệu do Hocdelam Group biên sọan và phổ biến miễn phí.

NỘI DUNG

  • Chuẩn giao tiếp RS232
  • Cách giao tiếp với RS232 với LabVIEW
  • Sự khác nhau cơ bản và tương đối giữa LabVIEW và các ngôn ngữ khác trong việc thực thi giao tiếp chuẩn RS232

Tại sao lại phải quy định chuẩn? Để các thiết bị (máy in, máy tính, vi điều khiển, robot) gọi chung là thiết bị thu/phát có thể làm việc có hiệu quả và không gặp rắc rối khi làm việc phối hợp, từ lâu người ta đã đặt ra các tiêu chuẩn (ví dụ như tiêu chuẩn tốc độ truyền, cách kiểm soát lỗi trong quá trình truyền, mức điện áp khi truyền) cho các cổng vào/ra tín hiệu của các thiết bị. RS-232 là một trong các chuẩn đó. Chuẩn này ra đời năm 1962. (Bởi EIA)

giaotieprs232sudunglabview_hocdelam
Hình 1 Vị trí, hình dạng cổng COM trên máy tính
Đọc thêm:

ĐẶC ĐIỂM CHUẨN RS232
Chuẩn RS232 được nối ra một giắc cắm (gọi là cổng COM).Khi sử dụng có thể sử dụng 2 hay tòan bộ chân (pin) của cổng này (có nhiều loại cổng COM phục vụ các chức năng khác nhau gồm loại 4, 9, 15, 37 chân). Nếu mục đích chỉ truyền hoặc nhận tín hiệu giữa hai thiết bị thì ta chỉ cần sử dụng 2 dây (một dây truyền hoặc nhận) và một dây nối đất (GND – ground, hay mass).

RS 232 sử dụng phương thức truyền thông không đối xứng, tức là sử dụng tín hiệu điện áp chênh lệch giữa một dây dẫn và đất. Các cổng của RS – 232 có ngưỡng điện áp qui ước là -15V (volt) tới -3V , và 3V tới 15V (hoặc -5V, +5V, sự khác biệt giữa hai giá trị 3, và 5V này được gọi là noise magin - biên độ dao động của nhiễu).

  • Tín hiệu có áp lớn +3V được coi có logic 0 hoặc có giá trị cao (H)
  • Tín hiệu có áp nhỏ hơn –3V được coi có logic 1 hoặc giá trị thấp (L).
  • Điện áp từ -3V tới +3V không có ý nghĩa.

Chính vì từ – 3V tới 3V là phạm vi không được định nghĩa, trong trường hợp thay đổi giá trị logic từ thấp lên cao hoặc từ cao xuống thấp, một tín hiệu phải vượt qua quãng quá độ trong một thơì gian ngắn hợp lý. Điều này dẫn đến việc phải hạn chế về điện dung của các thiết bị tham gia và của cả đường truyền. Tốc độ truyền dẫn tối đa phụ thuộc vào chiều dài của dây dẫn. Đa số các hệ thống hiện nay chỉ hỗ trợ với tốc độ 19,2 kBd (chiều dài cho phép 30 – 50 m).

CÁCH GIAO TIẾP RS232 SỬ DỤNG LABVIEW

  • Phần mềm: Phiên bản LabVIEW phiên bản8.5
  • Sơ đồ ghép nối

Nếu bạn đã có kinh nghiệm sử dụng các vi điều khiển ví dụ AVR, PIC, 89c51,…thì bạn có thể kết nối theo sơ đồ sau.

sodonoimax232giaotiepmaytinh

Hình 3. Cách kết nối máy tính qua linh kiện điện tử MAX tới vi điều khiển

Trường hợp bạn bạn không nắm rõ về vi điều khiển, chúng tôi khuyến cáo bạn tự mua một mạch test vi điều khiển điều này giúp bạn vẫn học tốt được điều khiển tự động và giao tiếp máy tính. Và quan trọng hơn là bạn có thể tập trung tòan bộ thời gian, sức lực cho việc thiết kế bộ điều khiển hơn là tốn quá nhiều thời gian để thực thi những mạch điện một cách không chuyên.

  • Ví dụ về giao tiếp RS232

Đây là ví dụ do của của hocdelam.org xem chi tiết trên hình 4,5. Ví dụ này tối ưu và đơn giản hơn cả các ví dụ mà NI cung cấp. Do vậy người sử dụng có thể dễ dàng nắm bắt và hiểu được chương trình. Vì lý do giữ nguyên SubVI khi đưa lên cộng đồng, nên hai SubVI này chỉ được cung cấp để các bạn làm thư viện và sử dụng để giao tiếp cổng COM thành công, tuy nhiên bạn không được quyền chỉnh sửa, vì vậy bạn không có password của hai SubVI này.

giaotiepcongcom-doc-ghi-chuanrs232
Hình 4 Giao diện chính của chương trình
giaotiepcongcom-doc-ghi-chuanrs232_code_example_vi-du-giao-tiep-cong-com-rs232-labview1Hình 5  Không gian viết lệnh

Trong chương trình này, khối VISA serial dùng set các thông số của chuẩn giao tiếp, khối SPKT COM Read và SPKT COM Write đã được Hocdelam tối ưu và tạo ra nhằm đơn giản người sử dụng có thể dễ dàng thực hiện việc giao tiếp máy tính. Bạn cũng có thể test thử chương trình này bằng cách nối tắt chân truyền và nhận (số 3 và 4) của cổng COM với nhau.

SỰ KHÁC NHAU CƠ BẢN VÀ TƯƠNG ĐỐI (giữa LabVIEW và các ngôn ngữ khác trong việc thực thi giao tiếp chuẩn RS232)

  • Ta thấy, trên hình 5, để thực hiện việc giao tiếp theo chuẩn RS232 thì việc cơ bản và quan trọng nhất là “thiết lập (set) các giá trị cho chuẩn đã đặt ra” như là một công thức cho trước được quy định theo tiêu chuẩn RS232. Khi set đúng thì chương trình mới có thể chạy được.
  • LabVIEW là một ngôn ngữ đặc biệt, khi sử dụng LabVIEW, học viên không cần phải nhớ cấu trúc C hoặc VB dài dòng, trừu tượng nữa.
  • LabVIEW mạnh mẽ và linh động hơn so với Matlab bởi tính đa dạng trong hỗ trợ của LabVIEW với của sản phẩm phần cứng đặc biệt là các thư viện có sẵn tạo điều kiện thuận lợi trong thí nghiệm và nghiên cứu ví dụ: bộ lọc, bộ điều khiển PID, các tiêu chuẩn đánh giá độ ổn định hệ thống trong điều khiển tự động, vv.

HỖ TRỢ

  • Khóa đào tạo lập trình LabVIEW căn bản
  • Đào tạo lập trình Vi điều khiển PIC
  • Đào tạo lập trình Vi điều khiển AVR
  • Hướng dẫn giao tiếp máy tính với LabVIEW qua cổng COM (chương trình mẫu kèm phần cứng)
  • Điều khiển nhiệt độ bằng máy tính thông qua chuẩn RS232 (cổng COM)
  • Điều khiển động cơ DC qua chuẩn RS232
  • Mọi thông tin hỗ trợ xin liên hệ supports@hocdelam.org

THAM KHẢO THÊM

  • Bài báo đầu tiên nói về chuẩn RS232 có tên tiếng Anh là Interface Between Data Terminal Equipment and Data Circuit-Termination Equipment Employing Serial Binary Data Interchange
  • Chế độ làm việc của hệ thống RS – 232 là hai chiều toàn phần (full-duplex), tức là hai thiết bị tham gia có thể thu và phát cùng một lúc. Như vậy việc thực hiện truyền thông cần tối thiểu 3 dây dẫn – tring đó hai dây tín hiệu nối chéo với các đầu thu phát của hai trạm và một dây đất. Với cấu hình tối thiểu này, việc đảm bảo độ an toàn truyền dẫn thuộc về trách nhiệm của phần mềm. RS –232 có một ưu điểm là có thể sử dụng công suấtphát tương đối thấp, nhờ trở kháng đầu vào hạn chế trong phạm vi từ 3-7Kom. Trong các Rơle số thường dùng loại giắc cắm 9 chân và loại 25 chân. Chuẩn RS-232 qui định mức áp, tốc độ truyền và chức năng các chân của giắc cắm. (http://dut.ud.edu.vn)
  • Giao tiếp RS232 sử dụng Matlab, Visual C, tác giả Ngô Hải Bắc
  • Sơ đồ kết nối máy tính qua linh kiện điện tử MAX tới vi điều khiển
  • Tham khảo thêm các tài liệu LabVIEW, phương pháp lập trình LabVIEW tại các bài trong mục Hỗ trợ> Tài liệu.

rs232_pic by you.

Tags: Giao tiep cong com, tài liệu  labview, tai lieu labview, lập trình labview,
lap trinh labview, giao trinh labview, giao tiep rss232

Nguyễn Bá Hải (hocdelam.org)

Các bài viết liên quan:

  1. Hỏi và đáp về LabVIEW Chào quý thầy cô và các bạn. Hocdelam Group mở luồng này để tiện trả lời các email của các thầy, bạn và thành viên từ  mọi nơi gửi về cũng như từ các diễn đàn như http://vagam.dieukhien.net, http://dientuvietnam.net đã gửi cho chúng tôi!Lý do chính của chủ đề này nhằm giúp tôi giảm số [...]...
  2. Giáo trình LabVIEW: Lập trình LabVIEW cho mọi người TÓM TẮT Giáo trình: Lập trình LabVIEW Tập 1: Căn bản Tác giả: Nguyễn Bá Hải ( // bmnhy2003@yahoo.com// // ]]>Địa chỉ email này đã được bảo vệ từ spam bots, bạn cần kích hoạt Javascript để xem nó. // // ]]>) Năm: 2008 Tủ sách học để làm LỜI NÓI ĐẦU Học để làm là chương trình phát triển [...]...
  3. LabVIEW là gì? LabVIEW (Laboratory Virtual Instrumentation Engineering Workbench)là một phần mềm máy tính được phát triển bởi National Instruments. LabVIEW dùng trong hầu hết các phòng thí nghiệm, lĩnh vực khoa học kỹ thuật như tự động hóa, điều khiển, điện tử, cơ điện tử, hàng không, hóa sinh, điện tử y sinh ở các nước đặc [...]...

Những lời góp ý

20 Responses to “Giao tiếp máy tính chuẩn RS232 sử dụng LabVIEW”
  1. trongqt says:

    Cảm ơn đã cung cấp ví dụ tôi đang rất cần này. Xin cho tôi hỏi khóa học AVR khi nào mới có ở Hocdelam? Tôi đã search nhưng tìm không thấy, cảm ơn!

  2. daohoangtien says:

    Cảm ơn anh Bá Hải!

  3. apulaogia says:

    Cảm ơn Anh nhé!Cảm ơn nhiều lắm!

  4. tthuan says:

    Giảng viên ĐH SPKT TPHCM.

    Cảm ơn Hải nhiều nha!

  5. nguyenbahai says:

    To: trongqt

    Chào bạn trongqt, tôi khóa học về AVR và PIC sẽ được Hocdelam Group cập nhật trong tuần tới.

    Chúc bạn thành công! Nếu có khó khăn gì hãy contact ngay với chúng tôi supports@hocdelam.org

    Nguyễn Bá Hải
    Hocdelam Group

  6. kay phan says:

    thanks Bá hải nhiều nha!!! có khóa học ứng dụng labVIEW nào mới xin thông báo nha!!! see you soon!!!

  7. kenshin says:

    Anh Hải ơi, cái password để mở 2 file subVI read and write là gì ạ,em đang làm về đề tài này nên rất muốn tham khảo bài của anh.Thanks!

  8. kenshin says:

    Anh Hải ơi,password của 2 file subVIs là gì vậy anh, em mở mà không được. Thanks!

  9. diengtvt3 says:

    ThankS!
    Khóa đào tạo lập trình LabVIEW căn bản
    chừng nào mở vậy em?

  10. diengtvt3 says:

    ThankS

  11. Chào các bạn kenshin

    Mong các bạn và các anh thông cảm giúp cho tôi!
    Vì lý do muốn giữ nguyên SubVI khi đưa lên cộng đồng, nên hai SubVI này chỉ được cung cấp để các bạn làm thư viện và sử dụng để giao tiếp cổng COM thành công, tuy nhiên bạn không được quyền chỉnh sửa, vì vậy bạn không có password của hai SubVI này.

    Tôi xin đảm bảo hai SubVI này hoạt động bình thường mà không cần password!
    Nếu các bạn vẫn gặp khó khăn xin vui lòng liên lạc lại với tôi! Yahoo ID: bmnhy2003@yahoo.com hoặc Email: nguyenbahai@hocdelam.org

    Chân thành cảm ơn và chúc sức khỏe các bạn!

    Bá Hải

  12. Kính gửi thầy Điện, trường Giao thông Vận tảo Số 3.

    Em hiện vẫn mở đều các lớp, tuy nhiên các lớp mới đăng ký thì phải học vào đầu tháng 4 này ạ!Hocdelam Group có một chương trình đặc biệt dành cho các giảng viên tại các trường Đại học Cao đẳng và Viện nghiên cứu trong cả nước. Cụ thể sẽ được thông báo trong ngày 2/4/2009.

    Do vậy, thầy sẽ được hưỡng rất nhiều lợi ích khi tham gia các khóa học tại Hocdelam Group.

    Xin kính chúc thầy sức khỏe và may mắn!

    Nguyễn Bá Hải

  13. dos says:

    Hi anh Hải,
    Em đang rất cần 2 SubVI này để làm thư viện nhưng down ở đây về máy thì lại không giải nén được. Vậy anh có thể up lại hoặc gửi vào email cho em được ko ạ?
    Cảm ơn anh.

  14. phạm hoàng quân says:

    Chào anh Bá Hải, em vừa down giao diện chuẩn truyền rs232 của anh về, nhưng vẫn chưa sử dụng được, anh có thể cho em biết thêm là có cần phải kết nối thêm gì ko ạ? Em xin lỗi là em khá gà trong lĩnh vực này, mong được sự chỉ bảo tận tình của anh ạ!

  15. NguyenBaHai says:

    Em có thể cài add nick anh để trao đổi thêm

    bmnhy2003@yahoo.com

    Chúc em vui vẻ!

  16. dmhcb says:

    Tôi thấy giới thiệu về Labview rất hay và rất muốn học nó nhưng tôi băn khoăn 1 số điều sau, mong các bạn giải đáp:
    - LABVIEW có thể xây dựng các ứng dụng chuyên nghiệp không?
    - Chúng ta có thể sửa mã nguồn theo 1 yêu cầu cụ thể không?
    - Các giao tiếp có thể tùy biến hay truyền thông phải theo chuẩn của NI (vd: với RS485).
    - Tốc độ giao tiếp RS232 có thể nâng cao tùy theo Chip USB-RS232 hay không?(nhiều chip hỗ trợ đến ~1MBaud).
    Rất mong các bạn giải đáp.
    Thanks!

  17. Chào Anh/chị! xin trả lời trong hiểu biết của tôi là:

    - LABVIEW có thể xây dựng các ứng dụng chuyên nghiệp không?
    Có, cụ thể là LabVIEW sử dụng nhiều trong hệ thống thu thập dữ liệu, kiểm tra sản phẩm, vv. Các sản phẩm này được sử dụng trong cuôc sống hằng ngày và phục vụ sản xuất. Do vậy nó là công cụ dùng xây dựng các ứng dụng chuyên nghiệp bên cạnh việc phục vụ tại phòng thí nghiệm.

    - Chúng ta có thể sửa mã nguồn theo 1 yêu cầu cụ thể không?
    Được, ta có thể sửa mã nguồn, có thể tạo thư viện mới, vv. Ngay cả bản dùng thử cũng làm được việc này. Anh/chị xem thêm tại http://labview.hocdelam.org để biết thêm thông tin nhé!

    - Các giao tiếp có thể tùy biến hay truyền thông phải theo chuẩn của NI (vd: với RS485).
    Không cần phải bắt buộc phải là phần cứng của NI. Ví dụ cụ thể này là dùng card tự sản xuất trong nước. Do nhóm Hocdelam tự làm. xem thêm ví dụ này tại đây:
    http://www.youtube.com/watch?v=35-CsO1G-A4&eurl=http://labview.hocdelam.org/vn/&feature=player_embedded

    - Tốc độ giao tiếp RS232 có thể nâng cao tùy theo Chip USB-RS232 hay không?(nhiều chip hỗ trợ đến ~1MBaud).
    Hoàn tòan được, tuy nhiên tốc độ không chỉ liên quan tới bản thân LabVIEW mà còn do phần mềm anh/chị viết ra và phần cứng đang giao tiếp với LabVIEW.

    Chúc Anh may mắn!
    Trân trọng!

  18. thuytrang says:

    Chào các bạn.

    Mình có vấn đề này muốn hỏi các bạn. Mình có một tín hiệu thu được từ thiết bị đi EEF (Tín hiệu điện não) lưu với dạng file. Mình muốn dùng LabVIEW để phân tích phổ, tần số và biền độ, phase của tín hiệu này.
    Mình mới làm quen LabVIEW nên chưa có nhiều tài liệu, mong bạn có tài liệu nào thì giúp mình.
    Chân thành cảm ơn.

    Thùy Trang.

  19. nam says:

    em dang làm đề tài về điều khiển nhiệt độ mờ dung labview va fuzzy vay anh có khoá học nào không em theo học với.em cảm ơn

Gửi ý kiến của bạn

Ý kiến của bạn sẽ được Hocdelam Group ghi nhận nhằm phục vụ cộng đồng tốt hơn.
Hãy gửi ngay cho chúng tôi bằng cách điền vào mẫu bên dưới.