1. Trang chủ
  2. » Luận Văn - Báo Cáo

lập trình mô phỏng thời gian thực với hai đối tượng điều khiển là động cơ điện một chiều và mạch vòng khóa pha PLL sử dụng hai card PCI 1711và card PCI 1727

108 554 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 108
Dung lượng 6,57 MB

Nội dung

Về thực chất nó là một môi trường phát triển dựa trên ngôn ngữ lập trình đồ họa bằng cách sửdụng các biểu tượng đồ họa trực quan và dây dẫn trông giống như một sơ đồkhối, nó thường được

Trang 1

MỤC LỤC

MỤC LỤC 1

LỜI MỞ ĐẦU 3

CHƯƠNG 1 GiỚI THIỆU MÔI TRƯỜNG LẬP TRÌNH LABVIEW 6

1.1 Giới thiệu chung về phần mềm Labview: 6

1.1.1 Phần mềm Labview 6

1.1.2 Các ưu điểm và nhược điểm của phần mềm lập trình Labview 9

1.1.3 Ứng dụng của phần mềm LabVIEW trong các lĩnh vực 11

1.2 Môi trường lập trình LabVIEW 15

1.2.1 Giao diện lập trình và các thư viện lập trình cơ bản của LabVIEW 15

1.2.2 Kỹ thuật lập trình nâng cao trong Labview 30

CHƯƠNG 2: CẤU TRÚC LẬP TRÌNH LABVIEW VỚI CARD PCI 1711 VÀ PCI 1727 36

2.1 Giới thiệu chung về một số thiết bị hỗ trợ liên kết LabVIEW với thế giới thực 36

2.1.1 Các thiết bị của hãng Advantech 36

2.1.2 Các thiết bị của hãng National Instruments (NI) 37

2.2 Card đa chức năng PCI 1711 và card Analog PCI 1727 42

2.2.1 Card đa chức năng PCI 1711 43

2.2.2 Card Analog PCI 1727 48

2.2.3 Một số thao tác lắp đặt và kiểm tra card PCI trên máy tính PC 53

2.3 Trình tự thiết lập các tham số trong LabVIEW để liên kết với phần cứng .54 2.3.1 Thiết lập tham số cho tín hiệu ra tương tự (AO) 56

2.3.2 Thiết lập tham số cho tín hiệu vào tương tự (AI) 59

2.3.3 Thiết lập tham số cho tín hiệu vào ra số (D I/O) 64

CHƯƠNG 3 MÔ PHỎNG THỜI GIAN THỰC ĐỐI TƯỢNG MÔ PHỎNG TRÊN NỀN TẢNG LABVIEW SỬ DỤNG PCI 1711 KẾT HỢP PCI 1727 67

3.1 Mô phỏng đối tượng giả lập động cơ một chiều 67

3.2 Mô phỏng đối tượng giả lập vòng khóa pha PLL 73

Trang 2

3.2.1 Vai trò của thuật toán vòng lặp khoá pha trong điều khiển các bộ biến đổi điện tử công suất nối lưới 733.2.2 Xây dựng và mô phỏng offline vòng khóa pha PLL 793.2.3 Khảo sát đặc tính thời gian thực ghi – đọc tín hiệu Analog 913.2.4 Khảo sát đáp ứng thời gian thực của vòng khóa pha PLL khi tín hiệu đầu vào là tín hiệu giả lập được tạo ra khi thực hiện giao tiếp 2 card PCI 1727

&1711 96KẾT LUẬN 104Tài liệu tham khảo 106

Trang 3

LỜI MỞ ĐẦU

Trong lập trình, có một câu đơn giản nhưng bao giờ cũng có giá trị là:Nên chọn công cụ cho phù hợp với công việc cần làm Ví dụ như khi viết cácchương trình truy cập đến các cấp thấp của máy tính, bạn nên dùngASSEMBLER, ở cấp cao hơn có thể dùng Pascal, C Đối với những chươngtrình yêu cầu bạn phải lập trình hướng đối tượng ví dụ như tạo hệ cửa sổ giaotiếp đồ hoạ thì bạn phải sử dụng VB, Laview Mỗi ngôn ngữ lập trình cũngchính là một chương trình, có thể được dùng để tạo nên các chương trình khác.Các ngôn ngữ lập trình hiện đại ngày nay như VB, Labview, Matlab cũngđược xây dựng từ những ngôn ngữ lập trinh cơ bản Mỗi ngôn ngữ lập trình đều

có những đặc điểm riêng nhưng điểm chung giữa chúng là đều được biên dịch rangôn ngữ máy tính để máy tính có thể hiểu và thực hiện chương trình Ngày naycác ngôn ngữ lập trình hiện đại được sử dụng nhiều hơn do tính đơn giản vìđược cung cấp thêm một số lượng rất lớn các thư viện bao gồm nhiều hàm để hỗtrợ giao diện người dùng (graphic interface) và các thiết bị đầu cuối Đồng thờicác ngôn ngữ lập trình hiện đại thường thiết kế để hỗ trợ nhiều hệ điều hành, đápứng tính thời gian thực trong lĩnh vực điều khiển

Ngày nay có hai dạng lập trình phổ biến là lập trình sử dụng cấu trúc dònglệnh và lập trình sử dụng dạng sơ đồ khối Với những ngôn ngữ lập trình sửdụng câu trúc dòng lệnh như C, VB thì đều gây khó khăn cho người lập trình

là phải nhớ cấu trúc lệnh, chương trình viết có thể dài hàng chục trang, việc dàsoát lỗi cũng không đơn giản, mất nhiều thời gian để học và lập trình Đối vớingôn ngữ lập trình sử dụng dạng sơ đồ khối như Matlab, Laview việc lập trìnhtrở nên đơn giản hơn, người lập trình không cần phải nhớ cấu trúc lệnh, khôngcần phải mất thời gian học nhiều mà vẫn có thể lập trình được Do sử dụng dạng

sơ đồ khối nên chương trình ngắn gọn, việc dà soát lỗi dễ dàng, với những aikhông trực tiếp lập trình khi đọc chương trình cũng thấy dễ hiểu hơn Do tính ưuviệt của nó nên các ngôn ngữ lập trình đồ họa hiện nay đang được sử dụng ngày

Trang 4

Trong kỹ thuật điều khiển phải kể đến các ngôn ngữ lập trình ta thườngdùng như VB, Matlab, C, Labview Trong đó Labview cho thấy là một trongnhững ngôn ngữ lập trình ưu việt Nó không chỉ sử dụng dạng sơ đồ khối để lậptrình mà còn kết hợp cả ngôn ngữ lập trình dạng văn bản như C để lập trình.Giống như Matlab các thư viện hàm dạng sơ đồ khối của nó rất phong phú, đặcbiệt là các thư viện hàm hỗ trợ việc thu thập xử lý tín hiệu, bên cạnh đó giaodiện người dùng của nó đẹp hơn, thẩm mĩ hơn rất nhiều so với VB Đây là mộtngôn ngữ lập trình đã xuất hiện từ lâu trên thế giới và được ứng dụng trong rấtnhiều lĩnh vực liên quan đến điều khiển tự động Nó được lựa chọn là một trongnhững phần mềm “ Best of the best” trong danh sách những phần mềm đượcđánh giá bởi những người trong ngành Ở Việt Nam nó vẫn còn là một ngôn ngữlập trình mới, cũng chỉ được đưa vào ứng dụng trong vài năm gần đây, chưa cónhiều nhiều người am hiểu sâu và gần đây đã có vài ba trường đại học đưa nóvào môn học chính thức.

Trong đồ án tốt nghiệp này, em xin giới thiệu những nét cơ bản về ngônngữ lập trình Labview để mọi người có thể hiểu được và sử dụng được nó Bêncạnh đó, em sẽ ứng dụng ngôn ngữ lập trình này để lập trình mô phỏng thời gianthực với hai đối tượng điều khiển mà em lựa chọn là : Động cơ điện một chiều

và mạch vòng khóa pha PLL sử dụng hai card PCI 1711và card PCI 1727

Bố cục của đồ án này bao gồm 3 chương:

- Chương 1 giới thiệu về ngôn ngữ lập trình Labview bao gồm khái niệm,các ứng dụng, trình bày cấu trúc một chương trình trong Labview, các thưviệc hàm hay sử dụng

