现在要做存储数据,问题是这样的。我上电后每延时60分钟,将一组数据存储到VD0中,下一次延时导通后将另一个数据存储到VD4中,依次向下存,要存250条,这250条是要日后读取的,即我随便查其中的一条都能显示出对应当初存的数据。一共有四组数据,其中实时时间能否这要编程的?还有到啦250条后如何返回开始在存储,将老数据按顺序覆盖?
LD SM0.1
MOVB 0, MB1
MOVD &VB1000, MD10 //将VD1000(实时时间采样)的地址存入MD10
MOVD &VB2000, MD14 //将VD2000(空气温度数据)的地址存入MD14
MOVD &VB3000, MD18 //将VD3000(空气湿度数据)的地址存入MD18
MOVD &VB4000, MD22 //将VD4000(土壤温度数据)的地址存入MD22
MOVD &VB5000, MD26 //将VD5000(土壤温度数据)的地址存入MD26
LD SM0.0
AB< MB1, 250 //判断存储次数
= M0.0
LD SM0.1
EU
LPS
AN Q0.0
TON T37, 30000 //延时30分钟
LRD
A T37
TON T38, 30000 //延时30分钟
LPP
A T38
A M0.0
MOVD MD10, VD1000
MOVD VD50, *VD1000 //间接寻址,将VD50的数据存储到VD1000所指的地址里
MOVD MD14, VD2000
MOVD VD54, *VD2000 //间接寻址,将VD54的数据存储到VD2000所指的地址里
MOVD MD18, VD3000
MOVD VD58, *VD3000 //间接寻址,将VD58的数据存储到VD3000所指的地址里
MOVD MD22, VD4000
MOVD VD62, *VD4000 //间接寻址,将VD62的数据存储到VD4000所指的地址里
MOVD MD26, VD5000
MOVD VD66, *VD5000 //间接寻址,将VD66的数据存储到VD5000所指的地址里
INCB MB1 //存储次数+1
+D 4, MD10 //存储地址递增,因为是双字,所以要加4
= Q0.0