最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

M区和V区的不同

IT圈 admin 25浏览 0评论

2024年3月23日发(作者:归诗翠)

M区和V区的差别

M区只有32Byte,32x8=256位,用一个字节即可寻址,而V区的位只少要两个字节才能寻址

一位,请比较:

LDM0.0//2byte

LDV0.0//3byte

LDV511.0//3byte

LDV512.0

//5byte!

另外,V区有断电永久数据保存能功(数十年),M区断电只有短暂的保存能力

(几天)

两者没有本质区别,除了S7-200提到的一点外,还有就是M区容量小,也只有前14字节

可以永久保存,而V区通过程序任何子节都可以永久保存(SM31,SM32).

另外,您提

到的m0.0-m0.7,不完全对,实际上M区都可以用于那个功能,只是数量是8位,应该改

为Mx.0----Mx.7。

只有M区的前14字节可以通过设定后CPU自动永久保存。V区不用SM31SM32是不可

能实现永久保存的,设定的是靠电容保持。

这个概念我在96年就有了,现在变了吗?

不会的,我想还是您错了。

万泉河:确认一下。

不针对任何人,我想对于一些基

本的概念,大家应该有一个一致的、明确的结论。

V区和M区一样可以做永久保存,V区和M区一样可以当Byte/Word/DWord/bit,M区32

字节256位,不多不少,位地址合一个字节长,所以把它当做位变量时,可以达到较高的

编码效率。

所以M区有中间继电器的说法。

至于TD200使用M区来记录

KEY,也是因为它适合做位变量。

还有不同意见吗?

只有输入输出口(I 和Q)才可以强制的,M和V存贮器中值可以用状态表中的“写入”工

具来更改其值。

1、V和M没有变质的区别,地位几乎可以互换;

2、V多而M少。M少可以使指令码短,存贮和执行效率提高。

3、M有规定的一些使用,比如MB0-MB13如设为保持的话,在断电时是直接写eeprom

的,属永久型保持,除此之外的保持是临时的由超级电容或电池保持的。

4、V容量大,使用V比使用M指令代码要长,当然时间上也费一些。同样的V区,我

发现也有分区的情况,V0-V511是一块,相应的指令代码就比V512以上的要短,但是执行

时间上是否有区别,没有考证。所以经常使用的V变量,应放在V511之前,可以缩短指令

代码的长度。

5、V和M由于符号上的区别,习惯上把它们的用途作一些分类,比如M主要用来作位

变量,这样程序的可读性就更好。

这应该是针对S7-200 CPU的编程。300及400 CPU 没有V存储器。

从定义上来说,

1、V存储器称为”变量存储器“,可以以位(Vx.x),字节(VBx),字(VWx),双字

(Vx)来访问,您可以用V存储器存储程序执行过程中控制逻辑操作的中间结果,也可以

用它来保存与工序或任务相关的其他数据。

2、M存储器称为”状态存储器“,可以用位存储区作为控制继电器来存储中间操作状态和控

制信息。当然也可以如V存储器一样按位、字节、字或双字来访问。

V存储器地址范围一般比MV存储器地址范围大得多。

V属于数据区 M属于状态区

还有就是MODBUS的时候 只能认V 却不认M

2、200的M相当于300的M

200的V相当于300的DB

区别在于字节数。V字节在4000以上,M就18个

用起来设置掉电保持了完全一样。

300没有V,但有数据块

足够你用的了

用法上区别不大,但各有特点。

V区:容量大,偏重于存放数据。寻址时一般按字节、字、双字寻址,当然也可按位寻址。

M区:容量小,偏重于存放位状态。寻址时一般按位寻址。当然也可按字节、字、双字寻址。

有什么严格的区别?那看你是否按照下述约定来使用了。西门子的例程中是按照下述约定来编程的:

PLC执行程序过程中,会存在一些控制过程的中间结果,这些中间数据也需要用存储器来保存。变量存

