首页 理论教育 数据传送指令的使用技巧分享

数据传送指令的使用技巧分享

时间:2023-06-29 理论教育 版权反馈
【摘要】:3)源数据被传送到指定目标中。图8-41 示例程序梯形图3.取反传送CML1)指令功能:取反传送是以位为单位反转数据后进行传送(复制)的指令。传送顺序是自动决定的,以防止源数据被这条指令传送的其他数据冲掉。1)指令执行形式可以采用连续执行和脉冲执行两种方式。指令只能执行16位数据。

数据传送指令的使用技巧分享

1.MOV传送指令使用介绍

1)MOV指令的功用是将源软元件的内容传送(复制)到目标软元件,源中的数据不发生变化。

2)指令执行形式有连续和脉冲两种形式。

3)源数据被传送到指定目标中。指令可执行16位的数据,如图8-34所示的程序。输入指令不执行,数据保持不变。传送时目标数据不改变。

978-7-111-38174-7-Chapter08-36.jpg

图8-34 指令执行16位的数据示例

4)指令执行32位数据时,在指令助记符前加D,如图8-35所示例程序。

【例8-3】试用传送指令编制程序构成一个闪光信号灯,改变输入所接置数开关可改变闪光频率。设定开关4个,分别接于X010~013,X010为起停开关:信号灯接于Y010。

梯形图如图8-36所示。图中第一行为变址寄存器清零,上电时完成。第二行从输入口X10~X13读入设定开关数据,变址综合后送到定时器T0的设定值寄存器D10,并和第三行中的定时器T1配合产生D10时间间隔的脉冲。

978-7-111-38174-7-Chapter08-37.jpg

图8-35 指令执行32位的数据示例

978-7-111-38174-7-Chapter08-38.jpg

图8-36 频率可变的闪光信号灯梯形图及说明

【例8-4】编制程序使用传送指令向输出端口送数的方式实现电动机978-7-111-38174-7-Chapter08-39.jpg/△起动控制。

示例分析,程序中关键点是要求对输出端口的位信息控制,采用MOV指令时只要向对应的位送入控制位信息就可以。I/O端口分配见表8-2。据电动机978-7-111-38174-7-Chapter08-40.jpg/△起动控制要求,参考梯形图如图8-37所示。

表8-3978-7-111-38174-7-Chapter08-41.jpg起动I/O口分配

978-7-111-38174-7-Chapter08-42.jpg

978-7-111-38174-7-Chapter08-43.jpg

图8-37 电动机978-7-111-38174-7-Chapter08-44.jpg起动控制梯形图

【例8-5】彩灯的交替点亮控制

有一组灯Ll~L8接于Y000~Y007,要求隔灯显示,每2s变换一次,反复进行。设置起停控制开关接于X010上。梯形图如图8-38所示。

978-7-111-38174-7-Chapter08-45.jpg

图8-38 彩灯交替点亮控制梯形图及说明

2.移位传送SMOV(FNC13)

(1)指令的功能

以位数为单位(4位)进行数据的分配、合成。指令表现形式如图8-39所示。传送源[S]和传送目标[D]的内容转换(0000~9999)成4位数的BCD码,m1位数起的低m2位数部分被传送(合成)到传送目标[D]的n位数起始处,然后转换成BIN,保存在传送目标[D]中。指令执行过程如图8-40所示。

978-7-111-38174-7-Chapter08-46.jpg

图8-39 移位传送指令表现形式

978-7-111-38174-7-Chapter08-47.jpg

图8-40 移位传送指令执行过程

(2)指令中操作数的使用说明(见表8-4)

表8-4 操作数使用说明

978-7-111-38174-7-Chapter08-48.jpg

(3)指令执行形式

可以采用连续执行和脉冲执行两种方式。指令只能执行16位数据。

【例8-6】通过X0~X3、X20~X27输入数据,合成数据后,以进制保存到D20中。程序如图8-41所示,D20中最后合成的数据为765。

978-7-111-38174-7-Chapter08-49.jpg

图8-41 示例程序梯形图

3.取反传送CML

1)指令功能:取反传送(CML)是以位为单位反转数据后进行传送(复制)的指令。

如图8-42所示为取反传送示例程序,图中源元件(D10)中的数据逐位取反(1→0,0→1)并传送到指定目标(K1Y000)中。若源中数据为常数K,该数据会自动转换为二进制数。图8-42a程序转换过程如图8-40b所示。

978-7-111-38174-7-Chapter08-50.jpg

图8-42 取反指令

2)指令执行形式可以采用连续执行和脉冲执行两种方式。指令能执行16位数据和32位数据两种格式。

3)取反传送指令(CML)可以用于PLC的反相输入和反相输出,如图8-43所示。

4.成批传送BMOV FNC15

1)指令功用:对指定点数的多个数据进行成批传送(复制)。或称多点对多点复制。

如图8-44所示,当X0为ON时,将源操作数(D5)开始的n个(n=K3)数据组成的数据块传送到指定的目标(D8)中。如果元件号超出允许元件号的范围,数据仅传送到允许范围内。

