3.8 数据传送指令及案例
数据传送指令用来完成各存储单元之间一个或多个数据的传送,传送过程中数值保持不变。根据每次传送数据的多少,可将其分为单一传送指令和数据块传送指令。无论是单一传送指令还是数据块传送指令,都有字节、字、双字和实数等几种数据类型。为了满足立即传送的要求,设有字节立即传送指令;为了方便实现在同一字内高低字节的交换,还设有字节交换指令。
数据传送指令适用于存储单元的清零、程序的初始化等场合。
单一传送指令
(1)指令格式
单一传送指令用来传送一个数据,其数据类型可以为字节、字、双字和实数。在传送过程中数据内容保持不变,其指令格式如表3-14所示。
表3-14 单一传送指令MOV的指令格式
(2)应用案例
① 将常数7传入MB0,观察PLC小灯的点亮情况。
② 将常数3传入MW0,观察PLC小灯的点亮情况。
③ 程序设计:相关程序如图3-50所示。
图3-50 单一传送指令应用案例
数据块传送指令
(1)指令格式
数据块传送指令用来一次性传送多个数据,块传送包括字节的块传送、字的块传送和双字的块传送,指令格式如表3-15所示。
表3-15 数据块传送指令BLKMOV的指令格式
(2)应用案例
① 控制要求:将内部标志位存储器MB0开始的2个字节(MB0~MB1)中的数据,移至QB0开始的2个字节(QB0~QB1)中,观察PLC小灯的点亮情况。
② 程序设计:如图3-51所示。
图3-51 数据块传送指令应用案例
字节交换指令
(1)指令格式
字节交换指令用来交换输入字IN的最高字节和最低字节,具体指令格式如图3-52所示。
图3-52 字节交换指令的指令格式
(2)应用案例
① 控制要求:将字QW0中高低字节的数据交换。
② 程序设计:如图3-53所示。
图3-53 数据块传送指令应用案例
数据传送指令综合案例
(1)置位复位电路
置位与复位是指对某些存储器置1或清零的一种操作。用数据传送指令实现置1或清零,与用S、R指令实现置1或清零效果是一致的。用数据传送指令实现的置位复位电路如图3-54所示。
图3-54 置位复位电路
(2)两级传送带启停控制
① 控制要求:两级传送带启停控制如图3-55所示。当按下启动按钮后,电动机M1接通;当货物到达I0.1后,I0.1接通并启动电动机M2;当货物到达I0.2后,M1停止;货物到达I0.3后,M2停止。试设计梯形图。
图3-55 两级传送带启停控制
② 程序设计:如图3-56所示。
图3-56 两级传送带启停控制梯形图程序
(3)小车运行方向控制
① 控制要求:小车运行方向控制示意图如图3-57所示。当小车所停止位置限位开关SQ的编号大于呼叫位置按钮SB的编号时,小车向左运行到呼叫位置时停止;当小车所停止位置限位开关SQ的编号小于呼叫位置按钮SB的编号时,小车向右运行到呼叫位置时停止;当小车所停止位置限位开关SQ的编号等于呼叫位置按钮SB的编号时,小车不动作。
图3-57 小车运行方向控制示意图
② 程序设计:如图3-58所示。
图3-58 小车运行方向控制梯形图程序