codesys所有函数的详细说明(可编辑修改word版)_第1页
codesys所有函数的详细说明(可编辑修改word版)_第2页
codesys所有函数的详细说明(可编辑修改word版)_第3页
codesys所有函数的详细说明(可编辑修改word版)_第4页
codesys所有函数的详细说明(可编辑修改word版)_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、二、模拟量标定库 AnalogFilter Library模拟量标定库就是指AnalogFilter.lib中的一些库函数。2.1 CUT功能块功能描述:把输入值进行预处理,调整斜率,消除两端非线性影响。调整效果见图: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功能块功能描述:设置一个死区,把死区以内的值都设为0»功能如图:CXJCOe 寸

3、 寸 9999功能块如下图:HPInputOuiputPAR.CutLimit 输入:(1) Input, UINT型,输入信号。.(2) PAR_CutLimit, UINT 型,死区控制参数。当 Input<=65535*PAR_CutLimil%时输出为0。输出:(1) Output, UINT型,处理完的信号。2.3 JoyFilter 功能块功能描述:JoyFilter块是一个双向的模拟量标定块,也就是说它对输入的模拟量进行预处理,把输 出范围调整为-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型,负向输入的调节参数。取值范围:0255,主要用 于当负向输入最大时,调节参数使得OUTPUT也为负向最大。(5) PAR_POSFull, UINT型,正向输入的调节参数。取值范围:0255,主要用 于当正向输入最大时,调节参数使得OUTPUT也正负向最大。<6) PAR_Zero, UINT型,零输入的调节参数。取值范围:0255,主要用于当 手柄在零位时,即零输入时,调节参数使得OUTPUT也为零。(7) PAR_DeadBand, UINT型死区设置参数。取值范围:0100。当输入进入参 数设置范围,输出为

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 型,此参数为 TRUE 时,微动开关 无效,为FALSE时,微动开关有效输出:(1) OutputEable> BOOL型,输出使能,为TRUE是块才会有输出。(2) Output, INT型,调整后的信号量,输出数值范围-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 功能块功能描述:本功能块是用来实现对一个模拟量输入的观察。功能块如下图:Jo/stickAllnpuWutO1RangeAllrput Err

