• 沒有找到結果。

PLC 概念 3

TIME 32 位 存储形式

6.2.2 时钟和日历指令

日期和时间指令

日期和时间指令用于设计日历和时间计算。

● T_CONV 用于转换时间值的数据类型: (Time 转换为 DInt)或(DInt 转换为 Time)

● T_ADD 用于将 Time 与 DTL 值相加: (Time + Time = Time) 或 (DTL + Time = DTL)

● T_SUB 用于将 Time 与 DTL 值相减: (Time - Time = Time) 或 (DTL - Time = DTL)

● T_DIFF 提供两个 DTL 值的差作为 Time 值: DTL - DTL = Time

长沙工控帮教育科技有限公司整理

数据类型 大小(位) 有效范围

Time 32

存储形式

T#-24d_20h_31m_23s_648ms 到 T#24d_20h_31m_23s_647ms

-2,147,483,648 ms 到 +2,147,483,647 ms DTL 数据结构

年:UInt 16 1970 到 2554 月:USInt 8 1 到 12

日:USInt 8 1 到 31

工作日:USInt 8 1 = 周日到 7 = 周六 小时:USInt 8 0 到 23

分钟:USInt 8 0 到 59

秒:USInt 8 0 到 59

纳秒:UDInt 32 0 到 999,999,999

T_CONV(时间转换)将 Time 数据类型转换为 DInt 数据类型,或将 DInt 数据类型转回 Time 数据类型。

参数 参数类型 数据类型 说明

IN IN DInt、Time 输入的 Time 值或 DInt 值 OUT OUT DInt、Time 转换后的 DInt 值或 Time 值 从指令名称下方提供的下拉列表中选择 IN 和 OUT 的数据类型。

T_ADD(时间相加)将输入 IN1 的值(DTL 或 Time 数据类型)与输入 IN2 的 Time 值相加。 参数 OUT 提供 DTL 或 Time 值结果。

长沙工控帮教育科技有限公司整理

允许以下两种数据类型的运算:

● Time + Time = Time

● DTL + Time = DTL

参数 参数类型 数据类型 说明

IN1 IN DTL、Time DTL 或 Time 值 IN2 IN Time 要加上的 Time 值 OUT OUT DTL、Time DTL 或 Time 和值

从指令名称下方提供的下拉列表中选择 IN1 的数据类型。 所选的 IN1 数据类型同时也会设置 参数 OUT 的数据类型。

T_SUB(时间相减)从 IN1(DTL 或 Time 值)中减去 IN2 的 Time 值。

参数 OUT 以 DTL 或 Time 数据类型提供差值。

允许以下两种数据类型的运算:

● Time - Time = Time

● DTL - Time = DTL

参数 参数类型 数据类型 说明

IN1 IN DTL、Time DTL 或 Time 值 IN2 IN Time 要减去的 Time 值 OUT OUT DTL、Time DTL 或 Time 差值

从指令名称下方提供的下拉列表中选择 IN1 的数据类型。所选的 IN1 数据类型同时也会设置 参数 OUT 的数据类型。

T_DIFF(时间差)从 IN1 DTL 值中减去 IN2 的 DTL 值。 参数 OUT 以 Time 数据类型提供差值。

 DTL - DTL = Time

长沙工控帮教育科技有限公司整理

参数 参数类型 数据类型 说明

IN1 IN DTL DTL 值

IN2 IN DTL 要减去的 DTL 值 OUT OUT Time Time 差值

条件代码: ENO = 1 表示未发生错误。 ENO = 0 和参数 OUT = 0 表示出现以下错误:

● DTL 值无效

● Time 值无效

时钟指令

时钟指令用于设置和读取 PLC 系统时钟。 使用数据类型 DTL 提供日期和时间值。

DTL 结构 大小 有效范围

年:UInt 16 位 1970 到 2554

月:USInt 8 位 1 到 12

日:USInt 8 位 1 到 31

工作日:USInt 8 位 1 = 周日到 7 = 周六

小时:USInt 8 位 0 到 23

分钟:USInt 8 位 0 到 59

秒:USInt 8 位 0 到 59

纳秒:UDInt 32 位 0 到 999,999,999

WR_SYS_T(写入系统时间)使用参数 IN 中的 DTL 值设置 PLC 日时 钟。该时间值不包括本地时区或夏令时偏移量。

参数 参数类型 数据类型 说明

长沙工控帮教育科技有限公司整理

RD_SYS_T(读取系统时间)从 PLC 读取当前系统时间。该时间值不包括 本地时区或夏令时偏移量。

参数 参数类型 数据类型 说明

RET_VAL OUT Int 执行条件代码 OUT OUT DTL 当前 PLC 系统时间

RD_LOC_T(读取本地时间)以 DTL 数据类型提供 PLC 的当前本地时 间。

参数 参数类型 数据类型 说明

RET_VAL OUT Int 执行条件代码 OUT OUT DTL 当地时间

● 通过使用用户在 CPU 时钟设备配置中设置的时区和夏令时偏移量计算本地时间。

● 时区组态是相对于协调世界时 (UTC, Coordinated Universal Time) 系统时间的偏移 量。

● 夏令时组态指定夏令时开始时的月份、星期、日期和小时。

● 标准时间组态也会指定标准时间开始时的月份、星期、日期和小时。

● 时区偏移量始终会应用到系统时间值。 只有在夏令时有效时才会应用夏令时偏移量。

条件代码: ENO = 1 表示未发生错误。 ENO = 0 表示发生了执行错误,同时在 RET_VAL 输出中提供条件代码。

RET_VAL (W#16#....)

说明

0000 无错误

8080 本地时间不可用

8081 非法年份值

长沙工控帮教育科技有限公司整理

RET_VAL (W#16#....)

说明

8082 非法月份值

8083 非法日期值

8084 非法小时值

8085 非法分钟值

8086 非法秒数值

8087 非法纳秒值

80B0 实时时钟发生了故障

6.2.3 字符串和字符指令