2.5 比较指令与数据传送指令
2.5.1 比较指令
比较指令是将两个操作数或字符串按指定条件进行比较,当比较条件成立时,其触点闭合,后面的电路接通;当比较条件不成立时,比较触点断开,后面的电路不接通。
(1)指令格式
比较指令的运算符有6种,其操作数可以为字节、双字、整数或实数,其指令格式如图2-55所示。
图2-55 比较指令格式
(2)指令用法
比较指令的触点和普通的触点一样,可以装载、串联和并联,具体如图2-56所示。
图2-56 比较触点的用法
(3)举例
用比较指令编写小灯循环程序。
① 控制要求 按下启动按钮,3个小灯每隔1s循环点亮;按下停止按钮,3个小灯全部熄灭。
② 程序设计
a.小灯循环控制I/O分配如表2-17所示。
表2-17 小灯循环程序的I/O分配
b.小灯循环控制梯形图程序如图2-57所示。
图2-57 小灯循环控制梯形图程序
2.5.2 数据传送指令
数据传送指令用来完成各存储单元之间一个或多个数据的传送,传送过程中数值保持不变。根据每次传送数据的多少,可将其分为单一传送指令和数据块传送指令,无论是单一传送指令还是数据块传送指令,都有字节、字、双字和实数等几种数据类型。为了满足立即传送的要求,设有字节立即传送指令;为了方便实现在同一字内高低字节的交换,还设有字节交换指令。
数据传送指令适用于存储单元的清零、程序的初始化等场合。
(1)单一传送指令
① 指令格式 单一传送指令用来传送一个数据,其数据类型可以为字节、字、双字和实数。在传送过程中数据内容保持不变,其指令格式如表2-18所示。
表2-18 单一传送指令MOV的指令格式
② 应用举例
a.将常数3传送QB0,观察PLC小灯的点亮情况。
b.将常数3传送QW0,观察PLC小灯的点亮情况。
c.程序设计:单一传送指令应用举例如图2-58所示。
图2-58 单一传送指令应用举例
(2)数据块传送指令
① 指令格式 数据块传送指令用来一次性传送多个数据,块传送包括字节的块传送、字的块传送和双字的块传送,其指令格式如表2-19所示。
表2-19 数据块传送指令BLKMOV的指令格式
② 应用举例
a.控制要求 将内部标志位存储器MB0开始的2个字节(MB0和MB1)中的数据,移至QB0开始的2个字节(QB0和QB1)中,观察PLC小灯的点亮情况。
b.程序设计 数据块传送指令应用举例如图2-59所示。
图2-59 数据块传送指令应用举例
(3)字节交换指令
① 指令格式 字节交换指令用来交换输入字IN的最高字节和最低字节,具体指令格式如图2-60所示。
图2-60 字节交换指令的指令格式
② 应用举例
a.控制要求 将字QW0中高低字节的内容交换,观察PLC小灯的点亮情况。
b.程序设计 字节交换指令应用举例如图2-61所示。
图2-61 字节交换指令应用举例
(4)字节立即传送指令
字节立即传送指令和位逻辑指令中的立即指令一样,用于输入/输出的立即处理,它包括字节立即读指令和字节立即写指令,具体指令格式如表2-20所示。
表2-20 字节立即传送指令的指令格式
① 字节立即读指令 当使能端有效时,读取实际输入端IN给出的1个字节的数值,并将结果写入OUT所指定的存储单元,但输入映像寄存器未更新。
② 字节立即写指令 当使能端有效时,从输入端IN所指定的存储单元中读取1个字节的数据,并将结果写入OUT所指定的存储单元,刷新输出映像寄存器,将计算结果立即输出到负载。
(5)数据传送指令综合举例
① 初始化程序设计 初始化程序用于开机运行时,对某些存储器置位的一种操作,具体如图2-62所示。
图2-62 初始化程序设计
② 停止程序设计 停止程序是指对某些存储器清零的一种操作,具体如图2-63所示。
图2-63 停止程序设计
③ 应用举例 两级传送带启停控制。
a.控制要求 两级传送带启停控制如图2-64所示。当按下启动按钮后,电动机M1接通;当货物到达I0.1后,I0.1接通并启动电动机M2;当货物到达I0.2后,M1停止;当货物到达I0.3后,M2停止;试设计梯形图。
图2-64 两级传送带启停控制
b.程序设计 两级传送带启停控制的梯形图如图2-65所示。
图2-65 两级传送带启停控制的梯形图
④ 应用举例 小车运行方向控制。
a.控制要求 小车运行方向控制示意图如图2-66所示。当小车所停止位置限位开关SQ的编号大于呼叫位置按钮SB的编号时,小车向左运行到呼叫位置时停止;当小车所停止位置限位开关SQ的编号小于呼叫位置按钮SB的编号时,小车向右运行到呼叫位置时停止;当小车所停止位置限位开关SQ的编号等于呼叫位置按钮SB的编号时,小车不动作。
图2-66 小车运行方向控制示意图
b.程序设计 小车运行方向控制程序如图2-67所示。
图2-67 小车运行方向控制程序