发布于 2015-01-19 16:51:44
22楼
我打算FIFO后平均,做个类似移位滤波。这样每个周期都能得出结果,数据也能平滑。
写了个10个数据的FIFO,测试没发现什么问题。源与目标区域不能交叉??有这个说法吗,测试没发现异常啊?
L #Tank.DB_Tank
T #DBNum
OPN DB [#DBNum]
LAR1 P##Source
L B#16#10 // 10H For S7,BYTE0
T LB [AR1,P#0.0]
L B#16#7 // 07H For Dint,BYTE1
T LB [AR1,P#1.0]
L 10 // 需移位数据个数,BYTE 2,3
T LW [AR1,P#2.0]
L #DBNum // DB号 ,BYTE4
T LW [AR1,P#4.0]
L P#DBX 58.0 //需移位数据起始地址,BYTE6,7,8,9
T LD [AR1,P#6.0]
L B#16#84 //存储器类型 84H为DB,BYTE6
T LB [AR1,P#6.0]
NOP 0
LAR1 P##Target
L B#16#10
T LB [AR1,P#0.0]
L B#16#7
T LB [AR1,P#1.0]
L 10
T LW [AR1,P#2.0]
L #DBNum
T LW [AR1,P#4.0]
L P#DBX 62.0
T LD [AR1,P#6.0]
L B#16#84
T LB [AR1,P#6.0]
NOP 0
CALL "BLKMOV"
SRCBLK :=#Source
RET_VAL:=#ErrState
DSTBLK :=#Target