线下实训
HOME
线下实训
正文内容
plc编程字.双字 详解几个使用频率较高的S7-200SMART PLC传送指令,PLC编程不慌张
发布时间 : 2024-10-08
作者 : 小编
访问数量 : 23
扫码分享至微信

详解几个使用频率较高的S7-200SMART PLC传送指令,PLC编程不慌张

在编写程序的过程中,经常会碰到存储区中的数值需要改变,或者数据在PLC中存储位置需要改变,这就需要用到传送指令。

首先我们介绍一下标准的一对一传送指令:MOV指令 ;将IN端输入数据复制一份移至OUT输出端,数据类型不同需要用的传送指令也不同,有如下几种。

说明:

1.只要检测到EN条件闭合,就发生数据传送,每个扫描周期执行一次。

2.值的传送过程为IN复制到OUT,OUT中原本数据被覆盖掉,IN中数据仍然保留。

3.对IN的参数可以是常数也可以是变量,对OUT必须是变量。IN为常数时,通常称为赋值。

4.每种指令对应的数据类型必须匹配,否则会发生错误。

5.对定时器和计数器用字传送指令,传送的是当前值。

6.实数传送即浮点数传送,因为浮点数都是32位,所以操作数也为VD。不能与双字传送混用。

7.ENO为能流输出,可以再接其它指令,如常开,常闭,输出,置位,复位等。不接指令时不得延长否则编译报错。

立即传送指令

移动字节立即读取指令读取物理输入 IN 的状态,并将结果写入存储器地址 OUT 中,但不更新过程映像寄存器。

传送字节立即写入指令从存储器地址 IN 读取数据,并将其写入物理输出 OUT 以及相应的过程映像位置。

块传送指令

将相邻的几个数据同时传送到另外几个相邻的寄存器中。块传送应避免地址重叠,否则容易发送数据传输错误。

以BLKMOV_B为例说明指令的执行过程:将IN(VB0)开始的N(5)个数据复制到OUT(VB5)开始的N(5)个寄存器中,N为1-255。三种块传送原理相同,只是存储空间大小不同而已。

字填充指令

将IN中字类型的存储器或常数写入从地址OUT开始的N个字寄存器中。N的范围是1—255。

典型应用:批量清零,初始化。

交换指令

每执行一次,将IN中的字寄存器的高字节和低字节交换一下。

字交换方法:两个字要进行互换,没有直接指令,可以使用传送指令进行交换。

比如要将VW100和VW102中的数据互换,可用如下程序实现:

免责声明:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系删除,谢谢!

从西门子200的PLC程序来看三菱FX5U的PLC程序

小型PLC系统中西门子200系列和三菱的FX系列是应用的比较多的,作为工控行业的工程师是很有必要明白他们之间的一些不同点的,特别是从程序上来说,因此来写一篇文章,简单的聊聊他们在编程上的一下不同!

西门子PLC和三菱PLC的不同是很多的,因此本文将通过一段很相似的程序来简单说一下西门子200PLC和三菱FX5UPLC的不同!

先来看一段西门子200PLC中的程序:

西门子Micro/Win软件中的程序截图

如图,这是一段很简单的西门子200程序,因为是为了对比PLC中的不同,所以这段程序没有实际符号,也没有特别的含义!就是M0.0这个点接通,Q0.0这个输出点就会输出。V0.0接通的同时,通过MOVE指令可以将IB0的值传送到MB0,W2的值传送给MW2,ID4的值传送给MD4。---熟悉西门子200PLC的朋友应该对这里边的M,Q,I,V区都比较了解,不了解的也没关系,后边我会对比来说!

再来看一段三菱FX5U的PLC程序:

三菱GX-Works3软件中的截图

这段程序是以三菱FX5Uplc为控制器编写的一段程序,和上边的西门子PLC很像,当然也没有特别的含义,只是用来对比!

程序是D0.0这个接点接通的话,Y0输出点就会输出,后边同样是三个MOVE指令! 第一个MOVE指令是实现将X0开始的一个字节传送到M0开始的一个字节中!第二个MOVE指令是实现将X20开始的2个字节也就是16位长度的值传送到M16开始的2个字节中!第三个MOVE指令是实现将X40开始的4个字节也就是长度32位的值传送到M32开始的4个字节中!

