Đề tài “ Thiết kế, chế tạo hệ thống thí nghiệm động cơ một xi lanh điều khiển bằng máy tính” nhằm mục đích đo kiểm, điều chỉnh các thơng số trong hệ thống điều khiển động cơ nhằm kiểm ng
Trang 1THÀNH PHỐ HỒ CHÍ MINH
CÔNG TRÌNH NGHIÊN CỨU KHOA HỌC CẤP TRƯỜNG
NGHIÊN CỨU, CHẾ TẠO HỆ THỐNG THÍ NGHIỆM ĐỘNG CƠ MỘT XI LANH
ĐIỀU KHIỂN BẰNG MÁY TÍNH
MÃ SỐ: T52 - 2008
Tp Hồ Chí Minh, 2009
S 0 9
S KC 0 0 2 1 3 2
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HCM
THUỘC NHĨM NGÀNH: KHOA HỌC KỸ THUẬT
TP HỒ CHÍ MINH 2009
Trang 3Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 1
Tĩm tắt đề tài
Ngày nay, nền cơng nghiệp ơtơ của Việt Nam đang phát triển mạnh Ngành giáo dục và đào tạo của Việt Nam đang trên đà hội nhập với giáo dục quốc tế, cơng tác đào tạo nguồn nhân lực cĩ tay nghề cao đang được thúc đẩy nhanh chĩng Nhiều trường trung cấp nghề, cao đẳng nghề đang thành lập theo hướng cơng nghệ, học đi đơi với thực hành Trong khi đĩ, ngành cơng nghệ ơtơ cĩ đặc thù riêng là hầu hết các thiết bị đo kiểm thường
cĩ giá thành cao và ít cĩ mặt trong các cơ sở đào tạo Bên cạnh đĩ các thiết
bị này hầu hết đo lường các thơng số đầu ra hiện hữu của các hệ thống phục vụ cho cơng tác kiểm định mà khơng đo kiểm các thơng số cơ bản cĩ liên quan đến lý thuyết tính tốn các thơng số hệ thống và thơng số kỹ thuật thiết kế Vì thế việc thiết kế một thiết bị bảo đảm đo và kiểm nghiệm các thơng số kỹ thuật của các hệ thống điều khiển trên ơtơ là một vấn đề cần thiết cho ngành cơng nghệ ơtơ ở Việt Nam
Đề tài “ Thiết kế, chế tạo hệ thống thí nghiệm động cơ một xi lanh điều khiển bằng máy tính” nhằm mục đích đo kiểm, điều chỉnh các thơng số trong hệ thống điều khiển động cơ nhằm kiểm nghiệm thơng số thiết kế ảnh hưởng đến chất lượng động cơ, các thơng số được hiển thị và nhập từ một giao
diện trên máy tính để trực quan hĩa các đường đặc tính đơng cơ
Do thời gian cịn hạn chế nên đề tài chỉ tập trung nghiên cứu các vấn
đề sau:
- Khảo sát động cơ một xi lanh trên xe gắn máy
- Nghiên cứu phần mềm lập trình kỹ thuật Labview
- Thiết kế mạch đều khiển hệ thống
- Lập trình cho hệ thống điều khiển
- Chạy thử nghiệm trên mơ hình
Trang 4Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 2
MỤC LỤC
Trang
Tóm tắt đề tài 1
Mục lục 2
Phần I Đặt vấn đề 3
I Đối tượng nghiên cứu… 4
II Tình hình nghiên cứu trong và ngồi nước 5
III Những vấn đề còn tồn tại 5
Phần II Giải quyết vấn đề 6
I Mục đích nghiên cứu 7
II Thể thức nghiên cứu 7
III Nội dung nghiên cứu 8
1 Cơ sở lý thuyết về phun xăng và đánh lửa điều khiển bằng điện tử 8
2 Cơ sở lý thuết về vi điều khiển AVR và phần mềm Labview 14
3 Khảo sát động cơ một xi lanh trên xe gắn máy 32
4 Thiết kế, chế tạo mơ hình động cơ một xi lanh 36
5 Thiết kế chế tạo mạch đều khiển động cơ nhận dữ liệu từ máy tính 40 6 Lập trình cho hệ thống đều khiển 47
Phần III Kết luận và đề nghị 64
Phụ lục Tài liệu tham khảo 66
Trang 5Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 3
PHẦN I ĐẶT VẤN ĐỀ
Trang 6Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 4
I ĐỐI TƯỢNG NGHIÊN CỨU
Ngày nay chúng ta đang bước vào thế kỷ mới, thế kỷ của nền kinh tế tri thức, thế kỷ mà có sự phát triển vượt bậc về khoa học kỹ thuật trong tất cả mọi lĩnh vực như nguyên tử, chinh phục vũ trụ, kỹ thuật vô tuyến điện tử… với tốc độ phát triển nhanh chóng của khoa học kỹ thuật nhiều sản phẩm công nghệ cao được tích hợp với mật độ ngày càng nhỏ và tinh vi Các thiết bị đo lường trong công nghiệp ngày càng nhiều với mức độ chính xác và tin cây ngày càng được cải thiện Sự ra đời của hàng loạt máy tính công nghiệp và sự can thiệp sâu mạnh của công nghệ thông tin vào sản xuất báo hiệu một thời kỳ mới trong nền sản xuất bắt đầu bùng nổ Thời đại công nghiệäp tin học sắp ra đời Song song với sự phát triển này, chúng ta chứng kiến hàng loạt các công ty phần mềm trên thế giới chạy đua nhau sản xuất các loại Kit điều khiển trong công nghiệp Trong số đó ta phải nhắc tới là hãng National Instruments National Instruments là công ty chuyên sản xuất máy tính công nghiệp với phần mềm hỗ trợ là Labview rất được tin cậy Không đứng ngoài sự phát triển chung của nhân loại, ngành công nghiệp ôtô cũng đã có những tiến bộ vượt bậc về công nghệ, đặc biệt là các công nghệ mới ứng dụng lên xe nhằm đem lại sự tiện nghi, sang trọng, kinh tế… Ngành công nghiệp ôtô ngày càng thu hút các ngành công nghiệp khác tham gia Trong đó có thể nói công nghệ thông tin là ngành mới mẽ nhất gia nhập ngành công nghệ ôtô với sư kiện Microsoft thành lập khu phần mềm chuyên về ôtô ở Trung Quốc, các máy tính mini có mặt trong các hệ thống trên ôtô để nối mạng truyền tin cho nhau và trong tương lai hướng công nghệ này còn phát triển mạnh mẽ
Về ngành công nghiệp ôtô Việt Nam là ngành công nghiệp còn non trẻ, thị phần chủ yếu là thị trường trong nước với tất cả các linh kiện phụ tùng nhập khẩu theo hình thức CKĐ Hệ thống cơ sở đào tạo và các viện nghiên cứu, phòng thì nghiệm còn sơ sài nhưng đã bắt đầu phát triển mạnh trong những năm gần đây
Trang 7Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 5
Tuy nhiên các thiết bị đo lường kiểm nghiệm còn nhiều bất cập không theo kịp với thời cuộc trên toàn thế giới Lý thuyết đào tạo chưa được kiểm nghiệm bằng thực tế mà chỉ là tính toán thiết kế Trước tình hình bất cập như thế người làm đề tài đã quyết định nghiên cứu, xây dựng một giao diện tên máy tính trên cơ sở phần mềm Labview của National Instruments Giao diện được hỗ trợ bởi phần cứng là hệ thống điều khiển động cơ Với mục tiêu dùng máy tính đo lường các thông số hoạt động của độâng cơ để kết hợp với máy đo khiểm định kiểm nghiệm kết quả với lý thuyết tính toán
Việc điều khiển động cơ bằng giao diện trên máy tính kết hợp với board mạch như một bộ chấp hành ở các phịng thí nghiệm trong ngành ơtơ ở Việt Nam là một vấn đề trương đối mới mẽ Sự kết hợp của cơng nghệ thơng tin trong lĩnh vực điều khiển vào ngành cơng nghệ ơtơ cịn cĩ nhiều bất cập Bên cạnh đĩ phần mềm lập trình kỹ thuật Labview là một phần mềm mạnh mới được du nhập vào nước ta trong các phịng thí nghiệm cơ điện tử Vì thế việc kết hợp Labview vào điều khiển động cơ đốt trong là
một lĩnh vực mới chưa được quan tâm nhiều
Trang 8Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 6
PHẦN II GIẢI QUYẾT VẤN ĐỀ
Trang 9Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 7
Hiện nay các hệ thống đo lường bằng máy tính ra đời với độ chính xác rất cao Vấn đề tiếp theo mà đề tài này muốn hướng tới là xây dựng ma trận tính kích thước cảnh báo, dự đoán sự cố và hổ trợ tài xế khi đậu xe vào bải Do cơ sở hạ tầng bến bải ở việt nam chật hẹp, vì thế khoảng cách giữa các xe đậu sát nhau trong bải xe là rất nhỏ Vấn đề tày tạo cho tài xế một khó khăn không nhỏ trong lúc đưa xe vào bải đậu Để giải quyết vấn đề này, chúng ta đặt mỗi góc của kích thước hình học xe một cảm biến để cảnh báo tầm nguy hiểm
Trong quá trình thực hiện đề tài các phương pháp nghiên cứu sau đây đã được
sử dụng:
- Phương pháp nghiên cứu tài liệu
- Phương pháp thực nghiệm
- Phương pháp thiết kế mạch
- Phương pháp lập trình vi điều khiển
- Phương pháp thu thập dữ liệu quan cổng com của Labview
Nội dung nghiên cứu bao gồm:
- Cơ sở lý thuyết về phần mềm Labview và vi điều khiển AVR
- Khảo sát động cơ một xi lanh trên xe gắn máy
- Chế tạo mơ hình động cơ xe gắn máy
- Thiết kế chế tạo mạch điều khiển động cơ nhận dữ liệu từ máy tính
- Thiết kế giao diện điều khiển trên máy tính với phần mềm Labview
- Lập trình cho mạch điều khiển bằng ngơn ngữ Assembler
Trang 10Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 8
- Chạy thử nghiệp trên mơ hình
Trang 11Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 8
III NỘI DUNG
1 Cơ sở lý thuyết về phun xăng và đánh lửa điều khiển bằng điện tử a) Lý thuyết đánh lửa CDI-AC
Với hệ thống đánh lửa điện dung, năng lượng đánh lửa được tích lũy dưới dạng điện trường giữa hai bản cực của tụ điện C:
Wc=
2
.U2C
Trong đĩ:
C: điện dung của tụ điện (F)
U: điện áp trên tụ điện (V)
Vậy năng lượng đánh lửa tỉ lệ thuận với C và tỉ lệ thuận với U2 Để tăng năng lượng đánh lửa ta cĩ thể tăng C hoặc tăng U Nếu tăng C thì Wc chỉ tăng theo quan hệ đường thẳng.Trong khi nếu tăng U thì Wc sẽ tăng theo quan hệ đường cong bậc hai vậy tăng
U cĩ lợi hơn tăng C
Hình 1.1 Sơ đồ khối hệ thống CDI-AC
Hệ thống này được sử dụng rộng rãi trên xe gắn máy, nĩ bao gồm hai bộ phận chính là bộ phận phát điện tạo áp khoảng 200V đến 400V hay cịn gọi là bobin lửa Bộ phận thứ hai là bộ CDI hay cịn gọi là IC đánh lửa
Bộ phận phát điện:
Nĩ bao gồm một cuộn dây quấn quanh một lỏi sắt đặt trên mâm lửa Khi quay trục khuỷu, bánh đà quay theo làm thay đổi từ thơng xuyên qua cuộn dây dẫn tới xuất hiện suất điện động cảm ứng trên cuộn dây Tùy theo số vịng dây quấn kết hợp với tốc độ động cơ chúng ta cĩ điện áp sinh ra theo mong muốn
Bộ CDI:
Bộ phận chính bao gồm một tụ điện C và một SCR điều khiển đĩng mở tụ SCR được điều khiển nhờ tín hiệu từ xung kích Sau đây là một số sơ đồ nguyên lý làm việc của
hệ thống CDI-AC
Trang 12Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 9
Hình 1.2 Sơ đồ nguyên lý mạch đánh lửa CDI trên xe gắn máy (D 3 // SCR)
Dịng điện từ máy phát N sau khi đi qua diode D1 và được chỉnh lưu bán kỳ nạp vào tụ C Khi cĩ tín hiệu đánh lửa từ cuộn kích K, dịng điện kích chạy từ K đi qua D2qua R1, R2 và về mass Một dịng khác sau khi qua R1 chạy qua SCR đổ về mass Dịng này sẽ mở SCR để xả tụ C Dịng xả này băng qua cuộn sơ cấp bobin đột ngột làm cho cuộn thứ cấp sinh ra suất điện động cảm ứng phĩng qua bugi đánh lửa Dịng sơ cấp sau đĩ nạp lại cho tụ C và xả ngược lại đĩng SCR
Tại thời điểm bắt đầu nạp tụ: Uc(0)=0V (1)
Khi tụ nạp đầy: Uc(đ)=UB (2)
Với sơ đồ mạch tương đương sau đây ta cĩ phương trình
UB(t)=Rt.i(t) +Uc(t) UB(t)=Rt.i(t)+ i t dt
C ( )
1
(3)
Hình 1.3 Sơ đồ tương đương
Giải phương trình vi phân (3) với điều kiện biên (1) và (2) ta được:
e U
U
Chọn Rt = 100, C=2,2.10-6F, UB= 400V, sử dụng phần mềm Exell ta vẻ đường đặc tính nạp tụ như sau:
Hình 1.4 Đặc tính điện thế nạp tụ U=f(t)
Trang 13Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 10
Khi phĩng điện, tụ C trở thành nguồn điện với điện áp Uc= 400V, SCR được nối tắt coi như là dây dẫn cĩ tổng điện trở của cuộn sơ cấp là Rd Với loại cĩ diode mắc song song với SCR Trong bán kỳ ngược thì mạch là mạch dao động R-C Vậy trong thời gian SCR mở, quy luật tăng trưởng dịng điện và điện áp giống như mạch dao động R-C Dịng điện và điện áp lệch pha nhau và chúng cĩ dạng dao động tắt dần nếu thời gian mở SCR dài hơn thời gian nạp tụ C
Hình 1.6 Đặc tính phĩng, nạp tụ C trong khi SCR mở
Trên một số mạch điện, để tăng thời gian nạp tụ, người ta mắc diode song song với cuộn sơ cấp
Hình 1.7 Sơ đồ mạch cĩ diode mắc song song cuộn sơ cấp
Với sơ đồ này hầu như tồn bộ năng lượng đánh lửa trên tụ được chuyển hết sang cuộn sơ cấp, trong khi SCR mở khơng cịn tồn tại dao động R-C Trong thời gian
Trang 14Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 11
nạp tụ, dịng nạp khơng đi qua cuộn dây mà nạp trực tiếp xuống mát thơng qua diode này Hiệu điện thế trên cuộn sơ cấp được xác định theo cơng thức:
U2m : Hiệu điện thế cực đại trên cuộn sơ cấp
Uc : Hiệu điện thế lúc bắt đầu phĩng
Hình 1.8 Đặc tính phĩng điện qua cuộn sơ cấp
Từ đường đặc tính trên ta thấy trong khoảng thời gian t1 điện áp giảm rất nhanh Sau khoảng thời gian t2, điện áp ngược trên cuộn sơ cấp bị dập tắt bởi diode nên điện
áp hầu như bằng khơng và khơng cịn tồn tại hiện tượng dao động Tồn bộ năng lượng đánh lửa được tích trữ trước đĩ dưới dạng điện trường được chuyển hồn tồn thành năng lượng đánh lửa
b) Lý thuyết điều khiển phun nhiên liệu bằng máy tính
Khi đốt kiệt 1kg nhiên liệu, các thành phần c của C, h của H2 sẽ chuyển thành CO2 và
H2O theo các phương trình phản ứng sau:
kJ O
H O H
kJ CO
O C
2870002
1
406976
2 2 2
2 2
Từ đĩ ta cĩ:
Trang 15Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 12
O hkgH hkgO
hkgH
ckgCO ckgO
ckgC
2 2
2
2 2
98
3
113
1232
,
0
'
(kg khơng khí/kg nhiên liệu) (4.2)
Với cơng thức này ta tính cho một loại nhiên liệu đại điện làm ví dụ Ta chon nhiện liệu ví dụ là LPG bởi vì đây là nhiên liệu cĩ trử lượng lớn và chưa được sữ dụng đúng mức Nhiên liệu LPG gồm cĩ 50% Propane (C3H8) và 50% Butane (C4H10) nên thành phần khối lượng của C và H là: 0,823 C và 0,177 H, khơng cĩ thành phần Oxy trong nhiên liệu nên Onl = 0
Thay vào cơng thức (3.3) ta được:
5,150177,08823,03
8232,0
L (kg khơng khí/kg nhiên liệu)
Nếu lượng khơng khí thực tế đưa vào động cơ để đốt 1kg nhiên liệu là L (kg khơng khí/kg nhiên liệu), gọi là hệ số dư lượng khơng khí, thì:
Gọi m aLPG là khối lượng khơng khí nạp vào trong xy lanh dùng để đốt cháy LPG, m LPG
là khối lượng nhiên liệu LPG cung cấp vào xy lanh Khi đĩ, để phản ứng đốt cháy nhiên liệu xảy ra hồn tồn theo lý thuyết thì:
5,15
aLPG LPG
m
m (kg nhiên liệu) Dựa vào cảm biến khối lượng khí nạp, ta cĩ thể xác định lượng khí nạp tức thời đi qua cảm biến ma dựa vào tính hiệu điện áp đầu ra của cảm biến Khối lượng khí nạp trên
xy lanh được tính tốn bằng cách tích phân lưu lượng khí nạp matrong một chu kỳ
a m dt
Cận thời gian bắt đầu ta và thời gian kết thúc tb của phép tính tích phân được cho bởi:
CYL n t
Hệ số 2 trên tử của phân số là do khơng khí chỉ được nạp ở mỗi hai chu kỳ trong quá
trình hoạt động củ động cơ 4 kỳ Gọi f p là tần số dao động của dịng khơng khí nạp thì:
Trang 16Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 13
st st
aLPG
CYL n
m L
m m L L
m m
2.1
Trong đĩ Lst là khối lượng khơng khí tại điểm hịa khí lý tưởng, Lst=L0=15,5 Lượng
nhiên liệu phun m LPG tỉ lệ thuận với thời gian phun t inj và căn bậc hai của chênh lệch cáp suất p giữa ống phân phối nhiên liệu và đường ống nạp trong trường hợp phun trên đường ống nạp, cịn ở hệ thống phun trực tiếp thì plà sự chênh lệch áp suất giữa ống phân phối và buồng cháy Tỉ trọng của nhiên liệu LPG và diện tích mở cĩ ích của
van kim phun A eff được xem như hằng số:
inj LPG eff
LPG inj
LPG
LPG inj
p A
m t
2
Áp dụng cơng thức (3.5), ta cĩ khối lượng nhiên liệu tính theo thời gian nhấc kim (bảng 3.4) Trong đĩ, đối với nhiên liệu LPG:
3
tan
/354,2
bu propane LPG
p=6kg/cm2=05,346.105MPa
A eff=(R2-r2)=3,14(52-22)=65,94 mm2
Trang 17Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 14
2 Cơ sở lý thuết về vi điều khiển Atmega8 và phần mềm Labview
a) Cơ sở lý thuyết vi điều khiển Atmega8
Atmega8 là bộ vi xử RISC với kiến trúc Harvard thuộc họ AVR được sản xuất bởi Cty ATMEL với tính năng mạnh mẽ Cĩ 130 lệnh mạnh xử lý hầu hết trong một chu
kỳ xung nhịp Cĩ 8Kbyte bộ nhớ flash cĩ thể xĩa lập trình được và cĩ thể chịu được
10000 lần ghi xĩa Cĩ 32 thanh ghi đa năng 8 bit, 512 byte bộ nhớ EEPROM tích hợp trên chíp, cĩ 1 kbyte SRAM nội Cĩ hai bộ Timer/counter 8 bit và một bộ timer/counter 16 bit với bộ chia tần lập trình được Cĩ ba kênh điều xung, 6 kênh lối vào chuyển đổi ADC với độ phân giải 10 bit Atmega8 cĩ 28 chân, trong đĩ cĩ 23 cổng vào ra Nguồn nuơi từ 2.7 đến 5.5 đối với Atmega8L và từ 4.5 đến 5.5 đối với Atmega8, làm việc tiêu thụ dịng 3.6mA Sử dụng mạch dao động ngồi từ 0 đến 8 Mhz với Atmega8L và từ 0 đến 16 Mhz với Atmega8 Ngồi ra chíp Atmega8 cịn cĩ
bộ xung nội bên trong cĩ thể lập trình chế độ xung nhịp
Hình 2.1 Sơ đồ chân vi điều khiển Atmega8
Trang 18Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 15
Hình 2.2 Sơ đồ chân vi điều khiển Atmega8
b) Cơ sở lý thuyết về phần mềm lập trình kỹ thuật Labview
Labview (Virtual Instrument Engineering Workbench) là một mơi trường lập trình phát triển dựa trên ngơn ngữ lập trình đồ hoạ, thường được sử dụng cho các mục đích đo lường, kiểm tra, đánh giá, xử lý và điều khiển các tham số của thiết bị
Trong năm 1983, NI bắt đầu nghiên cứu tìm kiếm một cách thức để tối thiểu hĩa thời gian cần thiết để lập trình một hệ thống thiết bị Thơng qua sự nỗ lực này mà cơng cụ ảo LabView vĩi Front Panel trực quan và Block Diagram tân tiến đã ra đời LabView version 1 được đưa ra năm 1986 chỉ dung trên hệ Macintosh Tuy nhiên Mac đã khơng được sử dụng rộng rải trong những ứng dụng và cơng cụ đo lường Chức năng đồ họa của nĩ hỗ trợ tốt nhất cho kỹ thuật của Labview cho tới khi hệ thống thong dụng hơn cĩ thể hỗ trợ Năm 1980 NI đã viết lại LabView kết hợp với nhiều cơng nghệ phần mềm mới với những đĩng gĩp phản hồi sau nhiều năm của những người sử dụng Quan trọng hơn nữa LabView 2 cịn được nâng cấp làm cho tốc độ của các VI ngang bằng với các chương trình viết bằng ngơn ngữ C và được cấp bằng sang chế cho những đổi mới trong cơng nghệ LabView
Năm 1992 Labview dành cho Window và Sun được giớ thiệu với kiến trúc mới linh động Laview 3 ra đời năm 1993 dùng cho hệ điều hành Windows, Macintosh và Sun Với Labview 3 thì VI viết trên platform này đã cĩ thể chạy trên Platform khác và danh sách các platform dược hỗ trợ bởi Labview ngày càng nhiều (Windows NT, Power Macs và HP Workstation)
Năm 1996 LabView 4 được nâng cấp với những khả năng mạnh hơn trong việc hiệu chỉnh và phát triển khơng gian làm việc của người dùng trong mơi trường LabView , đờng thời
hỗ trợ thêm những cơng năng gỡ rối chương trình cao cấp hơn
Labview 5 và 5.1 tiếp tục được cải tiến hơn nửa với cơng nghệ built _in web server , dynamic programming và Control framework (VI Server) … giúp dễ dàng chia sẻ dữ liệu qua mạng internet hoă ̣c ứng dụng điều khiển qua các mạng
Sau đĩ lần lượt LabView 6, 7 được cho ra đời với những cải tiến vượt bậc về tốc độ thực hiện cũng như những tính năng hỗ trợ mới như giao tiếp phần cứng, điều khiển từ xa, lập trình
Trang 19Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 16
nhúng … Và hiện nay chúng ta đang sử dụng bản LabView 8.5, 8.6 là version mới nhất của Labview
Labview ngày càng cĩ nhiều ứng dụng trong khoa học kỹ thuật và sản xuất vì nĩ cho phép người kỹ sư thiết kế một chương trình trong một thời gian tương đối ngắn mà khơng địi hỏi quá nhiều kiến thức về ngơn ngữ lập trình Mặt khác Labview cĩ thể tương thích với hầu hết các dạng phần cứng và Flatform của Apple, Macsintosh, Sun, Microsoft Window … Labview là một ngơn ngữ lập trình đa năng, giống như các ngơn ngữ lập trình hiện đại khác Labview gồm cĩ các thư vịên thu nhận dữ liệu, một loạt các thiết bị điều khiển, phân tích dữ liệu, biểu diễn và lưu trữ dữ liệu Nĩ cịn cĩ các cơng cụ phát triển được thiết kế riêng cho việc nối ghép và điều khiển thiết bị
Labview khác với các ngơn ngữ lập trình thơng thường ở điểm cơ bản là: các ngơn ngữ lập trình khác thường dùng cơ chế dịng lệnh, trong khi Labview dùng ngơn ngữ lập trình Graphical để trạo ra các chương trình ở dạng sơ đồ khối
+) 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 (thiết bị ảo) tương tự như các hàm trong lập trình bằng ngơn ngữ
+) Front Panel và Block Diagram
Một chương trình trong LabView gồm 2 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)
Front Panel Block Diagram
Hình 2.3 Front Panel và Block Diagram
Front Panel là một panel tương tự như panel của thiết bị thực tế Ví dụ các nút bấm, nút
bật, các đồ thị và các bộ điều khiển Từ Front Panel người dùng chạy và quan sát kết quả cĩ thể dùng chuột, bàn phím để đưa dữ liệu vào sau đĩ 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 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
Trang 20Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 17
Block Diagramcủa 1 VI là một sơ đồ được xây dựng trong mơi trườ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 đồ hoạ của 1 VI Các đối tượng trên Front Panel được thể hiện bằng cá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 Diagram gồm các thiết bị đầu cuối (Terminal), Nút (Node) và các dây nối (wire)
- Terminal: là các cổng mà dữ liệu truyền qua giữa Block Diagram và Front panel, và
giữa các Node trong Block Diagram Các Terminal dưới dạng các Icon của các Function
- Nodes: là các phần tử thực hiện chương trình, chúng tương tự như các mệnh đề, tốn
tử, hàm và các chương trình con trong các ngơn ngữ lập trình thơng thường
- Wires: là các dây nối dữ liệu giữa các node
+) Icon & Connector
* Icon (biểu tượng): là biểu tượng của VI, được sử dụng khi từ 1 VI muốn sử dụng chức
năng của 1 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ĩ 1 Icon mặc định hiển thị trong bảng Icon ở gĩc trên bên phải cửa sổ Front Panel và Block
Diagram
Mỗi VI cĩ 1 Icon mặc định hiển thị trong bảng Icon ở gĩc trên bên phải cửa sổ Front Panel và Block Diagram như hình dưới đây Ta cĩ thể thay đổi được Icon và connector
Hình 2.4 Vị trí Icon và Connector
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 1 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
+) Kỹ thuật lập trình trên Lab View:
Việc lập trình trên LabView cần sử dụng các bảng: Tools Palette, Controls Panelette, Function Palette, 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 Font Panel và Block Diagram
Tool Palette:
Trang 21Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 18
Tool Panel xuất hiện trên cả Font Panel và Block Diagram Bảng này cho phé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 theo biể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 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
Để truy cập vào Tools paltte ta chọn Menu: Window Show Tools palette. Các cơng
cụ trong Tools palatte gồm cĩ:
Controls Palette (bảng điều khiển):
Bảng điều khiển chỉ duy nhất xuất hiện trên Front panel Bảng điều khiển chứa các bộ điều khiển (control) và các bộ hiển thị (Indicator) Bảng điều khiển được minh họa như bên phải
Hình 2.6 Control 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 vd cơng tắc
Hình 2.5 Tools Palette
Trang 22Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 19
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
Một số bộ điều khiển và hiển thị trên controls palette
Bộ cơng cụ này cung cấp 2 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ị
Hình 2.8 Boolean
Trang 23Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 20
String Controls/Indicators:
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
Hình 2.9 String và Path
Functions Palette:
Bảng Functions Palette chỉ xuất hiện trên Block Diagram Bảng này chứa các VI và các hàm mà người sử dụng xây dựng để xây dựng nên các khối lưu đồ Bảng Function palette được minh họa như trong hình bên phải
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 24Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 21
Dữ liệu:
Ngơn ngữ lập trình LabView hỗ trợ cho tất cả các dạng dữ liệu Các kiểu dữ liệu dạng Boolean, 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ài dạ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ụng dưới 2 dạng là biến tồn cục (global variables) và các biến cục bộ (local variables)
- Global variables (biến tồn cục): Biến tồ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 tồn cục được coi là một đối tượng trong Labview Khi ta tạo ra một biến tồn cục Labview sẽ tạo ra một “VI tồn cục”
đặc biệt Để tạo ra các biến tồ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ần xác định cho chúng
kiểu dữ liệu thơng qua các kiểu dữ liệu đã sử dụng thơng qua các Controls hoặc các Indicators Chúng ta cần chú ý là đối với mỗi biến tồn cục chúng ta cần phải tạo ra 1
VI với một tên riêng duy nhất Đối với các biến tồn cục chúng ta cũng cần xác định chế độ chỉ cho phép ghi hoặc chỉ cho phép đọc Đối với việc truy xuất vào biến tồn cục sẽ thực hiện rất nhanh 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 tồn cục để lưu trữ và xử lý các dữ liệu dưới dạng mảng (arrays), Clusters hay các sâu (string) lớn thì thời gian cũng như 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ài dịch vụ quản lý bộ nhớ mỗi khi các biến đĩ gọi tới Khi sử dụng các biến tồ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 hồn tồn giống như trong các ngơn ngữ lập trình dịng lệnh Việc
“tranh chấp dữ liệu” xảy ra 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ủ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 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 tồn cục trong Vis mà được thực hiện song song, thì ta cĩ thể sử dụng một biến tồ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 1 trong những thiết bị điều khiển hoặc thiết bị hiển thị trên Front Panel Để tạo một biến cục bộ, chọn
Local Variable từ bảng Structs & Constant Khi sử dụng biến cục bộ cần chú ý một
số thơng tin sau:
Các biến cục bộ 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 cục bộ để truy cập tới 1 điều khiển mà khơng cùng trên một lượt đồ
Ta cĩ thể cĩ rất nhiều các biến cục bộ 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 cục
Giống như biến tồn cục, bạn cĩ thể sử dụng biến cục bộ 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 tập hợp các kí tự Ta cĩ thể sử dụng chuỗi tham gia tính tố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ên phải
Trang 25Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 22
Hình 2.11 String
LabView cung cấp cho người sử dụng các cơng cụ để thao tác trên LabView như việc tìm kiếm, xác định độ dài của chuỗi ký tự, chuyển dẫy ký tự thành dạng viết hoa và ngược lại, so sánh chuỗi, thay một số ký tự trong chuỗi sang một số chuỗi khác
Hình 2.12 Truy xuất một String
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 vd: 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 Sau đây là một số từ thay thế (Escape Code)
Escape code Từ được thay (Interpreted As)
\00-\FF Giá trị dạng Hex của ký tự 8 bít
Trang 26Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 23
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ì Laview 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
Khởi tạo mảng:
Để khởi tạo một mảng khi chương trình bắt đầu, ta thực hiện theo một số phương pháp sau:
- Nếu như tất cả các giá trị là như nhau, thì sử dụng một vịng lặp For với một hằng
số bên trong Điểm bất lợi là: nĩ chắc chắn cần một thời gian lớn để tạo mảng
- Sử dụng chức năng khởi tạo mảng với kích cỡ các chiều đầu vào được kết nối tới một hằng số được đặt là giá trị của các phần tử Nĩ tương đương với phương pháp trước nhưng thuận tiện hơn
- Một cách tương tự, nếu như các giá trị cĩ thể được tính tốn trong một số cách khơng phức tạp, thì đặt cơng thức tính tốn vào một vịng lặp và tạo ra mảng theo cách
- Tạo trên front panel một điều khiển mảng Chọn Emty Array, và sau đĩ Make
Current value Default từ menu Control
- Tạo một vịng lặp với số lần lặp N, vịng lặp được nối tới một giá trị 0
- Sử dụng chức năng “Initialize Array”
Bộ nhớ của mảng để sử dụng và thi hành:
Khi một mảng được tạo ra, Labview sẽ sử dụng một khơng gian bộ nhớ hợp lý nhất Labview phải phân chia bộ nhớ thành những phần kế tiếp nhau để lưu trữ mảng Nếu người sử dụng thực hiện các phép tính đơn giản như phép nhân một dãy trong một mảng, thì sẽ khơng cần yêu cầu một vùng nhớ lớn
Một số hàm sử dụng thao tác trên mảng:
Việc sử dụng các hàm trên bảng Function>>Array để tạo và điều khiển các mảng
Trang 27Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 24
Hình 2.13 Bảng Array
Trên đĩ bao gồm các hàm sau
Array Constant Interleave 1D Arrays
Array Max & Min Interpolate 1D Array
Array Size Replace Array Subset
Array Subset Replace Array
Array To Cluster Reverse 1D Array
Build Array Rotate 1D Array
Cluster To Array Search 1D Array
Decimate 1D Array Sort 1D Array
Delete From Array Split 1D Array
Index Array Threshold 1D Array
Initialize Array Transpose 2D Array Insert Into Array
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
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ủ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ư là các thành phần trong 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ần trong
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:
Trang 28Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 25
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ệc vớ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à: For Loop, While Loop, Case Structure, Sequence Structure và Fomula Node
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 hồ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 (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ộ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
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)
Các cấu trúc điều khiển chương trình trong LabView nằm ở Functions =>
For Loop cĩ hai Terminal đĩ là:
Count Terminal (Terminal đầu vào): Chỉ ra số lần vịng lặp phải thựcx hiện
Iteration Terminal (Terminal đầu ra): Chứa số lần vịng lặp đã thực hiện Giá trị của i thay đổi từ 0 tới n-1
Trang 29Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 26
Hình 2.15 While Loop
VI kiểm tra Conditional Terminal tại cuối mỗi vịng lặp, do đĩ While Loop luơn thực
hiện ít nhất một lần Iteration Terminal là một Terminal đầu ra mà đưa ra số lần vịng lặp
thực hiện được Việc tính sự lặp luơn được bắt đầu từ 0 Vì vậy, nếu vịng lặp chạy một lần thì Iteration Terminal đưa ra kết quả 0 Việc thực hiện vịng lặp cĩ thể được xác định thơng qua Conditional Terminal.
Tại Conditional Terminal, ta cĩ thể chọn các điều kiện: + Stop if true
+ Continue if true
Việc xác định điều kiện để thực hiện vịng lặp tại Conditional Terminal, rất quan trọng
vì nếu khơng xác định đúng thì vịng lặp cĩ thể rơi vào vịng lặp vơ hạn
Case & Sequence Structures
Case Structure và Sequence Structure là các cấu trúc thực hiện một SubDiagram bên trong nĩ Case Structure thực hiện SubDiagram dựa trên một giá trị đầu vào mà được bộ chọn gọi Sequence Structure thực hiện các SubDiagram một cách tuần tự theo thứ tự mà chúng xuất hiện
Cả Case Structure và Sequence Structure cĩ thể cĩ nhiều SubDiagram, nhưng chỉ cĩ một SubDiagram được nhìn thấy tại một thời điểm Tại đường viền bên trên của mỗi cấu trúc
là một cửa sổ hiển thị SubDiagram mà gồm cĩ sơ đồ định danh (Diagram Identifer) ở giữa và nút tăng (Increment), nút giảm (Decrement) ở hai bên Diagram indentifer chỉ ra SubDiagram hiện thời được hiển thị Đối với Case Structure thì diagram identifer là một danh sách các giá trị để lựa chọn SubDiagram Đối với Sequence Structure thì diagram identifer là khung (Frame) trong Sequence(từ 0 tới n-1)
Case Structure và Sequence Structure được minh họa ở hình I.13
Hình 2.18 Case & sequence Structure
Khi nhấn vào nút tăng (bên phải) hoặc nút giảm (bên trái) sẽ làm hiển thị SubDiagram
kế tiếp hoặc trước đĩ tương ứng Nhấn nút tăng khi ở SubDiagram cuối cùng làm hiển thị
Iteration
Terminal
Conditional Terminal
Increment/decrement
Buttons
Diagram
Identifier
Trang 30Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 27
SubDiagram đầu tiên cịn nhấn nút giảm khi ở SubDiagram đầu tiên làm hiển thị SubDiagram cuối cùng
Để truy cập Case Structure và Sequence Structure ta chọn Menu:
Functions=> Structures=> Case
Hoặc Functions=> Structures=> Sequence
Formula Node
Formula Node là cấu trúc dùng để thực hiện các dãy cơng thức tốn học bên trong nĩ Khi dùng Formula Node ta cĩ thể vào các cơng thức trực tiếp trong một Block diagram nhờ chuột ở chế độ Labeling Tool Để tạo các đầu vào và các đầu ra, bấm vào đường viền của Formula Node và chọn Add Input (Add Output), đánh vào tên biến vào bên trong hộp Các cơng thức được đánh vào bên trong đường viền của Formula Node, mỗi cơng thức trình bày phải kết thúc bằng dấu chấm phẩy (;) Ví dụ minh họa Formula Node cĩ dạng như hình I.14
Hình 2.19 Formula Node
Để truy cập Formula Node ta chọn:
Functions=> Structures=> Formula Node
Các tốn tử và các hàm cĩ thể dùng bên trong Formula Node đượfc liệt kê trong cửa sổ
Help của Formula Node
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ứ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 1 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 vd 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
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 VI và tạo một SubVI từ một phần của VI:
Tạo một SubVI từ một VI:
Cá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 Conetor 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 đĩ
Để 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
Trang 31Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 28
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
Hình 2.30 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 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ủ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ừ
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
Trang 32Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 29
Hình 2.31 Cách thức tạo Connector của một VI
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ẽ tự động thành một
SubVI Các Control và Indicator được tự động khai báo cho SubVI 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ủa SubVI 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
Xây dựng ứng dụng:
Ví dụ minh họa xây dựng một VI cụ thể trên LabVIEW:
Ta xây dựng một VI dùng để mơ phỏng việc đo nhiệt độ (Temperature) và dung tích (Volume) của một bình nước (Tank) trong mơi trường LabVIEW
Xây dựng Front Panel:
1 Mở một Front Panel mới bằng cách chọn File New Nếu đã đĩng tất cả các VIs thì chọn New VI từ hộp thoại của LabView
2 Chọn một cái bình (Tank) từ Control Numberic Palette và đặt nĩ lên Front Panel
3 Đánh Volume vào trong hộp nhãn của nĩ
4 Dùng chuột ở chế độ Labeling Tool đặt thang chỉ thị của Tank để hiển thị dung tích của Tank từ 0 đến 1000
5 Đặt một nhiệt kế (Thermometer) từ Control Numberic Palette lân Front Panel Đánh nhãn của nĩ là Temp và đặt thang chỉ thị của nĩ từ 0 đến 100
6 Front Panel của VI sẽ giống như minh họa dưới đây:
Trang 33Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 30
Hình 2.32 Front Panel và Block Diagram của một VI
Xây dựng Block Diagram
7 Mở Block Diagram bằng cách chọn Windows Show Diagram
8 Đặt các đối tượng được chọn dưới đây từ Functions palette lên cửa sổ Block Diagram
Process Monitor (Functions Select a VI từ LabView\ Activity Directory) - Mơ phỏng việc đọc một giá trị nhiệt độ và dung tích từ một Sensor hoặc từ một bộ biến đổi
Random Number Generator (Functions=> Numberic) - tạo ra một số ngẫu nhiên
giữa 0 và 1
Multipy Function (Functions=> Nmberic) - thực hiện phép nhân hai số Trong ví dụ
này chúng ta cần 2 bộ nhân
Numberic Constant (Functions=> Numberic) - là hằng số Dùng chuột ở chế độ
Labeling Tool đặt giá trị của nĩ Trong ví dụ này ta cần 2 hằng số
9 Dùng chuột ở chế độ Wring Tool nối tất cả các đối tượng như hình trên
10 Chọn File=> Save và lưu giữ VI với tên Temp & Volume.vi
11 Từ Front Panel chạy VI bằng cách nhấn vào nút Run trên thanh cơng cụ hoặc ấn Ctrl+R
12 Đĩng VI bằng cách chọn File=> Close
Xây dựng Icon của VI
13 Từ Front Panel của Temp & Volume.vi, bấm chuột phải vào Icon panel ở gĩc trên bên phải và chọn Edit Icon … để vào Icon Editor, hoặc cĩ thể bấm đúp chuột trái vào Icon panel để làm xuất hiện Icon Editor
Trang 34Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 31
Hình 2.33 Edit Icon của VI
14 Xĩa Icon mặc định của VI Dùng các cơng cụ ở bên trái của Icon Editor để vẽ Icon mới cho VI giống như hình
15 Sau khi xây dựng xong Icon mới cho VI, bấm nút OK để đĩng Icon Editor, Icon mới
sẽ xuất hiện thay thế cho Icon mặc định
Gỡ rối và sửa chương trình xây dựng trên LabView:
Khi xây dựng chương trình trên LabView, ta cĩ thể tiến hành các thao tác sửa chữa, thay đổi một cách dễ dàng bằng cách thay đổi, dịch chuyển, loại bỏ các đối tượng một cách dễ dàng trên Front Panel và Block Diagram (chú ý các bộ phận Control và indicator chỉ cĩ thể xĩa được trên Front Panel)
Gỡ rối chương trình:
Một chương trình khơng thể chạy được cũng như khơng thể biên dịch được khi chương trình đĩ cịn lỗi Khi chương trình đĩ cĩ lỗi, nút Run sẽ xuất hiện nét gãy khi VI đang được soạn thảo Và VI vẫn cịn lỗi
LabView cung cấp một số cơng cụ để theo dõi lỗi phát sinh trong quá trình lập trình Nếu sau khi soạn thảo xong mà chương trình vẫn khơng chạy được thì mở hộp Error List (Window\ Show Error List) để tìm lỗi và xác định vị trí của lỗi Nếu như khi chương trình đã chạy được nhưng kết quả khơng như ý muốn, ta cĩ thể sử dụng cơng cụ theo dõi quá trình thực hiện chương trình, kết quả sau mỗi bước sẽ được hiển thị từ đĩ ta cĩ thể xác định được thuật tốn của ta cĩ đúng hay khơng Để chọn chức năng này sau khi cho chương trình chạy,
ta bấm vào nút trên thanh cơng cụ của Block Diagram Chức năng được minh họa trong hình 2.34
Hình 2.34 Các chức năng của Block Diagram
Trang 35Thiết kế, chế tạo hệ thống thí nghiệm động cơ điều khiển bằng máy tính 32
3 Khảo sát động cơ một xi lanh trên xe gắn máy
a) Thô số kỹ thuật động cơ làm mô hình điều khiển
Động cơ làm mơ hình là động cơ 1 xylanh của hãng LONCIN Trung Quốc cĩ các thơng số sau:
Hình 3.1 Động cơ làm mơ hình điều khiển
Đường kính xylanh và hành trình Piston: 53 x 49.5 (mm)
Dung tích xylanh: 108 (cm3)
Tỉ số nén: 9,3 : 1
Hệ thống đánh lửa CDI-AC
Hệ thống cung cấp nhiên liệu: Chế hịa khí ( bình xăng con)
Hệ thống khởi động : giị đạp, điện
Hệ thống làm mát bằng giĩ
b) khảo sát mâm lửa động cơ xe gắn máy
Trên động cơ xe gắn máy khi làm việc cĩ ba tín hiệu phát ra từ mâm lửa bao gồm: tín hiệu sạc (máy phát) tín hiệu nạp tụ (từ bobin lửa) và tín hiệu xung kích Sơ đồ vị trí các nguồn tín hiệu như sau:
Hình 3.2 Sơ đồ mâm lửa