储器就是根据这个实际的要求设计的。变量存储器是S7-200CPU为保存中间变量数据而建立的一个存储

区,用V表示。可以按位、字节、字、双字四种方式来存取。共有5120个字节.

2.位存储器(M)区

PLC执行程序过程中,可能会用到一些标志位,这些标志位也需要用存储器来寄存。位存储器就是根据

这个要求设计的。位存储器是S7-200CPU为保存标志位数据而建立的一个存储区,用M表示。该区虽

然叫位存储器,但是其中的数据不仅可以是位、还可以是字节、字或双字.共有32个字节.

作用是一样的东西,区别就是M数比V要少,所以你完全可以全用V,可以不用M,相当于一个生产工

厂,假如生产同一个产品,那么这一个是小工厂,一个是大工厂,还有一个最大的区别就是,M点不可以

设为断电保持,而V可以设为断电保持,当将其设为断电不保持之后,那它的作用与M完全一样,记住

1.变量存储器(V)(相当于内辅继电器)

是一样。

M0-M13存储区有一个特殊用途,就是将它们设为掉电保存后,里面的数据会永久保存,不受断电影响。

2.位存储器(M)区变量存储器是S7-200CPU为保存中间变量数据而建立的一个存储区,用V表示。可

以按位、字节、字、双字四种方式来存取。共有5120个字节.位存储器是S7-200CPU为保存标志位数据

而建立的一个存储区,用M表示。该区虽然叫位存储器,但是其中的数据不仅可以是位、还可以是字节、

字或双字.共有32个字节.

200中M区和V区用起来没有区别。M区比V区小。我习惯只用V区。

300中的M区就相当于200中的V区,一点区别都没有。V区怎么用,300中的M区就怎么用。

M区和V区我认为有以下几方面的差别:

10240字节。

2.断电保存:v区可以保存在由超级电容或电池卡供电的RAM中,也可以通过数据块或编程写入

EEPROM中。M区中MB0-MB13只能保存在EEPROM中,MB14-MB31只能保存在由超级电容或电池

卡供电的RAM中。

3.开机数据更新:因为数据保存的位置差别,开机的数据更新也有差别

总之,从实际使用而言,可以简单的理解为M区小一些,V区大一些。

有什么严格的区别?那看你是否按照下述约定来使用了。西门子的例程中是按照下述约定来编程的:

1.变量存储器(V)(相当于内辅继电器)

PLC执行程序过程中,会存在一些控制过程的中间结果,这些中间数据也需要用存储器来保存。变量存

储器就是根据这个实际的要求设计的。变量存储器是S7-200CPU为保存中间变量数据而建立的一个存储

区,用V表示。可以按位、字节、字、双字四种方式来存取。共有5120个字节.

2.位存储器(M)区

PLC执行程序过程中,可能会用到一些标志位,这些标志位也需要用存储器来寄存。位存储器就是根据

这个要求设计的。位存储器是S7-200CPU为保存标志位数据而建立的一个存储区,用M表示。该区虽

然叫位存储器,但是其中的数据不仅可以是位、还可以是字节、字或双字.共有32个字节.

按习惯来区别,V是 数据区 M时位状态区。

小的区别在,

有的比如数据块只能对V区进行赋值,

一些功能库块的参数也定义特定的区进行存储

个人觉得:两者用法基本相同。

细微差别:M大多情况下用作中间变量,位存取(尽管它也可以以字节、字、双字存取),并且200提供

的M变量不是很多M0.0-M31.7共32个字节。特殊情况,M0-M13这14个字节可以设置成永久性断电

保持寄存器区

200提供的V变量存储器区要大得多,在网络中与上位机交换数据一般只能用V变量

V和M基本上功能一样,但是V的内存区域大,所以一般用V存放模拟量数值和运算中间量,而M区域

一般用数字量的中间继电用。

使用上就没有什么严格的区分,VD MD 之间都可以通用。

1.存储区大小:M区一共32字节,V区根据不同的CPU类型有所差别。222为2048字节,226为

