inc si指令的作用_PLC中简单好用的传送指令功能,你学会了吗?

戳上方 蓝字  "技成电工课堂”  关注我们哦!

58567a94378b43cf02eccad1184817cc.gif

PLC的各种功能指令中,传送指令的使用非常频繁,且相对简单。一说到简单,我猜已经有很多人蠢蠢欲动,迫不及待地想征服这个传送指令了。那么,废话不多说,我们开始这次的学习分享吧!

96e27670b69ffd3b4775f28fbedbf9d6.png

在学习各种传送指令之前,我们得先了解什么是传送指令!

一、传送指令是什么

区别于信息传递中的数据通信,我们今天讲的PLC中的数据传送指令是针对PLC内部软元件之间的数据传送。基于之前所学的各种软元件,确切地说,传送指令是应用于各种字元件之间的数据传送。

74f959436809d5353764d9813a154666.png

每个字元件都存有自己的数据,有的字元件非常霸道,想把自己的数据霸占别的字元件,在别的字元件上也存上自己的数据,这个霸占的过程就是通过传送指令实现的。传送指令就像是各个字元件之间数据战争的武器,你霸占我,我霸占你,枪林弹雨,烽火连天。

a837e7466ee6bc803c5ae37950d0fa8a.png

在三菱FX 2N中,传送指令有 MOV、SMOV、CML、BMOV、FMOV五种,它们传送数据的形式各不相同。那到底有哪些不同呢?我们接着往下看。

二、MOV传送指令

c2a74945e82685b66def579c448e43fd.png

从编程手册中可以看到,MOV指令的操作数源址(S·)可以适用于所有的字元件,即S可以是任何的字元件,包括各种组合位元件、常数K、H等,而操作数终址(D·)除了不能是KnX、K、H外,可适用于其他字元件。且源址和终址都可进行变址寻址。

当驱动条件X0成立时,PLC将源址S中的数据传送到终址D中,此时S的内容不变,而D的内容变得和S一样。这就像我上文提到了,霸道S将自己的数据硬塞给D,并把D原来的数据给挤掉了,简直是欺元件太甚!

MOV指令比较简单,它是功能指令中应用最多的基本功能指令。MOV指令可以通过组合位元件的形式对各种位元件进行清零和置位,或者对各种字元件进行读写操作。

如下图所示,执行MOV  K15  K2Y0后,将K15用二进制数表示,并控制Y0~Y7的状态。此时Y0~Y3的状态变为1(ON),Y4~Y7的状态变为0(OFF)。

fef37304a26ebbe7c594c703790271fd.png

再如MOV  D10  D20,将D10的内容传送到D20中,若D10的内容为(H98),则执行该指令后D20的内容也变为(H98)。

依次类推,MOV  C0  D10 、MOV  T0  D20、DMOV  D0  D5等指令的理解相信难不倒大家,例如MOV  T0  D20:将定时器T0的当前值传送到D20中……

MOV指令更多的应用,还是要结合实际的案例分析才能深刻体会,本身该该指令的理解也不难,所以,在这里我不再过多阐述。

三、SMOV数位传送指令

88df8b4c3b24e7e8375d6f6d6b3738af.png

所谓数位(digit),就是以4个二进制数组成的数据量,类似于字节由8位二进制数组成,字由16为二进制数组成。显然,一个字节可以由两个数位组成,一个字可以由4个数位组成。

d54f3e6b286c7b8c27269e2bd5d81841.png

基于对数位的理解,SMOV数位传送指令就是将数据按数位为单位进行传送。从编程手册中可以看到,SMOV指令的动作为SMOV  S· m1  m2  D·  n,其中S、D是数据传送的源址和终址,这个和MOV指令类似。

上文提到,一个字可以由4个数位组成,依此将这4个数位从右到左排列,编号分别为K1、K2、K3、K4,如上图所示。

这样我们就可以很快地解读SMOV指令。如SMOV D0  K4  K2  D10  K2 : 将D0寄存器按数位划分,从K4开始的连续2个数位的内容传送到D10的K2、K1两个数位中,如下图所示。所以,在传送数据的时候,连续数位是按从左到右排的,当m1=K4时,最多可以传送4个连续数位K4、K3、K2、K1的内容;当m1=K3时,最多可以传送3个连续数位K3、K2、K1的内容,依次类推。

cbd89050197e55b7006784519cb227b7.png

显然,m1、m2、n之间有着一定的约束关系,即只有当m1≥m2,n≥m2,SMOV指令才有意义。例如SMOV  S·  m1  m2  D·  n 中,若m1=K2,对S而言,只有K2、K1的内容可以传送,K4、K3的内容无法传送。

