西门子word与int的区别有哪些?

作者:老电工时间:2015-10-23 10:23:34

一、word与int的区别

通常情况下WORD用于逻辑运算,INT用于数学运算。在使用梯形图或SCL等语言编程时区分较严格。

在使用语句表编程时系统不检测数据类型是否匹配,即WORD与INT在用法上没有什么区别(WORD可做数学运算,INT也可作逻辑运算)。

一个是整型数,一个是字,数据的类型不一样。如在STEP7中:

INT的取值范围是:-32768——32767,是16位有符号整数;

WORD取值范围是:2#0---2#1111_1111_1111_1111;

W#16#0---W#16#FFFF

 B#(0,0)---B(255,255)

 C#0---C#999

是双字节数

INT和WORD的区别不在存储上,存储上是一样一样的,区别在用法上,一个寄存器里的数据存储都是一种方式,主要是你怎么用。

比如,一个16位的寄存器,里面的数据都是01010101这样的,如果你想做数学运算,比如加减乘除,就必须用INT类型来定义,如果你用与或非这种逻辑指令,就必须用WORD这种。关键是看你的指令,而不用管你的数据是怎么存放的,存放都是一样的。

再比如,两个连续的16位寄存器,你可以对每个寄存器进行INT运算,也可以两个一起进行浮点或是DINT运算,用什么指令,就用什么类型。

有些PLC,你把变量定义成INT后,这个变量就不能进行与或非逻辑处理。

二、Step7的数据类型中,INT和WORD有什么区别?

Word:相邻的两字节(Byte)组成一个字(Word),来表示一个无符号数,因此,字为16位。如:IW0是由IB0和IB1组成的,其中I是区域标识符,W表示字,0是字的起始字节。需要注意的是,字的起始字节(如上例中的“0”)都必须是偶数。字的范围为十六进制的0000~FFFF(即十进制的0~65536)。在编程时要注意,如果已经用了IW0,如再用IB0或IB1要特别加以小心。INT:整数为有符号数,最高位为符号位,1表示负数,0表示正数。范围为-32768~32767。

三、西门子s7-300PLC中字word和整数INT的区别是什么?

word是无符号的,或都是正数。

int是有符号的,最高位为1表示负数,0表示正数。

四、word和int的主要区别

作为整形数据输入,他们的用法是否一致,两种格式的数据混合换算是否可以?另外还有没别的区别?

通常情况下WORD用于逻辑运算,INT用于数*算;在使用梯形图或SCL等语言编程时区分较严格。

在使用语句表编程时系统不检测数据类型是否匹配,即WORD与INT在用法上没有什么区别(WORD可做数*算,INT也可作逻辑运算)。

PIW是一个16位数,系统默认为WORD数据类型,可在符号表中定义为INT数据类型;通常情况下WORD用于逻辑运算,INT用于数*算;在使用梯形图或SCL等语言编程时区分较严格,在使用语句表编程时系统不检测数据类型是否匹配,即WORD与INT在用法上没有什么区别(WORD可做数*算,INT也可作逻辑运算)什么区别(WORD可做数*算,INT也可作逻辑运算)。对于INT和WORD来说 其实它们都是16位的数据类型。如果确实要转换的话,直接用MOVE即可。

WORD数据长度为16位,这种数据可采用4种方法进行描述。

二进制:二进制的格式为2#,如2#101,取值范围为2#0~2#1111_1111_1111_1111,书写时每4位可用下划线隔开,也可直接表示为2#111111111111。

十六进制:十六进制的格式为W#16#,W代表WORD,表示数据长度为16位,#16#表示十六进制,数据取值范围为W#16#0~W#16#FFFF。

BCD码:BCD码的格式为C#,取值范围为C#0~C#999。BCD码是用4位二进制表示1位十进制数,4位二进制中的0000~1001组合分别表示十进制中的0~9,4位二进制中的1010~1111组合放弃不用。BCD码的最高4位用来表示符号,十六位BCD码的取值范围为-999~+999。在STEP7的数据格式中,BCD码的取值只取正值,与最高4位的符号无关。

无符号十进制数:无符号十进制数的格式为B#(×,×),取值范围为B#(0,0)~B#(255,255),无符号十进制数是用十进制的0~255对应二进制数中的0000_0000~1111_1111(8位),16位二进制数就需要两个0~255的数来表示,例如:

B#(12,254)=2#0000_1100_1111_1110

12        254

上面4种数据都是描述一个长度位16位的二进制数,无论你使用哪种方式都可以。例如,如果想得到二进制数0000100110000111,可以使用2#0000_1001_1000_0111,也可以使用W#16#987,还可以使用C#987或者B#(9,135)。在STEP7中,比较常用的是十六进制,即W#16#这种格式。

整INT数据类型长度为16位,数据格式为带符号十进制数,16位中最高为符号位。正整数是以原码格式进行存储的,如+786,对应的二进制码为2#0000_0011_0001_0010,而负整数则表示为正整数的二进制补码,即对应正整数的二进制码取反后加1,例如负整数-786,对应的二进制码为2#1111_1100_1110_1110。将负零(1000_0000_0000_0000)定义为-32768因此取值范围为-32768~32767。0表示正,1表示负。

本站仅提供信息发布平台,文章仅代表作者个人观点。

猜你喜欢

首页 > plc > 西门子plc