admin 发表于 2018-8-17 13:28:43

模拟量标定库 AnalogFilter Library

CUT 功能块功能描述:
把输入值进行预处理,调整斜率,消除两端非线性影响。调整效果见图:

功能块如下图:

输入:
(1)Input,UINT 型,要处理的信号。
(2)PAR_InputILowLimit,UINT 型,用来控制输出的下限。 当Input<=256*PAR_InputILowLimit 时输出为 0。
(3)PAR_InputHighLimit,UINT 型,用来控制输出的上限。当Input>=256*PAR_InputHighLimit 时输出就为 0。
输出:
(1)Output,UINT 型,处理完的信号。
(2)LowLimit,BOOL 型,Input<=256*PAR_InputILowLimit 时 LowLimit 为 TRUE。
(3)HighLimit,BOOL型,Input>=256*PAR_InputHighLimit时HighLimit为TRUE。

HP 功能块
功能描述:   
设置一个死区,把死区以内的值都设为 0。功能如图:
   

功能块如下图:
                     
输入:
(1)Input,UINT 型,输入信号。   
(2)PAR_CutLimit,UINT 型,死区控制参数。当 Input<=65535*PAR_CutLimit%时输出为 0。
输出:
(1)Output,UINT 型,处理完的信号。

JoyFilter 功能块
功能描述:
JoyFilter 块是一个双向的模拟量标定块,也就是说它对输入的模拟量进行预处理,输出范围调整为-32767~32767。
功能块如下图:

输入:
(1)AnalogInput,UINT 型,模拟量的输入信号。
(2)DI_JoystickDirSwitchPOS,BOOL 型,正向微动开关。当PAR_DirSwitchDiagnosticNotUse 为 FALSE 时,此时又手柄向正向移动,那么只有正向微动开关 TRUE,OUTPUT 才会有输出。
(3)DI_JoystickDirSwitchNEG,BOOL 型,负向微动开关。当PAR_DirSwitchDiagnosticNotUse 为 FALSE 时,此时又手柄向负向移动,那么只有负向微动开关 TRUE,OUTPUT 才会有输出。
(4)PAR_NegFull,UINT 型,负向输入的调节参数。取值范围:0~255,主要用于当负向输入最大时,调节参数使得 OUTPUT 也为负向最大。
(5)PAR_POSFull,UINT 型,正向输入的调节参数。取值范围:0~255,主要用于当正向输入最大时,调节参数使得 OUTPUT 也正负向最大。
(6)PAR_Zero,UINT 型,零输入的调节参数。取值范围:0~255,主要用于当手柄在零位时,即零输入时,调节参数使得 OUTP UT 也为零。
(7)PAR_DeadBand,UINT 型死区设置参数。取值范围:0~100。当输入进入参数设置范围,输出为零
(8)PAR_NegProgression,SINT 型。取值范围:-100~100,设置负向输出缓冲曲线度,手柄负向输出值相对于输入值的一个响应曲线,曲线如图:

(9)PAR_PosProgression,SINT 型。取值范围:-100~100,设置正向输出缓冲曲线度,手柄正向输出值相对于输入值的一个响应曲线。
(10)PAR_MinErrorDifference,UINT 型,取值范围:0~100,设置出错范围,当输入超出范围时,激活 ErrorHigh 或 ErrorLow 开关,并使输出为零。
(11)PAR_FaultOnDelay,UINT 型,取值范围:0~255,过载延时。
(12)PAR_DirSwitchDiagnosticNotUse,BOOL 型,此 参数为 TRUE 时,微动开关无效,为 FALSE 时,微动开关有效。
输出:
(1)OutputEable,BOOL 型,输出使能,为 TRUE 是块才会有输出。
(2)Output, INT 型,调整后的信号量,输出数值范围-32767~32767 。
(3)ErrorHigh,BOOL 型,当输入超出 PAR_Full +5000 范围时, ErrorHigh 为TRUE,输出置零。
(4)ErrorLow,BOOL 型,输入超出 PAR_Zero–PAR_MinErrorDifference 范围,ErrorHigh 为 TRUE,并把输出置零。
(5)JoystickDirSwitchPOSMissing,BOOL 型,正向微动开关出错时,值为 TRUE。
(6)JoystickDirSwitchNEGMissing, BOOL 型负向微动开关出错时,值为 TRUE。
(7)JoystickDirSwitchPOSAndNEGOn,BOOL 型,正、负向微动开关同时为 TRUE 时,值为 TRUE。

JoystickAllnputOutOfRange 功能块
功能描述:
本功能块是用来实现对一个模拟量输入的观察。
功能块如下图:

输入:
(1) Allnput,UINT 型,需要观察的模拟量信号。
(2) PAR_PosFull,UINT 型,正向最大调整参数。
(3) PAR_NegFull,UINT 型,负向最大调整参数。
(4) PAR_MinErrorDifference,UINT 型,设置出错范围,当输入超出范围时,激活ErrorInputTooHighOut 或 ErrorInputTooLowOut 开关,并使输出为零。
输出:
(1) ErrorInputTooHighOut,BOOL 型,AIInput > PAR_PosFull*256 +PAR_MinErrorDifference, 则输出为 TRUE。
(2) ErrorInputTooLowOut,BOOL 型,AIInput < PAR_NegFull*256-PAR_MinErrorDifference,则输出为 TRUE。

JoystikDirSwitchDiagnostic 功能块
功能描述:
本功能块是用来观察手柄模拟量输入时微动开关的状态。
功能块如下图:

