版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、二、模擬量標(biāo)定庫 AnalogFilter Library模擬量標(biāo)定庫就是指AnalogFilter.lib中的一些庫函數(shù)。2.1 CUT功能塊功能描述:把輸入值進(jìn)行預(yù)處理,調(diào)整斜率,消除兩端非線性影響。調(diào)整效果見圖:input功能塊如下圖:Cu1InputOutputP ARn p utl LowLi m itLowLim itPARJnputHighLimit HighLimit輸入:(1) Input, UINT型,要處理的信號。(2) PARJnputILowLimit, UINT型,用來控制輸出的下限。當(dāng) Input<=256*PAR_InputILowLimit 時輸出為 0
2、。(3) PARJnputHighLimit, UINT型,用來控制輸出的上限。當(dāng) Input>=256*PARJnputHighLimit 時輸出就為 0。輸出:(1) Output, UINT型,處理完的信號。9 LowLiinit, BOOL 型 Input<=256*PAR_InputILowLimit 時 LowLimit 為 TRUE.3 HighLimit, BOOL型 Input>=256*PARnputHighLimit 時 HighLimit 為TRUE。2.2 HP功能塊功能描述:設(shè)置一個死區(qū),把死區(qū)以內(nèi)的值都設(shè)為0»功能如圖:CXJCOe 寸
3、 寸 9999功能塊如下圖:HPInputOuiputPAR.CutLimit 輸入:(1) Input, UINT型,輸入信號。.(2) PAR_CutLimit, UINT 型,死區(qū)控制參數(shù)。當(dāng) Input<=65535*PAR_CutLimil%時輸出為0。輸出:(1) Output, UINT型,處理完的信號。2.3 JoyFilter 功能塊功能描述:JoyFilter塊是一個雙向的模擬量標(biāo)定塊,也就是說它對輸入的模擬量進(jìn)行預(yù)處理,把輸 出范圍調(diào)整為-3276732767。功能塊如下圖:JoyFi ItQfftneloglnputOutputDLJoystickD irSwif
4、ch PCSErrorH ighD l_J oys ti ckD irSwi fchNEGErro (LowPAR-NeciFuii J oyst ckDirSiitchPOSMiss ngPAR_PosFullJ oystic kDi f ©AitchNEGMiss ingPAR-Zero JcystickDirStchPOSAndMEGOnPAR_DeadBandPAR_HegProgres5ionP AR_Pos P ro g re $ s i o nPAR_M i hE rro fD i fferene &PAR_FauitonD9iayP AR_D i r 8 wi
5、t chDi ag n o sticNotUs.eOutp utEnable輸入:(1) Analoginput, UINT型,模擬量的輸入信號,(2) DIJoystickDirSwitchPOS, BOOL 型,正向微動開關(guān)。當(dāng) PAR_DirSwitchDiagnosticNotUse為FALSE時,此時又手柄向正向移動,那么只有正向微動 開關(guān)TRUE, OUTPUT才會有輸出。(3) DIJoystickDirSwitchNEG, BOOL 型,負(fù)向微動開關(guān),當(dāng) PAR.DirSwitchDiagnosticNotUse為FALSE時,此時又手柄向負(fù)向移動,那么只有負(fù)向微動 開關(guān)TRU
6、E, OUTPUT才會有輸出。(4) PAR_NegFull, UINT型,負(fù)向輸入的調(diào)節(jié)參數(shù)。取值范圍:0255,主要用 于當(dāng)負(fù)向輸入最大時,調(diào)節(jié)參數(shù)使得OUTPUT也為負(fù)向最大。(5) PAR_POSFull, UINT型,正向輸入的調(diào)節(jié)參數(shù)。取值范圍:0255,主要用 于當(dāng)正向輸入最大時,調(diào)節(jié)參數(shù)使得OUTPUT也正負(fù)向最大。<6) PAR_Zero, UINT型,零輸入的調(diào)節(jié)參數(shù)。取值范圍:0255,主要用于當(dāng) 手柄在零位時,即零輸入時,調(diào)節(jié)參數(shù)使得OUTPUT也為零。(7) PAR_DeadBand, UINT型死區(qū)設(shè)置參數(shù)。取值范圍:0100。當(dāng)輸入進(jìn)入?yún)?數(shù)設(shè)置范圍,輸出為
7、零(8) PAR.NegProgression, SINT型。取值范圍:-100100,設(shè)置負(fù)向輸出緩沖曲 線度,手柄負(fù)向輸出值相對于輸入值的一個響應(yīng)曲線,曲線如圖:(9) PAR.PosProgression, SINT型。取值范圍:-100100,設(shè)置正向輸出緩沖曲 線度,手柄正向輸出值相對于輸入值的一個響應(yīng)曲線。(10) PAR_MinErrorDifference, UINT 型,取值范圍:0100,設(shè)置出錯范圍, 當(dāng)輸入超出范圍時,激活ErrorHigh或ErrorLow開關(guān),并使輸出為零。(11) PAR.FaultOnDelay, UINT 型,取值范圍:0255,過我延時。(1
8、2) PAR.DirSwitchDiagnosticNotUse, BOOL 型,此參數(shù)為 TRUE 時,微動開關(guān) 無效,為FALSE時,微動開關(guān)有效輸出:(1) OutputEable> BOOL型,輸出使能,為TRUE是塊才會有輸出。(2) Output, INT型,調(diào)整后的信號量,輸出數(shù)值范圍-3276732767(3) ErrorHigh, BOOL 型,當(dāng)輸入超出 PAR_FuH+5000 范圍時,ErrorHigh 為 TRUE,輸出置零。(4) ErrorLow, BOOL 型,輸入超出 PAR_Zero-PAR_MinEiTorDifference 范圍, ErrorHi
9、gh為TRUE,并把輸出置零。(5) JoystickDirSwitchPOSMissing, BOOL 型,正向微動開關(guān)出錯時,值為 TRUE,(6) JoystickDirSwitchNEGMissing, BOOL 型負(fù)向微動開關(guān)出錯時,值為 TRUE, (7) JoystickDirSwitchPOSAndNEGOn, BOOL 型,正、負(fù)向微動開關(guān)同時為 TRUE 時,值 為TRUE,2.4 JoystickAllnputOutOfRange 功能塊功能描述:本功能塊是用來實現(xiàn)對一個模擬量輸入的觀察。功能塊如下圖:Jo/stickAllnpuWutO1RangeAllrput Err
10、orinpulTooHighOutPAR_PosFull ErroilnputTooLovvOutPAR2NegFullPAR-MinErrorDifference輸入:(l)Allnput, UINT型,需要觀察的模擬量信號。(2) PAR.PosFulh UINT型,正向最大調(diào)整參數(shù)。(3) PAR.NegFull, UINT型,負(fù)向最大調(diào)整參數(shù)。(4) PAR_MinErrorDifference, UINT型,設(shè)置出錯范圍,當(dāng)輸入超出范圍時,激活 ErrorlnputTooHighOut 或 ErrorlnputTooLowOut 開關(guān),并使愉出為零0 輸出:(1) Errorlnpu
11、tTooHighOut, BOOL 型,Allnput > PAR_PosFull*256 + PAR_MinErrorDifference,則輸出為 TRUE。(2) ErrorlnputTooLowOut, BOOL 型,Allnput < PAR_NegFull*256- PAR_MinErrorDifference> 則輸出為TRUE。2.5 JoystikDirSwitchDiagnostic 功能塊功能描述:本功能塊是用來觀察手柄模擬量輸入時微動開關(guān)的狀態(tài)。功能塊如下圖:Jo 冶 liQlrSwltchD igna &tlcMah glnp ulJoysi
12、ic kD irSv/i khPOS M is5in qDl-Joys i tkDirS wife hPO SkDirSsYrtch MEG MissingDI_Joj/s b ckDir3 witc hNE & J oysdic kDirSw rtchP 02And MEQO n pAr_po5FuiiPAR.NegFullPAR/倒口PAR.FauiwnDeiar輸入:(1) Analoginput, UINT型,需要觀察的模擬量信號。(2) DIJoystickDirSwitchPOS, BOOL 型,正向微動開關(guān)。當(dāng)PAR_DirSwitchDiagnosticNotUse為F
13、ALSE時,此時又手柄向正向移動,那么只有正向微動 開關(guān)TRUE, OUTPUT才會有輸出。(3) DIJoystickDirSwitchNEG, BOOL 型,負(fù)向微動開關(guān)° 當(dāng)PAR_DirSwitchDiagnosticNotUse為FALSE時,此時又手柄向負(fù)向移動,那么只有 負(fù)向微動開關(guān)TRUE, OUTPUT才會有輸出。(4) PAR.PosFulh UINT型,正向最大調(diào)整參數(shù).(5)PAR_NegFull, UINT型,負(fù)向最大調(diào)整參數(shù)。(6) PAR.Zero, UINT型,零輸入的調(diào)節(jié)參數(shù)。主要用于當(dāng)手柄在零位時,即零輸 入時,調(diào)節(jié)參數(shù)使得OUTPUT也為零。(7
14、) PAR.FaultOnDelay, UINT 型,過載延時。輸出:(1) JoystickDirSwitchPOSMissing, BOOL 型,正向微動開關(guān)出錯時,值為 TRUE。(2) JoystickDirSwitchNEGMissing, BOOL 型負(fù)向微動開關(guān)出錯時,值為 TRUE。(3) JoystickDirSwitchPOSAndNEGOib BOOL 型,正、負(fù)向微動開關(guān)同時為 TRUE 時,值為TRUEo2.6 MeanValue 功能塊功能描述:對給的數(shù)組進(jìn)行求平均數(shù)操作。功能塊如圖:MeanValueinput output一 PAR_LenghtReset輸入:
15、(1) Input, UINT型,數(shù)據(jù)輸入。(2) PAR_Length, UINT型,取數(shù)長度,如值為5,則每5個值求一次平均值,并 輸出到output 0(3) Reset, BOOL型,復(fù)位信號,值為TRUE時不進(jìn)行平均值運算。 輸出:(1) Output, UINT 型2.7 PedalFilter 功能塊功能描述:PedalFilter功能塊是一個單向的標(biāo)定模塊,主要用于把輸入模擬量進(jìn)行預(yù)處理,把輸 出量范圍調(diào)整到。65535。功能塊如下圖:PedalFilterAnaloginputOutputP 麗_FullErrorHighP 舶 _ZeroErrorLowPAR_DeadDa
16、ndP 舶ProgressionP AR_M inErro rDifferen ce OutputEnable輸入:(1) Abaloglnput, UINT型,來自于傳感器的輸入量OutPutEnable, BOOL型,使能開關(guān)。參數(shù)值為TRUE時,模塊按當(dāng)前值輸出: 為FALSE時,保持上一次輸出值。(2) PAR.Full, UINT型,取值范圍:。255,此參數(shù)用于調(diào)整最大輸出值,當(dāng)輸 入最大時,使輸出接近65535,小于65535o(3) PAR.Zero, INT型,取值范圍:0255,此參數(shù)用于調(diào)整零位,使輸出為零。(4) PAR_DeadBand, UINT型,取值范圍:0-1
17、00,設(shè)置死區(qū),當(dāng)輸入進(jìn)入?yún)?shù)設(shè) 置范圍,輸出為零。(5) PAR_Progression, SINT型,取值范圍:-100100設(shè)置輸出緩沖曲線度。(6) PAR_MinErrorDifference, UINT型,取值范圍:0-100,設(shè)置出錯范圍,當(dāng)輸 入超出范圍時,激活ErrorHigh或ErrorLow開關(guān),并使輸出為零。(7) OutputEnable, BOOL型,使能開關(guān)。輸出:(1) Output, UINT型,取值范圍:065535,輸出信號。(2) ErrorHigh, BOOL 型,高位出錯開關(guān)。輸入PAR_Full + PAR_MinErrorDifference 范
18、圍,ErrorHigh 為 TRUE,并把輸出置零。(3) ErrorLow, BOOL 型,低位出錯開關(guān),輸入PAR_Zero - PAR_MinErrorDiffcrence 范圍, ErrorHigh為TRUE,并把輸出置零。2.8 RC功能模塊功能描述:RCInput OutputRC功能塊是濾波功能塊,它是對傳感器信號的輸入信號進(jìn)行濾波.濾波公式為: y( Z ):二 X(Z)0.6 + yQ 彳) 0.412功能塊如下圖:RCInput Output輸入:(1) Input, UINT型,輸入信號。輸出:(2) Output, UINT 型,輸出信號。2.9 Scale功能塊功能描
19、述:Scale功能塊的主要作用是把一個065535量變換成為兩個065535的量,如下圖: PasVMihPcBVilue-FAlETOUE功能塊如下圖:ScaleInput OutputPAR_Zero PosValuePAR-PosFullPAR-NegFull輸入:(1) Input, UINT 型(2) PAR_Zero, INT型,設(shè)置零位,當(dāng)輸入為PAR_Zero * 256時,輸出為0°(3) PAR_PosFulh UINT 型,當(dāng) input 值 >=PAR_PosFull * 256 時,愉出為 65535 , PosValue 為 TRUE。(4) PAR
20、_NegFull, UINT 型,當(dāng) input 值<=PAR_NegFull * 256,輸出為-65535 , PosValue 為 FALSE ° 輸出:(1) Output, UINT 型(2) PosValue BOOL 型,PAR_Zero * 256 > Input 值,值為 TRUE: PAR.Zero * 256 < Input 值,值為 FALSE-2.10 Transfer 功能塊功能描述:Transfer模塊用于設(shè)置緩沖曲線度,當(dāng)Zero為TRUE時,輸出為零,當(dāng)Full為 TRUE,而Zero不為零時,輸出為65535。緩沖曲線度公式:Y2
21、表正向,Y3表負(fù)向。x := 0,0.001. 1 progr:= 50y(x):= xy1 (x) := xy2(x,progr) := y(x).迪十也汕毀二E回100100-progr y1 (1 - x)-( 100 + progr)y3(x,progr) := 1 - y( 1 - x) - +-100100曲線如下圖:功能塊如下圖:TransferInpui OutputZeroFullPAR_ProaressionOutputEnable輸入:(1) Input, UINT 型(2) Zero, BOOL型,當(dāng)Zero為TRUE時,輸出為零。(3) Full: BOOL型,當(dāng)Fu
22、ll為TRUE,而Zero不為零時,輸出為65535.(4) PAR_Progression, INT型,曲線度設(shè)置參數(shù)。(5) OutputEnable,BOOL型,當(dāng)此參數(shù)值為TRUE時,模塊按預(yù)定算法執(zhí)行:為FALSE 時,保持上一次輸出輸出:(1) Output. UINT 型三、CANIIIEC 庫本庫就是一些基于CAN2.0協(xié)議的一些功能塊。也就是Can2.1ib中的一些函數(shù)與功能 塊。1.1 CANJLBUFFJNIT 函數(shù)功能描述:本功能塊的主要作用是用來初始化CAN接受信息對象的。注意CAN_II_BUFF_INIT, 必須用在CANINIT前而。本函數(shù)是BOOL型的。函數(shù)塊
23、如下圖:CANJLBUFF-INITENABLE ERROROBJIDEXTENDED輸入:(1) ENABLE, BOOL型。函數(shù)的使能變量。(2) OBJ,對象號,輸入數(shù)值,114, 0是用來傳輸?shù)奶枴?3) ID,信息 ID, 11 或 29 位 ID。(4) EXTENDED, BOOL 型,用來擴(kuò)展 ID 為 29 位。輸出:(1) ERROR, BOOL型。當(dāng)OBJ超出范圍時有輸出。1.2 CAN_H_GET_MSG 功能塊功能描述:當(dāng)CAN總線上有新的CAN信息是接受數(shù)據(jù)。功能塊如下圖:CANJLGET-MSGMESSAGE EXTENDEDIDDLC DATA1 DATA2 D
24、ATA3 DATA4 DATA5 DATA6 DATA7 DATA8CUSTOMER NEW OATA輸入:(1) ESS AGE,用戶想接受的信息。輸出:(2) EXTENDED. BOOL 型,當(dāng)信息 ID 為 29 位時為 TRUE,(3) ID,信息的ID。(4) DLC,信息的長度。(5) DATAn,信息的數(shù)據(jù),其中n=DLC,(6) CUSTOMER,沒有定義。(7) NEW_DATA, BOOL型,當(dāng)緩存中有新的數(shù)據(jù)時為TRUE。1.3 CAN II INIT 函數(shù)功能描述:CANI設(shè)備的初始化函數(shù)。功能塊如下圖:I OA.MJIJMIT I-Jema.blespeedghml
25、-Jggims-|term,res I輸入:(1) ENABLE, BOOL型,使函數(shù)可以工作。(2) SPEED, CAN設(shè)備的波特率。(3) GBML (GloBal Mask Long) 29bit 全球碼 °(4) GBMS (GloBal Mask Short) libit 全球碼 °(5) TERM_RES CAN 的接受終端 On/Off.1.4 CAN_II_RTR 函數(shù)功能描述:發(fā)送遠(yuǎn)距離傳送請求。本函數(shù)是BOOL型的。函數(shù)塊如下圖:CAN_II_RTR- ENABLE ERROR - OBJ輸入:(1)(2)ENABLE, BOOL 型,使能。OBJ選擇
26、對象號,。13。輸出:(1) ERROR,當(dāng)輸出為TRUE時,就是選擇的對象好有問題°3.5 CAN_II_STATUS 功能塊功能描述:本功能快就是用來返回CAN設(shè)備的狀態(tài)。功能塊如下圖:CANJLSTATUSLEC 7X0K RXOK - EWARN.COUNT BUSOFF.OOUNT 輸入:無輸出:(1) LEC,就是返回最近的一個出錯的代碼。(2) TXOK為TRUE時就表示傳輸成功,(3) RXOK為TRUE時就表示接受成功。(4) EWARN.COUNT出錯記數(shù)器。(5) BUSOFF_COUNT,總線關(guān)閉記數(shù)器。3-6 CANJIRX 功能塊功能描述:從更高的mess
27、age對象來接受新的CAN信息。 功能塊如下圖:CAMJIRXEXTENDEDIDDLC>DATA1DATA2DATA3DATA4DATA5DATA6DATA7DATA8CUSTOMERNEW.DATA輸出:(1) EXTENDED, BOOL型,擴(kuò)展信息的ID位為29位。(2) ID ,信息 ID。(3) DLC ,數(shù)據(jù)長度1.8。(4) DATAn ,信息數(shù)據(jù),其中n=DLC(5) CUSTOMER ,沒有定義。(6) NEW.DATA ,當(dāng)有新的數(shù)據(jù)到了緩存中時為TRUE。3-7 CANJITX 功能塊功能描述:向更高的message對象來發(fā)新的CAN信息。 功能塊如下圖:CANJ
28、ITKENABLEEXTENDEDIDDLCDATA1DAWDATA3 DAWDATA5DATA6DATA7DAW輸入:(1) ENABLE, BOOL 型,使能。(2) XTENDED, BOOL型,擴(kuò)展信息的ID位為29位。(3) ID ,信息 ID、(4) DLC ,數(shù)據(jù)長度1.8»(5) DATAn ,信息數(shù)據(jù),其中n=DLC,CAN2使用說明:接收數(shù)據(jù):1.可以采用CAN_II_BUFF_INIT和CAN_II_GET_MSG配合使用,自動將CAN 總線上ID和CAN_II_BUFF_INIT相同ID的數(shù)據(jù)自動放到相應(yīng)的緩存里面,建議如果接收 的數(shù)據(jù)有限的話使用CANJI_
29、BUFF_INIT和CAN_II_GET_MSG函數(shù)接收數(shù)據(jù), CANJLBURUNIT應(yīng)在 CAN_II_INIT 之前。2.也可以只使用CANJIRX,但是如果使用CANJIRX函數(shù)必須判斷接收回 來的ID和我需要的ID是否相等,因為CANIRX將總線上所有的數(shù)據(jù)都接收回來。 發(fā)送數(shù)據(jù):使用CANITX發(fā)送CAN數(shù)據(jù)由于發(fā)送緩存的限制,每一次最多可以發(fā)送8個 不同CAN ID的數(shù)據(jù),考慮到每次發(fā)送的可靠建議每次程序循環(huán)一次發(fā)送5個不同CAN ID的數(shù)據(jù)。四、CANOPEN IEC 庫下面主要介紹的是一些基于CANOPEN協(xié)議的庫函數(shù)。也就是在canopcn.lib中的一 些函數(shù)與功能塊。4
30、.1 INIT FUNCTION4.1.1 CANOPEN_END_INIT 函數(shù)功能描述:本函數(shù)的主要作用是用來結(jié)束CANOPEN的初始化。本函數(shù)是BOOL型的,函數(shù)塊如下圖:CAMOPEKLEIJD.IMIT ENABLE輸入:(1) ENABLE: BOOL 型,使能。4.1.2 CANOPEN_INIT_SDO 函數(shù)功能描述:對SDO對象開始初始化。函數(shù)圖如下:CAM OPEN JNIT.SDO EMA9UE ID SDO_TYPE SDO輸入:(1) ENABLE, BOOL 型,使能。(2) ID.BYTE 型。(3) SDO_TYPE, BOOL 型,F(xiàn)ALSE 時為 TX 型,
31、TRUE 時為 RX 型。(4) SDO, BYTE 型,SDO 的編號。4.1.3 CANOPEN_START_INIT 函數(shù)功能描述:本函數(shù)就是CANOPEN的開始初始化。本函數(shù)是BOOL型的。函數(shù)塊如下圖:CAUOPEN-eTART-INITENABLE輸入:(1) ENABLE, BOOL 型,使能。4.2 PDO HANDLING FUNCTIONS4.2.1 CANOPEN_ADD_NODE_RECEIVE_FROM 函數(shù)功能描述:增加CANOPEN接收的一個節(jié)點號(4路PDO)。本函數(shù)是BOOL型的。 函數(shù)圖如下:CANOPEN-ADD.NODE-RECEIVC.FROWENAB
32、LEERROR-PDO.TrPE.SELECT-ID輸入:(1) ENABLE, BOOL 型。使能。(2) PDO_TYPE_SELECT. BOOL 型,PDO 的類型選擇,F(xiàn)ALSE 為 TPDOS 型, TRUE 為 RPDOS 型。(3) ID,本PDO是節(jié)點ID的。輸出:(1) ERROR,當(dāng)ID超出范圍時ERROR有輸出。4.2.2 CANOPEN_ADD_RECEIVE_PDO 函數(shù)功能描述:增加接收一路PDOo本函數(shù)是BOOL型的。函數(shù)塊如下圖:CANOPEN-ADD.RECEIVE.PDO ENABLEERRORPDOJTdPJSELEOT ID一 PDO輸入:(1) EN
33、ABLE, BOOL 型。使能。(2) PDO_TYPE_SELECT. BOOL 型,PDO 的類型選擇,F(xiàn)ALSE 為 TPDOS 型, TRUE 為 RPDOS 型。(3) ID,本PDO是節(jié)點ID的。(4) PDO, BYTE 型。PDO 號,卜4, 輸出:(5) RROR,當(dāng)ID或PDO超出范圍時ERROR有輸出。4.2.3 CANOPEN_ADD_TRANSMIT_NODE_ID 函數(shù)功能描述:虛擬CANOPEN發(fā)送的一個節(jié)點號(4路PDO) .本函數(shù)是BOOL型的。函數(shù)圖如下:CAhOPE hMDD-IRANSMITJJODE J DENABLEERRORPDO.TYPE.SEL
34、ECT ID輸入:(1) ENABLE, BOOL 型。使能。(2) PDO_TYPE_SELECT, BOOL 型,PDO 的類型選擇,F(xiàn)ALSE 為 TPDOS 型, TRUE 為 RPDOS 型 o(3) ID,本PDO是節(jié)點ID的。輸出:(1) ERROR,當(dāng)ID超出范圍時ERROR有輸出。4.2.4 CANOPEN_ADD_TRANSMIT_PDO 函數(shù)功能描述:虛擬CANOPEN發(fā)送的一路PDOo本函數(shù)是BOOL型的。函數(shù)圖如下:CAhlOPEN_ADD.TRAMSMIT.PDOENABLEERRORPDO_TYPE_SELECT IDFDO輸入:(1) EABLE, BOOL 型
35、。使能。(2) PDO_TYPE_SELECT, BOOL 型,PDO 的類型選擇,F(xiàn)ALSE 為 TPDOS 型, TRUE 為 RPDOS 型。(3) ID,本PDO是節(jié)點ID的。(4) PDO, BYTE 型。PDO 號,卜4。輸出:(1) ERROR,當(dāng)ID或PDO超出范圍時ERROR有輸出,43 SDO HANDLING FUNCTIONS431 ADD_VERSION 函數(shù)功能描述:把用戶的串放入CANOPEN的版本對象中去(16#100A) o本函數(shù)是BOOL型的。 函數(shù)圖如下:AD DIVERSION ENABLE-VFR輸入:(1) ENABLE, BOOL 型,使能。(2)
36、 VER, STRING型,用戶定義的串,4.3.2 CANOPEN_GET_SDO 函數(shù)功能描述:CANOPEN接收一個SDOe本函數(shù)是BOOL型的。 函數(shù)圖如下:CANOPEM.GET.SDOEMA9LESDOINDEX印尤 INDEXOFFSET輸入:(1) ENABLE, BOOL 型,使能。(2) SDO, BYTE 型,SDO 號。(3) INDEX, WORD型,對象的索引號°(4) SUBINDEX, WORD型,對象的子索引號。(5) OFFSET, BYTE型,數(shù)據(jù)在接受時的偏移量。433 CANOPEN_POINTER_SHARE 函數(shù)功能描述:把用戶定義的變量
37、通過CANOPEN總線,用SDO對象發(fā)在總線上。本函數(shù)是BOOL 型的。函數(shù)如下圖:eAMOPEM.PDINTER.gHAREEMA0LE out length size輸入:(1) ENABLE, BOOL 型,使能。< 2) OUT, DWORD型,用戶要放的變量。它是一個指針操作。< 3) Length, BYTE型,所用的對象的長度。< 4) Size, BYTE型,所用的對象的長度。4.3.4 CANOPEN_PUT_SDO 函數(shù)功能描述:向網(wǎng)絡(luò)上的一個節(jié)點發(fā)送一個SDO.本函數(shù)是BOOL型的函數(shù)塊如下圖:CAMGPEN.PUT.SDOENABLESDOINDEXS
38、UBINDEOFFSETLENGTH 輸入:(1) ENABLE, BOOL 型,使能。(2) SDO, BYTE 型,SDO 號。(3) INDEX, WORD型,對象的索引號。(4) SUBINDEX, WORD型,對象的子索引號。<5) OFFSET, BYTE型,數(shù)據(jù)在接受時的偏移量。(6) LENGTH, BYTE 型,SDO 對象的長度。4.3.5 CANOPEN_SHARE 函數(shù)功能描述:把用戶定義的串通過CANOPEN總線,用SDO對象發(fā)在總線上。本函數(shù)是BOOL型 的。函數(shù)塊如下圖:mOPEN.SHAREE NASLE out一 lengthsee 輸入:(1) ENA
39、BLE, BOOL 型,使能。(2) OUT, STRING型,用戶定義的串。(3) Length. BYTE型,所用的對象的長度。(4) Size, BYTE型,所用的對象的長度。4.3.6 CANOPEN_UPDATA_SHARE 函數(shù)功能描述:把用戶定義的串通過CANOPEN總線,用SDO對象發(fā)在總線上。本函數(shù)是BOOL型 的。函數(shù)圖如下:CANOPEN_UPDATE_SHREENABLEoutshare_nosutolndex輸入:(1) ENABLE, BOOL 型,使能。(2) OUT, STRING型,用戶定義的串。(3) share】。,BYTE型,哪一個要更新。(4) sub
40、index BYTE型,哪一個地方要更新。4.4 state中的函數(shù)與功能塊441 CANOPEN_DIAGNOSE 功能塊功能描述:給出CAN以及程序循環(huán)的有關(guān)信息。 功能塊如下圖:CAMOPEN_DIA.QMOS£BUS.OFF.COUNT EWfkRN.COUNT TXBUFF_FULL_COUNT 6CLE_TINE HIOH_CvrCLE_TIME GTf?LDOF GOUriT輸出:(1) BUS_OFF_COUNT, BYTE型,總線關(guān)閉記數(shù)。(2) EWARN.COUNT, BYTE型,錯誤與警告的數(shù)量。(3) TXBUFF_FULL_COUNT, BYTE型,記CA
41、N設(shè)備傳輸緩沖區(qū)滿的次數(shù)。(4) CYCLE_TIME, BYTE型,程序最后一個循環(huán)所用的時間,單位是亳秒。(5) HIGH_CYCLE_TIME, BYTE型,程序一個循環(huán)所用的最大時間,單位是亳秒。(6) CTRLOOP_COUNT, DWORD型,程序循環(huán)記數(shù)。4.4.2 CANOPENS_THIS_MASTER 函數(shù)功能描述:給出本節(jié).點是不是主節(jié)點。本函數(shù)是BOOL型的。Master/Slave對應(yīng)Truc/False。 函數(shù)圖如下:CAMOPENJS.THIS.WASTERYES 輸出:(1) YES, BOOL 型,Master/Slave 對應(yīng) True/False。4.4.
42、3 CANOPEN_NODE_STATE 功能塊功能描述:本功能塊給出了本節(jié)點的當(dāng)前操作狀態(tài)信息。 功能塊如下圖:CAhJOPENLMODESTATENODEIDDUMMYDISCONNECTEDCONNECTINGPREPARINGPREPAREDOPERATIONAL ERROR輸出:(1) NODEID, BYTE型,單元本身的ID號。(2) DUMMY, BOOL型,單元是否是虛擬的。(3) DISCONNECTED, BOOL型,單元是否沒有連接在總線上。(4) CONNECTING, BOOL型,單元是否連接在總線上.(5) PREPARING, BOOL型,單元是否準(zhǔn)備好.(6)
43、 PREPARED, BOOL型,設(shè)備停止,準(zhǔn)備運行。(7) OPERATIONAL. BOOL型,CanOpen 設(shè)備正在運行。(8) ERROR. BOOL型,不是當(dāng)前操作的狀態(tài),是上一個操作的狀態(tài)。444 CANOPEN_START_NODES 函數(shù)功能描述:啟動CANOPEN從設(shè)備。函數(shù)圖如下:CrAMCPE M-gTART_NODEg-ENABLE輸入:(1) ENABLE, BOOL 型,使能。五、CELL_CHECK_4 庫CELL_CHECK_4庫就是CELL_CHECK_4.1ib庫文件中的功能塊。本庫中就只有 CELL.CHECK.4 一個功能塊。功能描述:本功能塊主要是一
44、個脈沖檢測功能塊。當(dāng)輸入的脈沖信號必須在150個程序循環(huán)中 有所改變,此時ALLUP輸出為TRUE,否則為FALSE。函數(shù)圖如下:HeartBIHeaitB2Heart 日 3HeartB4CELL_CHECK_4AIIUp H9_Send HBTimeJ HBTime_2 HBTime.3 HBTime 4輸入:(1)(2)(3)(4)輸出:(1)HeartB 1, HeartB2i HeartB3, HeartB4,BOOL 型,BOOL 型,BOOL 型,BOOL 型,要檢測的脈沖信號 要檢測的脈沖信號 要檢測的脈沖信號 要檢測的脈沖信號lo2o3。4aALLUp,BOOL 型,愉出檢測
45、結(jié)果的信號。(2) HB.Send. BOOL型,功能塊本身的脈沖信號.(3) HBTime.l, USINT型,對于信號1的程序循環(huán)記數(shù)器,當(dāng)本記數(shù)器的值大于150時ALLUp輸出為FALSE,否則為TRUE。(4) HBTime_2, USINT型,對于信號2的程序循環(huán)記數(shù)器,當(dāng)本記數(shù)器的值大 于150時ALLUp輸出為FALSE,否則為TRUE。(5) HBTime_3, USINT型,對于信號3的程序循環(huán)記數(shù)器,當(dāng)本記數(shù)器的值大 于150時ALLUp輸出為FALSE否則為TRUE。(6) HBTime.4, USINT型,對于信號4的程序循環(huán)記數(shù)器,當(dāng)本記數(shù)器的值大于150時ALLUp
46、輸出為FALSE,否則為TRUE。六、HW庫HW庫也就是指的是在hw_n.lib文件中的一些功能塊。6.1 CONFIGURE_PI 功能塊功能描述:脈沖輸入設(shè)置,它是通過比較A, B兩個通道輸入的脈沖信號來給出一個正轉(zhuǎn)或反轉(zhuǎn)的數(shù)值。 如果只計算單脈沖輸入,CONFIGURE_PI的CHANNEL A等于相應(yīng)的值,CHANNEL B 的值設(shè)置為16,如果是要計算正反轉(zhuǎn),A相輸入和B相輸入相位差90度,則CHANNELA和CHANNEL B的值等于相應(yīng)的CHANNEL值。寄存器地址IW130-IW137.IW150-IW157 的值存放的是頻率值,IW120IW127、IW16CMW167存放的
47、是計數(shù)值,在CODESYS聯(lián)機(jī) 監(jiān)控時只顯示A相輸入的頻率值。高速脈沖輸入端能夠檢測的最高頻率和程序的大小有關(guān),當(dāng)程序越大,即程序循環(huán)一周 需要的時間越長,脈沖輸入端能夠檢測的頻率就越低。當(dāng)實際的輸入頻率超過控制器能夠檢測 的最大頻率則在相應(yīng)的寄存器里的頻率值和極數(shù)值就會不準(zhǔn)確。當(dāng)調(diào)用RESET_PI函數(shù)時當(dāng) 相應(yīng)的參數(shù)值就是CHANNEL A的值時,相應(yīng)的計數(shù)值就歸零。參考IW與通道號,以及輸出點:IWChannel#Pluse count IW20232024202320241300120131112113221221333123134412413551251366126137712715
48、08016016015191161161152102162162153113163163154124164164155135165165156146166166157157167167功能塊如下圖:CONFIGURE_PI-A-B輸入:(1) A, BYTE型,通道A,即輸入信號的通道號。(2) B, BYTE型,通道B,即輸入信號的通道號。6.2 GETJTUPLE 函數(shù)功能描述:這是一個系統(tǒng)保留函數(shù)。是一個POINTER TO BYTE型函數(shù)。 函數(shù)圖如下:GET.TUPLE IDSelection輸入:(1) ID, BYTE型,要選擇的TUPLE的號。(2) Selection, BO
49、OL型,當(dāng)為TRUE時,是選擇TUPLE Set boot,當(dāng)為TRUE時,是 選擇 Application。6.3 LOAD_USER_PROGRAM 函數(shù)功能描述:本函數(shù)是BOOL型的。函數(shù)圖如下:LOAD-USER-PROGR/iM一 Dummy輸入:(1) Dummy, BOOL型,6.4 PARAMS_STORE 函數(shù)功能描述:存儲參數(shù)MW0MW247,系統(tǒng)每隔100s保存一次參數(shù)到存儲器。本函數(shù)是BOOL型的。 函數(shù)圖如下:PARAMS-STORE-ENABLE輸入:(1) ENABLE, BOOL 型,使能。6.5 RESET_PI 函數(shù)功能描述:脈沖輸入計數(shù)復(fù)位。功能是把脈沖輸
50、入計數(shù)器置零,軟連接口CH接所要復(fù)位的通道號。 如果要用B通道脈沖上升沿復(fù)位A通道的脈沖計數(shù)值(或用A脈沖的上升沿復(fù)位B通道的計數(shù) 值),則CH的數(shù)值如下公式所示:CH=(Restting channel number+1 )* 16+Channel to reset函數(shù)圖如下:R£SET_PI CH輸入:(1) CH, BYTE型,要復(fù)位的通道號。6.6 SET_AI_TYPE 函數(shù)功能描述:設(shè)置模擬量輸入端為電流輸入.本函數(shù)是BOOL型的.2023模塊的(X3.7和X3.10)腳通過此方法沒有辦法設(shè)置,可以通過如下方法將此腳改為 電流輸入VARPP:POINTER TO WORD
51、;P3:WORD;VAR.ENDPP:=16#FFC4;PPA:=P3 OR 16#2000:(*選擇電流輸入 *)PP八:=P3 AND 16#DFFF;(*選擇電壓輸入*)函數(shù)圖如下:SET-ALT/FEValue輸入:(1) Value, BYTE型,通過Value的輸入來設(shè)定輸入針是電壓輸入還是電流輸入。6.7 SET_CYCLE_TIME 函數(shù)功能描述:它是一個系統(tǒng)保留函數(shù),是一個BOOL型的函數(shù)。函數(shù)圖如下:SET_CYCLE_TIME一 Ctime輸入:(1) Ctime, WORD型。6.8 SET_PWM_F 函數(shù)功能描述:Set PWM frequency模塊用于設(shè)置輸出P
52、WM信號的頻率.可設(shè)頻率范圍從40到 2550 HZoFREQ為實際的輸出頻率除以10, CH是需要設(shè)置相應(yīng)頻率的通道號(相應(yīng)的PWM 輸出的地址號減去100)o如果通道是在同一組里,只要設(shè)置其中一個的PWM輸出的通道 號的頻率,其余的通道的頻率也是和其一樣。一般將系統(tǒng)硬件初始化設(shè)置相關(guān)的程序放在程序的初始化程序段(只是在系統(tǒng)上電瞬間執(zhí)行 一次)里。函數(shù)圖如下:QET_PWM_F-FREQ-CH輸入:(1) FREQ, BYTE型,為實際的輸出頻率除以10。(2) CH, BYTE型,CH是需要設(shè)置相應(yīng)頻率的通道號(相應(yīng)的PWM輸出的地址號 減去100)。6.9 TEMPERATURES 功能
53、塊功能描述:計算模塊的溫度,Temperature功能模塊有兩路報警輸出(TEMP 1 and TEMP 2): 一路 模擬量輸出(AD_TEMP),可通過下述公式計算溫度值。還有一路實際的溫度值輸出(TEMP)。 bit_per_deg = 81,263 biLoffset = 5J77 * 103 temperature = (AD_TEMP - bit_offset)/ bit_per_degExamble:AD_TEMP = 8470tempereture = (8470 -5,177 * 103) / 81,263 = 40,519 目前2023模塊沒有檢測溫度的功能,2024有,但
54、是不能用目前的函數(shù)計算,可以按照 以下方法計算2024模塊的溫度:Ten】perature:=DINT_TONT(UINT_TO_DINT(%IW 115)*8060)/65535-636)/10);函數(shù)圖如下:TEMPERATJREgTEMPITEMP2 -AD_TENF一 TEMF-輸出:(1) TEMPI, BOOL型,當(dāng)溫度超過73。(2是輸出為TRUE。(2) TEMP2, BOOL型,當(dāng)溫度低于-40%:是輸出為TRUE,<3) AD_TEMP, WORD型,模擬信號輸出,可通過上而公式計算實際溫度值。(4) TEMP, SINT型,輸出的實際溫度值。6.9 TEST_PARAM_PARITY 函數(shù)功能描述:測試寫入的參數(shù),是一個BOOL型的函數(shù)。函數(shù)圖如下:T£ST_PzRAM .PARITY-ENABLE輸入:(1) ENABLE, BOOL型,使能。6.10 USER_FUNCTION 函數(shù)功能描述:本函數(shù)也是一個系統(tǒng)保留的函數(shù)。函數(shù)圖
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 底料銷售合同范例
- 清吧合作合同范例
- 混凝土長期合同范例
- 店面餐飲轉(zhuǎn)讓合同范例
- 書包購貨合同范例
- 農(nóng)用機(jī)器拍賣合同范例
- 家庭農(nóng)場生產(chǎn)合同范例
- 拆遷設(shè)備回收合同范例
- 騎手自雇合同范例
- 果場轉(zhuǎn)讓合同范例
- QC成果提高疊合板安裝合格率
- 線路施工質(zhì)量驗收及評定范圍劃分表
- 7漆洪波教授解讀:ACOG妊娠期高血壓和子癇前期指南2023年版
- 北師大版二年級下冊口算題大全(全冊齊全)
- 正庚烷-正辛烷連續(xù)精餾塔設(shè)計
- 2023年江蘇無錫市屆普通高中學(xué)業(yè)水平測試模擬考試地理試卷及答案
- 會計人員年終個人工作總結(jié)(4篇)
- 亨利愛幫忙 繪本課件
- 2023版思想道德與法治專題4 繼承優(yōu)良傳統(tǒng) 弘揚中國精神 第2講 做新時代的忠誠愛國者
- 南方黑芝麻集團(tuán)有限責(zé)任公司swot分析
- 上海證券交易所董事會秘書資格考試題庫和答案-完整版
評論
0/150
提交評論