10、orinpulTooHighOutPAR_PosFull ErroilnputTooLovvOutPAR2NegFullPAR-MinErrorDifference输入:(l)Allnput, UINT型,需要观察的模拟量信号。(2) PAR.PosFulh UINT型,正向最大调整参数。(3) PAR.NegFull, UINT型,负向最大调整参数。(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 功能块功能描述:本功能块是用来观察手柄模拟量输入时微动开关的状态。功能块如下图: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型,正向最大调整参数.(5)PAR_NegFull, UINT型,负向最大调整参数。(6) PAR.Zero, UINT型,零输入的调节参数。主要用于当手柄在零位时,即零输 入时,调节参数使得OUTPUT也为零。(7

14、) PAR.FaultOnDelay, UINT 型,过载延时。输出:(1) JoystickDirSwitchPOSMissing, BOOL 型,正向微动开关出错时,值为 TRUE。(2) JoystickDirSwitchNEGMissing, BOOL 型负向微动开关出错时,值为 TRUE。(3) JoystickDirSwitchPOSAndNEGOib BOOL 型,正、负向微动开关同时为 TRUE 时,值为TRUEo2.6 MeanValue 功能块功能描述:对给的数组进行求平均数操作。功能块如图:MeanValueinput output一 PAR_LenghtReset输入:

15、(1) Input, UINT型,数据输入。(2) PAR_Length, UINT型,取数长度,如值为5,则每5个值求一次平均值,并 输出到output 0(3) Reset, BOOL型,复位信号,值为TRUE时不进行平均值运算。 输出:(1) Output, UINT 型2.7 PedalFilter 功能块功能描述:PedalFilter功能块是一个单向的标定模块,主要用于把输入模拟量进行预处理,把输 出量范围调整到。65535。功能块如下图:PedalFilterAnaloginputOutputP 丽_FullErrorHighP 舶 _ZeroErrorLowPAR_DeadDa

16、ndP 舶ProgressionP AR_M inErro rDifferen ce OutputEnable输入:(1) Abaloglnput, UINT型,来自于传感器的输入量OutPutEnable, BOOL型,使能开关。参数值为TRUE时,模块按当前值输出: 为FALSE时,保持上一次输出值。(2) PAR.Full, UINT型,取值范围:。255,此参数用于调整最大输出值,当输 入最大时,使输出接近65535,小于65535o(3) PAR.Zero, INT型,取值范围:0255,此参数用于调整零位,使输出为零。(4) PAR_DeadBand, UINT型,取值范围:0-1

17、00,设置死区,当输入进入参数设 置范围,输出为零。(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型,曲线度设置参数。(5) OutputEnable,BOOL型,当此参数值为TRUE时,模块按预定算法执行:为FALSE 时,保持上一次输出输出:(1) Output. UINT 型三、CANIIIEC 库本库就是一些基于CAN2.0协议的一些功能块。也就是Can2.1ib中的一些函数与功能 块。1.1 CANJLBUFFJNIT 函数功能描述:本功能块的主要作用是用来初始化CAN接受信息对象的。注意CAN_II_BUFF_INIT, 必须用在CANINIT前而。本函数是BOOL型的。函数块

23、如下图:CANJLBUFF-INITENABLE ERROROBJIDEXTENDED输入:(1) ENABLE, BOOL型。函数的使能变量。(2) OBJ,对象号,输入数值,114, 0是用来传输的号。(3) ID,信息 ID, 11 或 29 位 ID。(4) EXTENDED, BOOL 型,用来扩展 ID 为 29 位。输出:(1) ERROR, BOOL型。当OBJ超出范围时有输出。1.2 CAN_H_GET_MSG 功能块功能描述:当CAN总线上有新的CAN信息是接受数据。功能块如下图: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,信息的数据,其中n=DLC,(6) CUSTOMER,没有定义。(7) NEW_DATA, BOOL型,当缓存中有新的数据时为TRUE。1.3 CAN II INIT 函数功能描述:CANI设备的初始化函数。功能块如下图:I OA.MJIJMIT I-Jema.blespeedghml

25、-Jggims-|term,res I输入:(1) ENABLE, BOOL型,使函数可以工作。(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 函数功能描述:发送远距离传送请求。本函数是BOOL型的。函数块如下图:CAN_II_RTR- ENABLE ERROR - OBJ输入:(1)(2)ENABLE, BOOL 型,使能。OBJ选择

26、对象号,。13。输出:(1) ERROR,当输出为TRUE时,就是选择的对象好有问题°3.5 CAN_II_STATUS 功能块功能描述:本功能快就是用来返回CAN设备的状态。功能块如下图:CANJLSTATUSLEC 7X0K RXOK - EWARN.COUNT BUSOFF.OOUNT 输入:无输出:(1) LEC,就是返回最近的一个出错的代码。(2) TXOK为TRUE时就表示传输成功,(3) RXOK为TRUE时就表示接受成功。(4) EWARN.COUNT出错记数器。(5) BUSOFF_COUNT,总线关闭记数器。3-6 CANJIRX 功能块功能描述:从更高的mess

27、age对象来接受新的CAN信息。 功能块如下图:CAMJIRXEXTENDEDIDDLC>DATA1DATA2DATA3DATA4DATA5DATA6DATA7DATA8CUSTOMERNEW.DATA输出:(1) EXTENDED, BOOL型,扩展信息的ID位为29位。(2) ID ,信息 ID。(3) DLC ,数据长度1.8。(4) DATAn ,信息数据,其中n=DLC(5) CUSTOMER ,没有定义。(6) NEW.DATA ,当有新的数据到了缓存中时为TRUE。3-7 CANJITX 功能块功能描述:向更高的message对象来发新的CAN信息。 功能块如下图:CANJ

28、ITKENABLEEXTENDEDIDDLCDATA1DAWDATA3 DAWDATA5DATA6DATA7DAW输入:(1) ENABLE, BOOL 型,使能。(2) XTENDED, BOOL型,扩展信息的ID位为29位。(3) ID ,信息 ID、(4) DLC ,数据长度1.8»(5) DATAn ,信息数据,其中n=DLC,CAN2使用说明:接收数据:1.可以采用CAN_II_BUFF_INIT和CAN_II_GET_MSG配合使用,自动将CAN 总线上ID和CAN_II_BUFF_INIT相同ID的数据自动放到相应的缓存里面,建议如果接收 的数据有限的话使用CANJI_

29、BUFF_INIT和CAN_II_GET_MSG函数接收数据, CANJLBURUNIT应在 CAN_II_INIT 之前。2.也可以只使用CANJIRX,但是如果使用CANJIRX函数必须判断接收回 来的ID和我需要的ID是否相等,因为CANIRX将总线上所有的数据都接收回来。 发送数据:使用CANITX发送CAN数据由于发送缓存的限制,每一次最多可以发送8个 不同CAN ID的数据,考虑到每次发送的可靠建议每次程序循环一次发送5个不同CAN ID的数据。四、CANOPEN IEC 库下面主要介绍的是一些基于CANOPEN协议的库函数。也就是在canopcn.lib中的一 些函数与功能块。4

30、.1 INIT FUNCTION4.1.1 CANOPEN_END_INIT 函数功能描述:本函数的主要作用是用来结束CANOPEN的初始化。本函数是BOOL型的,函数块如下图:CAMOPEKLEIJD.IMIT ENABLE输入:(1) ENABLE: BOOL 型,使能。4.1.2 CANOPEN_INIT_SDO 函数功能描述:对SDO对象开始初始化。函数图如下:CAM OPEN JNIT.SDO EMA9UE ID SDO_TYPE SDO输入:(1) ENABLE, BOOL 型,使能。(2) ID.BYTE 型。(3) SDO_TYPE, BOOL 型,FALSE 时为 TX 型,

31、TRUE 时为 RX 型。(4) SDO, BYTE 型,SDO 的编号。4.1.3 CANOPEN_START_INIT 函数功能描述:本函数就是CANOPEN的开始初始化。本函数是BOOL型的。函数块如下图:CAUOPEN-eTART-INITENABLE输入:(1) ENABLE, BOOL 型,使能。4.2 PDO HANDLING FUNCTIONS4.2.1 CANOPEN_ADD_NODE_RECEIVE_FROM 函数功能描述:增加CANOPEN接收的一个节点号(4路PDO)。本函数是BOOL型的。 函数图如下:CANOPEN-ADD.NODE-RECEIVC.FROWENAB

32、LEERROR-PDO.TrPE.SELECT-ID输入:(1) ENABLE, BOOL 型。使能。(2) PDO_TYPE_SELECT. BOOL 型,PDO 的类型选择,FALSE 为 TPDOS 型, TRUE 为 RPDOS 型。(3) ID,本PDO是节点ID的。输出:(1) ERROR,当ID超出范围时ERROR有输出。4.2.2 CANOPEN_ADD_RECEIVE_PDO 函数功能描述:增加接收一路PDOo本函数是BOOL型的。函数块如下图:CANOPEN-ADD.RECEIVE.PDO ENABLEERRORPDOJTdPJSELEOT ID一 PDO输入:(1) EN

33、ABLE, BOOL 型。使能。(2) PDO_TYPE_SELECT. BOOL 型,PDO 的类型选择,FALSE 为 TPDOS 型, TRUE 为 RPDOS 型。(3) ID,本PDO是节点ID的。(4) PDO, BYTE 型。PDO 号,卜4, 输出:(5) RROR,当ID或PDO超出范围时ERROR有输出。4.2.3 CANOPEN_ADD_TRANSMIT_NODE_ID 函数功能描述:虚拟CANOPEN发送的一个节点号(4路PDO) .本函数是BOOL型的。函数图如下:CAhOPE hMDD-IRANSMITJJODE J DENABLEERRORPDO.TYPE.SEL

34、ECT ID输入:(1) ENABLE, BOOL 型。使能。(2) PDO_TYPE_SELECT, BOOL 型,PDO 的类型选择,FALSE 为 TPDOS 型, TRUE 为 RPDOS 型 o(3) ID,本PDO是节点ID的。输出:(1) ERROR,当ID超出范围时ERROR有输出。4.2.4 CANOPEN_ADD_TRANSMIT_PDO 函数功能描述:虚拟CANOPEN发送的一路PDOo本函数是BOOL型的。函数图如下:CAhlOPEN_ADD.TRAMSMIT.PDOENABLEERRORPDO_TYPE_SELECT IDFDO输入:(1) EABLE, BOOL 型

35、。使能。(2) PDO_TYPE_SELECT, BOOL 型,PDO 的类型选择,FALSE 为 TPDOS 型, TRUE 为 RPDOS 型。(3) ID,本PDO是节点ID的。(4) PDO, BYTE 型。PDO 号,卜4。输出:(1) ERROR,当ID或PDO超出范围时ERROR有输出,43 SDO HANDLING FUNCTIONS431 ADD_VERSION 函数功能描述:把用户的串放入CANOPEN的版本对象中去(16#100A) o本函数是BOOL型的。 函数图如下:AD DIVERSION ENABLE-VFR输入:(1) ENABLE, BOOL 型,使能。(2)

36、 VER, STRING型,用户定义的串,4.3.2 CANOPEN_GET_SDO 函数功能描述:CANOPEN接收一个SDOe本函数是BOOL型的。 函数图如下:CANOPEM.GET.SDOEMA9LESDOINDEX印尤 INDEXOFFSET输入:(1) ENABLE, BOOL 型,使能。(2) SDO, BYTE 型,SDO 号。(3) INDEX, WORD型,对象的索引号°(4) SUBINDEX, WORD型,对象的子索引号。(5) OFFSET, BYTE型,数据在接受时的偏移量。433 CANOPEN_POINTER_SHARE 函数功能描述:把用户定义的变量

37、通过CANOPEN总线,用SDO对象发在总线上。本函数是BOOL 型的。函数如下图:eAMOPEM.PDINTER.gHAREEMA0LE out length size输入:(1) ENABLE, BOOL 型,使能。< 2) OUT, DWORD型,用户要放的变量。它是一个指针操作。< 3) Length, BYTE型,所用的对象的长度。< 4) Size, BYTE型,所用的对象的长度。4.3.4 CANOPEN_PUT_SDO 函数功能描述:向网络上的一个节点发送一个SDO.本函数是BOOL型的函数块如下图:CAMGPEN.PUT.SDOENABLESDOINDEXS

38、UBINDEOFFSETLENGTH 输入:(1) ENABLE, BOOL 型,使能。(2) SDO, BYTE 型,SDO 号。(3) INDEX, WORD型,对象的索引号。(4) SUBINDEX, WORD型,对象的子索引号。<5) OFFSET, BYTE型,数据在接受时的偏移量。(6) LENGTH, BYTE 型,SDO 对象的长度。4.3.5 CANOPEN_SHARE 函数功能描述:把用户定义的串通过CANOPEN总线,用SDO对象发在总线上。本函数是BOOL型 的。函数块如下图: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 函数功能描述:把用户定义的串通过CANOPEN总线,用SDO对象发在总线上。本函数是BOOL型 的。函数图如下:CANOPEN_UPDATE_SHREENABLEoutshare_nosutolndex输入:(1) ENABLE, BOOL 型,使能。(2) OUT, STRING型,用户定义的串。(3) share】。,BYTE型,哪一个要更新。(4) sub