输入:
(1) AnalogInput,UINT 型,需要观察的模拟量信号。
(2) DI_JoystickDirSwitchPOS,BOOL 型,正向微动开关。当PAR_DirSwitchDiagnosticNotUse 为 FALSE 时,此时又手柄向正向移动,那么只有正向微动开关 TRUE,OUTPUT 才会有输出。
(3) DI_JoystickDirSwitchNEG,BOOL 型,负向微动开关。当PAR_DirSwitchDiagnosticNotUse 为 FALSE 时,此时又手柄向负向移动,那么只有负向微动开关 TRUE,OUTPUT 才会有输出。
(4) PAR_PosFull,UINT 型,正向最大调整参数。
(5) PAR_NegFull,UINT 型,负向最大调整参数。
(6) PAR_Zero,UINT 型,零输入的调节参数。主要用于当手柄在零位时,即零输入时,调节参数使得 OUTPUT 也为零。
(7) PAR_FaultOnDelay,UINT 型,过载延时。
输出:
(1)JoystickDirSwitchPOSMissing,BOOL 型,正向微动开关出错时,值为 TRUE。
(2)JoystickDirSwitchNEGMissing, BOOL 型负向微动开关出错时,值为 TRUE。
(3)JoystickDirSwitchPOSAndNEGOn,BOOL 型,正、负向微动开关同时为 TRUE时,值为 TRUE。

MeanValue 功能块
功能描述:对给的数组进行求平均数操作。
功能块如图:

输入:
(1) Input,UINT 型,数据输入。
(2) PAR_Length,UINT 型,取数长度,如值为 5,则每 5 个值求一次平均值,并输出到 output。
(3) Reset,BOOL 型,复位信号,值为 TRUE 时不进行平均值运算。
输出:
(1) Output,UINT 型

PedalFilter 功能块
功能描述:
PedalFilter 功能块是一个单向的标定模块,主要用于把输入模拟量进行预处理,把输出量范围调整到 0~65535。
功能块如下图:

   
输入:
(1)AbalogInput,UINT 型,来自于传感器的输入量OutPutEnable, BOOL 型,使能开关。参数值为 TRUE 时,模块按当前值输出;为 FALSE 时,保持上一次输出值。
(2)PAR_Full,UINT 型,取值范围:0~255,此参数用于调整最大输出值,当输入最大时,使输出接近 65535,小于 65535。
(3)PAR_Zero,INT 型,取值范围:0~255,此参数用于调整零位,使输出为零。
(4)PAR_DeadBand,UINT 型,取值范围:0~100,设置死区,当输入进入参数设置范围,输出为零。      
(5)PAR_Progression,SINT 型,取值范围:-100~100 设置输出缓冲曲线度。      
(6)PAR_MinErrorDifference,UINT 型,取值范围:0~100,设置出错范围,当输入超出范围时,激活 ErrorHigh 或 ErrorLow 开关,并使输出为零。      
(7)OutputEnable,BOOL 型,使能开关。
输出:      
(1)Output,UINT 型,取值范围:0~65535,输出信号。      
(2)ErrorHigh,BOOL 型,高位出错开关。输入>;PAR_Full + PAR_MinErrorDifference范围,ErrorHigh 为 TRUE,并把输出置零。      
(3)ErrorLow,BOOL 型,低位出错开关,输入<;PAR_Zero – PAR_MinErrorDifference 范围,ErrorHigh 为 TRUE,并把输出置零。

RC 功能模块
功能描述:

RC 功能块是滤波功能块,它是对传感器信号的输入信号进行滤波。滤波公式为:y( z )=0.6x( z )+0.4(y-z)^1

功能块如下图:

输入:
(1) Input,UINT 型,输入信号。
输出:
(1) Output,UINT 型,输出信号。

Scale 功能块
功能描述:
Scale 功能块的主要作用是把一个 0~65535 量变换成为两个 0~65535 的量,如下图:


功能块如下图:

输入:
(1)Input,UINT 型
(2)PAR_Zero,INT 型,设置零位,当输入为 PAR_Zero * 256 时,输出为 0。
(3)PAR_PosFull,UINT 型,当 input 值>=PAR_PosFull * 256 时, 输出为 65535 ,PosValue 为 TRUE。
(4)PAR_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。               

nihongdengxia 发表于 2018-8-23 09:03:36

http://bbs.hicodesys.com//mobcent//app/data/phiz/default/23.pnghttp://bbs.hicodesys.com//mobcent//app/data/phiz/default/23.pnghttp://bbs.hicodesys.com//mobcent//app/data/phiz/default/23.pnghttp://bbs.hicodesys.com//mobcent//app/data/phiz/default/23.png

codesys-zl 发表于 2018-8-26 14:12:22

:)做的好详细啊!

博望侯1988 发表于 2018-10-5 13:27:01

开源的库怎么打开里面的功能块?

小钊学习 发表于 2019-2-10 14:21:25

不错,很好的文章,谢谢分享

韦8808 发表于 2019-10-11 19:05:50

非常需要啊

张地 发表于 2020-4-2 10:25:36

如何下载这个库函数

sj750527 发表于 2020-4-3 10:09:06

很好的文章,谢谢分享

徐永飞 发表于 2020-5-29 19:42:56

学习学习。。。

Zqcodesys 发表于 2021-4-7 16:30:49

学习学习
学习
页: [1] 2
查看完整版本: 模拟量标定库 AnalogFilter Library