Page 199 - 可编程控制器设计原理
P. 199
第六章 移位类、传送类指令应用
在一些高精度的压力传感器数据采集、机器人运动控制中的坐标数据处理等场景
中都有应用。
(二)数据传送指令的编程示例
以下以西门子 S7 - 200 PLC 为例,给出字节、字、双字传送指令的具体编程
示例。
1. 字节传送指令编程示例
假设我们要将输入映像寄存器 I0.0 - I0.7 这 8 位的数据传送到辅助继电器
M10.0 - M10.7 中。在梯形图编程环境中,可以使用 “MOVB” 指令来实现。具
体的编程步骤如下:
首先,在编程软件中打开一个新的项目,并创建一个新的程序块。然后,在
梯形图编辑器中添加 “MOVB” 指令。将源地址设置为 “I0”,目标地址设置
为 “M10”。其逻辑含义是,当程序执行到该 “MOVB” 指令时,会将 I0 这个
字节存储单元中的 8 位数据(即 I0.0 - I0.7 的状态)复制到 M10 这个字节存储单
元中,也就是 M10.0 - M10.7 会与 I0.0 - I0.7 的状态保持一致。这样,我们就可以
通过监控 M10.0 - M10.7 的状态来间接了解 I0.0 - I0.7 的输入情况,方便后续的逻
辑处理。
2. 字传送指令编程示例
假设我们有一个计数器 C1,它的当前值存储在一个 16 位的存储区域中。现
在要将计数器 C1 的当前值传送到数据寄存器 V100 中,以便后续进行进一步的
计算或显示。在梯形图中,添加 “MOVW” 指令,将源地址设置为 “C1”,
目标地址设置为 “V100”。当程序执行到该 “MOVW” 指令时,会将计数器
C1 的当前 16 位值复制到 V100 这个 16 位的存储单元中。这样,我们就可以通过
读取 V100 的值来获取计数器 C1 的当前计数值,进而根据这个计数值进行相应
的控制操作,比如当计数值达到某个设定值时,触发一个输出动作。
3. 双字传送指令编程示例
假设我们使用一个高精度的温度传感器,它输出的是一个 32 位的浮点数数
据,存储在数据寄存器 V200 - V203(因为每个数据寄存器是 16 位,所以需要两
个连续的寄存器来存储 32 位数据)中。现在要将这个 32 位的温度数据传送到另
一个数据存储区域 V300 - V303 中,以便进行温度数据的分析和处理。在梯形图中,
添加 “MOVD” 指令,将源地址设置为 “VD200”(VD 表示双字,即连续的
191

