基本数据类型

控制器支持的元素数据类型遵循 IEC 1131-3 定义的数据类型。基本数据类型包括:
数据类型
说明
范围
BOOL
1 位布尔型
0 = 已清除
1 = 设置
SINT
1 字节整型
-128 至 127
INT
2 字节整型
-32,768 至 32,767
DINT
4 字节整型
-2,147,483,648 至 2,147,483,647
LINT
8 字节整型
小贴士: LINT 数据类型在
CompactLogix
5370、
ControlLogix
5570、
Compact GuardLogix
5370 和
GuardLogix
5570 控制器上的使用受限。这些指令只能用于复制(COP、CPS)指令、CST/WallClock 时间属性、时间同步和 Add-On 自定义指令。
-9223372036854775808 至 9223372036854775807
DT
日期和时间。64 位存储;单位为微秒。
DT#1970-01-01-00:00:00.000_000(UTC+00:00) 到 DT#2250-12-31-23:59:59.999_999(UTC+00:00)
小贴士: 在某些时区(如新加坡),范围如下:
DT#1970-01-01-08:00:00.000_000(UTC+08:00) 到 DT#2251-01-01-07:59:59.999_999(UTC+08:00)
LDT
长型日期和时间。64 位存储;单位为纳秒。
LDT#1970-01-01-00:00:00.000_000(UTC+00:00) 到 LDT#2250-12-31-23:59:59.999_999_999(UTC+00:00)
小贴士: 在某些时区(如新加坡),范围如下:
LDT#1970-01-01-08:00:00.000_000_000(UTC+08:00) 到 LDT#2251-01-01-07:59:59.999_999_999(UTC+08:00)
TIME32
时间的持续时间。32 位存储;单位为微秒。
T32#-35m_47s_483ms_647us 到 T32#35m_47s_483ms_647us
TIME
时间的持续时间。64 位存储;单位为微秒。
T#-106750d_12h_59m_59s_999ms_999us 至 T#106750d_12h_59m_59s_999ms_999us
LTIME
长型时间持续时间。64 位存储;单位为纳秒。
LT#-106750d_12h_59m_59s_999ms_999us_999ns 至 LT#106750d_12h_59m_59s_999ms_999us_999ns
USINT
1 字节无符号整型
0 至 255
UINT
2 字节无符号整型
0 至 65,535
UDINT
4 字节无符号整型
0 至 4,294,967,295
ULINT
8 字节无符号整型
0 至 18,446,744,073,709,551,615
REAL
4 字节浮点型
-3.4028235E38 到 -1.1754944E-38
(负值)
0.0
1.1754944E-38 到 3.4028235E38
(正值)
LREAL
8 字节浮点数
-1.7976931348623157E308 到
-2.2250738585072014E-308
(负值)
0.0
2.2250738585072014E-308 到
1.7976931348623157E308
(正值)
这些控制器支持以下基本数据类型:
控制器
数据类型
CompactLogix
5380、
ControlLogix
5580、
Compact GuardLogix
5380、
GuardLogix
5580 和 ControlLogix 5590 控制器
SINT、INT、DINT、LINT、REAL
USINT、UINT、UDINT、ULINT、LREAL
CompactLogix
5370、
ControlLogix
5570、
Compact GuardLogix
5370 和
GuardLogix
5570 控制器
SINT、INT、DINT、LINT、REAL
控制器将所有立即数按 DINT 数据类型进行处理。
REAL 数据类型还存储 Plus or Minus sign 无穷大和 Plus or Minus sign NAN,但软件显示因显示格式而异。
数据类型转换
如果同一指令中的操作数混用多种不同的数据类型,有些指令会将数据自动转换为最适合该指令的数据类型。有些情况下,控制器将对数据进行转换以适应新的数据类型;有些情况下,控制器仅仅是尽可能适应数据。
转换
Result
较大的整数转换为较小的整数
控制器会截断较大整数的高位并生成溢出故障。
例如:
十进制
二进制
DINT
65,665
0000_0000_0000_0001_0000_0000_1000_0001
INT
129
0000_0000_1000_0001
SINT
-127
1000_0001
SINT 或 INT 到 REAL
数据精度无损失
DINT 转换为 REAL
可能会损失数据精度。两种数据类型都是以 32 位存储数据,但 REAL 类型 32 位中的一些位用于存储指数值。如果精度出现损失,控制器从 DINT 的最低有效位获取数据。
LREAL 到 LREAL
数据精度无损失。
LREAL 到 REAL
可能会损失数据精度。
LREAL/REAL 到无符号整型
可能会损失数据精度。如果源数据过大,无法存储在控制器的目标存储位置,则可能会溢出。
有符号整型/无符号整型到 LREAL/REAL
如果整型值的有效位过多,无法存储在目标位置,则低有效位将被截断。
有符号整型到无符号整型
如果源数据过大,无法存储在控制器的目标存储位置,则可能会溢出。
无符号整型到有符号整型
如果源数据过大,无法存储在控制器的目标存储位置,则可能会溢出。
REAL 转换为整型
控制器对小数部分进行四舍五入并截断非小数部分的高位。如果数据丢失,控制器会将溢出状态标志置位。
四舍五入至最接近的整数:
小于 0.5,舍去;等于 0.5,取为最接近的偶数;大于 0.5,则进位
例如:
REAL(源数据)
DINT(结果)
1.6
2
-1.6
-2
1.5
2
-1.5
-2
1.4
1
-1.4
-1
2.5
2
-2.5
-2
BOOL 数据类型无法与其他类型相互转换。
重要提示: 数学状态标志根据存储的值进行置位。对于通常不影响数学状态关键字的指令,如果由于指令参数混合使用不同数据类型而进行类型转换,可能会影响数学状态关键字。类型转换过程会将数学状态关键字置位。
安全数据类型
Logix Designer
应用程序会阻止修改用户定义的类型或 Add-On 定义的类型,以避免导致安全标签直接或间接引用的用户定义类型或 Add-On 定义类型的数据类型无效。(其中包括嵌套结构。)
安全标签可使用以下数据类型:
  • 所有基本数据类型。
  • 用于安全应用指令的预定义类型。
  • 用户定义数据类型或由前两个类型组成的数组。
安全标签中用户定义的数据类型成员名称的联机编辑
CompactLogix
5380、
Compact GuardLogix
5380、
ControlLogix
5580 和
GuardLogix
5580 控制器上,可以对用户自定义数据类型的成员名称进行联机编辑。但如果用户自定义数据类型用于安全标签,且控制器处于安全保护状态,联机编辑将被禁用。
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal