ComFilter
每个信号里面都有一个ComFilter,只是看你用或不用,是拿来给发送信号进行滤波的。
里面有个配置ComFilterAlgorithm是滤波方法,跟其他的ComFilterMask/ComFilterMax/ComFilterMin/ComFilterOffset/ComFilterPeriod/ComFilterX配合使用。
滤波方法有八种:
None或者Always:不进行滤波,信号滤波结果就是Ture
Never:信号滤波结果为False
MaskedNewDiffersMaskedOld:新的值和旧的值对比,掩码ComFilterMask置起的那几位不全相等时,信号滤波结果为Ture
MaskedNewEqualsX:跟掩码ComFilterMask置起的那几位相与,得到的结果为ComFilterX,信号滤波结果为Ture
MaskedNewDiifersX:跟掩码ComFilterMask置起的那几位相与,得到的结果不为ComFilterX,信号滤波结果为Ture
NewIsOutside:除了ComFilterMin和ComFilterMax之间的范围(开区间),信号滤波结果为Ture
NewIsWithin:ComFilterMin和ComFilterMax之间的范围(闭区间),信号滤波结果为Ture
ComTxMode
ComTxIPdu下面会挂两个容器,ComTxModeFalse和ComTxModeTrue。报文内所有信号的ComFilter的信号滤波结果相或,得到的结果就是报文的滤波结果,滤波结果为False就执行ComTxModeFalse里面的ComTxMode,滤波结果为True就执行ComTxModeTrue里面的ComTxMode。
ComTxMode里面有四种ComTxModeMode发送模式:
NONE不发型:一般配置在ComTxModeFalse里面,报文滤波结果有误就不发送报文。
DIRECT触发型:触发一次发X帧报文
PERIODIC周期型:按照一定的周期发送报文
MIXED混合型:平时按照一定的周期发送报文,触发的时候发送X帧报文