CHƯƠNG 1: CƠ SỞ LÝ LUẬN 1. Tổng quan về LabVIEW 1. Giới thiệu LabVIEW (Laboratory Virtual Instrumentation Engineering Workbench) là một một ngôn ngữ lập trình đồ họa được phát triển bởi Naitional Instruments, Mỹ. Một chương trình trong LabVIEW được gọi là VI (viết tắt của Virtual Instrument).
Sử dụng môi trường lập trình LabVIEW để tạo một VI (Virtual Instrument). Giao diện người dùng có thể được thực hiện bằng cách kéo và thả các đối tượng một cách đơn giản và sắp xếp chúng theo một mô hình nhất định, kết nối các khối (nối dây) để hoàn thành một chức năng điều khiển. Nhiều chức năng có thể được thêm vào giao diện người dùng dưới dạng một sơ đồ, tương tự như một lưu đồ, các đường nối dây giữa các khối chức năng với các cấu trúc và chức năng khác nhau. Vì vậy, trong hầu hết các chương trình LabVIEW, không có dòng mã nào được viết, chức năng của chương trình được cung cấp bởi sơ đồ.
Đó là lý do tại sao LabVIEW được gọi là ngôn ngữ lập trình đồ họa. Trong những năm gần đây, do tính dễ mã hóa, LabVIEW đã trở thành một trong những hệ thống thu thập dữ liệu phổ biến nhất. Thu thập dữ liệu, phân tích dữ liệu, tạo tín hiệu và tạo giao diện thân thiện với người dùng là những nhiệm vụ chính được chú trọng trong chương trình của LabVIEW. LabVIEW cũng có thể được ràng buộc hoặc liên kết với mã C hoặc mã MATLAB nếu các công cụ và chức năng trong LabVIEW không thực hiện được chức năng theo yêu cầu.
Tóm lại, LabVIEW là một hệ thống lập trình đồ họa cực kỳ mạnh mẽ, tương thích với việc thu thập và lưu trữ dữ liệu. Mọi người sử dụng nó vì nó dể sử dụng và không cần kiến thức về các ngôn ngữ lập trình thông thường. Chương trình LabVIEW Các chương trình LabVIEW được gọi là công cụ ảo hoặc VI (Virtual Instrument) bởi vì có sự suất hiện các thiết bị vật lý trong nó. LabVIEW chứa một bộ công cụ hoàn thiện để thu thập dữ liệu bao gồm lưu trữ dữ liệu, sắp xếp dữ liệu, phân tích và hiển thị dữ liệu, cũng như nó có công cụ giúp gỡ lỗi mã của chương trình.
Giao diện người dùng Một giao diện có thể được xây dựng trên sơ đồ khối (Block diagram) và kết quả sẽ được hiển thị trên bảng điều khiển phía trước (Front panel) bằng cách sử dụng các điều khiển và chỉ báo (bao gồm các nút, chiết áp, núm vặn và các cơ chế đầu vào khác trong các điều khiển). Các chỉ số bao gồm các biểu đồ và đồ thị từ máy hiện sóng, đèn LED để 3 hiển thị bật hoặc tắt, và các màn hình đầu ra khác. Sơ đồ khối chứa mã, đầu ra của mã này có sẵn trên bảng điều khiển phía trước (Front panel) khi thực thi mã. Khi bảng điều khiển phía trước (Front panel) được hiển thị, chúng ta thêm mã bằng cách sử dụng VI và cấu trúc để điều khiển các đối tượng trong bảng điều khiển phía trước (Front panel).
Giao tiếp với phần cứng Chúng ta có thể sử dụng chương trình LabVIEW giao tiếp với phần cứng của chúng ta để thu thập dữ liệu từ phần cứng và xử lý nó trong chương trình LabVIEW (ví dụ: thị giác, chuyển động từ camera và các thiết bị điều khiển chuyển động. Truyền thông nối tiếp sử dụng LabVIEW 1. Phần mềm - NI-LabVIEW và NI-VISA 1. Các khối chức năng trong lập trình LabVIEW a) Các khối cơ bản - Từ Block Diagram o Nhấn chuột phải tại vị trí bất kỳ trên Block Diagram ▪ Từ Function Palette • Chọn Data Communication >> Protocols >> Serial o Chọn các khối chức năng VISA Configure Serial Port (cài đặt các thông số truyền thông) VISA Write (ghi dữ liệu vào thiết bị đã được kết nối) VISA Read (đọc dữ liệu có sẵn tại cổng nối tiếp từ thiết bị được kết nối) VISA Close (đóng cổng kết nối đã được thiết lập) 4 Hình 1.
1: Vị trí các khối chức năng truyền thông nối tiếp b) Định cấu hình cổng nối tiếp Bước 1: Chọn khối VISA Configure Serial Port - Từ Block Diagram o Nhấn chuột phải tại vị trí bất kỳ trên Block Diagram ▪ Từ Function Palette 5 • Chọn Data Communication >> Protocols >> Serial o Chọn VISA Configure Serial Port o Đặt khối VISA Configure Serial Port trên Block Diagram o Nhấn chuột phải vào khối VISA Configure Serial Port ▪ Từ trình đơn thả xuống • Bỏ chọn View As Icon Bước 2: Mở rộng khối VISA Configure Serial Port - Từ Block Diagram o Di chuột phải xuống cạnh dưới khối VISA Configure Serial Port để mở rộng các đầu vào/ ra của khối VISA Configure Serial Port Bước 3: Kết nối đầu vào khối VISA Configure Serial Port - Từ Block Diagram o Di chuột vào chân VISA resource name của khối VISA Configure Serial Port ▪ Nhấn chuột phải • Từ trình đơn thả xuống o Chọnc Create → Control ▪ Đổi tên thành “COM Port” o Di chuột vào chân baud rate (9600) của khối VISA Configure Serial Port ▪ Nhấn chuột phải • Từ trình đơn thả xuống o Chọnc Create → Control ▪ Đổi tên thành “Baud Rate” o Di chuột vào chân termination char của khối VISA Configure Serial Port ▪ Nhấn chuột phải • Từ trình đơn thả xuống o Chọnc Create → Control o Đổi tên thành “Termination char” 6 Hình 1. 2: Biểu tượng khối chức năng VISA Configure Serial Port Hình 1. 3: Khởi tạo cổng nối tiếp Hình 1. 4: Chức năng các chân Enable Termination Char Nhận diện ký tự kết thúc.
Nếu True (mặc định) thuộc tính VI_ATTR_ASRL_END_IN được đặt để nhận dạng ký tự kết thúc. Nếu False, thuộc tính VI_ATTR_ASRL_END_IN được 7 đặt thành 0 và thiết bị nối tiếp không nhận dạng ký tự kết thúc. Termination char Ký tự chấm dứt hoạt động đọc dữ liệu. Hoạt động đọc kết thúc khi ký tự kết thúc đọc từ thiết bị đối tiếp.
Thay đổi ký tự kết thúc thành 0xD cho các chuỗi thông báo kết thúc bằng dấu xuống dòng (\r) Timeout Chỉ định thời gian cho các thao tác ghi và đọc, tính bằng mili giây. Giá trị mặc định là 10000 VISA resource name Chỉ định cổng COM để mở cổng Baud rate Tốc độ truyền dữ liệu. Giá trị mặc định là 9600 Data bits Số bit trong dữ liệu đến. Giá trị của Data bits từ 5 đến 8.
Mặc định là 8. Parity Xác định chẵn, lẻ. 0 – không có kiểm tra chẵn lẻ (mặc định) 1 – kiểm tra lẻ 2 – kiểm tra chẳn 3 – kiểm tra mức 1 (mark) 4 – kiểm tra mức 0 (space) Error in Mô tả các điều kiện xảy ra lỗi trước khi chức năng này thực thi Stop bits Chỉ định số lượng bit Stop, được sử dụng để chỉ ra sự kết thúc của khung truyền dữ liệu.5 bit stop 20 – 2 bit stop Flow control Đặt kiểm soát bởi cơ chế truyền-nhận. 0 – None (mặc định), không sử dụng điều khiển luồng 8 1 – XON/ XOFF, cơ chế truyền-nhận sử dụng các ký tự XON và XOFF để thực hiện điều khiển luồng.
Cơ chế truyền-nhận điều khiển luồng đầu vào bằng cách gửi XOFF khi bộ đệm nhận gần đầy và nó kiểu khiển luồng đầu ra bằng cách tạm ngừng truyền khi nhận được XOFF 2 – RTS/CTS, cơ chế truyền-nhận sử dụng tín hiệu đầu ra RTS và tín hiệu đầu vào CTS để thực hiện điều khiển luồng. Cơ chế truyền-nhận điều khiển luồng đầu vào bằng cách hủy gán tín hiệu RTS khi bộ đệm nhận gần đầy và nó điều kiển luồng đầu ra bằng cách tạm dừng truyền khi tín hiệu CTS không được gán. 3 – XON/XOFF và RTS/CTS, cơ chế truyền- nhận sử dụng các ký tự XON/XOFF và tín hiệu đầu ra RTS, tín hiệu đầu vào CTS để thực hiện điều khiển luồng. Cơ chế truyền-nhận điều khiển luồng đầu vào bằng cáh gửi XOFF và bó gán tín hiệu RTS khi bộ đệm nhận gần đầy, và nó điều khiển luồng đầu ra bằng cách tạm ngừng truyền khi nhận được XOFF và CTS không được cấp.
4 – DTR/DSR, Cơ chế truyền-nhận sử dụng tín hiệu đầu ra DTR và tín hiệu đầu vào DSR để thực hiện điều khiển luồng. Cơ chế truyền-nhận điều khiển luồng đầu vào bằng cách bỏ gán tín hiệu DTR khi bộ đệm nhận gần đầy và nó điều khiển luồng đầu ra bằng cách tạm ngừng truyền khi tín hiệu DSR không được gán. 9 5 – XON/XOFF và DTR/DSR, Cơ chế truyền- nhận sử dụng các ký tự XON và XOFF và tín hiệu đầu ra DTR và tín hiệu đầu vào DSR để thực hiện điều khiển luồng. Cơ chế truyền-nhận điều khiển luồng đầu vào bằng cách gửi XOFF và bỏ gán tín hiệu DTR khi bộ đệm nhận gần đầy, và nó điều khiển luồng đầu ra bằng cách tạm ngừng truyền khi nhận XOFF và tín hiệu DSR không được cấp.
VISA resource name out Bản sao tên cổng (VISA) mà các hàm VISA trả về. Error out Chức các thông tin về lỗi c) Ghi dữ liệu nối tiếp Bước 1: Gọi đối tượng VISA Write - Từ Block Diagram o Nhấn chuột phải tại vị trí bất kỳ ▪ Từ Function Palette • Chọn Data Communication >> Protocols >> Serial o Chọn đối tượng VISA Write ▪ Đặt khối VISA Write vào Block Diagram Hình 1. 5: Chức năng các chân VISA resource name Chỉ định cổng COM để kết nối Write buffer Chứa dữ liệu ghi vào thiết bị Error in (no error) Mô tả các điều kiện lỗi xảy ra trước khi khối này chạy. VISA resource name out Là bảng sao của tên cổng COM đã kết nối Return count Chứa số byte thực tế dã gửi Error out Chưa đựng các thông tin về lỗi 10 Bước 2: Tạo bộ đệm truyền có kèm ký tự kết thúc - Từ Block Diagram o Nhấn chuột phải vị trí bất kỳ ▪ Từ Funtion Palette o Chọn String ▪ Chọn đối tượng Concatenate String (nối chuỗi) ▪ Đặt khối Concatenate String vào Block Diagram o Nhấn chuột phải tại vị trí đầu vào thứ nhất của khối Concatenate String ▪ Từ trình đơn thả xuống • Chọn Create → Control • Đặt tên khối String Control là “Data send” o Nhấn chuột phải vị trí bất kỳ ▪ Từ Funtion Palette o Chọn String ▪ Chọn đối tượng End of Line Constant (ký tự kết thúc chuỗi “\r\n” ▪ Nối đầu ra của khối với đầu vào thứ 2 của khối Concatenate String Hình 1.
6: Bộ đệm truyền 11 Hình 1. 7: Vị trí đối tượng Concatenate Strings Hình 1. 8: Biểu tượng khối Concatenate Strings Ghi chú: Có thể mở rộng đầu vào của khối Concatenate Strings 12 Hình 1. 9: Vị trí khối End of Line Constant Bảng 1.