[西门子] STEP 7 (TIA Portal) 编程中,S7-1200/1500 数据类型转换与数据类...

[复制链接]
查看473 | 回复0 | 2024-5-31 15:36:27 | 显示全部楼层 |阅读模式


西门子PLC编程中,很多人对西门子庞大的数据类型充满问号,今天我们详细给你讲下西门子数据类型转换关系及数据类型说明

一、数据类型转换关系





二、数据类型说明


按照西门子数据类型分类可以分为 基本数据类型,系统数据类型,硬件数据类型三大类。1.基本数据类型
包括位、位序列、整数、浮点数、日期时间。

此外字符也属于基本数据类型可以参见本文 String 与 WString章节,此外 BCD 码虽然不属于数据类型,但也是一种数字表示方式。1.1位和位字符串


1.2整数数据类型


1.3浮点型实数数据类型
如 ANSI/IEEE 754-1985 标准所述,实(或浮点)数以 32 位单精度数 (Real) 或 64 位双精度数 (LReal) 表示,单精度浮点数的精度最高为 6 位有效数字。

而双精度浮点数的精度最高为 15 位有效数字,在输入浮点常数时,最多可以指定 6 位 (Real) 或 15 位 (LReal) 有效数字来保持精度。



1.4时间和日期数据类型



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 小时/天)、分钟和秒。可以选择指定小数秒格式。

DTL(日期和时间长型)数据类型使用 12 个字节的结构保存日期和时间信息。可以在块的临时存储器或者 DB 中定义 DTL 数据。必须在 DB 编辑器的"起始值"(Start value) 列为所有组件输入一个值。

DTL结构的元素如下表:



1.5字符和字符串数据类型

Char 在存储器中占一个字节,可以存储以 ASCII 格式(包括扩展 ASCII 字符代码)编码的单个字符。WChar 在存储器中占一个字的空间,可包含任意双字节字符表示形式。
编辑器语法在字符的前面和后面各使用一个单引号字符。可以使用可见字符和控制字符。CPU 支持使用 String 数据类型存储一串单字节字符。String 数据类型包含总字符数(字符串中的字符数)和当前字符数。String 类型提供了多达 256个字节,用于在字符串中存储最大总字符数(1 个字节)、当前字符数(1 个字节)以及最多 254 个字节,String 数据类型中的每个字节都可以是从 16#00 到16#FF 的任意值。String 数据类型示例:


WString 数据类型支持单字(双字节)值的较长字符串。第一个字包含最大总字符数;下一个字包含总字符数,接下来的字符串可包含多达 65534 个字。每个字都可以是从 16#0000 到 16#FFFF 的任意值。

WString 数据类型示例:



1.6数组数据类型

可以创建包含多个相同数据类型元素的数组,请为数组命名并选择数据类型"Array [lo .. hi] of type",然后根据如下说明编辑"lo"、"hi"和"type":

● lo - 数组的起始(最低)下标

● hi - 数组的结束(最高)下标

● type - 数据类型之一,例如 BOOL、SINT、UDINT



示例:数组声明

ARRAY[1..20] of REAL 一维,20 个元素

ARRAY[-5..5] of INT 一维,11 个元素

ARRAY[1..2, 3..4] of CHAR 二维,4 个元素

示例:数组地址

ARRAY1[0] ARRAY1 元素 0

ARRAY2[1,2] ARRAY2 元素 [1,2]

ARRAY3[i,j] 如果 i =3 且 j=4,则对 ARRAY3 的元素 [3, 4] 进行寻址
1.7结构数据类型
STRUCT 数据类型表示由固定数目的多种数据类型的元素组成的数据结构。数据类型 STRUCT 或 ARRAY 的元素还可以在结构中嵌套。嵌套深度限制为 8 级。结构可用于根据过程控制系统分组数据以及作为一个数据单元来传送参数。

对于 S7-1200 或 S7-1500 系列 CPU,可最多创建 65534 个结构。其中每个结构可最多包括 252 个元素。

下图为数据类型 STRUCT 的示例:



结构所在的DB块名为“结构示例”,则可以使用 "结构示例".产品规格.长度 访问结构的第一个元素长度。
2.系统数据类型
系统数据类型:系统数据类型 (SDT) 由系统提供并具有预定义的结构。系统数据类型的结构由固定数目的可具有各种数据类型的元素构成。不能更改系统数据类型的结构。

系统数据类型只能用于特定指令,下表给出了可用的系统数据类型及其用途:



3.硬件数据类型
硬件数据类型:硬件数据类型由 CPU 提供,可用硬件数据类型的数目取决于 CPU。

根据硬件配置中设置的模块存储特定硬件数据类型的常量,在用户程序中插入用于控制或激活已组态模块的指令时,可将这些可用常量用作参数。






延伸小知识:PLC-Recorder专业数据采集与分析软件可以采集字符串变量,和数值变量一样便捷。

后期我们会不定期奉献更多PLC工程小技巧。加关注,不迷路。







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则