三菱PLC里类似数组的数据存储方式
实现功能:数据先进的先出,比如将1、2、3依次存入D0、D1、D2,目前D0(1)、D1(2)、D2(3),取第一次数据D1之后D0(2)、D1(3)、D2(0),取第二次数据D1之后D0(3)、D1(0)、D2(0),即把数据寄存器D变成了一维数组。
一、组合一些基础的指令实现
首先需要了解一下变址寄存器(V、Z)、简单的流程控制指令(call、fend、P、sret)、逻辑运算指令(inc)、特殊软元件(M8000、M8002)
1、主程序
2、子程序存数据
3、子程序取数据
后面查看手册,发现了一个更方便的指令来实现,归类到移位指令的FIFO(file in file out)
二、FIFO指令实现
先看看这个指令的例子:
这个更加简单,K相当于定义数组长度,把D200的值存到D1(从D1开始依次往后),D0为当前“数组”的数据个数;D300是取数据的。
如有什么错误,不吝赐教。
吾生也有涯,而知也无涯,以有涯随无涯,殆已。