线下实训
HOME
线下实训
正文内容
PLC编程中双字 详解几个使用频率较高的S7-200SMART PLC传送指令,PLC编程不慌张
发布时间 : 2024-11-24
作者 : 小编
访问数量 : 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中的位字字节双字谁能够给我详细的解释下还有他们是用来...

[最佳回答]八个位是一个字节,两个字节是一个字,两个字就是双字.比如一个位用I0.0表示,就代表输入的第一位.IB0表示一个字节;W表示一个字,DW表示一个双字.八个...

三菱plc位字双字怎样理解?

1三菱PLC位字双字是指在三菱PLC编程中,变量类型可以分为位(0或1)、字节(8位二进制数)和双字节(16位二进制数)三种。2位可表示一个开关量,字节可以表示8...1...

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

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

在西门子PLC编程中,什么时候用字节,什么时候用字,什么时...

再给你说我要帮你写这些...com/question/530155302?&oldq=1你先看看上面的链接(我的回答)。然后我再给你说说为什么要用这些东西。再给你说我要帮...

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

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

西门子plc中字节中:字和双字各能存储多少个数字?

最少得1个字可以存1个数据,其占用的存储空间为16位,去除最高位符号位,其存储的数据为负2的15次方到正2的15次方减一。;双字其占用的存储空间为32为,去除最高...

信捷plc大于等于怎么输入?

在信捷PLC的ladderdiagram编程软件中,使用大于等于(≥)操作符时,需要使用符号:">=",这可以在程序代码中直接输入。例如,如果你要比较变量A是否大于等于...

不明白模拟量输入值是如何转换成双字的?

模拟量从模拟模块里采集到PLC里,被放在AIW里,是个字,然后要转换成双字,为的是接下来的计算,根据公式计算出真正的模拟值,是个浮点数。模拟量从模拟模块里采集...

plc中字节怎么写?

拿西门子200PLC做例子,比如V存储区的数据,一个字节是8个位,字节用B表示,那么字节的地址就是VB??,比如VB100,这表示一个字节的数据,数据地址就在V存储区1...拿...

PLC中cf113什么意思-ZOL问答

也就是PLC运行时一直闭合的一个位。也叫常通位。用于执行需要一直执行的命令。有用(0)回复tucqb1980换个版本试试,电脑的系统版本和软件版本都可能会造成...

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

QQ

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

热线

188-0000-0000
专属服务热线

微信

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