另外,SMOV指令执行有两种模式:BCD码执行模式和十六进制数执行模式。当特殊继电器M8168=OFF时,SMOV指令执行BCD码模式;当特殊继电器M8168=ON时,SMOV指令执十六进制数模式。

853e332448018572bd55dfeef1ea81ba.png

所谓BCD码其实就是十进制数,如上图所示,当M8168=OFF时,将D0的内容(K9864)中的“986”传送到D10中。显然,此时D0的内容只能为K0000~K9999。只有当SMOV指令执行十六进制数执行模式时,D0中的内容可以为H0000~HFFFF。

SMOV数位传送指令的理解也不难,在应用的过程中注意m1、m2、n的大小就行了。

四、CML取反传送指令

2ecb8bb344575288a20fc9b54ae55858.png

CML取反传送指令,顾名思义,就是将数据取反后再传送。所谓取反,就是将“1”变为“0”,将“0”变为“1”,如下图所示,执行指令CML  D0  D10,若D0的内容为(K13),将K13转换为二进制数后取反,再传送到D10中。

b153b7bbc19638674782aaaf72c6e7e6.png

CML反传送指令更为简单,在这里我也不再过多讲解。

五、BMOV成批传送指令

228f8482f1ee2a02859c50c559064548.png

BMOV成批传送指令,和上文的几种传送指令有比较大的区别,因为它所传送的数据比较多,是用于多个字元件之间数据传送。简单理解就是将首地址为S的n个字元件的数据传送到以D为首地址的字元件中,其中n是传送字元件的个数,n≤512。

例如BMOV  D0  D10  K10:将D9~D0的数据分别传送到D19~D10中。

在应用BMOV指令时要注意的两点,一是字元件的编号重复问题。如下图所示,执行指令BMOV  D10  D11  K5,若按编号小的元件开始传送,先是D10的内容传送到D11中,然后D11的内容传送到D12中,D12的内容传送到D13中……显然,传送完毕后D15~D10的内容相同,均为D10的内容。

f4bf0cba076dab62edc0b0f26d1bd865.png

根据以上字元件编号重复的问题,在三菱FX 2N中,作出以下规定:

(1)当源址编号大于终址编号时,其传送顺序从编号小的到编号大的;

(2)当源址编号小于终址编号时,其传送顺序从编号大的到编号小的;

所以上图的指令BMOV  D10  D11  K5中,源址D10小于终址D11,其传送顺序从编号大的开始,也就是先把D14的内容传送到D15中,然后把D13的内容传送到D14中……这样就不会造成D11~D14的内容无法传送的问题。

在应用BMOV指令时要注意的另外一点是数据传送方向的问题。BMOV指令不仅可以将源址的数据传送给终址,也可以调转方向,将终址的数据传送给源址,也就是说BMOV指令可以双向传送数据。

BMOV指令的数据传送方向是由特殊继电器M8024的状态决定的,当M8024=OFF时,传送方向是从源址传向终址;当M8024=ON时,传送方向是从终址传向源址。

fad9fde4288e3eeb32b026e59a48ab9e.png

六、FMOV多点传送指令

888cd290f5598b0cbff1ffe3c00e7170.png

知道了BMOV成批传送指令后,再来看FMOV多点传送指令会简单很多,如果说MOV指令是一对一、BMOV指令是多对多,那么FMOV指令就是一对多。

如上图的编程手册所示,当驱动条件X0成立时,将字元件S的内容传送到起始地址为D的n个字元件中。像上文所说的,数据的传送就像是字元件之间的相互霸占,而各种指令就是数据传送的武器。MOV指令就像是手枪,霸道S通过MOV指令只能将自己的数据传送给一个D,把D原来的数据给挤掉;FMOV指令就像是M416步枪,霸道S通过FMOV指令将自己的数据传送给一批D,把n个D原来的数据都给挤掉。可见FMOV指令的威力有多大。

不管是什么传送指令,其归根结底也就是数据的传送,我们只有在理解了这些指令的含义之后,才能理解它们在梯形图中的作用。另外,我所分享的内容也只不是皮毛,想要熟练掌握这些传送指令,还是要结合实际程序案例分析。

那么,这次的学习分享就到这里啦,共勉!

注:本文章内容都是基于三菱FX PLC所写

选自《三菱FX系列PLC功能指令详解》第二章第12~16课时

(技成培训原创,作者:杨思慧,未经授权不得转载,违者必究!)


bfd092257570f2f2474f24549133abe6.png

如何0基础学习PLC?

关注回复 “ 工控全套  

获取更多工控案例与电气软件大全!

82a76d7216c1ae4e8756f61bb74bfe09.png

bbb456dd15469bfa875229ba3ccff5a8.gif你的分享、点赞、在看我都喜欢 bbb456dd15469bfa875229ba3ccff5a8.gif
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值