Tổ chức một phòng thí nghiệm ảo Đo lường- lý thuyết mạch - Pdf 32



1
Lời nói đầu

Khi xây dựng một phòng thí nghiệm cho sinh viên học tập nghiên cứu,
cần phải trang bị khá nhiều thiết bị hiện đại và chuyên dụng. Trong thực tế, do
sự phát triển mạnh mẽ của khoa học kỹ thuật, nên các hệ thống thiết bị phục
vụ cho bài toán kỹ thuật luôn đợc phát triển không ngừng và vì sự hạn chế về
kinh phí nên các phòng thí nghiệm nhà trờng khó có thể trang bị đầy đủ và
kịp thời các thiết bị thực để đáp ứng nhu cầu học tập và nghiên cứu. Đây là
một trong những nguyên nhân khiến cho các sinh viên khi ra trờng lúng túng,
bỡ ngỡ trong các thao tác thực hành và vì thế hiệu quả công việc giảm đi rất
nhiều.

Có thể khắc phục hạn chế này bằng cách xây dựng một phòng thí
nghiệm ảo có đủ các trang thiết bị hiện đại với mục đích giúp các sinh viên có
thể làm quen với mặt máy, thao tác trên các núm nút, đọc chỉ số thiết bị đo
một cách thành thạo trớc khi làm việc với các thiết bị thật. Thiết bị ảo có
những lợi thế rất lớn về giá cả, chỉ tiêu chất lợng và tính linh hoạt so với thiết
bị thực. Do vậy, việc xây dựng một phòng thí nghiệm ảo bao gồm các thiết bị
đo lờng hiện đại cùng các panel thí nghiệm tổng hợp tạo ra một hiệu quả
đáng kể về kinh tế và có ý nghĩa rất lớn trong công tác đào tạo, giảng dạy và
nghiên cứu tại các nhà trờng.
Với mục đích nghiên cứu, xây dựng một phòng thí nghiệm ảo Lý thuyết
mạch trên cơ sở mạng máy tính và các thiết bị ảo chuyên dụng phục vụ cho
công tác đào tạo giảng day môn học Lý thuyết mạch , đồ án của em bao gồm
các nội dung chính nh sau:
- Chơng 1: Trình bày về ngôn ngữ lập trình LabVIEW trong các
bài toán điều khiển, ghép nối, mô phỏng thiết bị ảo và các kỹ
thuật lập trình tạo thiết bị ảo trên LabVIEW.

1.1. Khái niệm về phần mềm đồ hoạ LabVIEW
LabVIEW (Laboratory Virtual Istrument Engineerring Worbench) là
một chơng trình ứng dụng phát triển, dựa trên cơ sở ngôn ngữ lập trình đồ
hoạ G, thờng đợc sử dụng cho mục đích đo lờng, xử lý, điều khiển tham số
và mô phỏng thiết bị.
Là một ngôn ngữ lập trình đa năng, giống nh C hoặc BASIC,
LabVIEW có các th viện hàm cho các nhiệm vụ khác nhau. Với mục đích
xây dựng một ngôn ngữ chuyên dụng cho các bài toán khoa học kỹ thuật, các
th viện hàm đợc cung cấp bởi LabVIEW rất mạnh, phong phú và luôn đợc
phát triển để tơng thích với sự phát triển của phần cứng và của các yêu cầu
thực tiễn. Có thể kể ra một số th viện hàm sau:
- Analysis VIs: Bao gồm các hàm phân tích và xử lý tín hiệu.
- Communication VIs: Cung cấp các hàm dùng để kết nối và trao đổi
dữ liệu giữa các ứng dụng trên nền WINDOWS.
- Control & Simulation Toolkit: Dùng cho các bài toán mô phỏng
và điều khiển.
Khác với ngôn ngữ lập trình thông thờng (ngôn ngữ dòng lệnh)
LabVIEW sử dụng ngôn ngữ lập trình G ngôn ngữ lập trình đồ hình - để tạo
các chơng trình ở dạng sơ đồ khối. Do đó ngời lập trình có thể thiết kế một
giao diện mô phỏng theo panel của các thiết bị vật lý thực. Nó còn tạo ra một
cái nhìn trực quan trong việc xây dựng mã nguồn, giúp ngời lập trình trong
thiết kế hệ thống, gỡ rối và kiểm tra chơng trình.
1.2. Kỹ thuật lập trình cơ bản trên LabVIEW
1.2.1. Cấu trúc chơng trình 4
Các chơng trình xây dựng trên LabVIEW (VIs) tơng tự nh các
function của một ngôn ngữ lập trình dòng lệnh. Một VI gồm có ba phần: Giao
diện với ngời sử dụng Front Panel, lu đồ cung cấp mã nguồn Block