- Chương 2 giới thiệu khái quát về các thiết bị hỗ trợ lập trình LabVIEWcủa các hãng Advantech, National Instruments, giới thiệu đi sâu tìm hiểu

về các tài nguyên phần cứng cũng như khả năng lập trình điều khiển , kỹthuật lập trình LabVIEW đối với hai card PCI 1727 và PCI 1711

- Chương 3 tiến hành xây dựng đối tượng mô phỏng và mô phỏng đốitượng trong thời gian thực thông qua giao tiếp với card PCI 1711và PCI

Trang 5

Trong thời gian làm đồ án, do thời gian có hạn, kiến thức còn hạn chế nên

đồ án còn nhiều những thiếu sót, em rất mong nhận được những ý kiến đóng gópcủa các thầy cô giáo và các bạn để đồ án được hoàn thiện hơn nữa

Em xin bày tỏ lòng biết ơn sâu sắc đến:

 Giáo viên hướng dẫn THS Phạm Tuấn Anh, người đã tận tình chỉ bảo,giúp đỡ để em hoàn thành tốt đồ án này

 Toàn thể các thầy cô giáo khoa điện – ĐTTB, những người đã tận tìnhgiảng dạy, giúp đỡ em trong suốt hơn 4 năm học qua

 Toàn thể gia đình, bạn bè và người thân đã quan tâm, động viên, giúp

đỡ trong suốt thời gian học tập và hoàn thành đồ án

Sinh viên thực hiện

Vũ Văn Hoàng

Trang 6

CHƯƠNG 1 GiỚI THIỆU MÔI TRƯỜNG LẬP TRÌNH

LABVIEW 1.1 Giới thiệu chung về phần mềm Labview:

1.1.1 Phần mềm Labview

Labview (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.Labview được 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 biệt là Mỹ, Hàn quốc, Nhật Bản Về thực chất nó

là một môi trường phát triển dựa trên ngôn ngữ lập trình đồ họa bằng cách sửdụng các biểu tượng đồ họa trực quan và dây dẫn trông giống như một sơ đồkhối, nó thường được sử dụng cho các mục đích như giao tiếp máy tính, đolường, kiểm tra, đánh giá, xử lý, mô phỏng và điều khiển hệ thống, kết nối thiết

bị ngoại vi với máy tính theo thời gian thực

Lập trình Labview hoàn toàn giống như các ngôn ngữ khác, điểm khácbiệt ở đây là giao diện, cách thức tạo ra chương trình không còn là những dònglệnh như trong Pascal, C mà là những biểu tượng (icon), và dây nối (wire),LabVIEW có tính chất đặc biệt sau:

LabVIEW có thể đo lường được từ bất kỳ cảm biến (tín hiệu dạng điện

áp, dòng điện, xung), LabVIEW có thể điều khiển được bất kỳ cơ cấu chấp hành(động cơ DC/AC, động cơ xăng, bơm thủy lực, lò nhiệt, pistion thủy khí,vv.),LabVIEW truyền qua bất kỳ chuẩn giao tiếp máy tính-máy tính, máy tính - thiết

bị như chuẩn RS232, chẩn USB, chuẩn PCI, PXI, Wifi, Bluetooth, TCP/IP, vv.LabVIEW hỗ trợ đắc lực cho các kỹ sư ngành Cơ khí, Cơ điện tử, Robotics, Ôtô,Viễn Thông và Điện tử trong việc: Tính toán và thiết kế sản phẩm, sản xuất mẫu(prototyping), mô phỏng và đánh giá chất lượng sản phẩm, vv

Tính năng phân tích mạnh mẽ, LABVIEW có hơn 500 chức năng lập sẵn

để trích xuất thông tin hữu ích từ dữ liệu thu nhận được, phân tích các phép đo

và xử lí tín hiệu Các chức năng như phân tích tần số, phát tín hiệu, toán học,

Trang 7

chỉnh lí đường cong, phép nội suy cho phép bạn nhận được số liệu thống kêquan trọng từ dữ liệu của mình.

Hiển thị dữ liệu bao gồm các chức năng: trực quan, tạo báo cáo và quản lí

dữ liệu Trong đó có các tiện ích vẽ biểu đồ và đồ thị cùng các công cụ trực quan2D, 3D cài sẵn Thêm vào đó, bạn có thể xem và điều khiển chương trình VIsqua Internet bằng LABVIEW

Mô phỏng và xử lý các tín hiệu thu nhận được để phục vụ các mục đíchnghiên cứu hay mục đích của hệ thống mà người lập trình mong muốn

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 thực hiện các thuật toán điều khiển như PID, Logic M (Fuzzy),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ữ truyền thống như C, C++.Cho phéptriển khai các ứng dụng nhúng đến các bộ vi xử lý 32 bit

Trang 8

LABVIEW có rất nhiều những thư viện mở rộng về hàm và chương trìnhcon Ngoài ra, LABVIEW cũng có những thư viện ứng dụng riêng cho việcnhận dữ liệu và thiết bị điều khiển theo chuẩn VXI, các thư viện ứng dụng riêngtheo chuẩn GPIB và thiết bị điều khiển nối tiếp, phân tích, trình bày và lưu trữ

dữ liệu

Chương trình LABVIEW được gọi là các thiết bị ảo (VI: VirtualInstruments) vì giao diện và cách thức hoạt động của nó tương tự như thiết bịthật Các VI có giao diện với người sử dụng và một mã nguồn tương đương tiếpnhận các thông số từ VI cao hơn Một VI có ba đặc trưng sau

- VI chứa một giao diện với người sử dụng được gọi là mặt máy (fontpanel) vì nó mô phỏng mặt trước của một dụng cụ vật lý Mặt máy có thể baogồm núm nhấn, biểu đồ, núm điều khiển và các bộ chỉ thị khác Ta đưa số liệuvào bằng các sử dụng bàn phím và chuột và sau đó quan sát kết quả trên mànhình của máy tính

- VI tiếp nhận lệnh từ một sơ đồ khối (Block Diagram), mà ta tạo nên bằng

G Sơ đồ khối này cung cấp một giải pháp đồ họa cho một vấn đề lập trình Sơ

đồ khối chứa mã nguồn của VI

- VI sử dụng cấu trúc môđun và phân cấp Ta có thể sử dụng chúng nhưcác chương trình bậc cao hoặc như các chương trình con bên trong chương trìnhkhác hoặc chương trình con khác Một VI trong một VI khác được gọi là VI con(SubVI) Biểu tượng và cửa sổ nối của VI làm việc giống như liệt kê thông số đồhọa sao cho các VI khác có thể truyền số liệu tới nó như một subVI

LABVIEW được sử dụng rộng rãi trong công nghiệp, trường đại học vàcác viện nghiên cứu trên thế giới như một phần mềm chuẩn để thu nhận dữ liệu

và điều khiển thiết bị LABVIEW đã được sử dụng rộng rãi từ năm 1993 trongviện nghiên cứu không gian, y học, trong nghiên cứu vật lý năng lượng cao, v.v

… LABVIEW có thể biến một máy tính PC thành một dụng cụ ảo dùng cho bất

kỳ phép đo và kiểm tra nào Có ba thành phần quan trọng liên quan đến ứngdụng đo và thử nghiệm đó là: Thu nhận dữ liệu, phân tích và quan sát số liệu

Trang 9

1.1.2 Các ưu điểm và nhược điểm của phần mềm lập trình Labview

a.Ưu điểm

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ìnhkhác Tuy nhiên Labview có một số mặt ưu điểm hơn các chương trình khác nhưPascal, VB, C, Asembly hay Matlab ở những điểm sau:

- Trong khi Pascal, VB, C hay Assembler sử dụng ngôn ngữ lập trình dạng vănbản để tạo ra các đoạn mã thì Lab VIEW sử dụng ngôn ngữ lập trình đồ họa(ngôn ngữ lập trình G) thông qua các biểu tượng (icon) để tạo ra mã điều khiểnchứa trong Block Diagram

- Lập trình nhanh gọn, giao diện GUI của Labview đẹp hơn nhiều so với VBhay Matlab

- Linh động trong việc thiết kế các ứng dụng do sản phẩm phần cứng hỗ trợ đadạng và rất tốt

- Mô phỏng các hệ thống hay thu thập và xử lý dữ liệu dễ dàng hơn do được hỗtrợ nhiều thư viện và các hàm chức năng

- Có khả năng lưu trữ các dữ liệu, các báo cáo, và khả năng lập trình đa lõi

- Labview cho phép kết hợp với nhiều ngôn ngữ truyền thống khác trong quátrình lập trình như C, C++ như thế người sử dụng có thêm nhiều phương pháp

để tiếp cận lập trình không chỉ với một ngôn ngữ Graphic Đồng thời nó còn chophép nhúng các phần mềm khác vào trong Labview như Matlab và Simulink,Microsoft Access, Microsoft Excel, Microsoft SQL service, Texas IstrumentsCode Composer studio, Ansoft RT Circuit design software

- LabVIEW hỗ trợ giao tiếp với phần cứng với nhiều chuẩn giao tiếp truyềnthông như Enthernet, Can, Divice Net, USB, IEEE 1394, GPIB, RS 232, RS

485 Sử dụng LabVIEW có thể tạo ra các ứng dụng biên dịch 32 bi tốc độ cao,

có khả năng chia sẻ với các ứng dụng khác như DLL

- Không như các phần mềm khác bị giới hạn chỉ chạy được trên một số hệ điềuhành thì Labview chạy được trên hầu hết các hệ điều hành hiện nay nhưMicrosoft Windows, Apple, Linux và Sun

Trang 10

- Đặc biệt Labview còn có khả năng điều khiển và giám sát hệ thống quawebsite bằng việc sử dụng chuẩn giao tiếp TCP/IP , active X kết hợp với modulWeb Labview Builder để thiết kế giao diện điều khiển Ứng dụng này mang lạinhiều tiện ích cho quá trình điều khiển như điều khiển thiết bị ở nơi nguy hiểm,

nơi con người không thể đến được

Hình 1.2 : Labview là một ngôn ngữ lập trình mô phỏng trực quan

b Nhược điểm

Trong kỹ thuật điều khiển có rất nhiều phần mềm chuyên dụng, Labviewkhông phải là một phần mềm đa năng, cũng giống như các phần mềm khác thìLabview chỉ dùng cho một số mục đích nhất định như giao tiếp máy tính, đolường, kiểm tra, đánh giá, xử lý, mô phỏng và điều khiển hệ thống, kết nối thiết

Trang 11

bị ngoại vi với máy tính theo thời gian thực Với các mục đích này nó sẽ chokết quả cao hơn so với các ngôn ngữ lập trình khác.

Ví dụ trong điều khiển robot người ta không sử dụng Labview để tínhtoán các bài toán động lực học, nếu có thì chỉ là việc thu thập dữ liệu và xâydựng giao diện điều khiển hệ thống robot

Mặc dù Labview linh động trong việc thiết kế các ứng dụng do sản phẩm phầncứng hỗ rất đa dạng, tuy nhiên hiện nay giá thành các sản phẩm đó khá cao,người sử dụng ở Việt Nam ít có điều kiện để tiếp cận các sản phẩm đó

1.1.3 Ứng dụng của phần mềm LabVIEW trong các lĩnh vực

a.Trong đo lường và trong môi trường công nghiệp

Với các ứng dụng để bàn bao gồm PC, laptop, PXI, PC công nghiệp… Bạn

có thể dễ dàng tích hợp tính năng có chân cắm và I/O bên ngoài đồng thời tậndụng các khả năng lập trình, I/O, phân tích và hiển thị của LabVIEW trên hệđiều hành Windows, Linux và Mac OS

Đối với những ứng dụng đòi hỏi tính di động và độ cứng vững, modulePDA LabVIEW mở rộng ứng dụng LabVIEW cho những thiết bị sử dụngWindows Mobile như PocketPC 2003 hay mới hơn, Palm OS và Windows CE.Với hỗ trợ thu nhận dữ liệu, đồng hồ vạn năng số (DMM), Controller AreaNetwork (CAN) và phần cứng không dây cũng như phân tích, hiển thị dữ liệucài sẵn và các chức năng truyền thông, bạn có thể dễ dàng thiết kế một ứng dụng

đo cầm tay với lập trình đồ họa

Trong môi trường công nghiệp, để đáp ứng tính thời gian thực, bạn có thể

sử dụng module thời gian thực LabVIEW để thực hiện nhiều ứng dụng đa dạngtrên một hệ điều hành thời gian thực như PXI, Compact FieldPoint,CompactRIO, Compact Vision System và Windows PC Để tạo ra phần cứngcho các hệ thống tất định, bạn có thể sử dụng module FPGA LabVIEW Ngoài

ra, module ghi dữ liệu (datalogging) và điều khiển giám sát LabVIEW tích hợpcác thiết bị ghi dữ liệu (logging), cảnh báo và OPC cho các hệ thống côngnghiệp đếm nhiều kênh (high-channel-count)

Trang 12

LabVIEW cũng nhanh chóng thâm nhập vào lĩnh vực giáo dục và họcthuật Nó kết nối chương trình giảng dạy với thế giới thực nhờ một môi trườngphát triển đồ họa sáng tạo, giúp sinh viên hình dung và áp dụng các khái niệm líthuyết vào những thiết kế có thể ứng dụng được LabVIEW cũng cung cấp chocác nhà nghiên cứu một công cụ làm mô hình, thiết kế và lắp đặt trong một môitrường đơn lẻ Nhờ LabVIEW, các nhà nghiên cứu có thể đổi mới liên tục và cácnhà giáo dục có thể thu hút sinh viên và cải tiến cách học những nguyên lí kĩthuật và khoa học của sinh viên.

Mô đun phát triển nhúng NI LabVIEW mới có thể mở rộng LabVIEW tớibất kỳ bộ xử lý 32 bit nhúng nào, đồng thời cung cấp phương pháp đồ họa chocác nhà khoa học cũng như kỹ sư giúp họ thiết kế thuật toán, mô phỏng, tạo mẫu

và triển khai các thiết kế tùy chỉnh cho hệ thống nhúng Với mô đun phát triểnnhúng LabVIEW, người sử dụng có thể thiết kế các thuật toán và lập trình choứng dụng của mình bằng ngôn ngữ dòng dữ liệu đồ họa trực giác Thêm vào đó,các chỉ báo và điều khiển panen trước đồ họa LabVIEW giúp thử nghiệm và gỡrối các mã nhúng nhanh hơn nhiều so với phương pháp thông thường Mô đunphát triển nhúng LabVIEW bao gồm hơn 400 chức năng phân tích cho quá trình

xử lý tín hiệu, đại số học tuyến tính, thống kê và các ngành toán học

Bên cạnh chức năng đo ngoài hộp giúp tích hợp dữ liệu thực trong quátrình, mô đun này còn có khung để tích hợp driver I/O và các gói hỗ trợ bảngnhằm tận dụng bộ xử lý với LabVIEW Người sử dụng trước hết có thể sử dụngmôi trường đồ họa LabVIEW để phát triển các ứng dụng, sau đó tự động tạo ra

mã C để tích hợp với dây chuyền công cụ xử lý đã được lựa chọn của mình

Trang 13

Hình 1.3: Mô hình của các modul phát triển nhúng

Trang 14

Hình 1.4: Điều khiển tốc độ cao của máy Diezel-Casting thủy lực sử dụng

CompactRIO NI LabVIEW và FPGA

Cường độ cạnh tranh toàn cầu đang gây áp lực cho nhà chế tạo máy đểcung cấp máy với thông lượng cao hơn, giảm chi phí điều hành và thêm nhiềutính năng cải thiện năng suất, hiệu quả tăng lên Vì lý do này, các nhà chế tạomáy hiện nay đã chuyển từ thiết kế đơn mục đích máy móc để tạo ra linh hoạt và

có hiệu quả cao các máy đa năng bằng việc áp dụng hệ thống kiểm soát hiện đại

và các thuật toán tinh vi và tích hợp thiết bị điện tử cao cấp vào máy cơ khí của

họ Nhà chế tạo máy Best-in-class đang sử dụng phần cứng các công cụ phầnmềm của National Instruments để thiết kế nên hệ thống (hình 1.4)

Trang 16

Hình 1.5: Sử dụng Labview và các modul đi kèm để điều khiển và giám sát hệ

thống điện sử dụng năng lượng gió

Các mô đun của NI cho phép mở rộng các hệ thống để đáp ứng yêu cầu ngàycàng tăng của công nghệ, nhanh chóng phát triển năng lượng gió

Hình 1.6: Thiết kế Robot giống người sử dụng LabVIEW

Đại học Virginia Tech, Hoa kỳ phát triển Robot giống người sử dụng LabVIEW

1.2 Môi trường lập trình LabVIEW

Trang 17

a Giao diện lập trình cơ bản của LabVIEW

- VI (Vitual Instrument) - Thiết bị ảo

Lập trình Labview được thực hiện trên cơ sở là các thiết bị ảo (VI) Cácđối tượng trong các thiết bị ảo được sử dụng để mô phỏng các thiết bị thực,nhưng chúng được thêm vào bởi phần mềm Các VI tương tự như các hàm tronglập trình bằng ngôn ngữ

- Front Panel và Block Diagram

Một chương trình trong LabView gồm hai phần chính: một là giao diệnvới người sử dụng (Front Panel), hai là giao diện dạng sơ đồ khối cungcấp mã nguồn (Block Diagram) và các biểu tượng kết nối (Icon/Connector).+ Front Panel

Front panel là một panel tương tự như panel của thiết bị thực tế Ví dụ cácnút bấm, nút bật, các đồ thị và các bộ điều khiển Từ Front Panel người dùngchạy và quan sát kết quả có thể dùng chuột, bàn phím để đưa dữ liệu vàosau đó cho chương trình chạy và quan sát Front Panel thường gồm các bộđiều khiển (Control) và các bộ hiển thị (Indicator) Control là các đối tượngđược đặt trên Front Panel để cung cấp dữ liệu cho chương trình Nó tương tựnhư đầu vào cung cấp dữ liệu Indicator là đối tượng được đặt trên Front Paneldùng để hiện thị kết quả, nó tương tự như bộ phận đầu ra của chương trình

Hình 1.7: Giao diện Front Panel của chương trình LabVIEW

Trang 18

Block diagram của một VI là một sơ đồ được xây dựng trong môitrường LabVIEW, nó có thể gồm nhiều đối tượng và các hàm khác nhau đểtạo các cấu trúc lệnh để chương trình thực hiện Block Diagram là một mãnguồn đồ họa của một VI Các đối tượng trên Front Panel được thể hiện bằngcác thiết bị đầu cuối trên Block Diagram, không thể loại bỏ các thiết bịđầu cuối trên Block Diagram Các thiết bị đầu cuối chỉ mất đi sau khi loại

bỏ đối tượng tương ứng trên Front panel Cấu trúc của một Block Diagramgồm các thiết bị đầu cuối (Terminal), nút (Node) và các dây nối (wire)

Hình 1.8: Giao diện Block Diagram của chương trình LabVIEW

- Icon & Connector

Icon (biểu tượng): là biểu tượng của VI, được sử dụng khi từ một VImuốn sử dụng chức năng của một VI khác Khi đó VI đó được gọi là SubVI, nótương đương như một chương trình con trong các ngôn ngữ khác

Connector (đầu nối): là một phần tử của Terminal dùng để nối các đầu vào vàđầu ra của các VI với nhau khi sử dụng 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 sổ Front Palette và Block Diagram Khicác VI được phân cấp và module hóa thì ta có thể dùng chúng như cácchương trình con Do đó để xây dựng một VI ta có thể chia thành nhiều

VI thực hiện các chức năng đơn giản và cuối cùng kết hợp chúng lại vớinhau thành một khối để thực thi những công việc cụ thể trong một chương

Trang 19

b Các kỹ thuật lập trình và các thư viện cơ bản của LabVIEW:

Khác với những ngôn ngữ lập trình khác, ngôn ngữ lập trình LabVIEWngoài những menu quen thuộc giống như những ngôn ngữ khác LabVIEW còn

sử dụng các bảng: Tools Palette, Controls Palette, Function Palette, chính nhữngbảng này làm cho LabVIEW khác với các ngôn ngữ sử dụng những câulệnh rườm rà khó nhớ Các bảng đó cung cấp các chức năng để người sử dụng

có thể tạo và thay đổi trên Front Panel và Block Diagram bằng các biểutượng, các hình ảnh trực quan giúp cho việc sử dụng trở nên dễ dàng, linhđộng hơn

- Tool Palette

Tool Panel xuất hiện trên cả Font Panel và Block Diagram Bảng này chophép người sử dụng có thể xác lập các chế độ làm việc đặc biệt của con trỏchuột Khi lựa chọn một công cụ, biểu tượng của con trỏ sẽ được thay đổi theobiểu tượng của công cụ đó Nếu thiết lập chế độ tự động lựa chọn công

cụ và người sử dụng di chuyển con trỏ qua các đối tượng trên Front Panelhoặc Block Diagram, LabVIEW sẽ tự động lựa chọn công cụ phù hợp trên bảngTool Palette

Hình 1.9: Tool Palette và các công cụ trong Tool Palette

Trang 20

Bảng điều khiển chỉ duy nhất xuất hiện trên Front panel Bảng điều khiểnchứa các bộ điều khiển (control) và các bộ hiển thị (Indicator) Bảng điều khiểnđầy đủ được minh họa như hình bên đưới Để mở bảng controls palette ta vàomenu View, chọn controls palette Bảng điều khiển được sử dụng để người sửdụng thiết kế cấu trúc mặt hiển thị gồm các thiết bị ví dụ: các công tắc, các loạiđèn, các loại màn hình hiển thị… Với bảng điều khiển này, người sử dụng có thểchọn các bộ thiết bị chuẩn do hãng sản xuất cung cấp ví dụ công tắc nhưng cũng

có thể chọn các thiết bị do người sử dụng tự xây dựng Bảng điều khiển dùng đểcung cấp dữ liệu đầu vào và hiển thị kết quả đầu ra

Hình 1.10: Controls Palette (bảng điều khiển)

Trên bảng controls palette thể hiện khá phong phú các bộ điều khiển khácnhau như trên hình Ta có thể sử dụng tất cả các thanh phần của bảng controls,

ở hình trên mục Express đang được mở, sau đây ta xem qua một số bộ điềukhiển điển hình của LabVIEW

+ Numeric controls / Indicators

Bộ công cụ này dùng để hiện thị và điều khiển dữ liệu dạng số trongchương trình LabVIEW

+ Boollean controls /Indicators

Bộ công cụ này cung cấp hai giá trị là True và False Khi thựchiện chương trình người sử dụng sử dụng chuột để điều khiển giá trị của thiết bị

Trang 21

lập ở chế độ là các Control Còn nếu ở chế độ là các Indicator thì giá trị khôngthay đổi vì chúng chỉ là các thiết bị hiển thị.

+ String & Path

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 hoặc chỉ đường dẫn đến các filecần hiển thị

- Function palette

Bảng Functions Palette chỉ xuất hiện trên Block Diagram Bảng này chứacác VI và các hàm mà người sử dụng thiết kế để tạo dựng nên các khốilưu đồ Với bảng Function Palette, người lập trình thực hiện các lệnh khác nhaubằng các lưu đồ như: các phép tính số học, các biểu thức toán học, các vòng lặp,phép lựa chọn thông qua các nhóm hàm, chức năng đã được cung cấp bên cạnh

đó bảng này có thể tạo ra và sử dụng lại các hàm, chức năng mà người sử dụng

tự xây dựng Các hàm toán học được minh họa thông qua các biểu tượng Khimuốn lựa chọn thực hiện một hàm nào đó thì người sử dụng chọn biểu tượng thểhiện cho hàm đó và có thể kéo thả ở bất kỳ vị trí nào trên Block Diagram sau đóxác định những đầu vào và đầu ra cần thiết

Trang 22

c Các kiểu dữ liệu

LabVIEW hỗ trợ cho tất cả các dạng dữ liệu Các kiểu dữ liệu dạngBoolean, bytes, string, array, file, text, cluster và dạng số có thể được chuyểnđổi một cách dễ dàng sang các dạng cấu trúc Sau đây chúng ta xem xét một vàidạng dữ liệu:

- Variables (biến)

Trong quá trình lập trình cần thiết phải sử dụng tới các biến.Thông qua các biến, người lập trình có thể thực hiện được việc xử lý và thayđổi dữ liệu một cách thuận lợi Trong LabVIEW, các biến được sử dụngdưới 2 dạng là biến toàn cục (global variables) và các biến địa phương(local variables)

+ Global variables (biến toàn cục)

Biến toàn cục được sử dụng để thực hiện công việc truyền và lưu trữ

dữ liệu giữa một vài VI Biến toàn cục được coi là một đối tượng trongLabVIEW Khi ta tạo ra một biến toàn cục LabVIEW sẽ tạo ra một “VI toàncục” đặc biệt Để tạo ra các biến toàn cục, ta lựa chọn chúng trên menu

“Structs and Constants function” sau đó đặt chúng lên Diagram Tiếp tục cầnxác định cho chúng kiểu dữ liệu thông qua các kiểu dữ liệu đã sử dụng thôngqua các Controls hoặc các Indicators Chúng ta cần chú ý là đối với mỗi biếntoàn cục chúng ta cần phải tạo ra một VI với một tên riêng duy nhất Đốivới các biến toàn cục chúng ta cũng cần xác định chế độ chỉ cho phép ghi hoặcchỉ cho phép đọc Đối với việc truy xuất vào biến toàn cục sẽ thực hiện rấtnhanh chóng đối với các kiểu dữ liệu đơn giản như numerics và Boolean.Tuy nhiên, khi ta sử dụng biến toàn cục để lưu trữ và xử lý các dữ liệu dướidạng mảng (arrays), Clusters hay các sâu (string) lớn thì thời gian cũngnhư bộ nhớ cần thiết để xử lý chúng lại sẽ tương đối lớn Vì nó đòi hỏi một vàidịch vụ quản lý bộ nhớ mỗi khi các biến đó gọi tới Khi sử dụng cácbiến toàn cục cũng như các biến cục bộ thì một vấn đề có thể gặp phải là

“sự tranh chấp dữ liệu” Biến sử dụng trong Labview không hoàn toàn giống

Trang 23

khi hai hoặc nhiều hơn các đoạn mã lệnh cùng thực hiện song song cùng thayđổi giá trị của một biến Đầu ra của VI phụ thuộc vào thứ tự được thực thi củacác dòng lệnh Bởi vì nếu không có sự phụ thuộc dữ liệu giữa các biểuthức khác nhan thì sẽ không xác định được cái nào chạy trước Nếu sửdụng các biến toàn cục trong Vis mà được thực hiện song song, thì ta có thể sửdụng một biến toàn cục thêm vào để xác định khi nào dữ liệu được phép thayđổi và được đọc giá trị mới.

+ Local variable

Cho phép người sử dụng đọc hoặc viết thông tin lên một trong nhữngthiết bị điều khiển hoặc thiết bị hiển thị trên Front Panel Để tạo một biếnđịa phương, chọn Local Variable từ bảng Structs & Constant Khi sử dụng biếnđịa phương cần chú ý một số thông tin sau

* Các biến địa phương bộ chỉ có tác dụng duy nhất trên các thiết bị điềukhiển hoặc thiết bị hiển thị mà cùng ở trên một lược đồ Ta không thể sử dụngbiến địa phương để truy cập tới một điều khiển mà không cùng trên

một lược đồ

* Ta có thể có rất nhiều các biến địa phương cho mỗi thiết bị điều khiển hoặcthiết bị hiển thị Tuy nhiên điều đó có thể gây ra sự phức tạp, cho rằng điềukhiển của bạn thay đổi trạng thái một cách khó hiểu bởi vì bạn ngẫu nhiên lựachọn sai các phần tử trong một hoặc nhiều biến địa phương

* Giống như biến toàn cục, bạn có thể sử dụng biến địa phương không cómột “dòng dữ liệu” hợp lệ khác sử dụng

- String

Kiểu string (chuỗi) là một kiểu dữ liệu dạng chuỗi ký tự Ta cóthể sử dụng chuỗi tham gia tính toán xử lý Để lựa chọn các ô text lưu trữ dữliệu kiểu string ta chọn từ ô “String & path” từ control palette như hình bêndưới Không chỉ vậy có thể thực hiện việc chuyển đổi từ dạng string sang cácdạng khác như dạng số, dạng mảng (array) Trong LabVIEW, đôi khi người sửdụng có thể cần phải tạo ra hoặc hiển thị một số ký tự trong bảng mã ASCII mà

Trang 24

cung cấp một số từ đại diện cho các từ đó, khi cần thể hiện các ký tự đó ta chỉcần gõ vào những từ đại diện cho chúng trên Front Panel.

Hình 1.12: Thư viện String (chuỗi) trong LabVIEW

- Array

Trong việc lập trình đôi khi chúng ta cần xử lý một số các dãy số mà mỗiphần tử trong đó có thể được xử lý như từng thành phần riêng biệt, vì vậy mà tacần tới mảng Các mảng ở đây có thể là mảng một chiều (một cột hoặc một véctơ), mảng 2 chiều, mảng 3 chiều Labview hỗ trợ cho người lập trình có thể tạo

ra các mảng của mình mà trong đó chứa dữ liệu kiểu numberic, string,boolean… và rất nhiều dạng dữ liệu khác Các mảng thường được tạo ra bởi cácvòng lặp Việc sử dụng vòng lặp là tốt cho các ứng dụng bởi vì nó xác định mộtvùng bộ nhớ xác định từ khi nó bắt đầu Nếu không dùng các vòng lặp thìLabVIEW không có cách nào biết được khi nào vòng lặp lại được lặp lại, việcquản lý bộ nhớ có thể sẽ được gọi lại nhiều lần và làm chậm việc xử lý Người

sử dụng có thể sử dụng chức năng xây dựng mảng Nó còn cho phép ràngbuộc mảng gốc vào các mảng khác

+ Array Constant

Sử dụng hàm này sẽ tạo ra một mảng với các phần tử là các hằng số Để

Trang 25

nào từ bảng Function Palette và đặt nó vào bên trong mảng hằng số Tất cả cácthành phần của mảng sẽ có dạng này Sử dụng Operating Tool để nhập giá trịcho từng thành phần của mảng Ta không thể thay đổi được giá trị của mảngtrong khi VI chạy.

+ Array Max & Min

Hàm này có chức năng tìm kiếm số lớn nhất và số nhỏ nhất củacác số trong mảng Hàm này thường trả về kết quả để hiển thị Mảng có thể làmảng n chiều của bất kỳ loại dữ liệu nào

Giá trị lớn nhất (max value) là cùng dạng dữ liệu như là các thành phầntrong mảng các số

Chỉ số lớn nhất (max index) là chỉ số của phần tử lớn nhất

Giá trị nhỏ nhất (min value) là của cùng dạng dữ liệu như là các thành phầntrong mảng

Chỉ số nhỏ nhất (min index) là chỉ số của giá trị nhỏ nhất

- Các cấu trúc điều khiển luồng chương trình

Trong bất cứ ngôn ngữ lập trình nào, ta cũng hay thường gặp và làm việcvới các phần tử điều khiển luồng chương trình, đó là các cấu trúc (Structures).Các cấu trúc điều khiển luồng chương trình trong một VI có 5 cấu trúc là: ForLoop, While Loop, Case Structure, Sequence Structure và Fomula Node

Trang 26

Hình 1.13: Thư viện Structures (cấu trúc điều khiển luồng chương trình)

Các cấu trúc đó thực hiện tự động khi dữ liệu đầu vào của chúng cósẵn và thực hiện các công việc theo ý muốn cho tới khi hoàn thành thì mới cungcấp dữ liệu tới các dây nối dữ liệu đầu ra Tuy nhiên, mỗi cấu trúc thực hiện theocác quy tắc riêng (Sub Diagram) của nó SubDiagram là tập hợp của các Node,Wire và Terminal bên trong đường viền của Structure Mỗi cấu trúc For Loop vàWhile loop có một SubDiagram Cấu trúc Case và Sequence có thể cónhiều SubDiagram, nhưng chỉ có một SubDiagram có thể thực hiện tại mộtthời điểm Cách xây dựng các SubDiagram cũng giống như việc xây dựngcác Block diagram mức đầu Việc truyền dữ liệu vào và ra các Structure thôngqua các Terminal mà được tự động tạo ra ở nơi dây nối đi qua đường viền củacấu trúc, các Terminal này được gọi là các đường ống (Tunel).Các cấu trúc điềukhiển chương trình trong LabVIEW nằm ở Functions <> Structures Palette

d SubVI và cách xây dựng SubVI

- Khái niệm SubVI

Khi thiết kế chương trình trong LabView, ta thường chú ý thiết kế các VI

và xác định đầu vào và đầu ra cho chúng Khi đó mỗi VI thực hiện một chứcnăng xác định Trong việc lập trình, các VI đó có thể được sử dụng trong cácBlock Diagram của một VI khác ở mức độ cao hơn Khi đó VI cao hơn đó đượcgọi là một SubVI Như vậy, một SubVI ta có thể coi như một chương trình

Trang 27

không bị hạn chế số SubVI và mỗi SubVI không bị hạn chế việc gọi đến cácSubVI Với tiện ích này, một chương trình trên Labview sẽ trở nên dễ hiểu, gọngàng và dễ gỡ rối hơn.

đó Để tạo Icon, ta bấm đúp chuột trái vào biểu tượng Icon ở góc bên phía trêncủa Front Panel hoặc bấm chuột phải vào biểu tượng Icon và chọn Edit Icon…Sau khi chọn Edit Icon… ta dùng các công cụ ở bên trái cửa sổ để tạo rakiểu Icon trong vùng soạn thảo điểm lớn Hình ảnh mặt định của Icon xuấthiện trong vùng soạn thảo Phụ thuộc vào dạng màn hình đang sử dụng, ta

có thể thiết kế kiểu Icon ở dạng đơn sắc, 16 màu hoặc 256 màu Màumặc định của Icon là Đen - Trắng(Black-White), nhưng nó có thể bấm vàomục chọn màu để chuyển sang 16 màu hoặc 256 màu Ta có thể copy mộtIcon thành một Icon đen – trắng, và ngược lại

Trang 28

Hình 1.14: Icon mặc định và Icon sau khi được tạo

Xác định kiểu Connector Terminal: SubVI nhận dữ liệu tới và gửi dữ liệuthông qua các Terminal ở trong ô vuông Connector của nó Ta có thể xác địnhcác mối liên hệ bằng cách chọn số Terminal cần thiết cho VI và gán một FrontPanel Control hoặc Indicator cho mỗi Terminal Nếu Connector của VI chưaxuất hiện ở góc trái của Front Panel thì ta chọn Show Connector từ menu củaIcon Connector thay thế Icon ở góc bên phải phía trên của Front Panel.Kiểu Terminal ban đầu được chọn cho VI có số các Terminal bên phải củaConnector bằng số Indicator trên Front panel và số Terminal bên tráiConnector bằng số Control trên Front Panel Nếu điều này không thể có đượcthì phần mềm sẽ chọn kiểu Terminal phù hợp gần nhất Mỗi hình chữ nhậttrong Connector sẽ tương ứng với một đầu vào hoặc đầu ra từ VI

Ta có thể chọn một kiểu Terminal khác trong menu Pattern Ta có thểthêm hoặc loại bỏ bớt Terminal bằng cách chọn Add Terminal hoặc chọnRemove Terminal Sau khi đã chọn được Connector Terminal Pattern ta phảigán các Front Panel Control và Indicator cho các Terminal theo các bước sau:

Trang 29

* Bấm vào một Termianl của Connector, sau đó bấm vào một Front PanelControl hoặc Front Panel Indicator muốn gán cho Terminal đã chọn Mộtkhung bao xung quanh Front Panel của Control hoặc Indicator được chọn xuấthiện và nhấp nháy.

* Bấm vào một vùng mở của Front Panel và bấm chuột, khung nhấp nháy biếnmất Termianl và Front Panel Control hoặc Indicator đã chọn được gắn vớinhau

- Tạo một SubVI từ một phần của VI

Để biến đổi một phần của VI thành một SubVI được gọi từ VI khác, chọn mộtphần trong Block Diagram của VI, sau đó chọn Edit\Create SubVI Phần đó sẽ

tự động thành một SubVI Các Control và Indicator được tự động khai báo choSubVI mới SubVI mới tự động nối dây với các đầu dây hiện có và một Icon củaSubVI sẽ thay thế phần được chọn trong Block Diagram của VI gốc Đối vớiSubVI này ta có thể điều chỉnh được Icon & Connector tương tự như trên

e.Thư viện mô phỏng Control Design & Simulation

Thư viện này chứa tất cả các hàm dùng trong quá trình mô phỏng hệ thốnggiống như các hàm ta hay dùng để mô phỏng trong Matlab

Trang 30

Hình 1.15: Thư viện hàm mô phỏng Simulation

Để sử dụng được thư viện này thì bên cạnh việc cài đặt Labview ta phải càiđặt thêm modul Control Design & Simulation Chú ý các Vis có trong thư việnchỉ được sử dụng trong một khung Control & Simulition Loop, khung này nằmđộc lập ở góc phải phía trên của thư viện Simulink, khung này phải được kéo ratrước tiên sau đó mới kéo các hàm khác ra được

- PID and Fuzzy Logic

Thư viện này chứa các bộ PID với các chức năng khác nhau, được dùngtrong quá trình thiết kế các hệ thống điều khiển thực và các hàm phục vụ choviệc thiết kế bộ điều khiên mờ ( Fuzzy )

Trang 31

Hình 1.16: Thư viện hàm chứa các bộ điều khiển PID và

hàm FuzzyLogic

Ngoài ra LabVIEW còn cung cấp một số hàm khác như: Array,Comparison, Communication, Instrument I/O, Tutorial, Advanced, InstrumentDrivers, Application Control…

Cũng giống như một số ngôn ngữ lập trình khác thì trong Function Palette

và Control Palette đều có cửa sổ Search để tìm kiếm các công cụ và các hàm cótrong thư viện của Labview, người sử dụng chỉ việc gõ từ gợi nhớ để tìm kiếm,điều này rất thuận tiện trong quá trình lập trình

Hình 1.17: Cửa sổ tìm kiếm Search trong Labview

Một số phím tắt thường sử dụng trong quá trình thao tác với Labview

Trang 32

Ctrl + B: loại bỏ các dây bị lỗi

Ctrl + E: chuyển đổi mã giao diện

Ctrl + L: kiểm tra lỗi

1.2.2 Kỹ thuật lập trình nâng cao trong Labview

a.Liên kết thiết bị ảo với thiết bị phần cứng

Thiết bị ảo được xem như một công cụ liên kết giữa phần cứng và phầnmềm của thiết bị đo lường Hãng national Instruments đã phát triển phần cứng

và phần mềm điều khiển để thu nhận dữ liệu( DAQ), phân tích, biểu diễn và lưugiữ dữ liệu ở các dạng khác nhau Phần mềm điều khiển là một chương trình nốighép giữa thiêt bị phần cứng và các chức năng mở rộng của các thiết bị cơ bản.Phần mềm ứng dụng có thể là Labview, LabWindows/CVI và các công cụ đolường cơ bản, mở rộng để hiển thị và phân tích các kết quả của thiết bị ảo

Thiết bị ảo được sử dụng để tạo ra hệ thống theo yêu cầu của kiểm tra, đolường và kỹ thuật tự động hóa, phù hợp với phần cứng nối ghép và phần mềmthành phần Nếu hệ thống thay đổi, ta có thể thay đổi thiết bị ảo mà không cầnphải thay đổi phần mềm và phần cứng

Nhiệm vụ cơ bản của các hệ thống đo lường là đo và tạo ra các tín hiệu vật

lý thực tế Điểm khác biệt lớn nhất của các thiết bị là phương thức truyền tínhiệu Một thiết bị DAQ (Data Acquisition ) đa năng cho phép liên kết trực tiếpvới bus của máy tính thông qua khe cắm mở rộng, nó có thể truy xuất trực tiếptín hiệu dạng số và cho phép biến đổi tín hiệu vào thành tín hiệu dạng số để gửiđến máy tính Phần mềm ứng dụng sử dụng các dữ liệu đó để đo lường, điềukhiển và hiển thị dữ liệu, đồng thời gửi dữ liệu đó trở lại thiết bị đo lường Thiết

bị DAQ đa năng rất thích hợp để số hóa dữ liệu của thiết bị đo lường

Trang 33

b Mối quan hệ giữa Labview với thiết bị DAQ

Máy tính thu nhận dữ liệu thô, phần mềm nhận dữ liệu thô đó và chuyểnđổi thành dạng chuẩn mà người sử dụng có thể hiểu được Phần mềm mã hóa dữliệu thành dạng có thể thể hiện trong đồ thị, biểu đồ Phần mềm không chỉ tácđộng vào hệ thống DAQ mà còn tác động đối với thiết bị DAQ khi chúng thunhận dữ liệu

Đặc trưng cho phần mềm của DAQ bao gồm bộ điều khiển và phần mềmứng dụng Nhưng bộ điều khiển chỉ có tác động đối với một loại thiết bị nhấtđịnh, chúng bao gồm các lệnh điều khiển chức năng thiết bị Phần mềm ứngdụng gửi các lệnh tới bộ điều khiển Labview bao gồm các Vis cho phép thayđổi cấu trúc dữ liệu nhận được và gửi dữ liệu tới thiết bị DAQ Labview DAQVis có thể gọi tơi các NI – DAQ ghép nối với chương trình ứng dụng ( API-Application Program Interface) Trong NI-DAQ API chứa các công cụ và cáchàm cơ bản để liên kết với thiết bị phần cứng của thiết bị DAQ NI-DAQ làphần mềm điều khiển của thiết bị NI-DAQ, nó thiết lập giao tiếp giữaLabVIEW với thiết bị đo lường Hãng NI chỉ cung cấp phần mềm điều khiểncho liên kết với một số bộ công cụ đo lường đặc biệt, bao gồm: NI-488.2, NI-VISA và IVI

Hình 1.18: Mối quan hệ giữa Labview, phần mềm điều khiển và phần cứng

- Cấu trúc cơ bản của DAQ

Ngày này, các nhà khoa học và các kỹ sư sử dụng máy tính PC với PCI,PXI/CompactPCI, PCMCIA, USB, IEEE 1394, ISA, cổng nối tiếp, cổng song

Labview VIs

Phần mềm điều khiển

Phần cứng đo lường

Trang 34

chuyển chúng tới bộ nhớ máy tính Mức độ chính xác của kết quả từ hệ thốngthu nhận dữ liệu tới máy tính phụ thuộc vào mỗi phần tử trong hệ thống (Hình1.19).

Hình 1.19: Các phần tử cơ bản trong hệ thống DAQ.

Các thành phần của hệ thống bao gồm:

- Máy tính PC (Personal Computer)

- Bộ chuyển đổi (Transducers)

- Điều hoà đường truyền tín hiệu (Signal Conditioning)

- Phần cứng DAQ ( DAQ Hardware)

- Direct memory access), điều này làm tăng tốc độ truyền khi truyền dữ liệu từphần cứng chuyên dụng tới bộ nhớ máy tính Phương thức truyền đó giúp bộ xử

