plc-200中MD 和 VD 的区别是什么 有人说MD断电保持 可我发现VD断电后里面的数也没变啊

plc-200中MD 和 VD 的区别是什么 有人说MD断电保持 可我发现VD断电后里面的数也没变啊,第1张

MD是内部辅助继电器区的双字,这个区域默认的有两个范围:M00~M137位断电不保持,M140~M317位断电保持。

VD是数据存储区的双字,这个区域默认的全部是断电保持。你可以按这个范围试一下看

S7 系列的PLC M区寄存器可以按位寻址,安字节寻址,安字寻址,安双字寻址

最常用的是位寻址:例如:M10 M11 M12 等

字节寻址:MB1 MB2 MB3 等

字寻址:MW0 MW2 MW4

双字寻址:MD0 MD4  MD8

解释的不够详细,欢迎继续提问

用指令树。根据查询相关资料显示,plcmd转mw需要用指令树中的转换器转换。MB表示长度为字节的 *** 作数在内部存储区,MW表示长度为字的 *** 作数在内部存储区,MD表示长度为双字的 *** 作数在内部存储区。

问题有歧义

如果是问底层原理,建议你随便找本西门子PLC入门的书籍,一般开篇就会讲解PLC的工作原理,包括信号的采集、转换、存储、计算、数据的处理、再转换、输出。。。等等,这个基本上所有牌子的PLC都大同小异

如果是问西门子PLC程序的执行规则

那么无论是200、300、400、1200、1500、smart中的哪个系列

都是采用的循环扫描的方式

比如你在OB1中编写了3段程序

那么PLC在执行的时候是按照从上到下,从左到右逐行扫描的方式进行的

比如你在第一段给MD0赋值100,然后把MD0转换为浮点赋值给他自己

第二段给MD0赋值10000,然后把MD0转换成双整赋值给它自己

第三段给MD0赋值500,然后转换成浮点赋值给他自己

假如这个程序只执行一次,那么MD0的最终结果是5000

但是因为它是循环扫描,因此MD0的数值以及数据类型在程序执行过程中实际上一直在变,只不过你监控的时候肉眼看不出来,此时你用WINCC连接PLC把MD0显示出来,I/O域设置成浮点或者双整,你会发现这个I/O窗口的数值一会正常,一会不正常

除了循环扫描,西门子PLC还有调用子程序和中断的概念

如果你学过单片机,这俩概念很容易理解,几乎是一回事

但是调用子程序和中断仍然也是遵循上面的规律,只不过程序发生了跳转而已

西门子PLC数组的使用方法是:新建一个DB块,建块时选择"shared DB",并在DB_VAR变量的INT中直接修改变量的属性即可。具体的数组使用例子如下:

在ARRAY变量类型的中括号中写入1到20,表示数组从DB_VAR[1]开始,到DB_VAR[20]结束。在ARRAY下一行选择INT即可完成INT量的数组构建了。

在用户程序执行阶段,PLC总是按由上而下的顺序依次地扫描用户程序(梯形图)。在扫描每一条梯形图时,又总是先扫描梯形图左边的由各触点构成的控制线路。

并按先左后右、先上后下的顺序对由触点构成的控制线路进行逻辑运算,然后根据逻辑运算的结果,刷新该逻辑线圈在系统RAM存储区中对应位的状态。

或者刷新该输出线圈在I/O映象区中对应位的状态;或者确定是否要执行该梯形图所规定的特殊功能指令。

扩展资料:

西门子PLC数组的输入采样原理:

在输入采样阶段,PLC以扫描方式依次地读入所有输入状态和数据,并将它们存入I/O映象区中的相应得单元内。输入采样结束后,转入用户程序执行和输出刷新阶段。

在这两个阶段中,即使输入状态和数据发生变化,I/O映象区中的相应单元的状态和数据也不会改变。

因此,如果输入是脉冲信号,则该脉冲信号的宽度必须大于一个扫描周期,才能保证在任何情况下,该输入均能被读入。

参考资料来源:百度百科—西门子PLC

以上就是关于plc-200中MD 和 VD 的区别是什么 有人说MD断电保持 可我发现VD断电后里面的数也没变啊全部的内容,包括:plc-200中MD 和 VD 的区别是什么 有人说MD断电保持 可我发现VD断电后里面的数也没变啊、西门子s7系列PLC中MD11是指什么、plcmd转mw怎么转等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9874714.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存