V区的数据具有断电保护功能,M区的数据断电保护范围需要设置过 v区比较大,而且掉电可以保存,其

他功能和m差不多

1、V和M没有变质的区别,地位几乎可以互换;

2、V多而M少。M少可以使指令码短,存贮和执行效率提高。

3、M有规定的一些使用,比如MB0-MB13如设为保持的话,在断电时是直接写eeprom的,属永久型保

持,除此之外的保持是临时的由超级电容或电池保持的。

4、V容量大,使用V比使用M指令代码要长,当然时间上也费一些。同样的V区,我发现也有分区的情

况,V0-V511是一块,相应的指令代码就比V512以上的要短,但是执行时间上是否有区别,没有考证。

所以经常使用的V变量,应放在V511之前,可以缩短指令代码的长度。

5、V和M由于符号上的区别,习惯上把它们的用途作一些分类,比如M主要用来作位变量,这样程序的

可读性就更大

另外,4个32位的AC与S7-300/400完全不一样。这4个AC的功能太退化了,可以不用

理会。在V区里开4个VD,其功能足以替代4个AC。

S7-200的数据主要分为:

与实际输入/输出信号相关的输入/输出映象区:

I:数字量输入(DI)

Q:数字量输出(DO)

AI:模拟量输入

AQ:模拟量输出

内部数据存储区:

V:变量存储区,可以按位、字节、字或双字来存取V 区数据;

M:位存储区,可以按位、字节、字或双字来存取M区数据;

T:定时器存储区,用于时间累计,分辨率分为1ms、10ms、100ms三种;

C:计数器存储区,用于累计其输入端脉冲电平由低到高的次数。CPU提供了三种类 型的

计数器:一种只能增计数;一种只能减计数;另外一种既可 以增计数,又可以减计数。

M区数据不够用怎么办?

回答:有些用户习惯使用M 区作为中间地址,但S7-200CPU中M区地址空间很小,只有

32个字节,往往不够用。而S7-200CPU中提供了大量的V 区存储空间,即用户数据空间。

V区:变量存储区

M区:位存储区

其实根本没有任何区别。在S7-200中仿佛你找不到像S7-300/400里的数据块。但仔细在

MicroWin编辑器里看一下会找到一个数据块按钮。点开后,编辑的是V区的内容。几乎

所有的数据类型都可用在这两个区里。但我从未在M区里用过实数,不知能不能在M区

用实数,估计能用但没意义,因为M区太小了。因此,即使你不用M区,所用的数据全

部放在V区也无妨,仅仅感觉不习惯。这点有些类似 S7-300/400里,你不用M区,开一

个数据块替代M区。

但S7-200里有3个区是值得好好研究的:HC高速计数, S顺控标志, SM系统标志。

可读性就更大

他功能和m差不多

一般用数字量的中间继电用。

1、V和M没有变质的区别,地位几乎可以互换;

2、V多而M少。M少可以使指令码短,存贮和执行效率提高。

持,除此之外的保持是临时的由超级电容或电池保持的。

V区的数据具有断电保护功能,M区的数据断电保护范围需要设置过 v区比较大,而且掉电可以保存,其

V和M基本上功能一样,但是V的内存区域大,所以一般用V存放模拟量数值和运算中间量,而M区域

3、M有规定的一些使用,比如MB0-MB13如设为保持的话,在断电时是直接写eeprom的,属永久型保

所以经常使用的V变量,应放在V511之前,可以缩短指令代码的长度。

况,V0-V511是一块,相应的指令代码就比V512以上的要短,但是执行时间上是否有区别,没有考证。

5、V和M由于符号上的区别,习惯上把它们的用途作一些分类,比如M主要用来作位变量,这样程序的

4、V容量大,使用V比使用M指令代码要长,当然时间上也费一些。同样的V区,我发现也有分区的情

V存储区相对很大,其用法与M 区相似,可以按位、字节、字或双字来存取V 区数据。

例:V10.1, VB20, VW100, VD200等等