40、index BYTE型,哪一个地方要更新。4.4 state中的函数与功能块441 CANOPEN_DIAGNOSE 功能块功能描述:给出CAN以及程序循环的有关信息。 功能块如下图:CAMOPEN_DIA.QMOS£BUS.OFF.COUNT EWfkRN.COUNT TXBUFF_FULL_COUNT 6CLE_TINE HIOH_CvrCLE_TIME GTf?LDOF GOUriT输出:(1) BUS_OFF_COUNT, BYTE型,总线关闭记数。(2) EWARN.COUNT, BYTE型,错误与警告的数量。(3) TXBUFF_FULL_COUNT, BYTE型,记CA

41、N设备传输缓冲区满的次数。(4) CYCLE_TIME, BYTE型,程序最后一个循环所用的时间,单位是亳秒。(5) HIGH_CYCLE_TIME, BYTE型,程序一个循环所用的最大时间,单位是亳秒。(6) CTRLOOP_COUNT, DWORD型,程序循环记数。4.4.2 CANOPENS_THIS_MASTER 函数功能描述:给出本节.点是不是主节点。本函数是BOOL型的。Master/Slave对应Truc/False。 函数图如下:CAMOPENJS.THIS.WASTERYES 输出:(1) YES, BOOL 型,Master/Slave 对应 True/False。4.4.