lý không bị nghẽn khi di chuyển dữ liệu và trong các thao tác xử lý phức tạp.Việc chọn phương thức truyền ảnh hưởng đến năng suất truyền của thiết bị

Trang 35

nhập đĩa và các phân vùng của đĩa cứng làm ảnh hưởng lớn tới dòng dữ liệu vàtốc độ truyền dữ liệu Đối với những hệ thống có tần số tín hiệu lớn đòi hỏi đĩacứng của máy tính PC phải có tốc độ cao và trên đĩa có đủ khoảng trống đểchứa dữ liệu Thêm vào đó, đĩa cứng phải có đủ khoảng trống để hệ điều hànhchạy và thực hiện sắp sếp dữ liệu vào đĩa ứng dụng đòi hỏi xử lý thời gian thựccủa tín hiệu tần số lớn cần có tốc độ xử lý cao, bộ xử lý 32-bit kết hợp với bộđồng xử lý hoặc bộ xử lý chuyên dụng như là bo mạch DSP (digital signalprocessing) Tuy nhiên, với những ứng dụng chỉ cần thực hiện việc đọc dữ liệu

ra trong 1 hoặc 2 giây thì những máy tính cấp thấp cũng có thể đáp ứng

+ Bộ chuyển đổi và điều hoà đường truyền tín hiệu

