Một trong những ứng dụng đó là phần mềm LAVIEW được tích hợp với bộ điều khiển NI myRIO Cùng với sự phát triển lớn mạnh của thiết bị điện tử, tự động hóa đã được áp dụng rất nhiều vào ng
Trang 1LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kết quả nêu trong luận văn là trung thực và chƣa từng đƣợc ai công bố trong bất kỳ công trình nào khác
Tôi xin cam đoan rằng các thông tin trích dẫn trong luận văn đều đã đƣợc chỉ
rõ nguồn gốc
Tác giả luận văn
Phạm Thị Thanh
Trang 2LỜI CẢM ƠN
Tác giả xin chân thành cảm ơn TS Hoàng Đức Tuấn đã tận tình hướng
dẫn, giúp đỡ và các thầy cô trong Khoa Điện - Điện tử, Viện đào tạo sau đại học
đã truyền dạy những kiến thức quí báu trong chương trình cao học và những kinh nghiệm để luận văn hoàn thành thuận lợi
Những lời cảm ơn chân thành tiếp theo xin được đến tới gia đình và bạn bè, những người đã luôn động viên, khuyến khích và chia sẻ khó khăn trong suốt quá trình học tập và nghiên cứu khoa học của tác giả
Trang 3MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU iv
DANH MỤC CÁC BẢNG vii
DANH MỤC CÁC HÌNH viii
MỞ ĐẦU 1
CHƯƠNG 1 KHÁI QUÁT CHUNG VỀ HỆ THỐNG
CHỐNG NGHIÊNG TÀU THỦY 4
1.1 Giới thiệu chung về hệ thống chống nghiêng tàu thủy 4
1.2 Nhiệm vụ của hệ thống chống nghiêng tàu thủy 5
1.3 Các yêu cầu cơ bản đối với hệ thống chống nghiêng tàu thủy 6
1.4 Phân loại hệ thống chống nghiêng tàu thủy 7
1.5 Cấu trúc chung của hệ thống chống nghiêng tàu thủy 8
1.6 Nguyên lý làm việc của hệ thống chống nghiêng tàu thủy 10
CHƯƠNG 2 TỔNG QUAN VỀ PHẦN MỀM LABVIEW 12
2.1 Khái niệm về LABVIEW 12
2.2 Các chức năng chính của LABVIEW 12
2.3 Môi trường phát triển và các tín hiệu đo được của LabVIEW 14
2.4 Cấu trúc một chương trình trong LabView 15
2.5 Các bảng trên LabVIEW 18
2.6 Các kiểu dữ liệu 21
2.7 SubVI và cách xây dựng SubVI 25
2.8 Kỹ thuật lập trình nâng cao trong LabVIEW 28
2.9 Ứng dụng của Labview 35
CHƯƠNG 3 ỨNG DỤNG PHẦN MỀM LABVIEW VÀO THIẾT KẾ HỆ THỐNG GIÁM SÁT CHỐNG NGHIÊNG TÀU THỦY 39
3.1 Cấu trúc của hệ thống giám sát chống nghiêng tàu thủy 39
Trang 43.2 Các phần tử trong hệ thống chống nghiêng tàu thủy 39
3.3 Thiết kế giao diện giám sát trên LABVIEW 48
3.4 Thử nghiệm phần mềm giám sát trên máy tính 591
KẾT LUẬN VÀ KIẾN NGHỊ 6262
TÀI LIỆU THAM KHẢO 64 PHỤ LỤC
Trang 5DANH MỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU Các chữ viết tắt:
Trang 6VDR Voyage Data Recorder
Các ký hiệu:
Trang 7DANH MỤC CÁC BẢNG
Trang 8DANH MỤC CÁC HÌNH
Trang 93.5 Bơm hoạt động hút 1 chiều 42
nghiêng
52
nghiêng
58
Trang 10MỞ ĐẦU
1 Tính cấp thiết của đề tài
Khoa học kỹ thuật đang có những bước phát triển vượt bậc và nhanh chóng đạt được những thành tựu đáng kể trên thế giới hiện nay.Vì vậy đã cho ra đời rất nhiều công cụ thiết bị hiện đại với độ chính xác cao
Việt Nam đang trên con đường phát triển CNH_HĐH đất nước nên việc áp dụng các thành tựu tiến bộ của thế giới là rất quan trọng Các dây chuyền công nghệ và thiết bị tự động hóa sản xuất đang dần được thay thế các công nghệ lạc hậu thiết bị cũ với độ chính xác không cao và độ tin cậy kém Kỹ thuật vi tính đã góp phần thay đổi bộ mặt của các trung tâm điều khiển, giám sát Một trong những ứng dụng đó là phần mềm LAVIEW được tích hợp với bộ điều khiển NI myRIO
Cùng với sự phát triển lớn mạnh của thiết bị điện tử, tự động hóa đã được áp dụng rất nhiều vào ngành công nghiệp Tàu thủy trong nhiều hệ thống Vấn đề về điều khiển, giám sát, xu hướng hình thành trung tâm điều khiển đã và đang được
áp dụng Trong ngành công nghiệp tàu thủy đang từng bước ứng dụng rất nhiều những thành tựu khoa học kỹ thuật và công nhệ vào việc điều khiển và giám sát Đặc biệt là trong hệ thống chống nghiêng tàu thủy đã ứng dụng phần mềm LAVIEW để giám sát để đạt được kết quả tối ưu nhất, tăng năng suất và giảm chi phí cho những ứng dụng kiểm tra và đo lường Chính vì lý do đó em đã chọn đề
tài:
‘‘Nghiên cứu xây dựng hệ thống giám sát chống nghiêng tàu thủy.’’
Trang 112 Mục đích của đề tài
Nghiên cứu xây dựng hệ thống giám sát quá trình tự động chống nghiêng tàu thủy bằng phần mềm LAVIEW để có thể sử dụng trong việc giảng dạy, học tập
và trong hệ thống chống nghiêng tàu thủy trong các cảng biển
3 Đối tượng và phạm vi nghiên cứu của đề tài
- Đối tượng nghiên cứu của đề tài là hệ thống giám sát chống nghiêng tàu thủy
- Phạm vi nghiên cứu của đề tài:
+ Phân tích tổng quan hệ thống giám sát chống nghiêng tàu thủy
+ Thiết kế hệ thống giám sát chống nghiêng tàu thủy trên phần mềm LABVIEW
+ Xây dựng mô hình vật lý hệ thống
4 Phương pháp nghiên cứu của đề tài
Để đạt được những yêu cầu đề ra khi nghiên cứu chống nghiêng tàu thủy, đề tài đã dùng các phương pháp như sau: phương pháp chuyên gia, phương pháp phân tích, phương pháp thực nghiệm để kiểm chứng kết quả trên phần mềm cùng với phương pháp mô hình hóa
5 Ý nghĩa khoa học và thực tiễn của đề tài
* Ý nghĩa khoa học đề tài:
Đây là kho kiến thức khá hữu dụng cho những người muốn tìm hiểu ứng dụng phần mềm laview và bộ điều khiển NI myRIO 1900 trong thiết kế giao diện giám sát chống nghiêng tàu thủy Thể hiện rõ sự đóng góp của tiến bộ khoa học kỹ thuật vào nghành đóng tàu của nước ta, giảm được chi phí nhân công và nâng cao quá trình tự động hóa trong sản xuất Nói được tầm quan trọng của kỹ thuật vi tính
đã đóng góp như thế nào vào quá trình giám sát tự động tạo nên sự tối ưu và năng suất cao hơn Đề tài này sẽ đóng góp một phần vào công nghiệp hóa –hiện đại hóa đất nước trong thời kỳ hiện nay đặc biệt là trong công nghiệp đóng tàu
* Ý nghĩa thực tiễn:
Trang 12Kết quả được nghiên cứu của luận văn này có thể ứng dụng trong lĩnh vực dạy học trong các trường đào tạo kỹ thuật và sử dụng trong công nghiệp đóng tàu đang rất phát triển hiện nay đặc biệt là ở thành phố cảng Hải Phòng
Kết quả của hệ thống giám sát đã được nghiên cứu của đề tài có thể dùng vào thực tế ở các cảng biển sao cho tiết kiệm được chi phí,nâng cao năng suất lao động, an toàn cho tàu và thuyền viên
Trang 13CHƯƠNG 1 KHÁI QUÁT CHUNG VỀ HỆ THỐNG
CHỐNG NGHIÊNG TÀU THỦY 1.1 Giới thiệu chung về hệ thống chống nghiêng tàu thủy
Khi con tàu ngả nghiêng về bên trái hoặc bên phải mà không thể trở về được
vị trí thẳng đứng lúc ban đầu thì có nghĩa là lúc đó tàu đã bị nghiêng đi một góc Việc bị nghiêng này không những ảnh hưởng đến sự an toàn của con tàu, của máy móc mà còn ảnh hưởng đến thuyền viên trên tàu Theo lý thuyết tàu thủy có thể nhận thấy ngay nguyên nhân chính đưa đến điều này là do tàu vận hành trong điều kiện gió mạnh, sóng, bão, tàu đổi hướng, và do tình trạng xếp dỡ hàng hóa không cân Cũng có thể trong hành trình di chuyển của mình tàu bị tiêu hao nhiên liệu và nước ngọt dự trữ trong các két nước ở hai bên mạn trái và phải của con tàu khiến cho trọng lượng của các két giảm xuống Để giải quyết vấn đề ổn định cho tàu trong quá trình hoạt động người ta sử dụng hệ thống chống nghiêng tàu[14]
Hệ thống chống nghiêng trên tàu thủy tự động phát hiện góc nghiêng của tàu
để bù lại góc tương ứng Hệ thống này giúp con tàu tiếp tục xếp dỡ hàng mà không bị gián đoạn để cân chỉnh Điều này giúp tiết kiệm khá lớn thời gian ở cảng[10] Bản chất của hệ thống chống nghiêng tàu thủy được dùng trên tàu là hai bên mạn trái và phải của tàu có các két nước để tạo nên sự cân bằng Trong hệ thống này các két ballast được nối với nhau bởi các đường ống, van tự động và các hệ thống kiểm soát Khi tàu bị nghiêng về bất cứ mạn nào cảm biến nghiêng
sẽ gửi tín hiệu về sự biến đổi đó cho hệ thống kiểm soát[10] Hệ thống giám sát chống nghiêng tàu có nhiệm vụ báo cáo các trạng thái hoạt động của góc nghiêng,van ,bơm để đưa đến hệ thống điều khiển bơm nước từ két trái sang két phải và ngược lại để tàu được cân bằng Trong thực tế hành trình của tàu thủy người ta có thể dùng hai hay nhiều các két nước hai bên mạn tàu và nhiều hệ thống điều khiển giám sát đóng, mở và đo lường dung tích các két tùy thuộc vào tính năng, kết cấu,hình dáng,kích thước của loại tàu
Trang 141.2 Nhiệm vụ của hệ thống chống nghiêng tàu thủy
Hệ thống chống nghiêng tàu thủy sẽ giúp chúng ta giải quyết được những vấn
đề sau[10]:
- Tàu xếp dỡ hàng được nhanh hơn và an toàn hơn
- Thời gian tàu ở cảng ít hơn, tiết kiệm chi phí
- Tránh nguy cơ hàng hóa và container bị lăn, trượt
- An toàn cho tàu và thuyền viên
con tàu , nó có chức năng giám sát và kiểm tra tất cả những sự sai lê ̣ch về đô ̣ nghiêng thực tế của con tàu so với đô ̣ nghiêng tiêu chuẩn được thiết kế Trong thực
tế đã cho thấy rằng có rất nhiều nguyên nhân có thể dẫn đến tàu bị nghiêng khỏi vị trí cân bằng ban đầu của nó như do tác động của sóng, gió, do quá trình xếp dỡ hàng hoá ở cảng không cân giữa hai mạn tàu, do quá trình luân chuyển và sử dụng
quá trình giám sát thông qua các cảm biến mức nước được đặt trong các két chống
toán và đưa ra quyết định để điều khiển các van, bơm chống nghiêng khác nhau ở các vị trí két khác nhau nhằm giữ cho con tàu có thể cân bằng trong giới hạ n cho phép Đối với những con tàu có hệ thống tự động điều khiển ch ống nghiêng tàu thì khi tín hiê ̣u thu được từ các cảm biến mức nước đưa về bô ̣ xử lí trung tâm nó sẽ được tính toán và từ bô ̣ xử lí trung tâm này sẽ gử i tín hiê ̣u điều khiển tới các rơle trung gian để khởi đô ̣ng các bơm chống nghiêng tương ứng Hê ̣ thống này rất quan trọng đối với sự an toàn của con tàu và hàng hoá vì nếu có sai sót hỏng hóc nào đó của hệ thống mà tín hiê ̣u giám sát và điều khiển không đúng thì có thể dẫn đến con tàu bị nghiêng quá nhiều gây ra tình trạng nước tràn vào tàu và có thể bị đắm
tàu[10]
Trang 15Hê ̣ thống giám sát và điều khiển chống nghiêng tàu có nhiệm vụ chín h là nâng cao tính ổn đi ̣nh cho con tàu, đảm bảo cho con tàu luôn luôn cân bằng (không
bị nghiêng, bị lệch)[10]
Nâng cao hiê ̣u suất đối với hê ̣ lực đẩy Hê ̣ thống chống nghiêng tàu được sử
Viê ̣c điều hành hoa ̣t đô ̣ng của hê ̣ thống chống nghiêng tàu sẽ được thực hiê ̣n theo lê ̣nh của sĩ quan boong , thông thường là đại phó (chief officer) khi đã nghiên cứu rõ ràng tính ổn định của con tàu trong điều kiện khai thác và vận hành thực tế Sau đó mệnh lệnh này được đưa đến, sĩ quan máy sẽ thực hiện các thao tác cần thiết để điều khiển van và bơm nước từ két này sang két kia để cân bằng tàu [10]
1.3 Các yêu cầu cơ bản đối với hệ thống chống nghiêng tàu thủy
Do đặc điểm và tính chất quan trọng của hệ thống chống nghiêng tàu, liên quan đến trực tiếp sự an toàn của con tàu,vì vậy hệ thống chống nghiêng phải đáp ứng được các yêu cầu đưa ra như[14]:
- Hệ thống này nhất định phải có 2 chế độ là bằng tay và tự động[10]
- Trên màn hình của hệ thống giám sát chống nghiêng người vận hành hoặc người kiểm tra phải quan sát nhận định chính xác được góc nghiêng của tàu.Bên cạnh đó là quan sát được trạng thái hoạt động của các bơm, van, quan sát được mức nước trong hai két…[10]
- Các van chống nghiêng của hệ thống điều khiển đều có thể đóng hoặc mở được bằng tay để tránh trường hợp khi không thể điều khiển từ xa dẫn đến nguy hiểm cho con tàu[10]
- Lắp đặt các thiết bị cảm biến nhanh nhạy để phục vụ cho việc báo động mức nước trong mỗi két chống nghiêng và đưa ra thông số được hiển thị trên bảng điều khiển cho người vận hành biết[10]
- Khi có tín hiệu báo góc nghiêng của tàu trong quá trình làm việc thì hệ thống này cần đặt thời trễ để khẳng định chính xác độ nghiêng tránh sự nghiêng giả tức thời do sóng, gió gây ra[10]
Trang 16- Phải có các chế độ bảo vệ hệ thống, các tín hiệu báo động để khống chế bơm,van hoạt động khi mức nước ở hai két quá cao hoặc quá thấp, hoặc khi các van không mở được[10]
- Phải có tín hiệu báo động cho người vận hành biết khi độ nghiêng của tàu
- Hệ thống nên trang bị thêm trạm điều khiển và giám sát trên buồng lái[10]
- Hệ thống nên được ghép nối với hệ thống máy in để có thể in nhật ký khi
có sự cố và cần được ghép nối với hệ thống VDR…[10]
1.4 Phân loại hệ thống chống nghiêng tàu thủy
Hiện nay có hai loại hệ thống chống nghiêng được sử dụng rộng rãi trên tàu[10]:
- Hệ thống chạy bằng khí: hệ thống này bao gồm hệ thống hút khí và hệ thống van tác dụng lên phía trên của két ballast Khí được bơm vào một két và hút
ra ở két khác, tạo ra sự chênh lệch áp suất do đó lượng nước được di chuyển từ két này qua két khác
- Hệ thống bơm nước : hệ thống bơm nước bao gồm một mô tơ điện để chạy bơm, bơm này là loại có thê đảo chu trình, kết nối với các bộ kiểm soát,các van điều khiển từ xa để chuyển nước qua lại các két
Trong phạm vi luận văn này sẽ nghiên cứu về hệ thống chống nghiêng bằng
chính [14]:
chống nghiêng
khởi đô ̣ng để điều khiển chống nghiêng
Đối với hệ thống chống nghiêng có giám sát nhưng không tự động điều khiển ch ống nghiêng thì các tín hiệu giám sát được gửi đến cho sĩ quan boong Người đưa ra các quyết định sau đó sẽ do sĩ quan boong (thường là đa ̣i phó ) chịu
Trang 17điểm là khiến cho công viê ̣c và trách nhiệm của đại phó nặng nề hơn Tuy vậy nó lại có ưu điểm rất đáng lưu tâm là tính an toàn và độ chắc chắn cao hơn
nâng cao được hiệu suất làm việc Tuy nhiên nó lại có một nhược điểm khá lớn là nếu có sự hỏng hóc hay trục trặc về kỹ thuật nào đó với các thiết bị trong hê ̣ thống thì độ nguy hiểm đối với c on tàu sẽ rất lớn Ngày nay, đối với các tàu có yêu cầu cao về đô ̣ ổn đi ̣nh như các tàu chở container , tàu chở hàng rời thì đ ược ứng dụng loại hệ thống có tự động điều khiển ch ống nghiêng tàu nhưng hê ̣ thống này cần phải được thường xuyên theo dõi để đảm bảo không có hỏng hóc nào xảy ra đối với hê ̣ thống cũng là đảm bảo an toàn cho con tàu
1.5 Cấu trúc chung của hệ thống chống nghiêng tàu thủy
Hệ thống chống nghiêng tàu thủy có cấu trúc cơ bản bao gồm các thành phần chính sau [15,16]:
Trang 18Hình 1.1 Cấu trúc hệ thống chống nghiêng tàu thủy
1.5.1 Kết cấu của hệ thống chống nghiêng
Hệ thống chống nghiêng tàu thủy bao gồm có hệ thống két chống nghiêng,
- Các két nước chống nghiêng và van ống[10]
+ Hệ thống chống nghiêng tàu thủy bao gồm có 2 két chứa nước được treo ở
Trang 19các van để đóng, mở đường ống khởi động bơm Nếu như tàu bị nghiêng sang bên trái thì bơm sẽ khởi động hút nước đưa từ két chưa nước bên trái chuyển sang két bên phải và từ két phải sang trái nếu tàu nghiêng phải
+ Hệ thống các thiết bị điều khiển có thể lấy ví dụ như Bơm chống nghiêng, các van đóng và mở đường ống nước và các van phân phối
+ Hệ thống các thiết bị giám sát gồm có: cảm biến nghiêng đặt trong két nước, các bộ chuyển đổi mức, cảm biến để báo động trong trường hợp mức nước quá thấp hay quá cao …
1.5.2 Kết cấu của hệ thống giám sát chống nghiêng
Kết cấu của hệ thống điều khiển và giám sát chống nghiêng tàu chính là buồng điều khiển giám sát của hệ thống được đặt trong buồng riêng của hệ thống Ballast Nó sẽ thực hiện các nhiệm vụ sau:
+ Điều khiển tự động các nhiệm vụ chống nghiêng từ xa
+ Đưa ra màn hình giao diện của hệ thống giám sát các trạng thái và các thông số của hệ thống chống nghiêng tàu như: góc nghiêng, mức nước trong hai két, các trạng thái báo hiệu hoặt động của bơm và van…
+ Bảng điều khiển tại chỗ : sẽ nhận nhiệm vụ thực hiện các chức năng điều khiển của hệ thống chống nghiêng tàu khi chế độ điều khiển tự động từ xa gặp sự
cố, hỏng hóc…
1.6 Nguyên lý làm việc của hệ thống chống nghiêng tàu thủy
Hệ thống chống nghiêng trên tàu biển tự động phát hiện góc nghiêng của tàu để bù lại góc tương ứng Như đã nói ở phần trên thì hệ thống chống nghiêng tàu thủy sẽ sử dụng các két nước chống nghiêng ở hai bên mạn tàu trái và phải Trong quá trình tàu thực hiện nhiệm vụ xếp dỡ hàng hóa, hoặc trong hành trình gặp phải một lí do thời tiết nào đó làm cho tàu mát vị trí cân bằng thì hệ thống này có nhiệm vụ khởi động bơm để chuyển nước di chuyển từ két trái sang két phải và ngược lại để tàu không bị nghiêng[16]
Trang 20Chẳng hạn khi tàu đang bị nghiêng trái hoặc phải thì nhờ có các cảm biến nghiêng được đặt ở trong các két nước của hệ thống sẽ báo tín hiệu để gửi đến trung tâm xử lý tín hiệu Nếu sau một khoảng thời gian trễ đã được cài đặt,nó sẽ khẳng định chính xác tàu bị nghiêng thật thì tín hiệu này được gửi đến trung tâm
xử lý Tiếp theo sau khi xử lý xong trung tâm này sẽ gửi tín hiệu để mở van ống trước Khi van nhận lệnh và được mở ra hoàn toàn thì thông qua bộ phận phản hồi trạng thái của van sẽ có tín hiệu khởi động bơm để bơm nước theo chiều ngược lại với góc nghiêng của tàu Van được sử dụng là van một chiều để tránh trường hợp
bị bơm nước ngược trở lại gây mất cân bằng tàu Sau khi có sự điều chỉnh đó tàu
sẽ dần trở lại không bị mất cân bằng nữa Khi góc nghiêng không còn trung tâm điều khiển sẽ xuất tín hiệu điều khiển làn lượt dừng bơm trước sau đó là tín hiệu đóng van
Trong suốt quá trình điều khiển và giám sát chống nghiêng tàu, cần chú ý nếu
ở trong các két chống nghiêng giảm quá thấp so với mức cho phép thì trung tâm xử
lý sẽ tự gửi tín hiệu ra báo động chung (được biểu hiện trên giao diện giám sát cho người vận hành biết) và xuất ra tín hiệu dừng bơm
Mạch kiểm soát mực nước cũng được lắp đặt ở các két ballast cùng với hệ
Trang 21CHƯƠNG 2 TỔNG QUAN VỀ PHẦN MỀM LABVIEW
2.1 Khái niệm về LABVIEW
LABVIEW (viết tắt của 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[2,3,12] 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 những mục đích như giao tiếp máy tính, đo lườ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 với máy tính theo thời gian thực LABVIEW dùng trong hầu hết các phòng thí nghiệm, lĩnh vực khoa học kỹ thuật như tự động hóa, điều khiển, điện tử, cơ điện tử, hàng không, hóa sinh, điện tử y sinh ở các nước đặc biệt là Mỹ, Hàn quốc, Nhật Bản[2]
Hình 2.1 Mã nguồn viết bằng LabVIEW
2.2 Các chức năng chính của LABVIEW
LABVIEW đượ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ữ 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[2] Hiện tại ngoài phiên bản LABVIEW cho các hệ điều hành Window, Linux, hãng NI đã phát triển các modul LABVIEW cho máy hỗ trợ cá nhân PDA[2]
Trang 22Cá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ơ,… [13]
- Trong ứng dụng của LabVIEW có một tính năng rất dễ sử dụng không thể thiếu được đó là phân tích Ở phần mềm LabVIEW chứa hơn 500 chức năng đã được lập sẵn để phục vụ cho việc trích xuất thông tin có ích từ những dữ liệu đã thu nhận được, các phép đo được phân tích nhanh chóng và tín hiệu được xử lý Để nhận được các số liệu thống kê quan trọng trong nhiều dữ liệu của bạn thì phải nhờ vào chức năng phân tích tần số, phát tín hiệu, toán học, chỉnh lý đường cong, phép nội suy Dù cho thuật toán đưa ra có phức tạp đến nhường nào thì với tính năng phân tích này làm cho phần mềm LabVIEW vô cùng dễ sử dụng Nhờ có hơn 15 Express VIs nên đã làm giảm rất nhiều độ phức tạp trong khi phân tích các phép đo
có ở ứng dụng của bạn thông qua hộp thoại cấu hình tương tác để đưa ra kết quả phân tích[13]
- Chức năng hiển thị bao gồm: trực quan, tạo báo cáo và quản lý dữ liệu Để hiện thị dữ liệu một cách hấp dẫn LabVIEW có các công cụ chức năng trực quan, trong
đó gồm các tiện ích có thể kể đến như vẽ biểu đồ hoặc đồ thị với các công cụ trực quan 2D, 3D cài sẵn Nhờ đó ta có thể nhanh chóng hình dung và biểu hiện lại các thuộc tính của bản vẽ chẳng hạn như màu sắc, kích cỡ phông, kiểu đồ thị, quay, phóng to thu nhỏ và quay quét (pan) đồ thị khi đang chạy Bên cạnh đó, qua Internet bằng phần mềm LabVIEW có thể xem và điều khiển được VIs Nếu như tạo một báo cáo, NI cung cấp cho ta các tùy chọn khá đầy đủ như: công cụ tạo tài liệu, báo cáo dạng HTML, báo cáo dạng Word/Excel và báo cáo tương tác với NI DIA[13]
- 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, USB, PCI, Enthernet[2]
- Mô phỏng và xử lý các tín hiệu thu nhận được để phục vụ các mục đích nghiên cứu hay mục đích của hệ thống mà người lập trình mong muốn[2]
Trang 23- 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[2,13]…
- 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[2,13]
- Cho phép kết hợp với nhiều ngôn ngữ truyền thông như C, C++, [2]
- Cho phép triển khai những ứng dụng nhúng đến các bộ vi xử lý 32 bit[13]
2.3 Môi trường phát triển và các tín hiệu đo được của LabVIEW
Môi trường phát triển rộng rãi và nhanh chóng của LabVIEW là công nghệ Express Cho dù không cần lập trình trước,công nghệ này sử dụng Express VIs và I/O nên đã tạo ra nhiều ứng dụng đo lường phổ biến Hàng nghìn chương trình minh họa, kiểu module và phân cấp, trợ giúp tích hợp, thư viện giao diện người sử dụng kéo và thả hàng nghìn chức năng lập sẵn, ngôn ngữ được biên dịch để thực hiện nhanh hơn Đến phát triển lớn, theo hướng nhóm (teamoriented) Ngôn ngữ
mở, gỡ rối bằng đồ họa tích hợp, phân phối ứng dụng đơn giản, nhiều công cụ phát triển cấp cao, công cụ phát triển nhóm, điều khiển mã nguồn, quản lý đích Thu thập, phân tích và hiển thị lập sẵn Môi trường LabVIEW mở tương thích với mọi phần cứng đo với các trợ giúp tương tác, tạo mã nguồn và khả năng kết nối tới hàng nghìn thiết bị giúp tập hợp dữ liệu dễ dàng Chúng ta có thể hoàn toàn kết hợp được mọi ứng dụng của LabVIEW mới vào các hệ thống hiện tại đòi hỏi độp chính xác cao vì LabVIEW cung cấp tính kết nối tới hầu hết mọi thiết bị đo LabVIEW luôn luôn cung cấp cho người dùng một giao diện để có thể kết nối tới I/O một cách dễ dàng kể cả khi mọi yêu cầu của phần cứng không đáp ứng [13]
Các tín hiệu đo được của LabVIEW bao gồm có: Nhiệt độ, sức căng, độ rung, âm thanh, điện áp, dòng, tần số, ánh sáng, điện trở, xung, thời gian (giai đoạn), tín hiệu số, 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ơ,[13]
Trang 242.4 Cấu trúc một chương trình trong LabView
Chương trình LABVIEW được gọi là các thiết bị ảo VI 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ếp nhận các thông số từ VI cao hơn[12] Các thiết bị ảo (VI) chính là cơ sở thực hiện của lập trình Labview Một ưu điểm vượt trội của LabVIEW so với các phần mềm khác đó là các đối tượng ở các thiết bị ảo được dùng để mô phỏng cho các thiết bị thực mà không cần tới chúng Các thiết bị ảo VI giống như các hàm khi sử dụng lập trình bằng ngôn ngữ khác Một chương trình VI trong Labview bao gồm 3 phần chính:
- Front Panel là giao diện người sử dụng GUI
- Block Diagram là giao diện dạng sơ đồ khối cung cấp mã nguồn lập trình
- Biểu tượng kết nối Icon và Connecter
Trong đó Front Panel và Block Diagram là hai thành phần quan trọng nhất trong Labview
2.4.1 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ện với người sử dụng (Front Panel), hai là giao diện dạng sơ đồ khối cung cấp mã nguồn (Block Diagram) và các biểu tượng kết nối (Icon/Connector)[13]
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[2]
Trang 25Hình 2.2 Cách lấy Control
Hình 2.3 Các Control thường dùng
Trang 26Indicator là đối tượng được đặt trên Front Panel dùng để hiện thị kết quả, nó tương tự như bộ phận đầu ra của chương trình[2]
Trang 27Cấu trúc của một Block Diagram gồm các thiết bị đầu cuối (Terminal), nút (Node) và các dây nối (wire).[13]
Hình 2.6 Block Diagram của chương trình LabVIEW
2.4.2 Icon và Connector
Icon (biểu tượng): là biểu tượng của VI, được sử dụng khi từ một VI muố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[3,13]
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[3,13]
Khi các VI được phân cấp và module hóa thì ta có thể dùng chúng như các chươ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ới nhau thành một khối để thực thi những công việc cụ thể trong một chương trình
Trang 28Panel và Block Diagram chính bằng các biểu tượng, các hình ảnh trực quan giúp ích trong việc ứng dụng trở nên dễ dàng và linh động hơn[13]
2.5.1 Tool palette
Trên cả hai cửa sổ Font Panel và Block Diagram đều xuất hiện Tool Panel Bảng này giúp chúng ta có thể xác lập được các chế độ làm việc đặc biệt của con trỏ chuột Biểu tượng của con trỏ chuột sẽ được biến đổi chính theo biểu tượng của công cụ mà chúng ta đã lựa chọn trước đó Nếu muốn thiết lập một chế độ tự động lựa chọn công cụ thì hãy nhớ di chuyển con trỏ chuột qua các đối tượng trên Front Panel hoặc Block Diagram, LabVIEW sẽ tự động lựa chọn công cụ phù hợp trên bảng Tool Palette[13]
2.5.2 Controls Palette
Bảng điều khiển Controls Palette không như Tool palette mà chỉ duy nhất
xuất hiện trên của sổ Front panel Bảng điều khiển này sẽ bao gồm các bộ điều khiển (control) và các bộ hiển thị (Indicator) Để có được bảng điều khiển controls palette ta thao tác như sau: vào menu View, chọn controls palette như hình 2.7[13]
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ị…[13] 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
Ta thấy rằng trên bảng điều khiển controls palette có rất nhiều các bộ điều khiển phong phú khác nhau 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ều khiển điển hình của LabVIEW
Trang 29Hình 2.7 Bảng điều khiển (Controls Palette)
- 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ố trong chương trình LabVIEW[13]
- Boollean controls /Indicators
Bộ công cụ này cung cấp hai giá trị là True và False Khi thực hiệ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ị Việc thay đổi giá trị của các thiết bị chỉ có tác dụng khi các thiết bị đó được xác lập ở chế độ là các Control Còn nếu ở chế độ là các Indicator thì giá trị không thay đổi vì chúng chỉ là các thiết bị hiển thị[13]
- 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 file cần hiển thị[13]
2.5.3 Function palette
Cũng như bảng Controls Palette thì bảng Functions Palette cũng chỉ xuất hiện trên một cửa sổ nhưng không phải Front panel mà là Block Diagram Để tạo dựng thiết kế nên các khối lưu đồ thì người sử dụng phải nhờ vào các VI có chứa trong bảng này Chúng ta có thể lập trình để thực hiện các lệnh khác nhau với bảng Function Palett bằng các lưu đồ như: các biểu thức toán học, các phép tính số học,
Trang 30, phép lựa chọn thông qua các nhóm hàm, các vòng lặp Ngoài những chức năng đã được cung cấp ở trên ta thấy rằng bảng Function Palett này có thể tạo ra và sử dụng lại các hàm và chức năng mà người sử dụng tự mình xây dựng ra Tất cả các hàm toán học và các chức năng khác đều được minh họa diễn giải bằng các biểu tượng Vì vậy người sử dụng khi muốn lựa chọn hay thực hiện một hàm hoặc một chức năng nào đó thì phải chọn biểu tượng để thể hiện rõ ràng cho nó và muốn đến một vị trí nào trên cửa sổ Block Diagram thì chỉ việc kéo thả ở vị trí đó.Công việc tiếp theo rất đơn giản là xác định những đầu vào ra cần thiết theo yêu cầu của bài toán
- Biến toàn cục Global variables: được dùng để thực hiện mọi công việc trao đổi giữa một vài VI là truyền và lưu trữ dữ liệu Trong LabVIEW biến toàn cục luôn được coi là một đối tượng Muốn tạo ra một “VI toàn cục” đặc biệt thì ta chỉ việc tạo ra một biến toàn cục trong LabVIEW Cách thức để tạo ra các biến toàn cục rất đơn giản, đầu tiên ta lựa chọn biến trên thanh công cụ “Structs and Constants function” tiếp đó thả chúng lên của sổ Diagram Trên các Controls hoặc các Indicators ta cần xác định chính xác kiểu dữ liệu cho nó ứng với kiểu dữ liệu
đã sử dụng theo yêu cầu Cần lưu ý rằng ứng với mỗi biến toàn cục nhất thiết phải tạo nên một VI có một tên riêng khác biệt không được trùng với các VI trước nó
Trang 31mỗi biến toàn cục Với các kiểu dữ liệu như numerics và Boolean tương đối đơn giản thì việc truy xuất vào biến toàn cục trở nên vô cùng nhanh chóng Tuy vậy, đối với các dữ liệu dưới dạng mảng (arrays), Clusters hay các sâu (string) lớn thì lại yêu cầu thời gian xử lý và bộ nhớ cần thiết để xử lý sẽ tương đối lớn khi muốn dùng biến toàn cục trong việc lưu trữ và xử lý các dữ liệu Vì nó đòi hỏi một vài dịch vụ quản lý bộ nhớ mỗi khi các biến đó gọi tới Nhược điểm lớn nhất của phần mềm này là “sự tranh chấp dữ liệu” khi thao tác dùng cả hai các biến toàn cục và các biến cục bộ Khi hai hoặc nhiều hơn các đoạn mã lệnh thực hiện đồng thời việc thay đổi giá trị của một biến thì việc “tranh chấp dữ liệu” sẽ xảy ra không biết ưu tiên cho bên nào Đầu ra của VI phụ thuộc vào thứ tự được thực thi của cá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ểu thức khác nhau 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[3,13]
- Local variable: giúp người lập trình đọc hoặc viết thông tin cần thiết lên các thiết bị điều khiển hoặc thiết bị hiển thị trên của sổ Front Panel Local Variable giúp chúng ta tạo được một biến địa phương 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 chỉ có tác dụng duy nhất trên các thiết bị điều khiển hoặc thiết bị hiển thị mà cùng ở trên một lược đồ Ta không thể sử dụng biế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 đồ[13]
+ 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ặc thiết bị hiển thị Tuy nhiên điều đó có thể gây ra sự phức tạp, cho rằng điều khiể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ựa chọn sai các phần tử trong một hoặc nhiều biến địa phương[13]
+ 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[13]
Trang 322.6.2 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 Không chỉ vậy có thể thực hiện việc chuyển đổi từ dạng string sang các dạ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à không thể hiển thị được như: Esc, tab… Để giải quyết vấn đề đó, Labview đã 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
2.6.3 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ỗi phần tử trong đó có thể được xử lý như từng thành phần riêng biệt, vì vậy mà ta cầ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éc tơ), 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ác vò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ột vù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ệc quả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àng buộc mảng gốc vào các mảng khác
2.6.3.1 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ố Để định nghĩa dạng dữ liệu của mảng hằng số ta lựa chọn bất kỳ hằng số vô hướng nào từ bảng Function Palette và đặt nó vào bên trong mảng hằng số Tất cả các thà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ảng trong khi
Trang 332.6.3.2 Array Max & Min
Hình 2.8 Hàm 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ủa cá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ư các thành phần trong mảng[3]
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ùng dạng dữ liệu như các thành phần trong mảng[3]
Chỉ số nhỏ nhất (min index) là chỉ số của giá trị nhỏ nhất
2.6.4 Các cấu trúc điều khiển luồng chương trình
Cấu trúc (Structures) là các phần tử điều khiển luồng chương trình luôn có mặt trong bất kể một ngôn ngữ lập trình nào Người lập trình luôn luôn phải gặp và làm việc với nó Trong một VI của LabVIEW bao gồm có 5 cấu trúc điều khiển luồng chương trình đó là: For Loop, While Loop, Case Structure, Sequence Structure và Fomula Node[13]
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 cung cấ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 theo các quy tắc riêng (SubDiagram) của nó[13]
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[13]
Trang 34Hình 2.9 Vòng lặp While loop Cấu trúc Case và Sequence có thể có nhiều SubDiagram, nhưng chỉ có một Sub Diagram có thể thực hiện tại một thời điểm Cách xây dựng các SubDiagram cũng giống như việc xây dựng các Block diagram mức đầu[13]
Việc truyền dữ liệu vào và ra các Structure thông qua các Terminal mà được
tự động tạo ra ở nơi dây nối đi qua đường viền của cấu trúc, các Terminal này được gọi là các đường ống (Tunel)[13]
2.7 SubVI và cách xây dựng SubVI
2.7.1 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ức năng xác định Trong việc lập trình, các VI đó có thể được sử dụng trong các Block Diagram của một VI khác ở mức độ cao hơn Khi đó VI cao hơn đó được gọi là một SubVI Như vậy, một SubVI ta có thể coi như một chương trình con trong các chương trình khác như C++… Trong một chương trình labVIEW, không bị hạn chế số SubVI và mỗi SubVI không bị hạn chế việc gọi đến các SubVI Với tiện ích này, một chương trình trên Labview sẽ trở nên dễ hiểu, gọn gàng và dễ gỡ rối hơn[2,3,13]
2.7.2 Xây dựng SubVI
Có hai cách đơn giản nhất để xây dựng một SubVI: tạo một SubVI từ một
Trang 35Các SubVI được sử dụng thông qua Icon và Conector của nó Icon của một
VI là một biểu tượng đồ họa Conector của một VI gán các Control và Indicator cho các Terminal đầu vào và đầu ra Muốn gọi một VI từ Block Diagram của một
VI khác, thì trước tiên ta phải tạo ra Icon và Conector cho VI đó[13]
Để 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ên củ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 ra kiểu Icon trong vùng soạn thảo điểm lớn Hình ảnh mặt định của Icon xuất hiệ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àu mặc định của Icon là Đen - Trắng (Black-White), nhưng nó có thể bấm vào mục chọn màu để chuyển sang 16 màu hoặc 256 màu Ta có thể copy một Icon thành một Icon đen – trắng, và ngược lại[3,13]
Hình 2.10 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ệu thông qua các Terminal ở trong ô vuông Connector của nó Ta có thể xác định cá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 Front Panel Control hoặc Indicator cho mỗi Terminal Nếu Connector của VI chưa xuất hiện ở góc trái của Front Panel thì ta chọn Show Connector từ menu của Icon Connector
Trang 36thay 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ủa Connector bằng số Indicator trên Front panel và số Terminal bên trái Connector bằng số Control trên Front Panel Nếu điều này không thể có được thì phần mềm sẽ chọn kiểu Terminal phù hợp gần nhất Mỗi hình chữ nhật trong 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ọn Remove Terminal Sau khi đã chọn được Connector Terminal Pattern ta phải gán các Front Panel Control và Indicator cho các Terminal theo các bước sau[3,13]:
- Bấm vào một Termianl của Connector, sau đó bấm vào một Front Panel Control hoặc Front Panel Indicator muốn gán cho Terminal đã chọn Một khung bao xung quanh Front Panel của Control hoặc Indicator được chọn xuất hiện và nhấp nháy.[13]
- Bấm vào một vùng mở của Front Panel và bấm chuột, khung nhấp nháy biến mất Termianl và Front Panel Control hoặc Indicator đã chọn được gắn với nhau[13]
Hình 2.11 Cách thức tạo Conector của một VI
2.7.2.2 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ột phần trong Block Diagram của VI, sau đó chọn Edit\Create SubVI Phần đó sẽ
Trang 37SubVI sẽ thay thế phần được chọn trong Block Diagram của VI gốc Đối với SubVI này ta có thể điều chỉnh được Icon & Connector tương tự như trên[3,13]
2.8 Kỹ thuật lập trình nâng cao trong LabVIEW
2.8.1 Liên kết thiết bị ảo với thiết bị phần cứng
Thư viện DAQ VIs nằm trong Panel Functions → Data Acquisition gồm các lớp khác nhau của DAQ DAQ được chia thành 6 lớp cơ bản sau[13]:
- Analog Input VIs
- Analog Output VIs
- Digital I/O VIs
- Counter VIs
- Calibration and Configuration VIs
- Signal Conditioning VI
Hình 2.12 Thư viện DAQ Các DAQ được chia thành các mức khác nhau tùy theo mức độ tác động của chúng Các DAQ được chia thành 4 mức:[13]
- Easy VIs
- Intermadiate VIs
- Utility VIs
Trang 38Ngoài ra, LabView còn có thư viện cho các hệ thống Card chuyên dụng của hãng NI[13]
Hình 2.13 Thư viện Advanced và thư viện Instrument I/O
Để đưa dữ liệu vào/ra các cổng song song, nối tiếp của máy tính ta có thể sử dụng các VIs vào ra của LabVIEW
2.8.2 Cấu trúc cơ bản của DAQ
Thiết bị ảo được xem như là một công cụ liên kết giữa thiết bị phần cứng và phần mềm của thiết bị đo lường, được tạo ra bởi người sử dụng với các tiêu chuẩn của máy tính 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ưu giữ 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ối ghép giữa thiết bị
Trang 39có thể là LabVIEW, LabWindows/CVI, ComponentWorks và các công cụ đo lườ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[13]
Thiết bị ảo được sử dụng để tạo ra hệ thống theo yêu cầu của kiểm tra, đo lườ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ềm thành phần Nếu hệ thống thay đổi, ta có thể thay đổi thiết bị ảo mà không cần phải thay đổi phần mềm và phần cứng
2.8.2.1 DAQ
Nhiệm vụ cơ bản của tất cả 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 giữa thiết bị đo lường và máy tính Thiết bị DAQ đa năng là thiết bị kết nối tới máy tính
và nó cho phép truy xuất tín hiệu số Thiết bị DAQ cho phép liên kết trực tiếp với bus của máy tính thông qua khe cắm mở rộng Một vài thiết bị DAQ ở bên ngoài cho phép liên kết với máy tính thông qua cổng nối tiếp, IEEE 488 (GPIB), hoặc cổng ethernet Thiết bị DAQ cho phép biến đổi tín hiệu và thành tín hiệu số và gửi chúng tới máy tính (tới phần mềm bên trong máy tính) Phần mềm ứng dụng sử dụng các dữ liệu đó để đo lường, điều khiển và hiển thị dữ liệu bên trong máy tính, đồng thời gửi dữ liệu đó trở lại thiết bị đo lường Phương pháp này có tính mềm dẻo cao vì có thể sử dụng một thiết bị phần cứng cho nhiều dạng kiểm tra và có thể phát triển thêm các ứng dụng khác cho các dạng kiểm tra Thiết bị DAQ đa năng rất thích ứng sử dụng để số hóa dữ liệu của thiết bị đo lường
Hình 2.14 Thiết bị DAQ
Trang 40Trên hình 2.15, trình bày hai dạng lựa chọn của thiết bị DAQ Trong lựa chọn A, hệ thống thiết bị DAQ nằm bên trong máy tính Trong lựa chọn B, thiết bị DAQ nằm ở bên ngoài máy tính Với bảng mạch mở rộng nằm ở bên ngoài ta có thể xây dựng hệ thống DAQ liên kết với máy tính mà không cần đến khe cắm mở rộng, ví dụ như máy tính xách tay Khi này, máy tính và modul DAQ giao tiếp với nhau thông qua nhiều loại kênh khác nhau như: Cổng song song, cổng nối tiếp, Ethernet Đây là hệ thống thực hiện thu nhận dữ liệu từ xa và điều khiển ứng dụng
Hình 2.15 Các dạng lựa chọn thiết bị DAQ Trên hình 2.9 không thể hiện lựa chọn thứ 3, lựa chọn này sử dụng bus PCMCIA có trong một số máy tính xách tay Một thiết bị PCMCIA liên kết với máy tính và truyền tín hiệu tới bo mạch như trong sự lựa chọn A Đây chính là sự linh động và chặt chẽ của hệ thống DAQ
2.8.2.2 Mối quan hệ giữa LabVIEW với thiết bị DAQ
Máy tính thu nhận dữ liệu thô và chuyển đổi nó 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 đồ hoặc trong file của report Phần mềm không chỉ tác động vào