LD X0 常开触点
LDI X1 常闭触点
OUT Y1 输出触点
注意 X 和 Y触点使用的是八进制计数
LDP 取上升沿变化
LDF 取下降沿变化
OUT T2, K50 启动定时器,计数次数50,每次100ms
注意定时器,初始保持为0,周期到点时产生值1,然后下一周期又变会为0
SET Y0 设置点位值为1,此后 保持不变
RST Y0 复位点位点,此后保持为0
OUT C0, K5 启动计数器C0,计数最大值为5
计数器初始值为0,计数到最大值后,保持值为1 不变
INC C100 计数器加1
INC D100 计数器加1
MOV K10, D10 把10进制数10,输出到D10寄存器中
MOV H11,D10 把16进制数11(相当于10进制的17), 输出到D10寄存器中
OR X0 等价于 OR LD X0
ORI X1 等价于 OR LDI X1
ORP X0 等价于 OR LDP X0
ORF X1 等价于 OR LDF X1
AND X10 等价于 AND LD X10
ANI X10 等价于 AND LD X10
ANDP X10 等价于 AND LDP X10
ANDF X10 等价于 AND LDF X10
ORB 把两个逻辑块序列 OR运算,如
LD X0
ANDP X1
LD X3
AND X4
ORB
LD X5
AND X6
ORB
ANDB 把两个逻辑块序列 AND 运算,如
LD M0
ORP M1
ORF M2
LD M3
ORP M4
OR M5
ANB
LD M6
OR M7
OR M8
ANB
MPS MRD MPP 3条指令分别表示把当前计算结果压入堆栈,从堆栈中读取值(但堆栈指针不变),从堆栈中弹出最后一个值,用于处理一个结果后续多个处理分支的场合,如下图
LD X3
MPS
AND X4
OUT Y0
MRD
AND X5
OUT Y1
MPP
ANI X6
OUT Y7
主控指令,用于急停或其它紧急优先事项
LD X10
MC N0,M100 把当前计算结果,作为层级N0, 写入M100中,并对下方到 MCR N0 处的所有代码,前置隐藏添加AND 运算
.......
MCR N0 取消上方N0 声明的所有主控代码的AND 运算,后面的代码不再受到约束
LD X10
MC N0,M100 把当前计算结果,作为层级N0, 写入M100中,并对下方到 MCR N0 处的所有代码,前置隐藏添加AND 运算
LD X11
MC N1 M101 把当前计算结果,作为层级N1, 写入M101中,并对下方到 MCR N1 处的所有代码,前置隐藏添加AND 运算
.......
MCR N1 取消上方N1 声明的所有主控代码的AND 运算,后面的代码不再受到约束
MCR N0 取消上方N0 声明的所有主控代码的AND 运算,后面的代码不再受到约束