Bộ chuyển đổi có khả năng chuyển đổi hiện tượng vật lý thành tín hiệuđiện đưa đến DAQ của hệ thống đo lường Trong một số trường hợp, tín hiệuđiện nhận được tương ứng với tín hiệu vật lý của thiết bị, tín hiệu điện nhậnđược từ bộ chuyển đổi chính là tham số đánh giá dải thông tin đầu vào của thiết

bị DAQ

Điều hoà đường truyền tín hiệu giúp khuếch đại tín hiệu mức thấp đểtăng độ phân giải và giảm bớt nhiễu, đồng thời tách và lọc tín hiệu để có kếtquả đo chính xác Ngoài ra, một số bộ chuyển đổi sử dụng điện áp đầu vào làmtín hiệu kích để tạo ra điện áp trên đầu ra Trong thực tế, tín hiệu đo lường chịuảnh hưởng của môi trường xung quanh làm thay đổi kết quả đo lường Do đó,modul điều hoà đường truyền tín hiệu là không thể thiếu trong hệ thống DAQ.+ Phần cứng DAQ

Đầu vào analog: Đặc điểm kỹ thuật của đầu vào analog trên đa số sảnphầm DAQ cho biết số của kênh, tốc độ lấy mẫu, mức lượng tử hoá và khoảngđầu ra