2024年3月23日发(作者:归诗翠)

M区和V区的差别

M区只有32Byte,32x8=256位,用一个字节即可寻址,而V区的位只少要两个字节才能寻址

一位,请比较:

LDM0.0//2byte

LDV0.0//3byte

LDV511.0//3byte

LDV512.0

//5byte!

另外,V区有断电永久数据保存能功(数十年),M区断电只有短暂的保存能力

(几天)

两者没有本质区别,除了S7-200提到的一点外,还有就是M区容量小,也只有前14字节

可以永久保存,而V区通过程序任何子节都可以永久保存(SM31,SM32).

另外,您提

到的m0.0-m0.7,不完全对,实际上M区都可以用于那个功能,只是数量是8位,应该改

为Mx.0----Mx.7。

只有M区的前14字节可以通过设定后CPU自动永久保存。V区不用SM31SM32是不可

能实现永久保存的,设定的是靠电容保持。

这个概念我在96年就有了,现在变了吗?

不会的,我想还是您错了。

万泉河:确认一下。

不针对任何人,我想对于一些基

本的概念,大家应该有一个一致的、明确的结论。

V区和M区一样可以做永久保存,V区和M区一样可以当Byte/Word/DWord/bit,M区32

字节256位,不多不少,位地址合一个字节长,所以把它当做位变量时,可以达到较高的

编码效率。

所以M区有中间继电器的说法。

至于TD200使用M区来记录

KEY,也是因为它适合做位变量。

还有不同意见吗?

只有输入输出口(I 和Q)才可以强制的,M和V存贮器中值可以用状态表中的“写入”工

具来更改其值。

1、V和M没有变质的区别,地位几乎可以互换;

2、V多而M少。M少可以使指令码短,存贮和执行效率提高。

3、M有规定的一些使用,比如MB0-MB13如设为保持的话,在断电时是直接写eeprom

的,属永久型保持,除此之外的保持是临时的由超级电容或电池保持的。

4、V容量大,使用V比使用M指令代码要长,当然时间上也费一些。同样的V区,我

发现也有分区的情况,V0-V511是一块,相应的指令代码就比V512以上的要短,但是执行

时间上是否有区别,没有考证。所以经常使用的V变量,应放在V511之前,可以缩短指令

代码的长度。

5、V和M由于符号上的区别,习惯上把它们的用途作一些分类,比如M主要用来作位

变量,这样程序的可读性就更好。

这应该是针对S7-200 CPU的编程。300及400 CPU 没有V存储器。

从定义上来说,

1、V存储器称为”变量存储器“,可以以位(Vx.x),字节(VBx),字(VWx),双字

(Vx)来访问,您可以用V存储器存储程序执行过程中控制逻辑操作的中间结果,也可以

用它来保存与工序或任务相关的其他数据。

2、M存储器称为”状态存储器“,可以用位存储区作为控制继电器来存储中间操作状态和控

制信息。当然也可以如V存储器一样按位、字节、字或双字来访问。

V存储器地址范围一般比MV存储器地址范围大得多。

V属于数据区 M属于状态区

还有就是MODBUS的时候 只能认V 却不认M

2、200的M相当于300的M

200的V相当于300的DB

区别在于字节数。V字节在4000以上,M就18个

用起来设置掉电保持了完全一样。

300没有V,但有数据块

足够你用的了

用法上区别不大,但各有特点。

V区:容量大,偏重于存放数据。寻址时一般按字节、字、双字寻址,当然也可按位寻址。

M区:容量小,偏重于存放位状态。寻址时一般按位寻址。当然也可按字节、字、双字寻址。

有什么严格的区别?那看你是否按照下述约定来使用了。西门子的例程中是按照下述约定来编程的:

PLC执行程序过程中,会存在一些控制过程的中间结果,这些中间数据也需要用存储器来保存。变量存

储器就是根据这个实际的要求设计的。变量存储器是S7-200CPU为保存中间变量数据而建立的一个存储

