西门子中国(授权)一级代理 内蒙古自治区代理商PLC
| 更新时间 2024-11-16 08:00:00 价格 请来电询价 西门子变频器 西门子触摸屏 西门子伺服电机 西门子PLC 西门子直流调速器 西门子电缆 联系电话 13922889745 联系手机 18475208684 联系人 向小姐 立即询价 |
在开始本次分享之前,先声明几个我们控制中常用的几个概念特别是字节和位的概念:
计算机/PLC处理器中不能直接识别数字,只能识别二进制数字即0,1码;
位:Bit,PLC程序中Zui小的数据单位;
字节:Byte,1个字节由8个位组成;
字:Word ,2个字节,16个位组成;(列举常用的,下面有详细解释)
浮点数/实数:float或Real,4个字节,32个位组成
所有整数数据的Zui大值(无符号)计算即2的位次方-1,例如:位:2^1^-1=1; 字:2^16^-1=65535
对于有符号(即正负数)整数,Zui高位代表符号位,当Zui高位为1时代表负数;以有符号整数int为例:Zui小值=-(2^15^)=-32768,Zui大值=2^15^-1=32767**(为什么不是-32767~+32767是因为+0,-0的存在,人为规定Zui小值是-32768)**
一基本数据类型基本数据类型:包括位、位序列、整数、浮点数、日期时间。此外字符也属于基本数据类型
位和位序列
注意:虽然位序列有数值表示方式,但一般不直接用于数学运算。通常在控制字、状态字、错误代码、标志字、状态位集合等处使用位序列。而数学运算使用下面的整数数据类型与浮点数数据类型。
整数数据类型
数据类型位大小数值类型数值范围常数示例地址示例Bool1布尔运算FALSE 或者 TRUETRUEI1.0
Q0.1
M50.7
DB1.DBX2.3
Tag_name
二进制2#0 或 2#12#0无符号整数0 或 11八进制8#0 或 8#18#1十六进制16#0 或 16#116#1数据类型位大小数值范围常数示例地址示例USInt80 到 25578、2#01001110MB0
DB1.DBB4
Tag_name
SInt8-128 到 127+50、16#50UInt160 到 6553565295、0MW2
DB1.DBW2
Tag_name
Int16-32768 到 3276730000、+30000UDInt320 到 4_294_967_2954042322160MD6
DB1.DBD8
Tag_name
DInt32-2_147_483_648 到 2_147_483_647-2131754992浮点型实数数据类型
如 ANSI/IEEE 754-1985 标准所述,实(或浮点)数以 32 位单精度数 (Real) 或 64 位双精度数 (LReal) 表示。 单精度浮点数的精度Zui高为 6 位有效数字,
而双精度浮点数的精度Zui高为 15 位有效数字。在输入浮点常数时,Zui多可以指定 6 位 (Real) 或 15 位 (LReal) 有效数字来保持精度。
数据类型位大小数值范围常数示例地址示例Real32-3.402823e+38 到 -1.175495e-38、±0、+1.175 495e-38 到 +3.402823e+38123.456、-3.4、1.0e-5MD100
DB1.DBD8
Tag_name
LReal64-1.7976931348623158e+308 到 -2.2250738585072014e-308、±0、
+2.2250738585072014e-308 到 +1.7976931348623158e+30812345.123456789e40、1.2E+40
DB_name.var_name
注意:
• 不支持直接寻址
时间和日期数据类型
TIME 数据作为有符号双整数存储,基本单位为毫秒。存储的数值是多少,就代表有多少 ms。 编辑时可以选择性使用天 (d)、小时(h)、分钟 (m)、秒 (s) 和毫秒 (ms) 作为单位。不需要指定全部时间单位。 例如,T#5h10s 和 500h 均有效。所有指定单位值的组合值不能超过以毫秒表示的时间日期类型的上限或下限(-2,147,483,648 ms 到 +2,147,483,647 ms)。
DATE 数据作为无符号整数值存储,被解释为添加到基础日期 1990 年 1 月 1 日的天数,用以获取指定日期。 编辑器格式必须指定年、月和日。
TOD (TIME_OF_DAY) 数据作为无符号双整数值存储,被解释为自指定日期的凌晨算起的毫秒数(凌晨 = 0 ms)。 必须指定小时(24 小时/天)、分钟和秒。 可以选择指定小数秒格式。
数据类型位大小范围常数示例Time32T#-24d_20h_31m_23s_648ms 到 T#24d_20h_31m_23s_647ms存储形式: -2,147,483,648 ms 到 +2,147,483,647 ms
T#5m_30s
T#1d_2h_15m_30s_45ms
TIME#10d20h30m20s630ms
500h10000ms
10d20h30m20s630ms
DATE16D#1990-1-1 到 D#2168-12-31D#2009-12-31
DATE#2009-12-31
2009-12-31
TOD/
Time_of_Day
TOD#10:20:30.400
TIME_OF_DAY#10:20:30.400
23:10:1
二结构数据类型(Struct)Struct类型是一种由多个不同数据类型元素组成的数据结构,其元素可以是基本数据类型,也可以是Struct、数组等复杂数据类型以及PLC数据类型(UDT)等。Struct类型嵌套Struct类型的深度限制为 8 级。Struct类型的变量在程序中可作为一个变量整体,也可单独使用组成该Struct的元素。Struct 类型可以在DB、OB/FC/FB接口区、PLC数据类型(UDT) 处定义使用。
Struct数据类型使用非常灵活(小编的Zui爱),随时可以使用;可以使程序数据结构更加清晰直观,易于维护,扩展性强;例如将相同类型电机相关的数据以结构体存放,便于批量复制和使用;
image-20240514150457587
三PLC数据类型(UDT)从TIA 博途 V11 开始,S7-1200 支持PLC数据类型(UDT)。
UDT类型是一种由多个不同数据类型元素组成的数据结构,元素可以是基本数据类型,也可以是STRUCT、数组等复杂数据类型以及其它UDT等。UDT类型嵌套UDT类型的深度限制为 8 级。UDT类型可以在DB、OB/FC/FB接口区处使用。从TIA 博途 V13SP1 开始,S7-1200 V4.0开始,PLC变量表中的I和Q也可以使用UDT类型。 UDT类型可在程序中统一更改和重复使用,一旦某UDT类型发生修改,执行软件全部编译可以自动更新所有使用该数据类型的变量。
image-20240514151358553
四S7-1200 数组数据类型(ARRAY)ARRAY类型是由数目固定且数据类型相同的元素组成的数据结构。 ARRAY类型的定义和使用需要注意以下几点:
ARRAY类型可以在DB、OB/FC/FB接口区、PLC数据类型处定义;无法在PLC变量表中直接定义。数组定义:Array[维度1下限..维度1上限,维度2下限..维度2上限,...]of数组元素的数据类型包括:除数组类型、Variant类型以外的所有类型;数组下标的数据类型为整数,下限值必须小于或等于上限值;从S7-1200 V2.0开始,下标可以不仅仅是常数、常量,也可以是变量,还可以是混合使用(多维数组),如果编程语言是SCL的话,下标还可以是表达式。W0这种没有对应符号名的juedui地址。从S7-1200 V4.2开始,FC的Input/Output/InOut以及FB的InOut可以定义形如Array[*]这种变长数组,要求必须是优化FC/FB块,在调用FC/FB的实参中可以填写任意数据类型相同的数组变量;数组可以使用单个数组元素例如"DB1".Static_1[1],也可以使用整个数组例如"DB1".Static_1。S7-1200 V4.2开始,多重背景支持数组形式,即Array of FB,这样可以在FB中使用循环指令更方便的编写程序。image-20240514152535582
联系方式
- 电 话:13922889745
- 经理:向小姐
- 手 机:18475208684
- 微 信:18475208684