版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、二、模擬量標定庫 AnalogFilter Library模擬量標定庫就是指AnalogFilter.lib中的一些庫函數(shù)。2.1 CUT功能塊功能描述:把輸入值進行預處理,調(diào)整斜率,消除兩端非線性影響。調(diào)整效果見圖:input功能塊如下圖:Cu1InputOutputP ARn p utl LowLi m itLowLim itPARJnputHighLimit HighLimit輸入:(1) Input, UINT型,要處理的信號。(2) PARJnputILowLimit, UINT型,用來控制輸出的下限。當 Input<=256*PAR_InputILowLimit 時輸出為 0
2、。(3) PARJnputHighLimit, UINT型,用來控制輸出的上限。當 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功能塊功能描述:設置一個死區(qū),把死區(qū)以內(nèi)的值都設為0»功能如圖:CXJCOe 寸
3、 寸 9999功能塊如下圖:HPInputOuiputPAR.CutLimit 輸入:(1) Input, UINT型,輸入信號。.(2) PAR_CutLimit, UINT 型,死區(qū)控制參數(shù)。當 Input<=65535*PAR_CutLimil%時輸出為0。輸出:(1) Output, UINT型,處理完的信號。2.3 JoyFilter 功能塊功能描述:JoyFilter塊是一個雙向的模擬量標定塊,也就是說它對輸入的模擬量進行預處理,把輸 出范圍調(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 型,正向微動開關。當 PAR_DirSwitchDiagnosticNotUse為FALSE時,此時又手柄向正向移動,那么只有正向微動 開關TRUE, OUTPUT才會有輸出。(3) DIJoystickDirSwitchNEG, BOOL 型,負向微動開關,當 PAR.DirSwitchDiagnosticNotUse為FALSE時,此時又手柄向負向移動,那么只有負向微動 開關TRU
6、E, OUTPUT才會有輸出。(4) PAR_NegFull, UINT型,負向輸入的調(diào)節(jié)參數(shù)。取值范圍:0255,主要用 于當負向輸入最大時,調(diào)節(jié)參數(shù)使得OUTPUT也為負向最大。(5) PAR_POSFull, UINT型,正向輸入的調(diào)節(jié)參數(shù)。取值范圍:0255,主要用 于當正向輸入最大時,調(diào)節(jié)參數(shù)使得OUTPUT也正負向最大。<6) PAR_Zero, UINT型,零輸入的調(diào)節(jié)參數(shù)。取值范圍:0255,主要用于當 手柄在零位時,即零輸入時,調(diào)節(jié)參數(shù)使得OUTPUT也為零。(7) PAR_DeadBand, UINT型死區(qū)設置參數(shù)。取值范圍:0100。當輸入進入?yún)?數(shù)設置范圍,輸出為
7、零(8) PAR.NegProgression, SINT型。取值范圍:-100100,設置負向輸出緩沖曲 線度,手柄負向輸出值相對于輸入值的一個響應曲線,曲線如圖:(9) PAR.PosProgression, SINT型。取值范圍:-100100,設置正向輸出緩沖曲 線度,手柄正向輸出值相對于輸入值的一個響應曲線。(10) PAR_MinErrorDifference, UINT 型,取值范圍:0100,設置出錯范圍, 當輸入超出范圍時,激活ErrorHigh或ErrorLow開關,并使輸出為零。(11) PAR.FaultOnDelay, UINT 型,取值范圍:0255,過我延時。(1
8、2) PAR.DirSwitchDiagnosticNotUse, BOOL 型,此參數(shù)為 TRUE 時,微動開關 無效,為FALSE時,微動開關有效輸出:(1) OutputEable> BOOL型,輸出使能,為TRUE是塊才會有輸出。(2) Output, INT型,調(diào)整后的信號量,輸出數(shù)值范圍-3276732767(3) ErrorHigh, BOOL 型,當輸入超出 PAR_FuH+5000 范圍時,ErrorHigh 為 TRUE,輸出置零。(4) ErrorLow, BOOL 型,輸入超出 PAR_Zero-PAR_MinEiTorDifference 范圍, ErrorHi
9、gh為TRUE,并把輸出置零。(5) JoystickDirSwitchPOSMissing, BOOL 型,正向微動開關出錯時,值為 TRUE,(6) JoystickDirSwitchNEGMissing, BOOL 型負向微動開關出錯時,值為 TRUE, (7) JoystickDirSwitchPOSAndNEGOn, BOOL 型,正、負向微動開關同時為 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型,負向最大調(diào)整參數(shù)。(4) PAR_MinErrorDifference, UINT型,設置出錯范圍,當輸入超出范圍時,激活 ErrorlnputTooHighOut 或 ErrorlnputTooLowOut 開關,并使愉出為零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 功能塊功能描述:本功能塊是用來觀察手柄模擬量輸入時微動開關的狀態(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 型,正向微動開關。當PAR_DirSwitchDiagnosticNotUse為F
13、ALSE時,此時又手柄向正向移動,那么只有正向微動 開關TRUE, OUTPUT才會有輸出。(3) DIJoystickDirSwitchNEG, BOOL 型,負向微動開關° 當PAR_DirSwitchDiagnosticNotUse為FALSE時,此時又手柄向負向移動,那么只有 負向微動開關TRUE, OUTPUT才會有輸出。(4) PAR.PosFulh UINT型,正向最大調(diào)整參數(shù).(5)PAR_NegFull, UINT型,負向最大調(diào)整參數(shù)。(6) PAR.Zero, UINT型,零輸入的調(diào)節(jié)參數(shù)。主要用于當手柄在零位時,即零輸 入時,調(diào)節(jié)參數(shù)使得OUTPUT也為零。(7
14、) PAR.FaultOnDelay, UINT 型,過載延時。輸出:(1) JoystickDirSwitchPOSMissing, BOOL 型,正向微動開關出錯時,值為 TRUE。(2) JoystickDirSwitchNEGMissing, BOOL 型負向微動開關出錯時,值為 TRUE。(3) JoystickDirSwitchPOSAndNEGOib BOOL 型,正、負向微動開關同時為 TRUE 時,值為TRUEo2.6 MeanValue 功能塊功能描述:對給的數(shù)組進行求平均數(shù)操作。功能塊如圖:MeanValueinput output一 PAR_LenghtReset輸入:
15、(1) Input, UINT型,數(shù)據(jù)輸入。(2) PAR_Length, UINT型,取數(shù)長度,如值為5,則每5個值求一次平均值,并 輸出到output 0(3) Reset, BOOL型,復位信號,值為TRUE時不進行平均值運算。 輸出:(1) Output, UINT 型2.7 PedalFilter 功能塊功能描述:PedalFilter功能塊是一個單向的標定模塊,主要用于把輸入模擬量進行預處理,把輸 出量范圍調(diào)整到。65535。功能塊如下圖:PedalFilterAnaloginputOutputP 麗_FullErrorHighP 舶 _ZeroErrorLowPAR_DeadDa
16、ndP 舶ProgressionP AR_M inErro rDifferen ce OutputEnable輸入:(1) Abaloglnput, UINT型,來自于傳感器的輸入量OutPutEnable, BOOL型,使能開關。參數(shù)值為TRUE時,模塊按當前值輸出: 為FALSE時,保持上一次輸出值。(2) PAR.Full, UINT型,取值范圍:。255,此參數(shù)用于調(diào)整最大輸出值,當輸 入最大時,使輸出接近65535,小于65535o(3) PAR.Zero, INT型,取值范圍:0255,此參數(shù)用于調(diào)整零位,使輸出為零。(4) PAR_DeadBand, UINT型,取值范圍:0-1
17、00,設置死區(qū),當輸入進入?yún)?shù)設 置范圍,輸出為零。(5) PAR_Progression, SINT型,取值范圍:-100100設置輸出緩沖曲線度。(6) PAR_MinErrorDifference, UINT型,取值范圍:0-100,設置出錯范圍,當輸 入超出范圍時,激活ErrorHigh或ErrorLow開關,并使輸出為零。(7) OutputEnable, BOOL型,使能開關。輸出:(1) Output, UINT型,取值范圍:065535,輸出信號。(2) ErrorHigh, BOOL 型,高位出錯開關。輸入PAR_Full + PAR_MinErrorDifference 范
18、圍,ErrorHigh 為 TRUE,并把輸出置零。(3) ErrorLow, BOOL 型,低位出錯開關,輸入PAR_Zero - PAR_MinErrorDiffcrence 范圍, ErrorHigh為TRUE,并把輸出置零。2.8 RC功能模塊功能描述:RCInput OutputRC功能塊是濾波功能塊,它是對傳感器信號的輸入信號進行濾波.濾波公式為: 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型,設置零位,當輸入為PAR_Zero * 256時,輸出為0°(3) PAR_PosFulh UINT 型,當 input 值 >=PAR_PosFull * 256 時,愉出為 65535 , PosValue 為 TRUE。(4) PAR
20、_NegFull, UINT 型,當 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模塊用于設置緩沖曲線度,當Zero為TRUE時,輸出為零,當Full為 TRUE,而Zero不為零時,輸出為65535。緩沖曲線度公式:Y2
21、表正向,Y3表負向。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型,當Zero為TRUE時,輸出為零。(3) Full: BOOL型,當Fu
22、ll為TRUE,而Zero不為零時,輸出為65535.(4) PAR_Progression, INT型,曲線度設置參數(shù)。(5) OutputEnable,BOOL型,當此參數(shù)值為TRUE時,模塊按預定算法執(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 型,用來擴展 ID 為 29 位。輸出:(1) ERROR, BOOL型。當OBJ超出范圍時有輸出。1.2 CAN_H_GET_MSG 功能塊功能描述:當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 型,當信息 ID 為 29 位時為 TRUE,(3) ID,信息的ID。(4) DLC,信息的長度。(5) DATAn,信息的數(shù)據(jù),其中n=DLC,(6) CUSTOMER,沒有定義。(7) NEW_DATA, BOOL型,當緩存中有新的數(shù)據(jù)時為TRUE。1.3 CAN II INIT 函數(shù)功能描述:CANI設備的初始化函數(shù)。功能塊如下圖:I OA.MJIJMIT I-Jema.blespeedghml
25、-Jggims-|term,res I輸入:(1) ENABLE, BOOL型,使函數(shù)可以工作。(2) SPEED, CAN設備的波特率。(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ā)送遠距離傳送請求。本函數(shù)是BOOL型的。函數(shù)塊如下圖:CAN_II_RTR- ENABLE ERROR - OBJ輸入:(1)(2)ENABLE, BOOL 型,使能。OBJ選擇
26、對象號,。13。輸出:(1) ERROR,當輸出為TRUE時,就是選擇的對象好有問題°3.5 CAN_II_STATUS 功能塊功能描述:本功能快就是用來返回CAN設備的狀態(tài)。功能塊如下圖:CANJLSTATUSLEC 7X0K RXOK - EWARN.COUNT BUSOFF.OOUNT 輸入:無輸出:(1) LEC,就是返回最近的一個出錯的代碼。(2) TXOK為TRUE時就表示傳輸成功,(3) RXOK為TRUE時就表示接受成功。(4) EWARN.COUNT出錯記數(shù)器。(5) BUSOFF_COUNT,總線關閉記數(shù)器。3-6 CANJIRX 功能塊功能描述:從更高的mess
27、age對象來接受新的CAN信息。 功能塊如下圖:CAMJIRXEXTENDEDIDDLC>DATA1DATA2DATA3DATA4DATA5DATA6DATA7DATA8CUSTOMERNEW.DATA輸出:(1) EXTENDED, BOOL型,擴展信息的ID位為29位。(2) ID ,信息 ID。(3) DLC ,數(shù)據(jù)長度1.8。(4) DATAn ,信息數(shù)據(jù),其中n=DLC(5) CUSTOMER ,沒有定義。(6) NEW.DATA ,當有新的數(shù)據(jù)到了緩存中時為TRUE。3-7 CANJITX 功能塊功能描述:向更高的message對象來發(fā)新的CAN信息。 功能塊如下圖:CANJ
28、ITKENABLEEXTENDEDIDDLCDATA1DAWDATA3 DAWDATA5DATA6DATA7DAW輸入:(1) ENABLE, BOOL 型,使能。(2) XTENDED, BOOL型,擴展信息的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ù)自動放到相應的緩存里面,建議如果接收 的數(shù)據(jù)有限的話使用CANJI_
29、BUFF_INIT和CAN_II_GET_MSG函數(shù)接收數(shù)據(jù), CANJLBURUNIT應在 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ù)的主要作用是用來結束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,當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,當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,當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,當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)絡上的一個節(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)的有關信息。 功能塊如下圖:CAMOPEN_DIA.QMOS£BUS.OFF.COUNT EWfkRN.COUNT TXBUFF_FULL_COUNT 6CLE_TINE HIOH_CvrCLE_TIME GTf?LDOF GOUriT輸出:(1) BUS_OFF_COUNT, BYTE型,總線關閉記數(shù)。(2) EWARN.COUNT, BYTE型,錯誤與警告的數(shù)量。(3) TXBUFF_FULL_COUNT, BYTE型,記CA
41、N設備傳輸緩沖區(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對應Truc/False。 函數(shù)圖如下:CAMOPENJS.THIS.WASTERYES 輸出:(1) YES, BOOL 型,Master/Slave 對應 True/False。4.4.
42、3 CANOPEN_NODE_STATE 功能塊功能描述:本功能塊給出了本節(jié)點的當前操作狀態(tài)信息。 功能塊如下圖:CAhJOPENLMODESTATENODEIDDUMMYDISCONNECTEDCONNECTINGPREPARINGPREPAREDOPERATIONAL ERROR輸出:(1) NODEID, BYTE型,單元本身的ID號。(2) DUMMY, BOOL型,單元是否是虛擬的。(3) DISCONNECTED, BOOL型,單元是否沒有連接在總線上。(4) CONNECTING, BOOL型,單元是否連接在總線上.(5) PREPARING, BOOL型,單元是否準備好.(6)
43、 PREPARED, BOOL型,設備停止,準備運行。(7) OPERATIONAL. BOOL型,CanOpen 設備正在運行。(8) ERROR. BOOL型,不是當前操作的狀態(tài),是上一個操作的狀態(tài)。444 CANOPEN_START_NODES 函數(shù)功能描述:啟動CANOPEN從設備。函數(shù)圖如下:CrAMCPE M-gTART_NODEg-ENABLE輸入:(1) ENABLE, BOOL 型,使能。五、CELL_CHECK_4 庫CELL_CHECK_4庫就是CELL_CHECK_4.1ib庫文件中的功能塊。本庫中就只有 CELL.CHECK.4 一個功能塊。功能描述:本功能塊主要是一
44、個脈沖檢測功能塊。當輸入的脈沖信號必須在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、結果的信號。(2) HB.Send. BOOL型,功能塊本身的脈沖信號.(3) HBTime.l, USINT型,對于信號1的程序循環(huán)記數(shù)器,當本記數(shù)器的值大于150時ALLUp輸出為FALSE,否則為TRUE。(4) HBTime_2, USINT型,對于信號2的程序循環(huán)記數(shù)器,當本記數(shù)器的值大 于150時ALLUp輸出為FALSE,否則為TRUE。(5) HBTime_3, USINT型,對于信號3的程序循環(huán)記數(shù)器,當本記數(shù)器的值大 于150時ALLUp輸出為FALSE否則為TRUE。(6) HBTime.4, USINT型,對于信號4的程序循環(huán)記數(shù)器,當本記數(shù)器的值大于150時ALLUp
46、輸出為FALSE,否則為TRUE。六、HW庫HW庫也就是指的是在hw_n.lib文件中的一些功能塊。6.1 CONFIGURE_PI 功能塊功能描述:脈沖輸入設置,它是通過比較A, B兩個通道輸入的脈沖信號來給出一個正轉或反轉的數(shù)值。 如果只計算單脈沖輸入,CONFIGURE_PI的CHANNEL A等于相應的值,CHANNEL B 的值設置為16,如果是要計算正反轉,A相輸入和B相輸入相位差90度,則CHANNELA和CHANNEL B的值等于相應的CHANNEL值。寄存器地址IW130-IW137.IW150-IW157 的值存放的是頻率值,IW120IW127、IW16CMW167存放的
47、是計數(shù)值,在CODESYS聯(lián)機 監(jiān)控時只顯示A相輸入的頻率值。高速脈沖輸入端能夠檢測的最高頻率和程序的大小有關,當程序越大,即程序循環(huán)一周 需要的時間越長,脈沖輸入端能夠檢測的頻率就越低。當實際的輸入頻率超過控制器能夠檢測 的最大頻率則在相應的寄存器里的頻率值和極數(shù)值就會不準確。當調(diào)用RESET_PI函數(shù)時當 相應的參數(shù)值就是CHANNEL A的值時,相應的計數(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型,當為TRUE時,是選擇TUPLE Set boot,當為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ù)復位。功能是把脈沖輸
50、入計數(shù)器置零,軟連接口CH接所要復位的通道號。 如果要用B通道脈沖上升沿復位A通道的脈沖計數(shù)值(或用A脈沖的上升沿復位B通道的計數(shù) 值),則CH的數(shù)值如下公式所示:CH=(Restting channel number+1 )* 16+Channel to reset函數(shù)圖如下:R£SET_PI CH輸入:(1) CH, BYTE型,要復位的通道號。6.6 SET_AI_TYPE 函數(shù)功能描述:設置模擬量輸入端為電流輸入.本函數(shù)是BOOL型的.2023模塊的(X3.7和X3.10)腳通過此方法沒有辦法設置,可以通過如下方法將此腳改為 電流輸入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的輸入來設定輸入針是電壓輸入還是電流輸入。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模塊用于設置輸出P
52、WM信號的頻率.可設頻率范圍從40到 2550 HZoFREQ為實際的輸出頻率除以10, CH是需要設置相應頻率的通道號(相應的PWM 輸出的地址號減去100)o如果通道是在同一組里,只要設置其中一個的PWM輸出的通道 號的頻率,其余的通道的頻率也是和其一樣。一般將系統(tǒng)硬件初始化設置相關的程序放在程序的初始化程序段(只是在系統(tǒng)上電瞬間執(zhí)行 一次)里。函數(shù)圖如下:QET_PWM_F-FREQ-CH輸入:(1) FREQ, BYTE型,為實際的輸出頻率除以10。(2) CH, BYTE型,CH是需要設置相應頻率的通道號(相應的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型,當溫度超過73。(2是輸出為TRUE。(2) TEMP2, BOOL型,當溫度低于-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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 六盤水職業(yè)技術學院《典型零件的工藝設計》2023-2024學年第一學期期末試卷
- 金肯職業(yè)技術學院《微機原理含實驗》2023-2024學年第一學期期末試卷
- 新蘇教版一年級下冊數(shù)學第1單元第3課時《8、7加幾》作業(yè)
- 懷化學院《影視創(chuàng)作前沿技術》2023-2024學年第一學期期末試卷
- 湖北理工學院《人力資源管理咨詢與診斷》2023-2024學年第一學期期末試卷
- 資陽口腔職業(yè)學院《測試與傳感器技術》2023-2024學年第一學期期末試卷
- 小學黨員聯(lián)系群眾、服務群眾制度
- 長沙學院《材料加工過程多尺度模擬》2023-2024學年第一學期期末試卷
- 寒露節(jié)氣策劃講座模板
- 職業(yè)導論-房地產(chǎn)經(jīng)紀人《職業(yè)導論》名師預測卷3
- 藝術品捐贈協(xié)議
- 網(wǎng)絡安全系統(tǒng)運維方案
- 2024年標準溝渠回填工程承包協(xié)議版B版
- 2024年專用:物業(yè)安全管理協(xié)議3篇
- 【公開課】同一直線上二力的合成+課件+2024-2025學年+人教版(2024)初中物理八年級下冊+
- 《政府采購業(yè)務培訓》課件
- 《醫(yī)療器械召回管理辦法》培訓2024
- 網(wǎng)絡安全培訓內(nèi)容課件
- 通信線路維護安全培訓
- 專業(yè)微信小程序開發(fā)協(xié)議范例版
- 高職組全國職業(yè)院校技能大賽(嬰幼兒照護賽項)備賽試題庫(含答案)
評論
0/150
提交評論