先进先出,是指根据先入库先发出的原则,对于发出的存货以先入库存货的单价计算发出存货成本的方法。
(1)、建立数据
(自己设计,自己理解的,如有错误请指教)
建立一个DB块,在DB块中建立上面图的数据,
“先进”的解释:在名称read的数据写入变量,把名称位 read_start的值写为1,read的数据写入下面write/read_no的数组中,反复操作,先进来的数据会排列到数组数据的最上层,依次是后进来的数据。直到把数组填充满而无法写入。
“先出”的解释:把名称write_star的值写为1,write/read_no数组最上层数据自动写入名称是write的数据中,数组中的数据会依次向上填充。
(2)、 SCL程序段
1、在FC块中建立的中间值,利于程序的编写。
后面带有备注的解释,下面解释可能更好理解。
先进解释:
循环数目:0次 数组9中的值写入数组10
循环数目:1次 数组8中的值写入 数组9
循环数目:2次 数组7中的值写入数组8
… …
反复9次, 数组0的数据为零,再把外面数据写在数组0处。
先出解释:
循环数目:0次 数组10的数据比较是否大于0
循环数目:1次 数组9的数据比较是否大于0
循环数目:2次 数组8的数据比较是否大于0
…
循环中最先满足大于0的数组数据写出去,再把写出去的数组处写为0,再立马跳出循环。
**
(3)、创建HMI并演示
**
演示结果如上图。