đọc nhiệt độ LM35LabVIEW (viết tắt của nhóm từ Laboratory Virtual Instrumentation Engineering Workbench) là một phần mềm máy tính được phát triển bởi công ty National Instruments, Hoa kỳ. LabVIEW còn được biết đến như là một ngôn ngữ lập trình với khái niệm hoàn toàn khác so với các ngôn ngữ lập trình truyền thống như ngôn ngữ trình C, Pascal. Bằng cách diễn đạt cú pháp thông qua các hình ảnh trực quan trong môi trường soạn thảo, LabVIEW đã được gọi với tên khác là lập trình G (viết tắt của Graphical, nghĩa là đồ hoạ). LabVIEW (Virtual Instrument Engineering Workbench) là một môi trường phát triển dựa trên ngôn ngữ lập trình đồ hoạ, thường được sử dụng cho mục đích đo lường, kiểm tra, đánh giá, xử lý, điều khiển các tham số của thiết bị. LABVIEW là một ngôn ngữ lập trình đa năng, giống như các ngôn ngữ lập trình hiện đại khác. LABVIEW gồm có các thư viện thu nhận dữ liệu, một loạt các thiết bị điều khiển, phân tích dữ liệu, biểu diễn và lưu trữ dữ liệu. Nó còn có các công cụ phát triển được thiết kế riêng cho việc nối ghép và điều khiển thiết bị.
TỔNG QUAN VỀ LABVIEW
LabVIEW là gì?
LabVIEW, viết tắt của Laboratory Virtual Instrumentation Engineering Workbench, là phần mềm máy tính do công ty National Instruments của Hoa Kỳ phát triển, được biết đến như một ngôn ngữ lập trình độc đáo với cách tiếp cận hoàn toàn khác so với các ngôn ngữ truyền thống như C hay Pascal Phương pháp lập trình của LabVIEW sử dụng hình ảnh trực quan trong môi trường soạn thảo, giúp người dùng dễ dàng xây dựng và điều khiển các hệ thống tự động, được gọi là lập trình G (Graphical Programming) Đây là công cụ mạnh mẽ hỗ trợ thiết kế hệ thống tự động hóa, kiểm thử và điều khiển kỹ thuật số một cách dễ dàng và trực quan.
LabVIEW (Virtual Instrument Engineering Workbench) là môi trường phát triển dựa trên ngôn ngữ lập trình đồ họa, thường được sử dụng để đo lường, kiểm tra, đánh giá, xử lý và điều khiển các tham số của thiết bị Đây là một ngôn ngữ lập trình đa năng có khả năng tích hợp thư viện thu thập dữ liệu, điều khiển thiết bị, phân tích, biểu diễn và lưu trữ dữ liệu, phù hợp cho các ứng dụng tự động hóa và kiểm thử thiết bị Ngoài ra, LabVIEW còn cung cấp các công cụ phát triển chuyên biệt giúp dễ dàng kết nối và điều khiển các thiết bị ngoại vi, nâng cao hiệu quả và độ chính xác trong quá trình nghiên cứu và sản xuất.
LabVIEW khác biệt so với các ngôn ngữ lập trình truyền thống là bởi vì nó sử dụng ngôn ngữ lập trình đồ họa thay vì dòng lệnh Trong khi các ngôn ngữ lập trình thông thường phụ thuộc vào mã lệnh để phát triển phần mềm, thì LabVIEW cho phép người dùng tạo ra các chương trình dưới dạng sơ đồ khối trực quan Điều này giúp đơn giản hóa quá trình lập trình và nâng cao hiệu quả trong việc thiết kế các hệ thống điều khiển và đo lường Chính vì vậy, LabVIEW thích hợp cho các dự án cần khả năng cấu hình linh hoạt và dễ dàng mở rộng.
Trong LABVIEW, xây dựng giao diện người dùng bằng cách thiết lập các công cụ và đối tượng trên Front Panel là bước quan trọng Giao diện này được sử dụng để tương tác và điều khiển các đối tượng, sau đó đưa mã vào sơ đồ khối để lập trình logic vận hành của hệ thống Sơ đồ khối trong LABVIEW giúp hình dung rõ hơn về luồng xử lý, giống như một lưu đồ thuật toán, đảm bảo quá trình thiết kế trở nên trực quan và hiệu quả hơn.
LABVIEW được tích hợp đầy đủ các chức năng giao tiếp với các phần cứng GPIB, VXI, PXI, RS-232, RS-485, các thiết bị thu nhận dữ liệu.
LabVIEW cung cấp các tính năng kết nối ứng dụng với web thông qua LabVIEW Web Server, hỗ trợ chuẩn mạng TCP/IP và ActiveX, giúp dễ dàng tích hợp và giao tiếp dữ liệu một cách hiệu quả.
LABVIEW được sử dụng rộng rãi trong các phòng thí nghiệm và 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 Hiện tại, phần mềm LABVIEW đã có phiên bản phù hợp cho nhiều hệ điều hành khác nhau, giúp các nhà nghiên cứu và kỹ sư dễ dàng tích hợp và vận hành trong các dự án công nghệ cao.
Windows, Linux, Hãng NI đã phát triển các mô-đun LABVIEW cho máy hỗ trợ cá nhân (PDA).
Các chức năng chính của LabVIEW có thể tóm tắt như sau:
- Thu thập tín hiệu từ các thiết bị bên ngoài như cảm biến nhiệt độ, hình ảnh từ webcam, vận tốc của động cơ, …
- Giao tiếp với các thiết bị ngoại vi thông qua nhiều chuẩn giao tiếp thông qua các cổng giao tiếp: RS232, RS85, USb, PCI, Ethernet.
Mô phỏng và xử lý các tín hiệu thu nhận được đóng vai trò quan trọng trong việc phục vụ các mục đích nghiên cứu và ứng dụng hệ thống Việc này giúp tối ưu hoá hiệu suất và chính xác của các hệ thống, đồng thời hỗ trợ nhà nghiên cứu trong việc phân tích dữ liệu một cách hiệu quả Các kỹ thuật mô phỏng tín hiệu đóng vai trò then chốt trong việc phát triển các giải pháp công nghệ mới, nâng cao khả năng xử lý và phân tích dữ liệu.
- Xây dựng các giao diện người dùng một cách nhanh chóng và thẩm mỹ hơn nhiều so với các ngôn ngữ khác như Visual Basic, Matlab
- Cho phép thwujc hiện các toán điều khiển như PID, Logic mờ (Fuzzy Logic), một cách nhanh chóng thông qua các chức năng tích hợp sẵn trong Labview.
- Cho phép két hợp với nhiều ngôn ngữ lập trình truyền thống như
Các phần mềm nhúng vào LabVIEW
The MathWorks Matlab and Simulink
Texas Instruments Code Composer Studio
Ansoft RF circuit design software
Giao diện của LabVIEW
Là giao diện của người sử dụng Ví dụ sau đây minh họa front panel.
Trong quá trình xây dựng front panel, các bộ điều khiển (controls) và hiển thị (indicators) đóng vai trò quan trọng trong việc cung cấp chức năng nhập xuất dữ liệu Các điều khiển như núm (knobs), nút nhấn (push buttons), mặt đồng hồ, cùng các thiết bị đầu vào khác giúp người dùng tương tác trực tiếp với hệ thống Control là các đối tượng được đặt trên Front Panel để truyền dữ liệu vào chương trình, hoạt động giống như các đầu vào cung cấp thông tin cho hệ thống Để mở giao diện người dùng trong LabVIEW, người dùng cần khởi động phần mềm, bắt đầu từ Windows 7 trở xuống bằng cách chọn Start > All Programs > National Instruments.
LabVIEW bắt đầu khởi động và hiển thị cửa sổ Getting Started sau khi phần mềm mở Tại đây, người dùng có thể chọn tạo mới một Blank VI để làm việc trên một VI trống hoặc chọn các tùy chọn như Empty Project, VI from Template để mở giao diện người dùng phù hợp Ngoài ra, bạn còn có thể mở các giao diện đã được thiết kế sẵn như minh họa trong hình hoặc tạo mới theo yêu cầu bằng mục New > More Các tập tin có thể mở từ các vị trí lưu trữ ngoại vi ngoài thư viện mặc định bằng chức năng Browse, giúp dễ dàng truy cập và quản lý dự án trong LabVIEW.
Cửa số Getting Started được biểu thị bời hình dưới đây:
Hình 1 2: Cửa sổ Getting Started
Sơ đồ khối (Block Diagram) của một VI là mã nguồn đồ họa được xây dựng trong môi trường LABVIEW, gồm nhiều đối tượng và hàm để tạo các câu lệnh thực thi chương trình Các thiết bị đầu cuối trên Front Panel được thể hiện bằng các đối tượng trên Block Diagram, và không thể loại bỏ các thiết bị đầu cuối này trừ khi loại bỏ đối tượng tương ứng trên Front Panel Block Diagram đóng vai trò là phần mã nguồn trực quan giúp lập trình và điều khiển chức năng của VI một cách dễ dàng và trực quan.
Ví dụ sau đây minh hoạ Block Diagram:
Hình 1 4: Thanh công cụ của Front panel
Cấu trúc của một Block Diagram gồm các thiết bị đầu cuối (Termial) Nút (Node) và các dây nối (wire).
A terminal is a data transmission port that connects the Block Diagram to the Front Panel and links different nodes within the Block Diagram These terminals are represented by icons of various functions, facilitating efficient data flow and communication between components Proper understanding of terminal functions enhances the accuracy of system design and debugging.
Nodes là các phần tử thực hiện chương trình, đóng vai trò như các mệnh đề, toán tử, hàm và chương trình con trong các ngôn ngữ lập trình, giúp xây dựng cấu trúc logic của phần mềm.
Wires: là các dây nối dữ liệu giữa các node.
Các thanh công cụ
1.3.1 Thanh công cụ của Front panel
Sử dụng các nút ấn của thanh công cụ dùng để chạy và tạo ra một VI. Thanh công cụ xuất hiện trên front panel có dạng như sau:
Để chạy một VI, bạn nhấn nút Run, nhằm khởi động quá trình thực thi của chương trình Khi VI đang chạy, trạng thái của nút ấn sẽ thay đổi để phản ánh quá trình xử lý, giúp người dùng dễ dàng theo dõi Nếu VI không gặp lỗi trong quá trình vận hành, trạng thái của nút sẽ hiển thị dạng như đã định nghĩa, đảm bảo quá trình kiểm thử diễn ra suôn sẻ Việc sử dụng nút Run là bước cơ bản để bắt đầu thao tác kiểm tra và xác nhận hoạt động của VI trong quá trình phát triển và kiểm thử.
Khi nhấn nút Run ở trạng thái này, điều đó có nghĩa VI của bạn đang gặp lỗi cần được xử lý Để xác định chính xác lỗi, bạn cần nhấp đúp vào nút này để hiển thị danh sách toàn bộ các lỗi trong VI của bạn, giúp quá trình khắc phục trở nên dễ dàng và chính xác hơn.
Nhấn vào nút "Run Continuously" để bắt đầu chạy VI liên tục cho đến khi bạn muốn dừng hoặc hủy bỏ quy trình Bạn cũng có thể nhấn lại nút này để tạm thời ngăn chặn chế độ chạy liên tục, giúp kiểm soát hiệu quả quá trình thực thi của VI.
Trong quá trình chạy của VI, nút hủy bỏ hoạt động xuất hiện và có thể dừng chương trình ngay lập tức khi nhấn vào biểu tượng này Tuy nhiên, nên tránh sử dụng nút hủy bỏ để dừng VI để tránh bỏ lỡ trạng thái của chương trình đang hoạt động Thay vào đó, bạn nên thiết kế chức năng dừng VI hợp lý, ví dụ như sử dụng chuyển mạch trên front panel để đảm bảo kiểm soát quá trình dừng của chương trình.
Khi nhấn nút lệnh Pause, chương trình VI sẽ tạm dừng và vị trí tạm dừng trên sơ đồ khối của LABVIEW sẽ được làm sáng để dễ nhận biết Để tiếp tục chạy lại chương trình, người dùng chỉ cần nhấn lại nút lệnh này.
Dùng để thiết lập font cho VI bao gồm kích thước, kiểu loại, màu sắc.
Dùng để sắp xếp các đối tượng thẳng hang nhau bao gồm các đường thẳng đứng, mép trên, trái …
Dùng để phân bố các đối tượng…
Lựa chọn Reorder khi ta có các đối tượng gối lên nhau và ta muốn định nghĩa đối tượng là đứng trước hay đứng sau Việc lựa chọn một
Hình 1.5 mô tả thanh công cụ Block Diagram trong các đối tượng, nhằm định vị chính xác vị trí của chúng trước khi tiến hành di chuyển bao gồm các thao tác như di chuyển lên phía trước hoặc về phía sau Thanh công cụ này giúp người dùng dễ dàng thao tác và điều chỉnh vị trí của các đối tượng một cách chính xác và hiệu quả Việc sử dụng Block Diagram trong quá trình lập trình và thiết kế mang lại sự rõ ràng, thuận tiện trong việc kiểm soát đối tượng, góp phần nâng cao hiệu quả công việc Các tính năng của công cụ này phù hợp với các yêu cầu về tối ưu hóa vị trí và chuyển động của các đối tượng trong dự án.
1.3.2 Thanh công cụ của Block Diagram
Bấm vào nút lệnh "Highlight Execution" để hiển thị luồng dữ liệu chạy trong sơ đồ khối, giúp người dùng dễ dàng theo dõi quá trình thực thi của chương trình Khi nhấn lại nút này, quá trình thực thi sẽ bị dừng lại, chỉnh sửa hoặc kiểm tra dữ liệu phù hợp Sử dụng chức năng này hỗ trợ tối ưu hóa việc phân tích và debug mã nguồn, nâng cao hiệu quả làm việc trong quá trình phát triển phần mềm.
Kích vào nút lệnh Step into dùng để lặp từng bước một trong vòng lặp, subVI.
Kích vào nút lệnh Step over dùng để bỏ qua một vòng lặp hoặc một subVI.
Kích vào nút lệnh Step out dùng để nhảy ra ngoài vòng lặp hoặc subVI.
Programming in LABVIEW requires the use of key palettes such as the Tools Palette, Controls Palette, and Functions Palette These palettes provide essential functions for users to create and modify the Front Panel and Block Diagram, enabling efficient and flexible development of virtual instruments Proper utilization of these palettes is crucial for effective LABVIEW programming.
Tools Palettes xuất hiện cả trên Front Panel và Block Diagram, giúp người dùng dễ dàng xác lập các chế độ làm việc đặc biệt của con trỏ chuột Khi chọn một công cụ trong bảng, biểu tượng của con trỏ sẽ tự động thay đổi theo biểu tượng của công cụ đó, nâng cao hiệu quả làm việc và trải nghiệm người dùng.
Trong LabVIEW, khi thiết lập chế độ tự động chọn công cụ và người dùng di chuyển con trỏ qua các đối tượng trên Front Panel hoặc Block Diagram, phần mềm sẽ tự động chọn công cụ phù hợp trên Tools Palette, giúp tăng hiệu quả và tiện lợi trong quá trình lập trình Bạn có thể dễ dàng truy cập vào Tools Palette bằng cách chọn menu View → Tools Palette Các công cụ trong Tools Palette rất đa dạng, hỗ trợ cho nhiều công tác như chỉnh sửa, căn chỉnh, đo lường và kiểm tra trong quá trình phát triển hệ thống Việc nắm rõ cách sử dụng Tools Palette sẽ giúp bạn tối ưu hóa quy trình lập trình và nâng cao năng suất làm việc với LabVIEW.
Operating tool: Dùng để thay đổi giá trị điều khiển hoặc lựa chọn văn bản trong điều khiển.
Positioning tool: Dùng để lựa chọn, di chuyển, thay đổi các kích thước đối tượng.
Labeling tool: Dùng để soạn thảo văn bản dạng text và tạo ra các nhãn.
Wiring tool: Dùng để nối các đối tượng lại với nhau trong sơ đồ khối
Object shortcut menu: Dùng để truy cập vào một đối tượng bằng cách kích chuột trái.
Scrolling tool: cuộn xuyên qua cửa sổ không sử dụng thanh công cụ cuộn
Breakpoint tool: Dùng để thiết lập điểm dừng trên các VI, functions, nút, dây nối, các cấu trúc lệnh để dừng hoạt động ở tại vị trí này.
Probe tool là công cụ dùng để tạo ra các đầu dò trên các dây nối trong sơ đồ khối, giúp kiểm tra các giá trị trung gian trong vi mạch Việc sử dụng Probe tool hỗ trợ xác định chính xác các tín hiệu trung gian, nâng cao hiệu quả phân tích và sửa lỗi trong quá trình thiết kế mạch điện tử Đây là phần không thể thiếu trong quá trình kiểm tra và đảm bảo hoạt động chính xác của hệ thống.
Color copy tool: Dùng để copy các màu cho việc paste bằng việc sử dụng Coloring tool.
Coloring tool: Dùng để tô màu cho một đối tượng Nó cũng có thể hiển thị ngay việc thiết lập màu sắc mặt trước và mầu nền.
Các bảng điều khiển và các bảng chức năng
Các bảng điều khiển và bảng chức năng là các bảng của đối tượng dùng để tạo ra các VI trong LabVIEW Để sử dụng đối tượng trên bảng, người dùng chỉ cần nhấn vào đối tượng và đặt nó vào trong front panel hoặc sơ đồ khối, giúp dễ dàng xây dựng và tuỳ chỉnh hệ thống của mình.
Sử dụng các nút chỉ dẫn trên bảng Controls và bảng Functions để dễ dàng xác định và tìm kiếm các điều khiển, VI, và hàm trong phần mềm Bạn cũng có thể mở VI nhanh chóng bằng cách nhấp chuột phải vào biểu tượng VI trên bảng và chọn "Open VI" từ menu phím tắt Việc linh hoạt sử dụng các công cụ này giúp tối ưu hóa quá trình phát triển và chỉnh sửa các chương trình của bạn.
1.4.1 Bảng điều khiển (Controls Palette)
Bảng điều khiển chỉ xuất hiện trên mặt trước (front panel) của thiết bị, bao gồm các bộ điều khiển và bộ hiển thị để người dùng dễ dàng thao tác và theo dõi trạng thái hoạt động Hình minh họa dưới đây giúp hình dung rõ hơn về cấu tạo và vị trí của bảng điều khiển này.
Bảng điều khiển là công cụ giúp người thiết kế cấu trúc mặt hiển thị tích hợp các thiết bị như công tắc, đèn và màn hình hiển thị để dễ dàng điều khiển và quản lý Nhờ vào bảng điều khiển, người dùng có thể lựa chọn các bộ thiết bị chuẩn do hãng sản xuất cung cấp nhằm đảm bảo tính ổn định và hiệu quả hoạt động của hệ thống Thiết kế mặt hiển thị với bảng điều khiển phù hợp không chỉ nâng cao tính tiện ích mà còn tối ưu hóa trải nghiệm sử dụng, đồng thời giúp dễ dàng tùy chỉnh theo yêu cầu của từng dự án.
Bảng điều khiển dùng để cung cấp dữ liệu đầu vào và hiển thị các kết quả đầu ra.
Một số bộ điều khiển và hiển thị trên controls palette:
Bộ công cụ này được sử dụng để hiển thị và điều khiển dữ liệu dạng số trong chương trình:
Bộ công cụ này cung cấp hai giá trị là True và False, cho phép người dùng điều khiển thiết bị bằng chuột trong quá trình thực hiện chương trình Việc thay đổi giá trị thiết bị chỉ có hiệu lực khi các thiết bị đó đã được thiết lập ở chế độ Control, còn với chế độ Indicator, giá trị không thay đổi vì chỉ là các thiết bị hiển thị.
Tại cửa sổ bảng điều khiển Controlchọn Searchnhập BooleanClick chọn Boolean cửa sổ Boolean như hình trên sẽ xuất hiện.
Các điều khiển này dùng để nhập và hiển thị các ký tự, nó cũng có thể được xác lập ở chế độ đầu vào hay đầu ra.
Tại bảng điều khiển chọn Searchnhập String&PathClick chọn String& Path cửa sổ String & Path sẽ xuất hiện.
Bao gồm Graph 2D và Graph 3D
Wavefrom graph: Biểu diễn những hàm đơn trị có dạng y = f(x), với những khoảng chia ngang nhau trên các trục.
XY graph: biểu diễn các hàm đa trị như đường tròn hay dạng sóng thay đổi theo thời gian.
Tại cửa sổ bảng điều khiển Controls chọn Graph Indicator.
1.4.2 Bảng chức năng (Functions Palette)
Bảng Functions palette chỉ xuất hiện trên Block Diagram, chứa các VIs và hàm được sử dụng để xây dựng các khối lưu đồ Bảng chức năng có dạng như sau giúp người dùng dễ dàng truy cập và thao tác trong quá trình thiết kế hệ thống Việc nắm rõ nội dung và cấu trúc của bảng này là bước quan trọng để tối ưu hóa quá trình lập trình và tạo ra các chương trình hiệu quả.
Bảng Function Palette cho phép người lập trình thực hiện các cú pháp lặp, lựa chọn qua các nhóm hàm và chức năng đã được cung cấp sẵn, giúp thao tác trở nên dễ dàng và linh hoạt hơn Người dùng có thể tạo và sử dụng lại các hàm tự xây dựng để tối ưu hóa quy trình lập trình của mình Các hàm toán học được thể hiện qua các biểu tượng trực quan, giúp người lập trình dễ dàng lựa chọn và thao tác Để thực hiện một hàm, người dùng chỉ cần chọn biểu tượng tương ứng, kéo thả vào vị trí mong muốn trong Block Diagram và xác định các đầu vào, đầu ra cần thiết để đảm bảo chức năng hoạt động chính xác.
Structures Function: Hàm cấu trúc
The article covers key programming concepts including For and While loops, Switch-case structures, sequences, and the distinction between global and local variables Accessing these topics is straightforward through the Functions > Search > Structures menu in the control panel, where selecting the Structures window provides a comprehensive overview of these fundamental programming elements.
Hàm Array là công cụ dùng để tạo và điều khiển các mảng trong quy trình lập trình Để sử dụng, người dùng phía bảng điều khiển chọn vào mục Search, nhập và chọn Array, sau đó cửa sổ Array sẽ hiển thị như hình minh họa dưới đây nhằm thao tác dễ dàng hơn với dữ liệu dạng mảng.
Cluster, Class & Variant: Hàm cụm & biến thể
Hàm này được sử dụng để tạo ra và điều khiển các cụm dữ liệu trong LabVIEW, giúp chuyển đổi dữ liệu từ một định dạng độc lập sang kiểu dữ liệu phù hợp và thêm thuộc tính cho dữ liệu Nó cho phép biến đổi dữ liệu dạng biến thể sang dạng dữ liệu chuẩn trong LabVIEW, hỗ trợ xử lý dữ liệu linh hoạt Để truy cập hàm này, người dùng có thể vào bảng điều khiển Funtions, tìm kiếm "Cluster" hoặc "Variant" để mở cửa sổ tùy chọn phù hợp.
Hàm này được sử dụng để thực hiện các phép tính số học, lượng giác, Logarit, số phức trong toán học, cũng như chuyển đổi các số từ dạng dữ liệu này sang dạng khác Để truy cập, bạn chỉ cần vào bảng điều khiển, chọn mục Functions, sau đó chọn Search và nhập "Numeric" Cửa sổ chức năng liên quan sẽ hiển thị như hình minh họa dưới đây, giúp bạn dễ dàng thực hiện các thao tác tính toán một cách chính xác và hiệu quả.
Trong quá trình xử lý dữ liệu, các hàm logic như and, or, xor, nor và các hàm logic phức tạp khác đóng vai trò quan trọng Người dùng có thể truy cập các hàm này tại bảng điều khiển Function, sau đó chọn Search và nhập từ khóa Boolean để sử dụng Một cửa sổ sẽ xuất hiện hiển thị các tùy chọn hàm logic phù hợp, giúp tối ưu hóa quá trình phân tích dữ liệu một cách hiệu quả.
Hàm được sử dụng để liên kết hai hoặc nhiều chuỗi, giúp tách các tập con của chuỗi từ một chuỗi lớn hơn Nó còn dùng để chuyển dữ liệu vào bên trong chuỗi và định dạng chuỗi phù hợp cho các công đoạn xử lý từ hoặc ứng dụng bảng biểu Trong bảng điều khiển, bạn có thể truy cập hàm bằng cách vào Function Search và nhập từ khóa "String" để chọn hàm phù hợp Cửa sổ chứa hàm sẽ hiển thị như hình minh họa phía dưới, giúp dễ dàng thao tác và hiểu rõ cách sử dụng hàm trong các bài toán xử lý dữ liệu văn bản.
Hàm này được sử dụng để so sánh các giá trị đại số Bool, chuỗi, số, mảng và cụm Nó có khả năng xử lý các loại dữ liệu khác nhau như Boolean, String, Numeric, Array và Cluster một cách chính xác Người dùng có thể tùy chỉnh phương pháp so sánh của các hàm Comparison thông qua bảng điều khiển Function, bằng cách truy cập vào mục Search và chọn Comparison Sau đó, cửa sổ cấu hình sẽ hiển thị, giúp điều chỉnh các tùy chọn so sánh phù hợp với yêu cầu.
Hàm này được sử dụng để xác định dòng thời gian, đo lường khoảng thời gian trôi qua hoặc trì hoãn một tiến trình trong một khoảng thời gian cụ thể Nó giúp quản lý thời gian và tối ưu hóa quy trình thực thi, phù hợp cho các ứng dụng yêu cầu kiểm soát thời gian chính xác Việc sử dụng hàm này giúp đảm bảo các tiến trình hoạt động đúng với các mốc thời gian đã đặt ra, nâng cao hiệu suất hệ thống và đảm bảo tính đồng bộ trong các tác vụ có liên quan.
Hình 1 22: Dialog & User Interface khiển Function Search Nhập và chọn Timing Cửa sổ Timing sẽ xuất hiện như hình dưới:
Cấu trúc, hoạt động của vòng lặp
Vòng lặp While Loop trong ngôn ngữ lập trình hoạt động giống như vòng lặp Do Loop hoặc Repeat – Until Loop trong ngôn ngữ lập trình văn bản Nó thực hiện các hành động bên trong cho đến khi điều kiện boolean đạt giá trị đúng hoặc sai theo thiết lập Để truy cập vòng lặp While Loop, người dùng chọn menu: functions → structures → while loop, sau đó sử dụng con trỏ kích để kéo tạo vùng lặp phù hợp theo mong muốn Vòng lặp While Loop là công cụ hiệu quả giúp tự động hóa quy trình trong lập trình và tối ưu hóa quá trình xử lý dữ liệu.
Biểu tượng của while loop được minh hoạ ở hình dưới đây.
Trong vòng lặp While, kiểm tra Conditional Terminal được thực hiện cuối mỗi vòng, đảm bảo vòng lặp luôn chạy ít nhất một lần Iteration Terminal phản ánh số lần vòng lặp đã thực hiện, bắt đầu từ 0, tức là nếu vòng lặp chạy một lần, kết quả của Iteration Terminal sẽ là 0 Việc xác định xem vòng lặp có thực sự chạy hay không dựa trên Conditional Terminal, giúp kiểm soát và tối ưu quá trình lặp trong lập trình.
Tại Conditional Terminal, ta có thể chọn các điều kiện:
Việc xác định điều kiện để thực hiện vòng lặp tại Conditional Terminal là bước quan trọng trong quá trình lập trình Nếu điều kiện không được xác định chính xác, vòng lặp có thể xảy ra tình trạng vô tận, gây ảnh hưởng đến hiệu suất của hệ thống Do đó, việc kiểm tra và thiết lập điều kiện dừng hợp lý đảm bảo chương trình hoạt động ổn định và tránh lỗi không mong muốn Những quy tắc này giúp duy trì tính logic và tối ưu hóa quá trình thực thi trong các ứng dụng phần mềm.
Hình 1 30: While loop với điều kiện lặp
Vòng lặp While Loop hoạt động liên tục cho đến khi giá trị đầu ra từ subVI nhỏ hơn 10 hoặc điều khiển Enable là FALSE Hàm AND chỉ trả về kết quả TRUE khi cả hai đầu vào đều là TRUE; nếu một trong hai đầu vào là FALSE, thì kết quả đầu ra sẽ là FALSE.
A For Loop structure is a repetitive process within a flowchart with a predetermined number of iterations To insert a For Loop, navigate to Functions → Structures → For Loop, placing the code to be repeated inside the loop A For Loop is represented as a box with two terminals: the count terminal, which specifies the number of iterations, and the iteration terminal, which outputs the number of times the loop has executed This structure enables controlled and efficient repetition in programming.
Vòng lặp For Loop có cấu trúc khác biệt so với vòng lặp While Loop bởi vì nó hoạt động dựa trên số lần lặp đã xác định trước Trong khi đó, vòng lặp While Loop chỉ tiếp tục thực hiện cho đến khi điều kiện kiểm tra trở thành sai Hoạt động của vòng lặp For Loop giúp kiểm soát số lần lặp rõ ràng hơn, phù hợp cho các trường hợp cần lặp cố định.
Bên trong sơ đồ khối thực hiện và lặp lại đến khi đến giá trị N-1.
Ví dụ minh họa hoạt động của 1 vòng lặp phát ra 100 số ngẫu nhiên và hiển thị lên đồ thị:
TỔNG QUAN VỀ ARDUINO VÀ RS232
Tổng quan vể Arduino
2.2.1 Giới thiệu chung về Arduino
Arduino đã tạo ra làn sóng lớn trên thị trường người dùng DIY toàn cầu trong những năm gần đây, giống như những gì Apple đã đạt được trên thị trường thiết bị di động Sự phổ biến của Arduino đã thúc đẩy cộng đồng tự chế tạo sản phẩm và mở ra nhiều cơ hội sáng tạo cho những người yêu công nghệ Nhờ vào sự dễ tiếp cận, linh hoạt và khả năng tùy biến, Arduino đã trở thành một trong những nền tảng phát triển dựa trên microcontroller hàng đầu, góp phần thúc đẩy phong trào DIY trên toàn thế giới.
Số lượng người dùng đa dạng và lớn, với trình độ từ phổ thông đến đại học, đã khiến chính những người tạo ra nền tảng cũng ngạc nhiên về mức độ phổ biến.
Arduino là một bo mạch vi xử lý dùng để lập trình và tương tác với các thiết bị phần cứng như cảm biến, động cơ, đèn và nhiều thiết bị khác Điểm nổi bật của Arduino là môi trường phát triển dễ sử dụng và ngôn ngữ lập trình thân thiện, phù hợp ngay cả với người mới bắt đầu về điện tử và lập trình Thêm vào đó, Arduino nổi tiếng với mức giá rất thấp và tính chất nguồn mở từ phần cứng đến phần mềm, giúp người dùng dễ dàng tiếp cận và sáng tạo Chỉ với khoảng $30, người dùng đã có thể sở hữu một board Arduino với 20 ngõ I/O để điều khiển và tương tác với nhiều thiết bị khác nhau.
2.1.2 Thông số bo mạch Arduino UNO
Bảng 2 1: Thông số bo mạch Arduino
Chip điều khiển ATmega328P Điện áp hoạt động 5V Điện áp đầu vào(khuyên dùng) 7-12V Điện áp đầu vào (giới hạn) 6-20V
Số chân Digital 14 (of which 6 provide PWM output)
Dòng điện DC trên mỗi chân
Dòng điện DC trên chân 3.3V 50 mA
Flash Memory 32 KB (ATmega328P) of which 0.5 KB used by bootloader
Tốc độ thạch anh 16 MHz
Giao Tiếp RS232
2.2.1 Tổng quan về giao tiếp RS232
Giao tiếp giữa PC và vi điều khiển đóng vai trò quan trọng trong các ứng dụng điều khiển và đo lường, giúp kết nối hiệu quả các thiết bị ngoại vi Công nghệ kết nối qua cổng RS232 là một trong những kỹ thuật phổ biến nhất, sử dụng chuẩn truyền thông nối tiếp không đồng bộ để truyền dữ liệu Chuẩn RS232 thường cho phép kết nối tối đa hai thiết bị với khoảng cách truyền tối đa từ 12.5 đến 25.4 mét nhằm đảm bảo tốc độ dữ liệu ổn định từ 20kbit/s đến 115kbit/s đối với các thiết bị đặc thù Ý nghĩa của chuẩn RS232 nằm ở việc chỉ một bit dữ liệu được gửi cùng lúc qua đường truyền, giúp đảm bảo tính chính xác và ổn định trong truyền dữ liệu.
Chuẩn RS232 hiện vẫn được sử dụng phổ biến và thường gọi là chuẩn RS232, trong khi phiên bản RS232B ít được sử dụng hơn Các máy tính thường trang bị 1 hoặc 2 cổng nối tiếp theo chuẩn RS232C, gọi là cổng COM, dùng để kết nối chuột, modem, thiết bị đo lường và các thiết bị ngoại vi khác Các cổng RS232 trên mainboard thường có dạng 9 chân hoặc 25 chân, tùy thuộc vào dòng máy tính và loại mainboard Giao tiếp qua cổng RS232 khá dễ dàng thiết kế, đặc biệt khi chọn chế độ hoạt động không đồng bộ và tốc độ truyền dữ liệu thấp, phù hợp cho nhiều ứng dụng công nghiệp và cá nhân.
Hình 2 1 Các chân của RS232
Bảng 2 2: Chức năng chân RS232
Chân số Chức năng Chiều thông tin
1 Data Carrier Detect (DCD) Từ DCE
2 Receive Data Line (RD) Từ DCE
3 Transmit Data Line (TD) Đến DCE
4 Data Terminal Ready (DTR) Đến DCE
6 Data Set Ready (DSR) Từ DCE
7 Request To Send (RTS) Đến DCE
8 Clear To Send (CTS) Từ DCE
9 Ring Indicate (RI) Từ DCE
MÔ PHỎNG TRÊN PROTEUS VÀ XÂY DỰNG GIAO DIỆN TRÊN LABVIEW
Mô phỏng trên phần mềm proteus
Nguyên lý hoạt động của mạch đọc nhiệt độ LM35 sử dụng module Arduino được mô tả rõ ràng LM35 gồm 3 chân: VCC, Out và GND, trong đó chân Vout được kết nối vào chân A0 của Arduino để đọc dữ liệu analog từ 0 đến 1023 Giá trị nhiệt độ từ cảm biến LM35 được hiển thị qua màn hình LCD I2C, với chân SCL nối vào chân A5 và chân SDA nối vào chân A4 của Arduino để truyền dữ liệu I2C Các chân P0, P1, P2 của I2C kết nối với các chân RS, RW, E của LCD, còn các chân P3 đến P6 kết nối với các chân D3 đến D7 của LCD để hiển thị kết quả Ngoài ra, giá trị nhiệt độ còn được gửi qua cổng RS232 trên cổng COM 3 của Arduino để hiển thị trên phần mềm LabVIEW, giúp người dùng theo dõi dữ liệu một cách dễ dàng và chính xác.
Hình 3 1: Xây dựng mạch trên proteus
Xây dựng giao diện trên labview
Giá trị nhiệt độ đọc từ Arduino được gửi qua cổng RS232 và hiển thị trên giao diện LabVIEW Để đảm bảo kết nối chính xác, cần cài đặt cổng COM 3 trong LabVIEW, phù hợp với cổng COM của Arduino Tốc độ truyền dữ liệu được thiết lập là 9600 Baud trên cả Arduino và LabVIEW để đảm bảo đồng bộ, nhờ đó dữ liệu nhiệt độ được truyền và hiển thị chính xác Trong mã Arduino, hàm Serial.begin cũng được thiết lập với tốc độ 9600 để đảm bảo truyền thông mạch lạc giữa Arduino và phần mềm.
Hình 3 2: Xây dựng giao diện trên labview
Trong sơ đồ mạch serial, chúng ta thiết lập cổng COM 3 với tốc độ truyền dữ liệu 9600 baud để đọc giá trị nhiệt độ Giá trị nhiệt độ được lấy từ khối VISA READ và phải qua khối tách chuỗi Match Pattern để xử lý dữ liệu liên tục gửi đến Chuỗi dữ liệu sau đó được chuyển thành số thập phân nhờ khối chuyển đổi String to Number, giúp hiển thị chính xác trên màn hình Numeric Khi giá trị nhiệt độ vượt quá mức đặt trước, đèn cảnh báo sẽ sáng nhờ vào khối so sánh nhiệt độ, trong khi nếu nhỏ hơn mức đặt, đèn sẽ tắt, đảm bảo cảnh báo kịp thời và chính xác.
Hình 3 3: Chương trình trên Labview
Trong quá trình nghiên cứu đề tài bài tập lớn về xây dựng module đo và hiển thị nhiệt độ trong phòng sử dụng cảm biến nhiệt độ LM35 kết nối với cổng RS232 của máy tính, chúng em đã phát triển phần mềm giao diện đơn giản trên máy tính để thực hiện chức năng đo và hiển thị nhiệt độ chính xác Dự án này không chỉ thể hiện khả năng ứng dụng của module cảm biến nhiệt độ trong các hệ thống đo lường tự động mà còn mở ra nhiều cơ hội ứng dụng trong các lĩnh vực kiểm tra môi trường và tự động hóa Chúng em nhận được sự hướng dẫn nhiệt tình của thầy Nguyễn Văn Tiến, giúp chúng em hoàn thành đề tài một cách khoa học và hiệu quả.
+ Đã xây dựng được modul kết nối RS232 hiển labview
+ Xây dựng được giao diện labview đọc nhiệt nhiệt độ từ LM35
+ mạch thực đúng với mô phỏng