42、3 CANOPEN_NODE_STATE 功能块功能描述:本功能块给出了本节点的当前操作状态信息。 功能块如下图: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型,不是当前操作的状态,是上一个操作的状态。444 CANOPEN_START_NODES 函数功能描述:启动CANOPEN从设备。函数图如下:CrAMCPE M-gTART_NODEg-ENABLE输入:(1) ENABLE, BOOL 型,使能。五、CELL_CHECK_4 库CELL_CHECK_4库就是CELL_CHECK_4.1ib库文件中的功能块。本库中就只有 CELL.CHECK.4 一个功能块。功能描述:本功能块主要是一

44、个脉冲检测功能块。当输入的脉冲信号必须在150个程序循环中 有所改变,此时ALLUP输出为TRUE,否则为FALSE。函数图如下: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的程序循环记数器,当本记数器的值大于150时ALLUp输出为FALSE,否则为TRUE。(4) HBTime_2, USINT型,对于信号2的程序循环记数器,当本记数器的值大 于150时ALLUp输出为FALSE,否则为TRUE。(5) HBTime_3, USINT型,对于信号3的程序循环记数器,当本记数器的值大 于150时ALLUp输出为FALSE否则为TRUE。(6) HBTime.4, USINT型,对于信号4的程序循环记数器,当本记数器的值大于150时ALLUp

