西门子real是什么数据类型_西门子PLC的数据类型及数据转换

本文详细介绍了西门子PLC中的数据类型,包括位、字节、字、双字、整型数、双整型数和浮点数(Real)。内容涵盖了各种数据类型的取值范围、寻址方式和应用实例,特别强调了数据类型转换在模拟量处理中的重要性。
摘要由CSDN通过智能技术生成

1. 数据类型

在PLC项目编程中,离不开数据类型和变量,搞清楚数据类型和数据类型的转换很重要。

常用的数据类型包括以下几种:

位(bit),字节(Byte),字(Word),双字(Double Word),整型数(INT),双整型书(DINT),及实数/浮点数(Real)

1.1 位(bit)

常称作布尔量BOOL,在高级语言中,会说布尔变量,布尔控件等。

取值:0 ,1

寻址:I0.0 M0.0 Q0.0 等。

应用:在DI,DO梯形图编程中,会大量用到I点,M点,Q点。

1.2 字节(Byte)

8个bit组成一个Byte,其中0位表示最低位,7位表示最高位。如MB0(包括M0.0-M0.7位),IB0(包括I0.0-I0.7位),QB0(包括Q0.0-Q0.7位)。

寻址:MB0,IB0,QB0,VB0等。

范围:00-FF(十进制0-255)

应用:MB0赋值为1(0000 0001)即M0.0赋值为真,其余M0.1-M0.7为假。

MB2赋值为1(0000 0010)即M0.1赋值为真,其余为假。

MB3赋值为1(0000 0011)即M0.1和M0.0赋值为真,其余为假。

······

f39fff4c380e64947524be0f0b6a1ffe.png

1.3 字(Word)

相邻的两个字节(Byte)组成一个字(Word),来表示一个无符号数。一个Word包括16bit。

寻址:MW0,IW0,QW0,VW0等。

范围:0000-FFFF(十进制0-65536)

应用:在模拟量的处理采集中会大量涉及到Word的应用。要注意数据的转换,在后面一块说。

······

注意:相邻两个字要慎用,如MW0(MB0+MB1),MW1(MB1+MB2),所以用了MW0,再用就从MW2,MW4这么用。

da347094b540fd554a30c831081c5d7a.png
9bba9ec630307b9a3348ef4dd9dc900a.png

1.4 双字(Double Word)

相邻的两个字(Word)组成一个字(DWord),来表示一个无符号数。一个双字包括32bit。如MD0由MW0(MB0,MB1),MW2(MB2,MB3)组成。

寻址:MD0,ID0,QD0,VD0等。

范围:0000 0000-FFFF FFFF(十进制0-4294967295)

应用:在模拟量的处理采集中会大量涉及到DWord的应用。要注意数据的转换,在后面一块说。

······

注意:相邻两个字要慎用,如MD0(MW0+MW1),MD2(MW2+MW3),所以用了MD0,再用就从MD2,MD4这么用。

cdc3b95c5394351edc820240f6cc0940.png

1.5 16位整形(INT,Integer)

整数为有符号数,最高位为符号位,1表示负数,0表示正数。范围为-32768-32767.

寻址:MW0,IW0,QW0,VW0,DB1.DBW0等。

范围:-32768-32767

应用:IW0包括IB0和IB1,IB0为高字节,IB1为低字节;

注意:16位整形数和Word的寻址地址是一样的,这里就看把这个寻址地址定义为什么数据类型了。

注意2:注意区分寻址地址和数据类型,这里讨论的是数据类型。可以把一个寻址地址(DB1.DBW0)里的数定义为无符号数(Word)或(INT)

1.6 32位整形(INT,Integer)

一个32位整数里包括两个字或者说4个字节共32位(bit0-bit31),最高位的bit31表示符号位,bit31=1表示为负数。

寻址:MD0,ID0,QD0,VD0,DB0.DBD0等。

范围:-2147483648-2147483647

注意:32位整形数和DWord的寻址方式是一样的,这里就看把这个寻址地址定义为什么数据类型了。

注意2:注意区分寻址地址和数据类型,这里讨论的是数据类型。可以把一个寻址地址(DB1.DBD0)里的数定义为无符号数(DWord)或(DINT)

1.7 实数/浮点数(Real)

浮点数为32为,可以用小数来表示。

寻址:MD0,ID0,QD0,VD0,DB0.DBD0等。

范围:±1.75495×10 -38-±1.75495×10 38

2. 位、字节、字、双字关系表

9b1690f17fa7e9e656fdd55ab6b7b350.png

3. 应用举例

在PLC模拟量的采集和输出中,经常会用到数据类型转换和线性转换,这里只简单说一下,具体应用在下一篇中介绍。

在模拟量的采集中,采集到的数据类型为16位整型,要想把它转换为物理量,就需要线性转换,线性转换就涉及到加减乘除,就需要把整形转换为实数型。

在S71200,1500中,模拟量的寻址:如%IW9。

4c0538da22de835c7d9969faae8877d1.png

在1200中,INT数据类型直接可以转换为Real类型

在S7300,200中,模拟量寻址:PIW0。

在300和200PLC中不允许INT直接转换为Real,先要把INT转化为DINT,然后把DINT转换为REAL。

9059c7257f7d717b246b1816dc71ae7d.png
ab3f3cca19e27b8dd8b1e2acbd080999.png
  • 19
    点赞
  • 103
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值