delphi 整形转换 默认为0_西门子PLC的数据类型及数据转换

这篇博客主要介绍了在Delphi中进行整形转换时如何设置默认值为0,同时探讨了西门子PLC的数据类型和转换方法。
摘要由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为假。 MB0赋值为2(0000 0010)即M0.1赋值为真,其余为假。 MB0赋值为3(0000 0011)即M0.1和M0.0赋值为真,其余为假。 5590a055af39230adf6d04bc79a8354a.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这么用。 47e00dbd13a8733db1f186e66970d402.png aef4dde3f94816d92b2a8998d3ff61f3.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这么用。 c2c1235bd1b946c05fb8087fbae95ad1.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. 位、字节、字、双字关系表 7f7eaa1cfc12e86f14901bdcd0547748.png 3. 应用举例 在PLC模拟量的采集和输出中,经常会用到数据类型转换和线性转换,这里只简单说一下。 在模拟量的采集中,采集到的数据类型为16位整型,要想把它转换为物理量,就需要线性转换,线性转换就涉及到加减乘除,就需要把整形转换为实数型。 在S71200,1500中,模拟量的寻址:如%IW9。 395410c82b8aa1779cc31e9a591cba32.png 在1200中,INT数据类型直接可以转换为Real类型 在S7300,200中,模拟量寻址:PIW0。 在300和200PLC中不允许INT直接转换为Real,先要把INT转化为DINT,然后把DINT转换为REAL。 d9e06f1ed40558f7579c6351169995dc.png ff7e346e63ac296400247827a4a853ea.png 06c85d3814c15529eba1b08b8ff6833a.png

关注我
每天更新电气知识

粒子工社-还技术以尊重

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值