1.MOV传送指令使用介绍
1)MOV指令的功用是将源软元件的内容传送(复制)到目标软元件,源中的数据不发生变化。
2)指令执行形式有连续和脉冲两种形式。
3)源数据被传送到指定目标中。指令可执行16位的数据,如图8-34所示的程序。输入指令不执行,数据保持不变。传送时目标数据不改变。
图8-34 指令执行16位的数据示例
4)指令执行32位数据时,在指令助记符前加D,如图8-35所示例程序。
【例8-3】试用传送指令编制程序构成一个闪光信号灯,改变输入所接置数开关可改变闪光频率。设定开关4个,分别接于X010~013,X010为起停开关:信号灯接于Y010。
梯形图如图8-36所示。图中第一行为变址寄存器清零,上电时完成。第二行从输入口X10~X13读入设定开关数据,变址综合后送到定时器T0的设定值寄存器D10,并和第三行中的定时器T1配合产生D10时间间隔的脉冲。
图8-35 指令执行32位的数据示例
图8-36 频率可变的闪光信号灯梯形图及说明
【例8-4】编制程序使用传送指令向输出端口送数的方式实现电动机/△起动控制。
示例分析,程序中关键点是要求对输出端口的位信息控制,采用MOV指令时只要向对应的位送入控制位信息就可以。I/O端口分配见表8-2。据电动机/△起动控制要求,参考梯形图如图8-37所示。
表8-3起动I/O口分配
图8-37 电动机起动控制梯形图
【例8-5】彩灯的交替点亮控制
有一组灯Ll~L8接于Y000~Y007,要求隔灯显示,每2s变换一次,反复进行。设置起停控制开关接于X010上。梯形图如图8-38所示。
图8-38 彩灯交替点亮控制梯形图及说明
2.移位传送SMOV(FNC13)
(1)指令的功能
以位数为单位(4位)进行数据的分配、合成。指令表现形式如图8-39所示。传送源[S]和传送目标[D]的内容转换(0000~9999)成4位数的BCD码,m1位数起的低m2位数部分被传送(合成)到传送目标[D]的n位数起始处,然后转换成BIN,保存在传送目标[D]中。指令执行过程如图8-40所示。
图8-39 移位传送指令表现形式
图8-40 移位传送指令执行过程
(2)指令中操作数的使用说明(见表8-4)
表8-4 操作数使用说明
(3)指令执行形式
可以采用连续执行和脉冲执行两种方式。指令只能执行16位数据。
【例8-6】通过X0~X3、X20~X27输入数据,合成数据后,以二进制保存到D20中。程序如图8-41所示,D20中最后合成的数据为765。
图8-41 示例程序梯形图
3.取反传送CML
1)指令功能:取反传送(CML)是以位为单位反转数据后进行传送(复制)的指令。
如图8-42所示为取反传送示例程序,图中源元件(D10)中的数据逐位取反(1→0,0→1)并传送到指定目标(K1Y000)中。若源中数据为常数K,该数据会自动转换为二进制数。图8-42a程序转换过程如图8-40b所示。
图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所示。传送顺序是自动决定的,以防止源数据被这条指令传送的其他数据冲掉。
图8-43 CML指令反相输入和反相输出
图8-44 BMOV指令示例程序(www.xing528.com)
图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所示。但如果是对计数器清零操作,只能清除经过值,计数器的触点动作情况不能清除。
图8-46 带有位数指定软元件的传送示例
图8-47 数据传送方向反转示例
图8-48 多点传送示例
图8-49 清零功能示例
3)如果执行过程中软元件超范围时,只能在传送范围内传送。
6.交换XCH FNC17
在两个软元件之间进行交换数据。
交换功能如图8-50所示,如果是在连续执行方式下,数据在每个扫描周期交换1次。
图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”。
图8-51 同一元件交换示例
图8-52 BCD码指令示例
图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被点亮。
图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所示。
图8-55 PRUN八进制传送表现形式
图8-56 八进制传送十进制执行情况
图8-57 十进制传送八进制执行情况
图8-58 八进制传送十进制执行情况
图8-59 十进制传送八进制执行情况
指令中操作数说明如下:
S:位数指定,KnX、KnM(n=1~8,X和M最低位地址为0)
D:位数指定,KnY、KnM(n=1~8,Y和M最低位地址为0)
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。