各位现我碰到这样一个问题:
一个库有200多个货位,共有10几种货需要存进这个仓库里,要求先进的先出,同时要把每种货物所存的数量显示出来.现我主要是在出库时有点疑问,我的作法如下:
用一个DB块来作数据库,建200多个字,每个字分两部分,后部分存货的型号,前部分存货的库位号.现我需要把某种货找出来,然后把该表下面的所有数据往上移一位,程序如下,望各位多多指教:
A M 0.0 //条件满足打开数据块
OPN DB 1 //打开数据块
L 0
T MD 4
L 224 //查找表格长度
next: T MW 100 //读取第一个表格数据
L DBW [MD 4]
L W#16#FF00 //取出阀的型号
AW //跟目标进行比较
L MW 102 //如果相等就把DBW。取出 (MW102为目标值
==I
JC m1 //不相等就继续找
L MD 4
L P#2.0
+D
T MD 4
L MW 100
LOOP next
m1: JCN m2 //不相等就直接跳过(能否这样用?)
L DBW [MD 4]
T MW 200 //把查找到的数送出
L MW 100
L 1
-I
NEX: T MW 104 //把表下面的数往上移次数
L MD 4
L P#2.0
+D
T MD 8
L DBW [MD 8]
T DBW [MD 4] //把表数据逐个往上移
L MD 8
T MD 4
L MW 104
LOOP nex
JU m3
m2: S M 1.0 //如果找不到相等的就报警(本意是这样能否这样用)
m3: R M 0.0
另如果在执行该指令时,突然断掉后会怎么样?如执行到了NEX:这个循环里时,断电了,那么重新上断后是不是又重头开始?而不是从NEX这里开始