对FX1N、FX2N、FX2NC而言,通过参数设置可把D1000以后的通用数据寄存器设为文件寄存器。当PLC从STOP→RUN时,程序存储区的文件寄存器会自动被复制到系统RAM区中的文件寄存器中。除BMOV指令外,所有功能指令中所用到的D1000以后的元件均指系统RAM区中的文件寄存器,只有BMOV指令有访问程序区中文件寄存器的功能。

2)指令执行形式可以采用连续执行和脉冲执行两种方式。指令只能执行16位数据。

3)指令使用要点:

①如果源元件与目标元件的类型相同,当传送编号范围有重叠时同样能进行传送。如图8-45所示。传送顺序是自动决定的,以防止源数据被这条指令传送的其他数据冲掉。

978-7-111-38174-7-Chapter08-51.jpg

图8-43 CML指令反相输入和反相输出

978-7-111-38174-7-Chapter08-52.jpg

图8-44 BMOV指令示例程序(www.xing528.com)

978-7-111-38174-7-Chapter08-53.jpg

图8-45 编号范围重叠传送示例

②在带有位数指定软元件的情况下,要求源和目标的指定位数必须相同。如图8-46所示,图中K1X0和K1Y0称作1点,如果是K2X0和K2Y0同样称作1点,只不过此时按n=2来传送,则是将X0~X17的信息传送Y0~Y17。

③控制BMOV指令的方向标志M8024=ON时,数据传送方向反转,如图8-47所示。

5.多点传送FMOV(FNC16)

将源中同一数据传送到指定点数的软元件中。如图8-48所示。

1)指令执行形式可以采用连续执行和脉冲执行两种方式。指令只能执行16位数据。

2)指令还用清零功能,如图8-49所示。但如果是对计数器清零操作,只能清除经过值,计数器的触点动作情况不能清除。

978-7-111-38174-7-Chapter08-54.jpg

图8-46 带有位数指定软元件的传送示例

978-7-111-38174-7-Chapter08-55.jpg

图8-47 数据传送方向反转示例

978-7-111-38174-7-Chapter08-56.jpg

图8-48 多点传送示例

978-7-111-38174-7-Chapter08-57.jpg

图8-49 清零功能示例

3)如果执行过程中软元件超范围时,只能在传送范围内传送。

6.交换XCH FNC17

在两个软元件之间进行交换数据。

交换功能如图8-50所示,如果是在连续执行方式下,数据在每个扫描周期交换1次。

978-7-111-38174-7-Chapter08-58.jpg

图8-50 交换功能示例

当M8160=ON时,且[D1·]与[D2·]为同一元件时,该指令的执行使目标元件的高byte与低byte互换,这时指令与SWAP(FNC147)的功能相同。如果M8160=ON时[D1·]与[D2·]元件不同时,出错标志M8160=ON,且不执行该指令。如图8-51所示。

7.BIN变换BCD(FNC18)

BCD变换是将源中BIN(二进制数)转换成BCD(十进制数)后传送的指令。二进制换成BCD码如图8-52所示,图中,当X0接通时,D20中的数据(二进制数)送到K4Y0(十进制数)中,显示BCD码接线如图8-53所示。假定(D20)=8576,当X0接通时,Y17~Y0的状态是1000 0101 0111 0110,BCD显示为“8576”。

978-7-111-38174-7-Chapter08-59.jpg

图8-51 同一元件交换示例

978-7-111-38174-7-Chapter08-60.jpg

图8-52 BCD码指令示例

978-7-111-38174-7-Chapter08-61.jpg

图8-53 显示BCD码接线

使用16操作数时,如果BCD/BCD(P)指令执行变换结果超出0~9999的范围就会出错。

使用32操作数时,如果(D)BCD/(D)BCD(P)指令执行变换结果超出0~99999999的范围就会出错。

8.BCD变换BIN(FNC19)

BCD变换BIN是将源中的十进制数(BCD)转换成二进制数的指令。如图8-54所示,当指令执行时,且X1、X2、X4、X5接通时,Y2、Y5被点亮。

978-7-111-38174-7-Chapter08-62.jpg

图8-54 BCD变换BIN指令

BIN指令用于将BCD数字开关的设定值输入PLC中。如果源中的数据不是BCD码,就会出错,M8067 ON。但在这种情况下M8068(操作错误锁存)不为ON。

常数K不能作为本指令的操作元件,因为在任何处理之前会被转换成二进制。

注:如使用DSW(FNC72)时,DSW指令能自动执行BCD和BIN之间的转换,不需要用本指令。

9.PRUN八进制传送指令

PRUN指令是将被指定了位数的源和目标的软元件编号作为八进制数处理,并传送数据。指令表现形式如图8-55所示,传送执行情况分别如图8-56~图8-59所示。

978-7-111-38174-7-Chapter08-63.jpg

图8-55 PRUN八进制传送表现形式

978-7-111-38174-7-Chapter08-64.jpg

图8-56 八进制传送十进制执行情况

978-7-111-38174-7-Chapter08-65.jpg

图8-57 十进制传送八进制执行情况

978-7-111-38174-7-Chapter08-66.jpg

图8-58 八进制传送十进制执行情况

978-7-111-38174-7-Chapter08-67.jpg

图8-59 十进制传送八进制执行情况

指令中操作数说明如下:

S:位数指定,KnX、KnM(n=1~8,X和M最低位地址为0)

D:位数指定,KnY、KnM(n=1~8,Y和M最低位地址为0)

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