SIEMENS西门子浙江省宁波市(授权)一级代理商——西门子伺服电机华东总代理

供应商
广东湘恒智能科技有限公司
认证
西门子总代理
PLC
西门子一级代理商
驱动
西门子代理商
伺服电机
联系电话
15903418770
手机号
15915421161
联系人
张经理
所在地
惠州大亚湾澳头石化大道中480号太东天地花园2栋二单元9层01号房
更新时间
2024-05-31 07:00

详细介绍

一、基本数据类型包含哪些?

 

以西门子tias7-1200为例来说,1200的基本数据类型包括:二进制数、整数、浮点数、定时器数据、时间和日期、字符串等。下面主要以容易混淆的二进制数、整数和浮点数进行解读:

 

1、二进制数(bool、byte、word、dword、lword)

 

(1)bool型:布尔,是表示1位的值,就是说0或1。

 

(2)byte:字节,是位字符串,占有8位,举例说2#0 到2#1111_1111,对应16进数就是16#00—16#ff。如ib2、mb10、db1.dbb4

 

(3)word:字,是位字符串,占有16位,举例说:2#0到2#1111 1111 11111111,对应的16进制数就是16#0—16#ffff。如mw10、db2.dbw1。

 

(4)dword:双字,是位字符串占有32位,举例说:2#0到2#1111 1111 1111 1111 1111 11111111 1111,对应的16进制数就是16#0—16#ffff ffff。如md10、db2.dbd1。

 

2、整数(sint、usint、int、uint、dint、udint、lint、ulint),这里的s代表短,u代表无符号、d代表双。

 

(1)sint和usint

 

这两种相同的是短整形数,占8位,地址举例:mb0,db1.dbb0。但是这两种的取值范围是不同的。

 

sint:有符号短整形,取值范围-128—127,2#0—2#0111 1111,高位为符号位,

 

usint:无符号短整形,取值范围0—255,2#0—2#1111 1111

 

(2)int和uint

 

这两种相同的是整形数,占16位,地址举例:mw0,db1.dbw0。但是这两种的取值范围是不同的。

 

int:有符号整形,取值范围-32768—32767,2#0—2#0111 1111 11111111,高位为符号位,

 

usint:无符号短整形,取值范围0—65535,2#0—2#1111 1111 1111 1111

 

(3)ldnt和udint

 

这两种相同的是双整形数,占32位,地址举例:md0,db1.dbd0。但是这两种的取值范围是不同的。

 

dint:有符号整形,取值范围-2,—2,,2#0—2#0111 1111 11111111 1111 1111 1111 1111,高位为符号位,

 

udint:无符号整形,取值范围0—4,294,967,295,2#0—2#1111 1111 1111 1111 11111111 1111 1111

 

3、浮点数

 

实(或浮点)数以 32 位单精度数 (real) 或 64位双精度数 (lreal) 表示。 单精度浮点数的精度高为6位有效数字,而双精度浮点数的精度高为 15 位有效数字。

 

在输入浮点常数时,多可以指定 6 位 (real) 或 15 位 (lreal) 有效数字来保持精度。

 

总结下:上述数据类型是我们在编程中常用到的数据类型,通过上面的介绍大家应该对它们有一定的了解,虽然可能不同数据类型的数据占有的字节数是相同,但是它们的数据其实是不同的,比如,int和word都是16位,但是它们包含数据内容是不同的,在编程中一定要注意。通常来说,word常用于逻辑计算,int常用于数学计算,对于博途tias7-1200使用scl编程时区分是比较严格的。

 

二、如何定义数据类型

 

在编程中我们一般要先定义好数据类型,比如在数据块中定义数据类型,下面以在db块中定义数据类型为例,看看不同的数据类型地址有什么变化。

 

建立如下数据块,并建立一下数据包含不同数据类型:

从上图看不到偏移量,这时因为tia中的db块默认勾选“优化的块访问”,只能显示符号地址,而没有偏移量,可以在块属性中将“优化的块访问”去掉即可,

 

下面就看看不同数据类型的地址:

 

plc基本数据类型的解读(避免在使用中的误解)

从上图大家能发现什么?

 

(1)bool型,虽然只有一位,但是也要占一个字节。

(2)sint usint和byte都是1个字节,但是它们的初始值的格式是不同的。同样word和int也是一样2个字节,所以,在数据类型分类,将word归到二进制数中,一般用于逻辑运算,而int用于数学运算。

 

(3)real是4个字节,在进行数学计算时要注意,比如,我前面写转换指令文章#跟我一起看1200手册之基本指令(转换指令)如何使用中用到的求平方根指令,就是对real型数据进行计算,所以,在选择数据时我使用的dint数据。(如下图所示)。不注意的话容易造成计算错误。


 


PLC,变频器,代理商,一级代理,伺服电机

展开全文

我们其他产品
我们的新闻
咨询 在线询价 拨打电话