chơng trình. Chúng tơng tự nh các mệnh đề, toán tử, hàm hoặc
chơng trình con ở trong các ngôn ngữ lập trình dòng lệnh. Wire
giống nh các bus truyền dữ liệu giữa các node. Hình 1.2 minh hoạ
một Block Diagram của chơng trình. - Icon và Connector: VI có thể thực hiện một cách độc lập hoặc đợc
một VI khác gọi tới nh một chơng trình con (SubVI). Để làm điều
này LabVIEW đa ra khái niệm icon và connector. Icon là biểu
tợng của một VI, đợc dùng khi sử dụng VI này nh một SubVI
trong một VI khác. Một VI gọi tới một VI khác bằng cách đa icon
của nó vào block diagram. Connector là một phần tử của terminal
dùng để kết nối các đầu vào hoặc đầu ra của một SubVI với các node
khác trong block diagram của VI gọi nó.
M
ỗi VI có một icon mặc
định hiển thị trong bảng Icon ở góc trên bên phải của cửa sổ Front
Panel hoặc Block Diagram (hình 1.3).

ra dùng để hiển thị dữ liệu do VI tạo đợc. Để truy cập vào controls
panel ta chọn menu: Window>>Show Controls palette. Khi này
xuất hiện bảng controls nh minh hoạ ở hình 1.5. Có thể tham khảo
[10] hoặc xem help của phần mềm để có thông tin chi tiết hơn về các
điều khiển trong controls palette.
Hình 1.4: Tools palette
Hình 1.5: Controls Palette 7
- Functions palette: Functions là các node cơ bản trong ngôn ngữ lập
trình G, nó tơng tự các toán tử hoặc các hàm trong ngôn ngữ thông
thờng. Functions có biểu tợng màu vàng, không có front panel và
block diagram (do chúng không phải là các VIs). Có thể truy nhập
các functions từ Window>>Functions palette. Hình 1.6 minh hoạ
một Functions Palette.
- Sao lu chơng trình: Ghi chơng trình lên đĩa với tên mở rộng là
*.VI bằng cách chọn New >>Save (Ctrl+S) hoặc New>>Save As.
1.2.4. Khái niệm và cách xây dựng một SubVI
Trong lập trình ta thờng gặp hai vấn đề:
-
Có một số đoạn mã đợc lặp lại mà việc viết chúng khiến chơng
trình trở nên cồng kềnh nên cần phải tập hợp vào một modul để khi
chơng trình có yêu cầu thì chỉ cần gọi modul này.
- Với một chơng trình lớn cần phải chia thành các modul nhỏ cho
nhiều ngời cùng xây dựng (kiểu top-down) mà các modul này có 9
thể hoạt động độc lập song cũng có thể kết hợp lại trong một modul
mức đỉnh để thực hiện các yêu cầu đặt ra.
Để giải quyết vấn đề này, LabVIEW đa ra khái niệm SubVI. SubVI là
một VI đợc bổ sung thêm biểu tợng (icon) và đầu nối (connector) để có thể
sử dụng trong VI khác. Việc sử dụng SubVI giúp chơng trình dễ hiểu, dễ gỡ
rối và có thể phân chia một nhiệm vụ phức tạp thành nhiều modul để nhiều
ngời cùng tham gia hoàn thành.
Trong LabVIEW có hai cách cơ bản để xây dựng một SubVI: Xây dựng
từ một VI và xây dựng từ một phần của VI.
Để xây dựng SubVI từ một VI ta làm theo các bớc sau:
- Thiết kế front panel và xây dựng mã nguồn trên block diagram:
Bớc này tơng tự nh các bớc tạo một VI mà ta đã trình bày ở
trên.
- Tạo biểu tợng cho SubVI: Để tạo biểu tợng của VI cần cho hiện
cửa sổ Icon Editor. Có thể gọi cửa sổ này bằng cách kích đúp chuột
vào ô biểu tợng ở góc bên phải hoặc kích chuột phải và chọn mục
Edit Icon. Khi đó cửa sổ sẽ hiện lên nh minh hoạ dới hình 1.12.


Ta có thể thêm một terminal vào mẫu (Add Terminal), bỏ một
terminal (Remove Terminal) hoặc thay đổi không gian sắp xếp
(Flip Horizontal, Flip Vertical, Rotage 90 degrees).
Hình 1.13: Pattern Icon
Hình 1.14: Gán Terminal cho Controls 11
- Gán Terminal cho Control và Indicator: Bấm chuột vào một
Terminal, nó chuyển thành màu đen và chuột chuyển thành Wiring
tool. Bấm chuột vào control (hoặc Indicator) muốn gán cho
Terminal đã chọn, một khung nhấp nháy sẽ bao lấy đối tợng. Kích
chuột lên vùng trống bất kỳ để hoàn thành việc gán. Lặp lại cho các
Control và Indicator khác. Hình 1.14 minh hoạ việc gán Terminal
cho Control và Indicator.
Để xây dựng SubVI từ VI ta chọn phần cần xây dựng bằng công cụ
Positioning tool sau đó chọn menu: Edit>>Creat SubVI. Khi này các
control và indicator đợc tự động tạo cho SubVI mới, SubVI đợc tự động nối
với các dây nối đang có và một biểu tợng thay thế cho phần đợc chọn của
Block Diagram của VI gốc. Tạo một SubVI từ một phần của VI giống nh

Hình 1.15 minh hoạ một hộp thông tin Error List: Trong trờng hợp chơng trình thực hiện nhng không tạo ra kết quả
nh mong muốn (lỗi thuật toán), ta có thể debug theo các bớc sau:
Hình 1.15: Cửa sổ Error List13
- Loại bỏ tất cả các lời báo hiệu. Chọn Show Warning trong cửa sổ
Error List, hộp liệt kê danh sách sẽ nhận ra các lời báo hiệu đối với
VI. Xác định nguyên nhân và loại bỏ chúng.
- Kiểm tra dây nối.
- Đảm bảo các node và function đã đợc dùng đúng.
- Sử dụng Breakpoints thực hiện từng bớc để xác định xem VI hoạt
động có đúng trình tự không.
- Sử dụng đặc tính thăm dò Probe để quan sát các giá trị dữ liệu trung
gian. Kiểm tra lỗi đầu ra của các function và VI thực hiện vào ra.

Bớc 1: Mở một file mới bằng cách chọn File >> New. Thiết kế giao
diện cho chơng trình bao gồm ba numeric control tham số a, b và c, một
array numeric control đối số x và một array numeric indicator hàm số y. Pop-
up vào từng đối tợng để chọn thuộc tính của chúng. Kết thúc bớc 1 ta đợc
một front panel nh hình 1.16.
Bớc 2: Xây dựng mã nguồn cho Block diagram. ở đây ta sử dụng
Formula node để lập một đa thức bậc hai có dạng: y=ax
2
+bx+c. Node này
đợc đa vào trong một vòng lặp For loop để xử lý với mảng đối số x ở đầu
vào, cho ra kết quả là mảng hàm số y đầu ra. Block diagram của ví dụ 1 đợc
hoàn chỉnh nh hình 1.17.

