![西门子PLC从入门到精通](https://wfqqreader-1252317822.image.myqcloud.com/cover/666/27126666/b_27126666.jpg)
2.5 比较指令与数据传送指令
2.5.1 比较指令
比较指令是将两个操作数或字符串按指定条件进行比较,当比较条件成立时,其触点闭合,后面的电路接通;当比较条件不成立时,比较触点断开,后面的电路不接通。
(1)指令格式
比较指令的运算符有6种,其操作数可以为字节、双字、整数或实数,其指令格式如图2-55所示。
![](https://epubservercos.yuewen.com/F85FDE/15489090305496506/epubprivate/OEBPS/Images/2d55.jpg?sign=1739563422-DlwiAoaFUsRIoVMRo3yq7Axr8W2hau8B-0-fe1fed4069257472ec95782d1f2c5817)
图2-55 比较指令格式
(2)指令用法
比较指令的触点和普通的触点一样,可以装载、串联和并联,具体如图2-56所示。
![](https://epubservercos.yuewen.com/F85FDE/15489090305496506/epubprivate/OEBPS/Images/2d56.jpg?sign=1739563422-GxsXrl9GdQY55n36gNcrAnSkrQiLseo3-0-112623b874b25c0ac7d6aa482d543dc2)
图2-56 比较触点的用法
(3)举例
用比较指令编写小灯循环程序。
① 控制要求 按下启动按钮,3个小灯每隔1s循环点亮;按下停止按钮,3个小灯全部熄灭。
② 程序设计
a.小灯循环控制I/O分配如表2-17所示。
表2-17 小灯循环程序的I/O分配
![](https://epubservercos.yuewen.com/F85FDE/15489090305496506/epubprivate/OEBPS/Images/20.jpg?sign=1739563422-d3hY6o5QAgukIcZX87wbT9dbqlCmQTjR-0-c46ad6bff299c6c3ad199efdb54b273a)
b.小灯循环控制梯形图程序如图2-57所示。
![](https://epubservercos.yuewen.com/F85FDE/15489090305496506/epubprivate/OEBPS/Images/2d57.jpg?sign=1739563422-8SRGFI6OK1rO2nomZmYGlQPu6OwTkjUA-0-3af8f5d0c48010dfc9ccbb281c0f7b1b)
图2-57 小灯循环控制梯形图程序
2.5.2 数据传送指令
数据传送指令用来完成各存储单元之间一个或多个数据的传送,传送过程中数值保持不变。根据每次传送数据的多少,可将其分为单一传送指令和数据块传送指令,无论是单一传送指令还是数据块传送指令,都有字节、字、双字和实数等几种数据类型。为了满足立即传送的要求,设有字节立即传送指令;为了方便实现在同一字内高低字节的交换,还设有字节交换指令。
数据传送指令适用于存储单元的清零、程序的初始化等场合。
(1)单一传送指令
① 指令格式 单一传送指令用来传送一个数据,其数据类型可以为字节、字、双字和实数。在传送过程中数据内容保持不变,其指令格式如表2-18所示。
表2-18 单一传送指令MOV的指令格式
![](https://epubservercos.yuewen.com/F85FDE/15489090305496506/epubprivate/OEBPS/Images/21.jpg?sign=1739563422-F0eXZRtWl4HbFiEZabHZdQHNMaKn4SN1-0-6b3b18d07a76332cda5bf9f90f3a8de1)
② 应用举例
a.将常数3传送QB0,观察PLC小灯的点亮情况。
b.将常数3传送QW0,观察PLC小灯的点亮情况。
c.程序设计:单一传送指令应用举例如图2-58所示。
![](https://epubservercos.yuewen.com/F85FDE/15489090305496506/epubprivate/OEBPS/Images/2d581.jpg?sign=1739563422-KkNXce2FWXwd06o6TDyDPmgnXhPNBCVR-0-1350e7eb92307d61f4ef5423b652203f)
图2-58 单一传送指令应用举例
(2)数据块传送指令
① 指令格式 数据块传送指令用来一次性传送多个数据,块传送包括字节的块传送、字的块传送和双字的块传送,其指令格式如表2-19所示。
表2-19 数据块传送指令BLKMOV的指令格式
![](https://epubservercos.yuewen.com/F85FDE/15489090305496506/epubprivate/OEBPS/Images/22.jpg?sign=1739563422-tiSE5MzNsuJFj6ZvOzg8fdJXczYR598U-0-7f4790075ac3bbb3da2e26c3bd92a01b)
② 应用举例
a.控制要求 将内部标志位存储器MB0开始的2个字节(MB0和MB1)中的数据,移至QB0开始的2个字节(QB0和QB1)中,观察PLC小灯的点亮情况。
b.程序设计 数据块传送指令应用举例如图2-59所示。
![](https://epubservercos.yuewen.com/F85FDE/15489090305496506/epubprivate/OEBPS/Images/2d59.jpg?sign=1739563422-eRYqCqjuQWGDFK15VlIOC5EqkYgidfyd-0-643c863ff245692b3b95f9ab46bffcad)
图2-59 数据块传送指令应用举例
(3)字节交换指令
① 指令格式 字节交换指令用来交换输入字IN的最高字节和最低字节,具体指令格式如图2-60所示。
![](https://epubservercos.yuewen.com/F85FDE/15489090305496506/epubprivate/OEBPS/Images/2d60.jpg?sign=1739563422-rAfS9oiuiCGWQcy9OGdcGz5echXooO0k-0-d9105adbe10c6fd1e205e4ca57ae3669)
图2-60 字节交换指令的指令格式
② 应用举例
a.控制要求 将字QW0中高低字节的内容交换,观察PLC小灯的点亮情况。
b.程序设计 字节交换指令应用举例如图2-61所示。
![](https://epubservercos.yuewen.com/F85FDE/15489090305496506/epubprivate/OEBPS/Images/2d61.jpg?sign=1739563422-EOdmtR8Xy4aK2tNVdEHz5zXZ3fcu4qyR-0-f9d2adcc3d0b1e01c55858e17a1ed78a)
图2-61 字节交换指令应用举例
(4)字节立即传送指令
字节立即传送指令和位逻辑指令中的立即指令一样,用于输入/输出的立即处理,它包括字节立即读指令和字节立即写指令,具体指令格式如表2-20所示。
表2-20 字节立即传送指令的指令格式
![](https://epubservercos.yuewen.com/F85FDE/15489090305496506/epubprivate/OEBPS/Images/23.jpg?sign=1739563422-lzZhvLNkmYncj6awlMVXmM3AtpGkKyjs-0-5b438dd6f7530dcf7bc27bf08bcd3b29)
① 字节立即读指令 当使能端有效时,读取实际输入端IN给出的1个字节的数值,并将结果写入OUT所指定的存储单元,但输入映像寄存器未更新。
② 字节立即写指令 当使能端有效时,从输入端IN所指定的存储单元中读取1个字节的数据,并将结果写入OUT所指定的存储单元,刷新输出映像寄存器,将计算结果立即输出到负载。
(5)数据传送指令综合举例
① 初始化程序设计 初始化程序用于开机运行时,对某些存储器置位的一种操作,具体如图2-62所示。
![](https://epubservercos.yuewen.com/F85FDE/15489090305496506/epubprivate/OEBPS/Images/2d62.jpg?sign=1739563422-RXgtP4XHbkZZOGb4JbhjhPPp46jilAQc-0-3265eaaf616eaff68f0e520341d42d52)
图2-62 初始化程序设计
② 停止程序设计 停止程序是指对某些存储器清零的一种操作,具体如图2-63所示。
![](https://epubservercos.yuewen.com/F85FDE/15489090305496506/epubprivate/OEBPS/Images/2d63.jpg?sign=1739563422-bxXUSqG9E9PArzdHe5cF3lUaMxYVZJrl-0-3f37bf596f73394d080605c79ebba4b8)
图2-63 停止程序设计
③ 应用举例 两级传送带启停控制。
a.控制要求 两级传送带启停控制如图2-64所示。当按下启动按钮后,电动机M1接通;当货物到达I0.1后,I0.1接通并启动电动机M2;当货物到达I0.2后,M1停止;当货物到达I0.3后,M2停止;试设计梯形图。
![](https://epubservercos.yuewen.com/F85FDE/15489090305496506/epubprivate/OEBPS/Images/2d64.jpg?sign=1739563422-oIs3xqXylnjibgSmKhfzBxIW8FEoqBB3-0-72c76ee8cc5eabb1f06492b8d4026055)
图2-64 两级传送带启停控制
b.程序设计 两级传送带启停控制的梯形图如图2-65所示。
![](https://epubservercos.yuewen.com/F85FDE/15489090305496506/epubprivate/OEBPS/Images/2d65.jpg?sign=1739563422-54OwFFMBhuOO24h9wp49E4dlitf2EC9m-0-519bcdf05875b4a142444a8593215605)
图2-65 两级传送带启停控制的梯形图
④ 应用举例 小车运行方向控制。
a.控制要求 小车运行方向控制示意图如图2-66所示。当小车所停止位置限位开关SQ的编号大于呼叫位置按钮SB的编号时,小车向左运行到呼叫位置时停止;当小车所停止位置限位开关SQ的编号小于呼叫位置按钮SB的编号时,小车向右运行到呼叫位置时停止;当小车所停止位置限位开关SQ的编号等于呼叫位置按钮SB的编号时,小车不动作。
![](https://epubservercos.yuewen.com/F85FDE/15489090305496506/epubprivate/OEBPS/Images/2d66.jpg?sign=1739563422-Mw554csJcaLXKp575Hdq02GRHQiMGvdT-0-8ab12d8b7520ff11154e1139cf32fc7d)
图2-66 小车运行方向控制示意图
b.程序设计 小车运行方向控制程序如图2-67所示。
![](https://epubservercos.yuewen.com/F85FDE/15489090305496506/epubprivate/OEBPS/Images/2d67.jpg?sign=1739563422-BgN1SrzSeBa067uN30JV4GRn9g45q7PO-0-47047eb6933a1dec5fa1b21cab341386)
图2-67 小车运行方向控制程序