46、输出为FALSE,否则为TRUE。六、HW库HW库也就是指的是在hw_n.lib文件中的一些功能块。6.1 CONFIGURE_PI 功能块功能描述:脉冲输入设置,它是通过比较A, B两个通道输入的脉冲信号来给出一个正转或反转的数值。 如果只计算单脉冲输入,CONFIGURE_PI的CHANNEL A等于相应的值,CHANNEL B 的值设置为16,如果是要计算正反转,A相输入和B相输入相位差90度,则CHANNELA和CHANNEL B的值等于相应的CHANNEL值。寄存器地址IW130-IW137.IW150-IW157 的值存放的是频率值,IW120IW127、IW16CMW167存放的

47、是计数值,在CODESYS联机 监控时只显示A相输入的频率值。高速脉冲输入端能够检测的最高频率和程序的大小有关,当程序越大,即程序循环一周 需要的时间越长,脉冲输入端能够检测的频率就越低。当实际的输入频率超过控制器能够检测 的最大频率则在相应的寄存器里的频率值和极数值就会不准确。当调用RESET_PI函数时当 相应的参数值就是CHANNEL A的值时,相应的计数值就归零。参考IW与通道号,以及输出点:IWChannel#Pluse count IW20232024202320241300120131112113221221333123134412413551251366126137712715

48、08016016015191161161152102162162153113163163154124164164155135165165156146166166157157167167功能块如下图:CONFIGURE_PI-A-B输入:(1) A, BYTE型,通道A,即输入信号的通道号。(2) B, BYTE型,通道B,即输入信号的通道号。6.2 GETJTUPLE 函数功能描述:这是一个系统保留函数。是一个POINTER TO BYTE型函数。 函数图如下:GET.TUPLE IDSelection输入:(1) ID, BYTE型,要选择的TUPLE的号。(2) Selection, BO

49、OL型,当为TRUE时,是选择TUPLE Set boot,当为TRUE时,是 选择 Application。6.3 LOAD_USER_PROGRAM 函数功能描述:本函数是BOOL型的。函数图如下:LOAD-USER-PROGR/iM一 Dummy输入:(1) Dummy, BOOL型,6.4 PARAMS_STORE 函数功能描述:存储参数MW0MW247,系统每隔100s保存一次参数到存储器。本函数是BOOL型的。 函数图如下:PARAMS-STORE-ENABLE输入:(1) ENABLE, BOOL 型,使能。6.5 RESET_PI 函数功能描述:脉冲输入计数复位。功能是把脉冲输

50、入计数器置零,软连接口CH接所要复位的通道号。 如果要用B通道脉冲上升沿复位A通道的脉冲计数值(或用A脉冲的上升沿复位B通道的计数 值),则CH的数值如下公式所示:CH=(Restting channel number+1 )* 16+Channel to reset函数图如下:R£SET_PI CH输入:(1) CH, BYTE型,要复位的通道号。6.6 SET_AI_TYPE 函数功能描述:设置模拟量输入端为电流输入.本函数是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;(*选择电压输入*)函数图如下:SET-ALT/FEValue输入:(1) Value, BYTE型,通过Value的输入来设定输入针是电压输入还是电流输入。6.7 SET_CYCLE_TIME 函数功能描述:它是一个系统保留函数,是一个BOOL型的函数。函数图如下:SET_CYCLE_TIME一 Ctime输入:(1) Ctime, WORD型。6.8 SET_PWM_F 函数功能描述:Set PWM frequency模块用于设置输出P

52、WM信号的频率.可设频率范围从40到 2550 HZoFREQ为实际的输出频率除以10, CH是需要设置相应频率的通道号(相应的PWM 输出的地址号减去100)o如果通道是在同一组里,只要设置其中一个的PWM输出的通道 号的频率,其余的通道的频率也是和其一样。一般将系统硬件初始化设置相关的程序放在程序的初始化程序段(只是在系统上电瞬间执行 一次)里。函数图如下: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、是不能用目前的函数计算,可以按照 以下方法计算2024模块的温度:Ten】perature:=DINT_TONT(UINT_TO_DINT(%IW 115)*8060)/65535-636)/10);函数图如下: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 函数功能描述:测试写入的参数,是一个BOOL型的函数。函数图如下:T£ST_PzRAM .PARITY-ENABLE输入:(1) ENABLE, BOOL型,使能。6.10 USER_FUNCTION 函数功能描述:本函数也是一个系统保留的函数。函数图

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论