三菱PLC比较与传送类指令

1. 比较指令
比较指令有 cmp( 比较 ) 和 zcp (区间比较) 两种,指令的助记符、功能、操作数、程序步如表 所 示。
( 1 )比较指令 cmp ( fnc10 )
比较指令 cmp 比较源操作数 [s1] 和 [s2] 的内容,比较的结果送到目标操作数 [d] 中去。如图 所示,在 x0 为 on 时,比较指令 cmp 将十进制常数 100 与计数器 c20 的当前值比较,比较结果分三种情况分别使 m0 、 m1 、 m2 中的一个为 on ,另两个为 off 。在 x0 为 off 时, cmp 不执行, m0 、 m1 、 m2 的状态保持不变。
图 cmp 指令使用说明
( 2 )区间比较指令 zcp(fnc11)
区间比较指令 zcp 是将一个源操作数 [s] 与两个源操作数 [s1] 和 [s2] 形成的区间比较,且 [s1] 不得大于 [s2] ,并将比较的结果送到 [d] 中。 zcp 的应用如图所示,当 x0 为 on 时,将计数器 c30 的当前值与区间 100~120 进行比较。 c30 的当前值< 100 时, m3=on ;若 100 ≤ c30 的当前值≤ 120 时, m4=on ; c30 的当前值> 150 时, m5=on 。若 x0 为 off ,则 zcp 不执行, m3 、 m4 、 m5 的状态保持不变。
图 zcp 指令使用说明
2 .传送指令
( 1 )传送指令 mov ( fnc12 )
当 mov 执行的条件满足时,将源操作数 [s] 中的数据传送到目标操作数 [d] 中,若源操作数是一个变数,则需用脉冲型传送指令。 32 位数据需用 dmov 传送。如图 所示,当 x0 为 on 时,执行指令,将 [s] 中的数据 k100 传送到目标元件 d10 中。当 x0 为 off 时,指令不执行。
图 mov 指令使用说明
( 2 )移位传送指令 smov ( fnc13 )
当 smov 执行的条件满足时,将 4 位十进制源操作数 [s] 中指定位数的数据传送到 4 位十进制目标操作数 [d] 中指定的位置。指令中的常数 m1 、 m2 和 n 的取值范围为 1 ~ 4 ,分别对应个位~千位。十进制数在存储器中以二进制数的形式存放,原数据和目标数据的范围均为 0 ~ 9999 。
在图 中,当执行条件 x0 为 on 时,执行移位传送指令,将 d1 中的二进制数转换成 bcd 码,然后将 d1 中的右起第 4 位( m1 = 4 )开始的 2 位( m2=2 )传送到目标操作数 d2 的右起第 3 位( n=3 )和第 2 位,传送完毕后, d2 中的 bcd 码自动转换为二进制码,且 d2 中的第 4 位、第 1 位保持不变。
图 smov 指令使用说明
( 3 )取反传送指令 cml ( fnc14 )
在图 中,当指令的执行条件 x0 为 on 时,将源操作数 d0 中的二进制数每位取反后传送到目标操作数 y3 ~ y0 中。它可作为 plc 的反相输入或反相输出指令。
图 cml 指令应用
( 4 )块传送指令 bmov ( fnc15 )
在图 中,当指令的执行条件 x0 为 on 时,成批传送数据,将源操作数 d5 、 d6 、 d7 中的数据传送到目标操作数 d10 、 d11 、 d12 中去。如果元件号超出允许的范围,数据仅传送到允许的范围。对位元件操作时,源操作数和目标操作数指定的位数必须相同。
图 bmov 指 令使用说明
( 5 )多点传送指令 fmov ( fnc16 )
当指令的执行条件满足时,将源操作数 [s] 传送到多个目标操作数 [d] 中,数据传送的目标操作数个数由 n 决定。如果元件号超出允许的范围,数据仅传送到允许的范围,同时 。
在图 中,当 x0 为 on 时,将常数 0 送到 d100~d119 这 20 个( n = 20 )数据寄存器中。
图 fmov 指令使用说明
( 6 )数据交换指令 xch ( fnc17 )
当指令执行的条件满足时,两个目标元件 d1 和 d2 的内容相互交换,如图 所示。
图 xch 指令 使用说明
◇数据变换指令
1. bcd 变换指令( fnc18 )
当指令的执行条件满足时,将源操作数 [s] 中的二进制数变换 bcd 码并传送到指定的目标操作数 [d] 中,如图 所示。 bcd 指令可用于将 plc 中的二进制数变成 bcd 码输出,以驱动 led 七段显示器。
图 bcd 码指令使用说明
2. bin 变换指令( fnc19 )
bin 是将源操作数 [s] 中的 bcd 码转换为二进制数并送到目标元件 [d] 中,常用于将 bcd 数字开关的设定值输入到 plc 中。