基于虛擬儀器技術(shù)的電機(jī)轉(zhuǎn)速控制
衡水科技工程學(xué)校 賀凌霄 2014/4/4 7:38:52
(接上頁(yè))機(jī)的轉(zhuǎn)速,從而在顯示屏上顯示出不同的速度值。
2.4軟件流程
說(shuō)明:因?yàn)轱L(fēng)扇葉片為9片,所以應(yīng)將1s內(nèi)計(jì)數(shù)值除以9才得到風(fēng)扇轉(zhuǎn)速。
2.5編程參考:
2.5.1設(shè)備對(duì)象操作函數(shù)
1.CreateID
功能:該函數(shù)負(fù)責(zé)創(chuàng)建設(shè)備對(duì)象,并返回其設(shè)備對(duì)象句柄。
輸入:DeviceID 設(shè)備ID( Identifier )標(biāo)識(shí)號(hào)。當(dāng)向同一個(gè)Windows系統(tǒng)中加入若干相同類(lèi)型的USB設(shè)備時(shí),系統(tǒng)將以該設(shè)備的“基本名稱”與DeviceID標(biāo)識(shí)值為名稱后綴的標(biāo)識(shí)符來(lái)確認(rèn)和管理該設(shè)備。比如若用戶往Windows系統(tǒng)中加入第一個(gè)U18 AD模板時(shí),系統(tǒng)則以“U18”作為基本名稱,再以DeviceID的初值組合成該設(shè)備的標(biāo)識(shí)符“U18-0”來(lái)確認(rèn)和管理這第一個(gè)設(shè)備,若用戶接著再添加第二個(gè)U18 AD模板時(shí),則系統(tǒng)將以“U18-1”來(lái)確認(rèn)和管理第二個(gè)設(shè)備,若再添加,則以此類(lèi)推。所以當(dāng)用戶要?jiǎng)?chuàng)建設(shè)備句柄管理和操作第一個(gè)USB設(shè)備時(shí),DeviceID應(yīng)置0,第二應(yīng)置1,也以此類(lèi)推。默認(rèn)值為0。
輸出:如果執(zhí)行成功,則返回設(shè)備對(duì)象句柄;如果沒(méi)有成功,則返回錯(cuò)誤碼INVALID_HANDLE_VALUE。由于此函數(shù)已帶容錯(cuò)處理,即若出錯(cuò),它會(huì)自動(dòng)彈出一個(gè)對(duì)話框告訴您出錯(cuò)的原因。您只需要對(duì)此函數(shù)的返回值作一個(gè)條件處理即可,別的任何事情您都不必做。
2.ReleaseID
功能:釋放設(shè)備對(duì)象所占用的系統(tǒng)資源及設(shè)備對(duì)象自身。
輸入:hDevice 設(shè)備對(duì)象句柄,它應(yīng)由CreateID創(chuàng)建。
輸出:錯(cuò)誤碼。
應(yīng)注意的是,CreateID必須和ReleaseID函數(shù)一一對(duì)應(yīng),即當(dāng)您執(zhí)行了一次CreateID,再一次執(zhí)行這些函數(shù)前,必須執(zhí)行一次ReleaseID函數(shù),以釋放由CreateID占用的系統(tǒng)軟硬件資源,如系統(tǒng)內(nèi)存等。只有這樣,當(dāng)您再次調(diào)用CreateID函數(shù)時(shí),那些軟硬件資源才可被再次使用。
2.5.2計(jì)數(shù)器操作函數(shù)原型
1.COUNTInt
功能:負(fù)責(zé)初始化8254各通道的工作模式、計(jì)數(shù)方式等。
輸入:hDevice 設(shè)備對(duì)象句柄,它應(yīng)由CreateID創(chuàng)建。
CounterChannel 計(jì)數(shù)器的通道選擇,取值范圍為[0, 2]。
CounterValue 計(jì)數(shù)器的初始值,取值范圍為[0, 65535]。
OperateType 計(jì)數(shù)器的操作方式,取值范圍為[0, 3]。
CountMode 計(jì)數(shù)器的技術(shù)方式,取值范圍為[0,5]。
BCD 是否采用BCD碼,是為1,否為0。
輸出:錯(cuò)誤碼。
2.GetCount
功能:取得8254的當(dāng)前計(jì)數(shù)值。
輸入: hDevice 設(shè)備對(duì)象句柄,它應(yīng)由CreateID創(chuàng)建。
Dimension size 計(jì)數(shù)器計(jì)數(shù)值數(shù)組大小。
輸出:pConterPara計(jì)數(shù)器計(jì)數(shù)值數(shù)組。
2.5.3DA輸出函數(shù)原型
1.DAOUT
功能:輸出DA數(shù)據(jù)
輸入:hDevice 設(shè)備對(duì)象句柄,它應(yīng)由CreateID創(chuàng)建。
nDAData 輸出數(shù)據(jù),取值范圍為[0,5]。
nDAChannel DA通道號(hào)。
輸出:錯(cuò)誤碼。
LabVIEW面板圖:
LabVIEW流程圖:
程序說(shuō)明:
LabVIEW流程圖中包括設(shè)備對(duì)象操作函數(shù)、DA輸出函數(shù)原型、計(jì)數(shù)器操作函數(shù)原型等函數(shù),While循環(huán)、順序結(jié)構(gòu)、選擇結(jié)構(gòu)等結(jié)構(gòu),還運(yùn)用了整除和定時(shí)器節(jié)點(diǎn)和數(shù)組的使用。
該程序通過(guò)設(shè)備對(duì)象操作函數(shù)CreateID創(chuàng)建設(shè)備對(duì)象,ReleaseID釋放設(shè)備對(duì)象所占用的系統(tǒng)資源及設(shè)備對(duì)象自身,CreateID必須和ReleaseID函數(shù)一一對(duì)應(yīng)。計(jì)數(shù)器通道選擇取0,初始值取0,操作方式取3,計(jì)數(shù)方式取1,不采用BCD碼,數(shù)組值為3。Index Array節(jié)點(diǎn)返回輸入數(shù)組中由輸入索引指定的元素。創(chuàng)建順序結(jié)構(gòu)計(jì)算速度,前一秒減后一秒的值若大于0則執(zhí)行選擇結(jié)構(gòu)中整除的節(jié)點(diǎn),程序在1000毫秒后繼續(xù),并且返回這一毫秒值。 引入兩個(gè)調(diào)速節(jié)點(diǎn)的本地變量,為其(未完,下一頁(yè))
|