Hình 1.16: Front Panel của Ví dụ 1 15


connector để chọn mẫu connector phù hợp từ bảng pattern.
Bớc 2: Gán từng connector cho các terminal tơng ứng (nh hình
1.19). Chuyển icon về dạng ban đầu bằng cách chọn Show icon, ghi lại những
thay đổi trong chơng trình ta sẽ đợc một SubVI hoàn chỉnh.

Trên đây là toàn bộ các bớc để xây dựng một VI. Có thể phát triển VI
này để tìm giá trị của một đa thức bậc N với chỉ số bậc nhập vào từ bàn phím.
1.3. Lập trình nâng cao hỗ trợ tạo thiết bị ảo trên LabVIEW
1.3.1. Trao đổi thông tin và lập trình mạng bằng LabVIEW
LabVIEW hỗ trợ khả năng kết nối và chia sẻ tài nguyên giữa các ứng
dụng chạy trên nền Windows trong môi trờng mạng. Để trao đổi dữ liệu giữa
các ứng dụng, LabVIEW sử dụng các giao thức sau (ở đây ta chỉ quan tâm đến
các ứng dụng chạy trên nền Windows):
- TCP/IP: Có sẵn trong tất cả các máy tính.
- DDE: Có sẵn trong các máy PC để rao đổi thông tin giữa các ứng
dụng của Windows.
- Active X: Có sẵn trong các máy PC chạy trên hệ điều hành Win 9X.
- Data Socket: Đợc hỗ trợ trong phần mềm LabVIEW phiên bản 6.i.
Hình 1.19: Thiết kế connector
Hình 1.20: DataSocket Server Manager 18
Khi xây dựng bài toán mạng trong các ngôn ngữ lập trình kiểu dòng
lệnh, ngời lập trình thờng phải tự xây dựng và quản lý các tiến trình trong
mô hình client/server của mình, điều này gây ra một khó khăn không nhỏ và
chiếm nhiều thời gian trong việc lập trình. Bắt đầu từ phiên bản 6.0 trở đi,
LabVIEW hỗ trợ việc trao đổi dữ liệu thông qua Data Socket bằng cách cung
cấp một th viện hàm và một tiện ích quản lý việc trao đổi dữ liệu bằng Data
Socket Data Socket Server Manager (minh hoạ ở hình 1.20), điều này giúp
ngời lập trình giảm đợc đáng kể thời gian cài đặt một hệ quản trị mạng và
khiến cho hiệu quả lập trình tăng lên rất nhiều.
Data Socket là một phơng thức trao đổi dữ liệu của Windows cho phép
các ứng dụng trao đổi dữ liệu cho nhau thông qua mạng. Nó cho phép các ứng
dụng trao đổi dữ liệu với nhau theo các gói thông tin (giao thức TCP/IP) hoặc
dới dạng các file dữ liệu (giao thức truyền file - FPT). Khi này Data Socket
Server tạo ra các Data Items cho phép một ứng dụng gửi dữ liệu tới hoặc nhận
dữ liệu về.
Để gửi dữ liệu tới một Data Items có thể sử dụng hàm DataSocket
Write, còn để nhận dữ liệu từ một Data Items có thể sử dụng hàm
DataSocket Read. Hình 1.21 và 1.22 minh hoạ hai hàm này trong LabVIEW.
sử dụng Custom Controls. Custom Controls là các điều khiển tuỳ biến do
ngời lập trình tự thiết kế. Từ những Controls cơ bản, ngời lập trình có thể
thay đổi các thuộc tính, kiểu hiển thị,.. để tạo những Controls của riêng mình.
Điều này tạo ra một hiệu quả cao và đặc biệt có ý nghĩa trong bài toán mô
phỏng những thiết bị vật lý cụ thể. Hình 1.24 và 1.25 minh hoạ một Default
Controls và Custom Controls trong bài toán mô phỏng thiết bị.
Hình 1.23: Một số Controls cơ bản trên LabVIEW 20