区,用V表示。可以按位、字节、字、双字四种方式来存取。共有5120个字节.

2.位存储器(M)区

PLC执行程序过程中,可能会用到一些标志位,这些标志位也需要用存储器来寄存。位存储器就是根据

这个要求设计的。位存储器是S7-200CPU为保存标志位数据而建立的一个存储区,用M表示。该区虽

然叫位存储器,但是其中的数据不仅可以是位、还可以是字节、字或双字.共有32个字节.

作用是一样的东西,区别就是M数比V要少,所以你完全可以全用V,可以不用M,相当于一个生产工

厂,假如生产同一个产品,那么这一个是小工厂,一个是大工厂,还有一个最大的区别就是,M点不可以

设为断电保持,而V可以设为断电保持,当将其设为断电不保持之后,那它的作用与M完全一样,记住

1.变量存储器(V)(相当于内辅继电器)

是一样。

M0-M13存储区有一个特殊用途,就是将它们设为掉电保存后,里面的数据会永久保存,不受断电影响。

2.位存储器(M)区变量存储器是S7-200CPU为保存中间变量数据而建立的一个存储区,用V表示。可

以按位、字节、字、双字四种方式来存取。共有5120个字节.位存储器是S7-200CPU为保存标志位数据

而建立的一个存储区,用M表示。该区虽然叫位存储器,但是其中的数据不仅可以是位、还可以是字节、

字或双字.共有32个字节.

200中M区和V区用起来没有区别。M区比V区小。我习惯只用V区。

300中的M区就相当于200中的V区,一点区别都没有。V区怎么用,300中的M区就怎么用。

M区和V区我认为有以下几方面的差别:

10240字节。

2.断电保存:v区可以保存在由超级电容或电池卡供电的RAM中,也可以通过数据块或编程写入

EEPROM中。M区中MB0-MB13只能保存在EEPROM中,MB14-MB31只能保存在由超级电容或电池

卡供电的RAM中。

3.开机数据更新:因为数据保存的位置差别,开机的数据更新也有差别

总之,从实际使用而言,可以简单的理解为M区小一些,V区大一些。

有什么严格的区别?那看你是否按照下述约定来使用了。西门子的例程中是按照下述约定来编程的:

1.变量存储器(V)(相当于内辅继电器)

PLC执行程序过程中,会存在一些控制过程的中间结果,这些中间数据也需要用存储器来保存。变量存

储器就是根据这个实际的要求设计的。变量存储器是S7-200CPU为保存中间变量数据而建立的一个存储

区,用V表示。可以按位、字节、字、双字四种方式来存取。共有5120个字节.

2.位存储器(M)区

PLC执行程序过程中,可能会用到一些标志位,这些标志位也需要用存储器来寄存。位存储器就是根据

这个要求设计的。位存储器是S7-200CPU为保存标志位数据而建立的一个存储区,用M表示。该区虽

然叫位存储器,但是其中的数据不仅可以是位、还可以是字节、字或双字.共有32个字节.

按习惯来区别,V是 数据区 M时位状态区。

小的区别在,

有的比如数据块只能对V区进行赋值,

一些功能库块的参数也定义特定的区进行存储

个人觉得:两者用法基本相同。

细微差别:M大多情况下用作中间变量,位存取(尽管它也可以以字节、字、双字存取),并且200提供

的M变量不是很多M0.0-M31.7共32个字节。特殊情况,M0-M13这14个字节可以设置成永久性断电

保持寄存器区

200提供的V变量存储器区要大得多,在网络中与上位机交换数据一般只能用V变量

V和M基本上功能一样,但是V的内存区域大,所以一般用V存放模拟量数值和运算中间量,而M区域

一般用数字量的中间继电用。

使用上就没有什么严格的区分,VD MD 之间都可以通用。

1.存储区大小:M区一共32字节,V区根据不同的CPU类型有所差别。222为2048字节,226为

V区的数据具有断电保护功能,M区的数据断电保护范围需要设置过 v区比较大,而且掉电可以保存,其