Số của kênh: Số của kênh đầu vào analog là định nghĩa của cả đầu vào đơn

và đầu vào vi sai dành cho thiết bị có cả hai dạng đầu vào đó Các đầu vào đơn

có cùng tham chiếu Những đầu vào đó được đặc trưng khi tín hiệu đầu vào ởmức thấp ( lớn nhất là 1V), thì sớm pha giữa tín hiệu nguồn với đầu vào

Trang 36

dụng chung một tham chiếu Nếu tín hiệu không phù hợp với các tiêu chuẩn thìkhông thể sử dụng đầu vào vi sai Với đầu vào vi sai, mỗi đầu vào căn cứ mộttham chiếu riêng, điều này làm giảm nhiễu bởi vì những kiểu nhiễu phổ biến bịloại bởi sự sớm pha và không thể đưa đến đầu ra.

Tốc độ lấy mẫu: Khoảng lấy mẫu là tham số xác định cho quá trình chuyểnđổi Tốc độ lấy mẫu lớn thì sẽ có được nhiều dữ liệu trong một đơn vị thời gian,

do đó trong trường hợp này biểu diễn tín hiệu gốc tốt hơn

Độ phân giải: Độ phân giải của thiết bị DAC biểu thị bằng số bít của tínhiệu số đầu ra Số bít càng nhiều thì sai số lượng tử hoá càng nhỏ, độ chính xáccàng cao Hình 3 thể hiện dạng sóng hình sin và hình ảnh số hoá tương ứng nhậnđược bởi ADC theo tiêu chuẩn 3 bít

