版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
0.參考示例:LabVIEW調(diào)用庫函數(shù)節(jié)點配置參數(shù)2.1.返回參數(shù)類型:有2.1.返回參數(shù)類型:有Void,Numeric和String三種,如下圖所示。1)VoidVoidisonlyavailableforreturntypeandisnotavailableforotherparameters.UseVoidforthereturntypeifyourfunctiondoesnotreturnanyvalues.Evenifthefunctionyoucallreturnsavalue,youcanuseVoidforthereturntype.WhenthefunctionreturnsavalueandyouselectVoidasthereturntype,thevaluereturnedbythefunctionisignored.(2)Numberic以winpcap.dll為例,如下圖。另外數(shù)據(jù)類型中的“指針大小整型"(pointer-sizedinteger),幫助文檔的解釋如下:卿:敲直Ifyouusepointer-azedintegers^theCallLibraryFunctionNodeadaptstothespecificoperatingsystemitisbeingexecutedonandpaiss&sdataoftheappropriatesizetoandfromthelibraryfunction?LobVIEWrepre-sentsthedatain64bitsandron32-bitpl目廿orms,translat&sthenumericdatatypesto32-bitintegertypes.卿:敲直int321wpcap_init(LStrHandla3tBriDr_Ertring)3)String目前還沒碰到過,等遇到時再補充。2.2.輸入(出)參數(shù)其類型共有9種,常用的有數(shù)值、數(shù)組、字符串和匹配值類型。數(shù)值需要注意的是,其傳遞選項有“值(和“指針(兩種,分別對應值傳遞和指針傳遞。
歸恂遲:巳榮是丈炭的労反.氏妊巒曲隹戶不喪爲響左筍丈旌的生.從拡闊弔函則雇鹿來說.生詩逆是旦直的C^-7-W;馥敢的,宜艮翳認不能峙二當雪敵囚部冥狂中氏舷.井且不無舉個改讒響調(diào)弔老歹歸恂遲:巳榮是丈炭的労反.氏妊巒曲隹戶不喪爲響左筍丈旌的生.從拡闊弔函則雇鹿來說.生詩逆是旦直的C^-7-W;馥敢的,宜艮翳認不能峙二當雪敵囚部冥狂中氏舷.井且不無舉個改讒響調(diào)弔老歹.采用密理掲針苗謹:理君E石勻?qū)毧吹?±的捋針r當對那吾的tfirXlKj嶺廿,荒咱當于對寶椒本身jS庁的掾作a.數(shù)據(jù)類型為int32函數(shù)原型為voidLVint32(int32input,int32*output);本函數(shù)計算輸入值的平方,然后將結(jié)果顯示在“輸出”中。CLFExaimpl&.dlLLVint32S1A132132-[1^揄岀R32~|返回類型為void,input類型為int32,值傳遞output類型為int32,指針傳遞注:如將結(jié)果返回至某個控件,該控件本身即可為返回數(shù)據(jù)提供必要的內(nèi)存空間。b.數(shù)據(jù)類型為float64函數(shù)原型為voidLVfloat64(float64input,float64*output);本函數(shù)計算輸入值的平方,然后將結(jié)果顯示在“輸出”中。CLF_Eacaimple.dll:LVfl□at64>1曲“[IUBL*iSEtj■]卜DEL11返回類型為void,input類型為8字節(jié)雙精度,值傳遞output類型為8字節(jié)雙精度,指針傳遞c.數(shù)據(jù)類型為BOOL函數(shù)原型為voidWinBOOL(BOOLinput,BOOL*output);本函數(shù)將輸入值反轉(zhuǎn)后顯示在“輸出”中。揃入Fl曲Fl祠爾直全(Q1)轉(zhuǎn)換F! F"Z I132I3MI3E*§> CLF_Eiample.dlkWinBQOLBOOL在頭文件中的定義為typedefintBOOL,因此在LabVIEW中其數(shù)據(jù)類型選擇int32.d.數(shù)據(jù)類型為BOOLEAN函數(shù)原型為voidWinBOOLEAN(BOOLEANinput,BOOLEAN*pinput,PBOOLEANoutput);本函數(shù)對值傳遞和指針傳遞的輸入值執(zhí)行“邏輯與”操作,并將返回結(jié)果反轉(zhuǎn)后顯示在輸出”中。BOOLEAN在頭文件中的定義為typedefunsignedcharBOOLEAN,輸出”中。BOOLEAN在頭文件中的定義為typedefunsignedcharBOOLEAN,即無符號字符類型,占1個字節(jié),因此在LabVIEW中其數(shù)據(jù)類型選擇U8。另外這里的形參pinput和output均使用了匹配至類型,后續(xù)再說。LabVIEW值的數(shù)據(jù)類型函數(shù)形參或返回參數(shù)的數(shù)據(jù)類型I32BOOL、int32、INT、int、LONG、long、SSIZETU32DWORD、HWND、SIZE_T、UINT、ULONG、unsingedint、unsingedlong、uInt32I16SHORT、short、int16U16USHORT、WORD、unsingedshort、uInt16I8int8U8BOOLEAN、BYTE、uInt8SGLFLOAT、float、float32DBLdouble、float64pointer-sizedinteger64位系統(tǒng)中LabVIEW的數(shù)據(jù)類型默認都是I64unsingedpointer-sizedinteger64位系統(tǒng)中LabVIEW的數(shù)據(jù)類型默認都是U64。Ifyouusepointer-azedintegers,theCallLibraryFunctionNodeadaptstothespecificoperatingsystemitisbeingexecut已donandpas^sdataDftheappropriatesizetoandfromthslibraryfuFiction.LabVIEWrepresentsthedatain64bitsand,,on32-bitpl日廿orms,translat&sthenumericdatatypesto32-bitint已gertypes.數(shù)組當類型為數(shù)組時,其字數(shù)組格式選項共有四種,分別為數(shù)組數(shù)據(jù)指針、數(shù)組句柄和數(shù)組句柄指針。從DLL返回一個新數(shù)組時,必須在LabVIEW中為該數(shù)組分配內(nèi)存。最簡單的方法是:將一個已知長度的數(shù)組作為“調(diào)用庫函數(shù)”節(jié)點的輸入,該數(shù)組的長度不能小于DLL返回的結(jié)果數(shù)組的預期長度。a.數(shù)組格式為數(shù)組數(shù)據(jù)指針函數(shù)原型為voidARRAYfloor1D(double*input,intinput_length,int*output);本函數(shù)計算輸入元素(1D數(shù)組)平方值的整數(shù)部分,然后顯示在“輸出”中。函數(shù)原型為voidARRAY2D(double*array,intarray_length_row,intarray_length_col);本函數(shù)計算輸入二維數(shù)組每個元素值的平方。從LabVIEW作為數(shù)組數(shù)據(jù)指針傳入的二維數(shù)組將被DLL當作一維數(shù)組處理。指針運算可用于二維數(shù)組的訪問。注:數(shù)組大小也要傳入外部代碼,因為此處使用了數(shù)據(jù)指針,而不是句柄。b.數(shù)組格式為數(shù)組句柄函數(shù)原型為voidARRAY1DHandle(TD1Hdlinput,TD2Hdloutput);本函數(shù)計算輸入元素平方值的整數(shù)部分,然后顯示在“輸出”中。
函數(shù)原型為voidARRAY2DHandle(TD1Hdlarray);本函數(shù)計算輸入二維數(shù)組每個元素值的平方。CLF_Exannple.dll:ARRAY2DHandleEffar
?!函數(shù)原型為voidARRAY2DHandle(TD1Hdlarray);本函數(shù)計算輸入二維數(shù)組每個元素值的平方。CLF_Exannple.dll:ARRAY2DHandleEffar
?!注:對于外部代碼,數(shù)組大小不是必需的,因為此處使用了句柄,而不是數(shù)據(jù)指針。關(guān)于句柄和指針有何異同還沒搞清楚。字符串當類型為字符串時,其字符串格式選項共有四種,分別為C字符串指針、Pascal字符串指針、字符串句柄和字符串句柄指針。a.字符串格式為C字符串指針函數(shù)原型為voidWinCHAR(CHAR*input,PCHARoutput);本函數(shù)將輸入字符串反轉(zhuǎn)后顯示在“輸出”中。注:數(shù)據(jù)類型函數(shù)原型為voidWinCHAR(CHAR*input,PCHARoutput);本函數(shù)將輸入字符串反轉(zhuǎn)后顯示在“輸出”中。注:數(shù)據(jù)類型PCHAR、LPCHAR、PSTR和CHAR*是等價的。LPCSTR和PCSTR是指向常量字符串的指針,且與CONSTCHAR*等價。LabVIEW值的數(shù)據(jù)類型函數(shù)形參或返回參數(shù)的數(shù)據(jù)類型字符串CHAR、UCHAR、char、unsignedchar、CStr、LStrHandleb.其他字符串格式暫不清楚匹配至類型a.輸入輸出參數(shù)為結(jié)構(gòu)體,且結(jié)構(gòu)體中無字符串和數(shù)組函數(shù)原型為voidCLUSTERSimple(TD1*input,TD1*output);其中TD1類型struct定義為typedefstruct{dcubleDBL;longI32j■chsrEoo-lean;}TD1;本函數(shù)的輸入簇按順序包含一個DBL型數(shù)據(jù)、一個I32型數(shù)據(jù)和一個布爾型數(shù)據(jù)。計算DBL型數(shù)據(jù)的平方值、取I32型數(shù)據(jù)值的一半,并將布爾值取反。返回結(jié)果將顯示在“輸出”中。
揃入I同h揃入I同hCLF_Exaimple.dlLCLUSTERS-imple輸入?yún)?shù)input和輸出參數(shù)output的類型均選擇“匹配至類型”數(shù)據(jù)格式選擇“按值處理”。注:①從DLL返回一個新簇時,必須在LabVIEW中為該簇分配內(nèi)存。最簡單的方法是:將一個已知類型的簇作為“調(diào)用庫函數(shù)”節(jié)點的輸入,該簇與DLL返回的結(jié)果簇的預期類型相同。如將結(jié)果返回至某個控件,則當簇中不包含數(shù)組或字符串時,該控件本身即可為返回數(shù)據(jù)提供必要的內(nèi)存空間。當輸入簇中三個元素的順序發(fā)生變化時,函數(shù)仍可運行,但運行結(jié)果與預期結(jié)果不一致。此處將數(shù)據(jù)格式更改為“句柄指針”結(jié)果一樣,不知為何。a.輸入輸出參數(shù)為結(jié)構(gòu)體,且結(jié)構(gòu)體中包含字符串和數(shù)組函數(shù)原型為voidCLUSTERSimpleS_A(TD1*input,TD1*output);其中TD1的struct定義為typedMstruct{
float64DBL;
iwCharstring[51];
int32array[50];}TD1;'''本函數(shù)的輸入簇包含一個DBL型數(shù)據(jù)、一個字符串和一個I32本函數(shù)的輸入簇包含一個DBL型數(shù)據(jù)、一個字符串和一個I32型數(shù)據(jù)。計算DBL型數(shù)據(jù)的平方值、反轉(zhuǎn)字符串、將數(shù)組中的每個元素翻倍。返回結(jié)果將顯示在“輸出”中。CL■Eiampls.dll:CLUSIHREimpJ止IM酣&MtnLabVIEW控件“輸入”為一個簇,由DBL、字符串和1D數(shù)組組成。由于結(jié)構(gòu)體TD1中的字符串長度為51,1D數(shù)組的長度為50,所以需要將簇“輸入”中的字符串和1D數(shù)組也轉(zhuǎn)換成同樣的長度。注:LabVIEW通常將字符串和數(shù)組作為簇中句柄傳遞,因此字符串必須轉(zhuǎn)換為U8型數(shù)組,然后再轉(zhuǎn)換為帶51個U8元素的簇(50個字符+NULL);數(shù)組必須轉(zhuǎn)換為帶50個I32元素的簇。為了不顯示額外數(shù)據(jù),在顯示數(shù)據(jù)之前去除無用數(shù)據(jù)。Examples(1)LabJack動態(tài)鏈接庫ListAllSDeviceTypeLJM_ERROR_RETURNILJM_ListAllS(constchar*DeviceTypeHconstchar*ConrieGtioniTyipe.iril*NumFound,ini*aDevlceTypes.ListAllSNum□und日匚armercti口門丁丫卩日seiDwkuTypc1-Lf?2]1ialPAddresses——~L(?=]1aSe^islNurribe-rEParametersLJMERRORRETURN數(shù)值132DeviceType[in]字符串常量,C字符串指針ConnectionType[in]字符串常量,C字符串指針NumFound[out]數(shù)值I32,指針傳遞aDeviceTypes[out]數(shù)組I32,1D數(shù)組數(shù)據(jù)指針aConnectionTypes[out]數(shù)組I32,1D數(shù)組數(shù)據(jù)指針aSerialNumbers[out]數(shù)組I32,1D數(shù)組數(shù)據(jù)指針aIPAddresses[out]數(shù)組
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五美容院員工培訓課程開發(fā)與實施合同4篇
- 二零二五年度農(nóng)業(yè)土地租賃合同稅收籌劃策略4篇
- 二零二五年度特種門類安裝及售后服務合同3篇
- 房贈予合同范本(2篇)
- 二零二五年度出租車庫信息化改造合同4篇
- 2025年度牛奶產(chǎn)業(yè)鏈上下游合作合同4篇
- 2025年度健康養(yǎng)生經(jīng)營承包合同樣本3篇
- 2025版歷史文化名城美化保護合同
- 二零二五年度教育機構(gòu)教師聘用合同樣本4篇
- 二零二五年度勞動合同對價與員工多元化福利方案合同2篇
- 2023年成都市青白江區(qū)村(社區(qū))“兩委”后備人才考試真題
- 2024中考復習必背初中英語單詞詞匯表(蘇教譯林版)
- 海員的營養(yǎng)-1315醫(yī)學營養(yǎng)霍建穎等講解
- 《現(xiàn)代根管治療術(shù)》課件
- 肩袖損傷的護理查房課件
- 2023屆北京市順義區(qū)高三二模數(shù)學試卷
- 公司差旅費報銷單
- 我國全科醫(yī)生培訓模式
- 2021年上海市楊浦區(qū)初三一模語文試卷及參考答案(精校word打印版)
- 八年級上冊英語完形填空、閱讀理解100題含參考答案
- 八年級物理下冊功率課件
評論
0/150
提交評論