他功能和m差不多

1、V和M没有变质的区别,地位几乎可以互换;

2、V多而M少。M少可以使指令码短,存贮和执行效率提高。

3、M有规定的一些使用,比如MB0-MB13如设为保持的话,在断电时是直接写eeprom的,属永久型保

持,除此之外的保持是临时的由超级电容或电池保持的。

4、V容量大,使用V比使用M指令代码要长,当然时间上也费一些。同样的V区,我发现也有分区的情

况,V0-V511是一块,相应的指令代码就比V512以上的要短,但是执行时间上是否有区别,没有考证。

所以经常使用的V变量,应放在V511之前,可以缩短指令代码的长度。

5、V和M由于符号上的区别,习惯上把它们的用途作一些分类,比如M主要用来作位变量,这样程序的

可读性就更大

另外,4个32位的AC与S7-300/400完全不一样。这4个AC的功能太退化了,可以不用

理会。在V区里开4个VD,其功能足以替代4个AC。

S7-200的数据主要分为:

与实际输入/输出信号相关的输入/输出映象区:

I:数字量输入(DI)

Q:数字量输出(DO)

AI:模拟量输入

AQ:模拟量输出

内部数据存储区:

V:变量存储区,可以按位、字节、字或双字来存取V 区数据;

M:位存储区,可以按位、字节、字或双字来存取M区数据;

T:定时器存储区,用于时间累计,分辨率分为1ms、10ms、100ms三种;

C:计数器存储区,用于累计其输入端脉冲电平由低到高的次数。CPU提供了三种类 型的

计数器:一种只能增计数;一种只能减计数;另外一种既可 以增计数,又可以减计数。

M区数据不够用怎么办?

回答:有些用户习惯使用M 区作为中间地址,但S7-200CPU中M区地址空间很小,只有

32个字节,往往不够用。而S7-200CPU中提供了大量的V 区存储空间,即用户数据空间。

V区:变量存储区

M区:位存储区

其实根本没有任何区别。在S7-200中仿佛你找不到像S7-300/400里的数据块。但仔细在

MicroWin编辑器里看一下会找到一个数据块按钮。点开后,编辑的是V区的内容。几乎

所有的数据类型都可用在这两个区里。但我从未在M区里用过实数,不知能不能在M区

用实数,估计能用但没意义,因为M区太小了。因此,即使你不用M区,所用的数据全

部放在V区也无妨,仅仅感觉不习惯。这点有些类似 S7-300/400里,你不用M区,开一

个数据块替代M区。

但S7-200里有3个区是值得好好研究的:HC高速计数, S顺控标志, SM系统标志。

可读性就更大

他功能和m差不多

一般用数字量的中间继电用。

1、V和M没有变质的区别,地位几乎可以互换;

2、V多而M少。M少可以使指令码短,存贮和执行效率提高。

持,除此之外的保持是临时的由超级电容或电池保持的。

V区的数据具有断电保护功能,M区的数据断电保护范围需要设置过 v区比较大,而且掉电可以保存,其

V和M基本上功能一样,但是V的内存区域大,所以一般用V存放模拟量数值和运算中间量,而M区域

3、M有规定的一些使用,比如MB0-MB13如设为保持的话,在断电时是直接写eeprom的,属永久型保

所以经常使用的V变量,应放在V511之前,可以缩短指令代码的长度。

况,V0-V511是一块,相应的指令代码就比V512以上的要短,但是执行时间上是否有区别,没有考证。

5、V和M由于符号上的区别,习惯上把它们的用途作一些分类,比如M主要用来作位变量,这样程序的

4、V容量大,使用V比使用M指令代码要长,当然时间上也费一些。同样的V区,我发现也有分区的情

V存储区相对很大,其用法与M 区相似,可以按位、字节、字或双字来存取V 区数据。

例:V10.1, VB20, VW100, VD200等等

发布评论

评论列表 (0)

  1. 暂无评论