Dải: Dải được xem là khoảng từ giá trị điện áp thấp nhất đến giá trị điện ápcao nhất mà ADC có thể lượng tử hoá được

Độ rộng mã hoá: Thiết bị DAQ có dải, độ phân dải và những tiện ích sẵn

có thể xác định được sự thay đổi rất nhỏ của điện áp Sự thay đổi trong điện

áp được thể hiện ở bít có trọng số nhỏ nhất (LSB) của giá trị digital và đượcgọi là độ rộng mã hoá

Đầu ra analog:Đầu ra analog thường được bố trí phụ thuộc vào tác nhânkích thích của hệ thổng DAQ Đặc điểm kỹ thuật của bộ DAC ( digital-to-analog converter) quyết định chất lượng của tín hiệu đầu ra sản phẩm như: thờigian xác lập, tốc độ chuyển đổi và độ phân giải đầu ra

Thời gian xác lập: Thời gian xác lập là thời gian từ khi tín hiệu số đượcđưa vào đến khi dòng điện hoặc điện áp đầu ra ổn định

Tốc độ chuyển đổi: Tốc độ chuyển đổi là giá trị tốc độ lớn nhất của DAC

để trên đầu ra có tín hiệu Thời gian xác lập và tốc độ chuyển đổi trong quá trìnhlàm việc quyết định sự thay đổi của mức tín hiệu đầu ra DAC Vì vậy, DAC cóthời gian xác lập nhỏ và tốc độ chuyển đổi lớn có thể tạo ra tín hiệu cao tần, bởi

