word和INT各自的区别以及总结下哪些可以替代互用,哪些不能互用?

电子说

1.2w人已加入

描述

大家在做PLC程序设计时有没有遇到过这种困惑:有的程序里INT 和WORD可以互用,但是有的不行,word和INT各自的区别以及总结下哪些可以替代互用,哪些不能互用?本文一起学习一下!

语言编程

一、区别的概述(着急的话看完这段就可以了)

1、WORD是无符号的数据类型;INT是有符号的数据类型(最高位为1表示负数,0表示正数)。通常情况下WORD用于逻辑运算,INT用于数学运算;在使用梯形图或SCL等语言编程时区分较严格。在使用语句表编程时系统不检测数据类型是否匹配,即WORD与INT在用法上没有什么区别(WORD可做数学运算,INT也可作逻辑运算)。

2、S7-300的WORD与INT的取值范围:

字的取值范围都是:W#16#0000~~~W#16#FFFF

十进制:

WORD:0-65535。

INT:-32768—+32767。

二、从编程角度分析一下(看完本段,知道然,并知道所以然)

1、讲解1

INT是一种数据类型,是16位整型数据,-32768-32767

WORD表示一个字,可以存放16位的数据,对于数据的类型没有具体的要求;

2、讲解2

数据类型INT 和WORD都是16位存储单元,但是INT是整数存储数据类型,存储的是整数,范围是-32768到+32767。WORD是字数据类型,如果存储数据的话是无符号整数0-65535。在STL语言编程中,数据类型不怎么区分 ,INT和WORD数据类型可以互用,但是在LAD语言编程中如果TNT和WORD数据类型互用会报错的。当然,你也可以在STEP7软件中设置在LAD编程模式下不区分数据类型就可以互用就不会报错了。但是不建议这样使用。

3、讲解3

给你一个很好理解方式,

就是如果你要用到负数,那只能用INT 因为INT是带符号的,最高位是符号位。

那么如果你没有符号需求,可以使用word 当然符号位也是数据,所以范围更大。

两者在用法上没有什么区别,但是在在LAD语言编程中如果TNT和WORD数据类型互用会报错的。

还有一点最值得注意的地方,你在给PIW这些通道添加符号注释的时候要注意数据类型,混淆了INT和WORD在调用FC105 你就会发现报错,这个很多人都会犯这个错误。

4、讲解4

INT是整数,取值范围-32768~32767。WORD是字,取值范围0~65535。

如果在调用的块中使用,注意块引脚指定的数据类型,使用的变量类型必须与引脚的数据类型一致才可以的。当然也要注意存储数值的范围。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分