Trong ví dụ minh hoạ này, em thiết kế một máy đo với phần hiển thị là
các đèn LED 7 đoạn. Rõ ràng là với chơng trình mô phỏng sử dụng các
Custom Controls tạo ra đợc một giao diện rất trực quan và ấn tợng mạnh
cho ngời thao tác.
Để tạo một Custom Controls, ta có thể xây dựng chúng theo các bớc
sau đây:
- Bớc 1: Từ menu bar chọn File >> New >> Control. Khi này xuất

Sửa đổi các thuộc tính của control thành điều khiển tuỳ biến
của ngời sử dụng. Để có thể sửa đổi Controls chúng ta phải chuyển
chúng từ chế độ Edit Mode sang chế độ Customize Mode bằng
shortcut button minh hoạ ở hình 1.28. Khi này các thành phần của một Control sẽ đợc tháo rời và cho
phép ngời sử dụng thay đổi thành các tuỳ chọn của riêng mình.
Thông thờng chúng ta chỉ thay đổi Picture Item của các thành phần
Hình 1.27: Lựa chọn một Control cơ sở để phát triển thành Custom Control
Hình 1.28: Chế độ Customize 22
của một Control. Khi này có thể click chuột phải vào đối tợng và
chọn Picture Item từ menu-popup nh hình 1.29. 24
Chơng 2: Xây dựng các thiết bị ảo
cho phòng thí nghiệm Đo lờng - Lý thuyết mạch
Đối với các thiết bị ảo trong phòng thí nghiệm Đo lờng - Lý thuyết
mạch, chúng ta có thể xây dựng theo các hớng sau:
- Xây dựng một thiết bị mô phỏng bán tự nhiên trên máy tính, bao
gồm một card ADC ghép với máy tính, và một phần mềm điều
khiển, ghép nối để giao tiếp với card. Theo hớng này, thiết bị mô
phỏng có thể đợc sử dụng để thu thập dữ liệu (thông qua card
ADC) và phân tích, xử lý cũng nh lu trữ trên máy tính.
- Thiết kế một thiết bị ảo, mô phỏng nguyên lý hoạt động và giao diện
sử dụng theo một thiết bị vật lý thực. Khi này có thể xây dựng một
hệ thống thiết bị ảo theo các thiết bị vật lý hiện đại, cho phép ngời
sử dụng làm quen với thiết bị cũng nh cách sử dụng chúng.
Với hớng tiếp cận thứ hai, một thiết bị ảo cần thoả mãn các yêu cầu
sau:
- Thiết bị ảo phải đợc xây dựng theo phơng trình động lực học của
thiết bị thực. Đây là một yêu cầu bắt buộc đối với mỗi thiết bị ảo để
chúng có thể hoạt động chính xác nh thiết bị vật lý thực. Để giải
quyết điều này, đòi hỏi ngời thiết kế phải nắm vững nguyên lý hoạt
động của từng thiết bị cụ thể và xây dựng chơng trình theo phơng
trình động lực học của chúng.
- Thiết bị ảo cần có một front panel nh thiết bị vật lý đợc mô
phỏng. Điều này có nghĩa là cần phải xây dựng trên thiết bị đo lờng
ảo các núm, nút, màn hiển thị nh thiết bị thật để ngời sử dụng có
thể thao tác và xem kết quả trên chúng. Đây là một yêu cầu quan
trọng trong các bài toán mô phỏng nói chung và trong bài toán xây
dựng thiết bị ảo nói riêng.

Đo lờng - Lý thuyết mạch.

Trích đoạn Kết nối và trao đổi dữ liệu trên EWB Xây dựng các bài thí nghiệm lý thuyết mạch trên công cụ EWB Xây dựng các bài thí nghiệm ảo về Lý thuyết mạch dựa trên mạng máy tính Tổ chức phòng thí nghiệm ảo Đo l−ờng-Lý thuyết mạch phục vụ đào tạo,
Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status