vì thời gian xác lập nhỏ cần thiết cho việc thay đổi chính xác mức điện áp đầura

Trang 37

Độ phân giải đầu ra: Độ phân giải là tỉ số giữa giá trị cực tiểu với giá trịcực đại của điện áp đầu ra Về trị số tỉ số này tương ứng tỉ số giá trị cực tiểu đốivới giá trị cực đại của tín hiệu số đầu vào.

Vào, ra tín hiệu số (DIO): Vào ra tín hiệu số thường được ghép nối với hệthống PC DAQ tới các quy trình điều khiển, tạo ra các mô hình kiểm tra và gửichúng tới thiết bị ngoại vi Trong một số trường hợp, tham số quan trọng gồm

số đường digital sử dụng, tốc độ lấy dữ liệu từ dữ liệu digital nguồn trên cácđường đó và khả năng truyền của các đường đó ứng dụng phổ biến nhất củaDIO là truyền dữ liệu giữa máy tính và các thiết bị như dữ liệu bộ xử lý, máy in.+ Phần mềm (Software)

Phần mềm chuyển đổi giữa PC và thiết bị phần cứng DAQ giúp thu nhận

dữ liệu, phân tích và hiển thị Phần cứng DAQ không có phần mềm thì không cótác dụng và phần cứng DAQ với phần mềm chất lượng kém thì hầu như không

có tác dụng Đa phần các ứng dụng DAQ đều sử dụng phần mềm điều khiển.Phần mềm điều khiển là lớp phần mềm tác động trực tiếp lên thanh ghi củaphần cứng DAQ để quản lý hoạt động của thanh ghi và hợp thành một thể thốngnhất với tài nguyên của máy tính, cũng như là với các ngắt xử lý, DMA và bộnhớ Phần cứng DAQ, máy tính và phần mềm ngày càng phát triển tinh vi vàphức tạp, điều đó càng cho thấy tầm quan trọng và giá trị của phần mềm điềukhiển tốt

Phần mềm ứng dụng:Phần mềm ứng dụng cũng như phần mềm điều khiển

là để điều khiển phần cứng DAQ Lợi thế của phần mềm ứng dụng là chúng cóthể phân tích và làm tăng hiệu quả của phần mềm điều khiển Phần mềm ứngdụng kết hợp điều khiển thiết bị đo lường (GPIB, RS-232, and VXI) và thunhận dữ liệu Phần mềm ứng dụng truyền thống là chương trình C, LabVIEW,phần mềm ứng dụng với các chương trình đồ hoạ giúp phát triển hoàn thiệnthiết bị đo lường, kết quả thu được và điều khiển ứng dụng

Trang 38

CHƯƠNG 2: CẤU TRÚC LẬP TRÌNH LABVIEW VỚI CARD

PCI 1711 VÀ PCI 1727 2.1 Giới thiệu chung về một số thiết bị hỗ trợ liên kết LabVIEW với thế giới thực

2.1.1 Các thiết bị của hãng Advantech

Advantech PCI là một sản phẩm của hãng điện tử Advantech Taiwan.Advantech là một công ty chuyên sản xuất những sản phẩm giao tiếp I/O vớimáy tính có độ tin cậy, chính xác và giá cả phải chăng Do đó các dòng sảnphẩm của Advantech đang ngày càng được ứng dụng nhiều trong các lĩnh vựccông nghiệp và trong các phòng thí nghiệm ứng dụng như: giám sát, kiểm soátthu thập dữ liệu, kiểm tra tự động để thu thập dữ liệu trên máy tính và các hệthống tự động Trong các sản phẩm đó có dòng sản phẩm Advantech PCI, đây làdòng sản phẩm dùng để giao tiếp với máy tính để thực hiện các chức năng : xuấtnhập các dữ liệu vào ra số DI/DO( Digital output/input ) & các tín hiệu tương tựAI/AO ( Analog input/output ) và chức năng như một bộ đếm hay timer C/T( Counter/Timer ).Việc tích hợp nhiều kênh ( channel ) trong một card giúp chodòng sản phẩm này có thể giúp cho người sử dụng thuận tiện hơn trong việc lậptrình thu thập nhiều dòng dữ liệu hơn do đó việc điều khiển các hệ thống tựđộng phức tạp trở nên dễ dàng hơn Trong các dòng sản phẩm PCI củaAdvantech có thể dễ dàng liệt kê ra các card thông dụng hiện nay với các chứcnăng và số lượng kênh đa dạng khác nhau như :

- Card PCI – 1710 & PCI – 1710HG

16 kênh Single Ended đầu vào A/D

12 bit biến đổi A/D với tần số định mức 100 KHz

Trang 39

12 bit biến đổi A/D với tần số định mức 100 KHz

32 kênh Single Ended đầu vào A/D

12 bit biến đổi A/D với tần số định mức 100 KHz

- Card PCI – 1742U

16 kênh Single Ended đầu vào A/D

16 bit biến đổi A/D với tần số định mức 1 MHZ

2 kênh vào ra Analog 16 bít

16 kênh vào ra số

Các bộ đếm couter

- Card PCI – 1727U

12 kênh vào ra Analog

Sử lý 12-bit

Nhiều dải điện áp đầu ra +/-10V và dòng lặp 0-20mA

16 kênh vào số và 16 kênh ra số theo chuẩn TTL

Và còn rất nhiều dòng card PCI khác như PCI – 1712; PCI – 1741U; PCI 1727…

-2.1.2 Các thiết bị của hãng National Instruments (NI)

Phần mềm LabVIEW là một dòng sản phẩm của hãng National Instrumentscho nên các phần mềm và các thiết bị hỗ trợ cho LabVIEW của NationalInstruments rất là đa dạng

a Multi function card ( Thiết bị đa chức năng )

Các thiết bị đa chức năng của NI dùng để liên kết cho LabVIEW với thếgiới thực rất đa dạng Điển hình là các dòng NI USB; NI PCI …

Trang 40

- NI USB : Là thiết bị kết nối với máy tính thông qua cổng USB Nó có chứcnăng thu thập thông tin dữ liệu nhanh đáng tin cậy với giá thành thấp Một sốchủng loại như :

+ NI USB giá thành thấp: USB 6008/6009: Thiết bị thu thập dữ liệu đachức năng National Instruments USB – 6008, USB – 6009 cung cấp khả năngthu thập dữ liệu tin cậy với giá thành thấp Với kiểu kết nối USB, thiết bị này đủđơn giản để thực hiện đo lường nhanh, nhưng cũng đủ linh hoạt để thực hiện cácứng dụng đo lường phức tạp.Các phần mềm yêu cầu :

+ NI USB DAQ đa năng : USB 6221/6229

+ NI USB I/O số USB 6501

- NI PCI : là thiết bị dùng để thu thập tín hiệu, lập trình điều khiển hệ thốngthông qua cổng kết nối PCI của máy tính Một số chủng loại thiết bị như :

+ NI PCI 7352/7354/7356/7358: 64 đường vào ra số/16 đường vào tươngtự/tích hợp bộ điều khiển vị trí tốc độ cao 4Mhz

+ NI PCI 7332/7334: 4 kênh ADC 12 bit ngõ vào +/- 10V/RTSI Bus đồng

bộ tốc độ cao với sản phẩm NI khác

Ngày đăng: 24/05/2016, 15:54

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] TS.Nguyễn Bá Hải ,“Lập trình LabVIEW” Sách, tạp chí
Tiêu đề: Lập trình LabVIEW
[2] TS. Huỳnh Thái Hoàng, “Lý thuyết điều khiển tự động” Sách, tạp chí
Tiêu đề: Lý thuyết điều khiển tự động
[3] LẬP TRÌNH LABVIEW VÀ ỨNG DỤNG TRONG ĐO LƯỜNG ĐIỀU KHIỂN Khác
[4] Datasheet PCI 1711 Advantech; Datasheet PCI 1727 Advantech [5] Tài liệu vòng khóa pha PLL (Phase locked loop) Khác
[6] Một số trang wed : www.hocdelam.com; www.ni.com; www.teatech.com.Và một số tài liệu khác Khác

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w