三菱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 中数据的比较,决定送料车的运行方向和到达的目标位置。