需要说一句的是MOV是16位的传送指令,而DMOV是32位的传送指令!

所以就上边的两个程序的来看,西门子200PLC和三菱FX5U的PLC可以有如下的对应关系:

就两个程序而言存在的对应关系图1

这个图片上我要说明的是西门子200PLC中的存储区和三菱FX5U的软元件,可以有如上的对应关系!

还可以再看一个图片:

就两个程序而言存在的对应关系图2

从这2个图表上可以看到,西门子PLC中的I0.0,Q0.0,V0.0,M0.0都表示一个位,而三菱PLC中的X0,Y0,D0.0,M0也都表示一个位!

西门子中IB0(I0.0--I0.7)表示一个字节,三菱中K2X0表示X0-X7这样的一个8位字节长区域!

西门子中IW0(I0.0--I1.7)表示一个字,三菱中K4X0表示X0-X17这样的一个16位字长区域!

西门子中ID0(I0.0--I3.7)表示一个双字,三菱中K4X0表示X0-X37这样的一个32位双字长区域!

还是先来看一下三菱FX5Uplc手册上的图片:

三菱手册上的截图

这个图片上可以看到K1X0就表示X0-X3这4个位,K2X0则表示X0-X7。在三菱中的K1X0这里的K1就表示4个连续的位,在三菱PLC中是一个重要概念!

X0-X37这样的32个位组成一个双字长度,从这个图片上可以看到X37是最高位,X0是最低位!---这个编排方法和西门子PLC中的编排方法不同的!后续有时间再来讨论和西门子不同!

本篇文章就先写到这里,感谢阅读!

我是控制研究控,欢迎关注,本文会在其他平台进行发布,作者均为控制研究控!

相关问答

plc双字用什么符号表示?

字节(8位)目前很少用了,目前一般直接用字(16位),系统各标志位可以直接读写某个字中的某个位,合并为一个状态字,当然也可以直接使用位;单字适用与整数处...字...

plc位字节字双字怎样应用?

题目太大了。常规是:1、字节:比较,判断、循环计数、从字或双字取出自己需要的字节来专门某个目的使用等等;2、字:正数运算、比较判断,数据输出、显示等等...

在西门子PLC编程中,什么时候用字节,什么时候用字,什么时候用双字?难道就不能用一种,如字节?

按照数据长度选用。8位数据用字节,比如IB0(包括I0.0~I0.7共8个位).16位数据用字,比如IW0(包括IB0、IB1共16位)32位数据用双字,比如MD100(包括MW100、MW10...

小弟初学PLC编程时,什么时候该用字节,什么时候该用字,什么时候该用双字?

字节只能表示0-255的数字。字可以表示0-65535,双字可以表示n多亿。如果你的数值不大或者需要按位寻址那么字节就行。如果数值较大用字。数值很大或浮点数那得...

plc位、字节、字、双字什么意思?

位就是0或1,二进制的一个位0或1字节是8个位,二进制00000000到11111111字是16个位,二进制0000000000000000到1111111111111111双字...

问个问题:西门子PLCSTL编程中有句:=L0.2表示什么意思?

=L0.2是输出L0.2。L0.2是位,最小的计算单位,是一个状态量。其中V是数据区,L是临时区,多用于中间过程或子程序里然后往上字节LB,字LW,双字LDW。看不动STL语句...

plc的位和节什么意思?

在PLC(可编程逻辑控制器)中,位(bit)和节(byte)是计量存储容量的单位。下面我将详细解释一下它们的含义和用途。1.位(bit):位是计算机中最小的存储单...通过...

BYTE在PLC中是什么意思?

在PLC中,位,就是用0、1代码表示bool量,即是bit字节是8个bit,即是byte。字就是2个字节。双字就是2个字。这些都是为了在设备中存储区使用方便,做的一些规定。...

连LS品牌PLC的D寄存器为什么是双字DW?

这里的DW并不是DoubleWord,他只是单纯的一个寄存器符号,呵呵。日韩的和台湾的程序中寄存器符号是不区分单字和双子的,是用指令来区分的。西门子是用W和D来...

plc编程常见问题?

1、同牌子的plc编程线不能兼容,不能通用。2、PLC程序用的不是汇编语言也不是C语言,而是梯形图、指令表,是要经过编译成二进制机器语言。3、PLC与个...1、同...

 冬令营  环渤海高铁 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部