三菱plc传送与比较指令
比较指令cmp
区间比较指令zcp
传送指令mov
移位传送指令smov
取反传送指令cml
块传送指令bmov
多点传送指令fmov
数据交换指令xch
三菱plcbcd变换、bin变换指令
1、比较指令cmp
cmp指令有三个操作数:两个源操作数[s1.]和[s2.],一个目标操作数[d.],该指令将[s1.]和[s2.]进行比较,结果送到[d.]中。cmp指令使用说明如图所示。
2、区间比较指令zcp
zcp指令是将一个操作数[s.]与两个操作数[s1.]和[s2.]形成的区间比较,且[s1.]不得大于[s2.],结果送到[d.]中。zcp指令使用说明如图所示。
3、传送指令mov
mov指令将源操作数的数据传送到目标元件中,即[s.]→[d.]。mov指令的使用说明如图所示。当x0为on时,源操作数[s.]中的数据k100传送到目标元件d10中。当x0为off,指令不执行,数据保持不变。
4、移位传送指令smov
首先将二进制的源数据(d1)转换成bcd码,然后将bcd码移位传送,实现数据的分配、组合。源数据bcd码右起从第4位(m1=4)开始的2位(m2=2)移送到目标d2/的第3位(n=3)和第2位,而d2/的第4和第1两位bcd码不变。然后,目标d2/中的bcd码自动转换成二进制数,即为d2的内容。bcd码值超过9999时出错。
5、取反传送指令cml
cml指令使用说明如图所示。将源操作数中的数据(自动转换成二进制数)逐位取反后传送。
6、块传送指令bmov
bmov指令是从源操作数指定的元件开始的n个数组成的数据块传送到指定的目标。如果元件号超出允许的元件号范围,数据仅传送到允许的范围内。bmov指令的使用说明如图所示。
7、多点传送指令fmov
fmov指令是将源元件中的数据传送到指定目标开始的n个目标元件中,这n个元件中的数据完全相同。fmov指令使用说明如图所示。
8、数据交换指令xch
xch指令是将两个目标元件d1和d2的内容相互交换。使用说明如图所示。
9、bcd变换、bin变换指令
bcd是将源元件中的二进制数转换为bcd码送到目标元件中。对于l 6位或32位二进制操作数,若变换结果超出0-9999或0-99999999的范围就会出错。
bcd指令常用于将plc中的二进制数变换成bcd码输出以驱动led显示器。
bin是将源元件中的bcd码转换为二进制数送到目标元件中。常数k不能作为本指令的操作元件。如果源操作数不是bcd码就会出错。
bin指令常用于将bcd数字开关的设定值输入到plc中。
案例:货料小车控制
一、控制要求
某车间有 6 个工作台,送料车往返于工作台之间送料,每个工作台设有一个到位开关( sq )和一个呼吸按扭( sb )。具体控制要求如下:
( 1 )送料车开始应能停留在 6 个工作台中任意一个到位开关的位置上。
( 2 )设送料车现暂停于 m 号工作台( sq m 为 on )处,这时 n 号工作台呼叫( sq n 为 on ),若:
(a) m>n ,送料车左行,直至 sq n 动作,到位停车。即送料车所停位置 sq 的编号大于呼叫按扭 sb 的编号时,送料车往左行运行至呼叫位置后停止。
(b) m<n ,送料车右行,直至 sq n 动作,到位停车。即送料车所停位置 sq 的编号小于呼叫按扭 sb 的编号时,送料车往右运行至呼叫位置后停止。
(c) m=n ,送料车原位不动。即送料车所停位置 sq 的编号与呼叫按扭 sb 的编号相同时,送料车不动。
二、 plc 硬件的实现
1、i/o的分配表
2、i/o的外部接线
三、 plc 软件的实现
图中将送料车当前位置送到数据寄存器 d0 中,将呼叫工作台号送到数据寄存器 d1 中,然后通过 d0 与 d1 中数据的比较,决定送料车的运行方向和到达的目标位置。