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数据。(如下图所示)。不注意的话容易造成计算错误。
展开全文