▎西门子博途 LGF 库详解 · 15:类型转换(上)——Int/String/DTL/Time/Taddr 互转
MES 系统发来 "2026-06-14T08:30:00",要转成 DTL 才能和 PLC 时间比较。HMI 上显示的运行时间是 Time 类型,报表需要的却是字符串格式。这些转换需求每天都会遇到——LGF 的类型转换组 10 个块就是为它们准备的。
一、10 个块一览
类型转换组(4.8 Converter operations,上半)
| 块名 | 类型 | 版本 | 功能 |
|------|------|------|------|
| LGF_IntToString | FC | V3.0.1 | Int → String |
| LGF_StringToInt | FC | V3.0.1 | String → Int |
| LGF_DTLToString_DE | FC | V3.0.1 | DTL → "31.12.2025 23:59:59"(德国格式) |
| LGF_DTLToString_ISO | FC | V3.0.1 | DTL → "2025-12-31T23:59:59"(ISO 8601) |
| LGF_StringToDTL_DE | FC | V3.0.1 | 德国格式 String → DTL |
| LGF_StringToDTL_ISO | FC | V3.0.1 | ISO 格式 String → DTL |
| LGF_TimeToString | FC | V3.0.1 | Time → String |
| LGF_StringToTime | FC | V3.0.1 | String → Time |
| LGF_TaddrToString | FC | V3.0.1 | 定时器地址 → String |
| LGF_StringToTaddr | FC | V3.0.1 | String → 定时器地址 |
二、引脚详解
所有转换块接口统一:1 个输入 → 1 个输出。以关键块为代表:
#### LGF_DTLToString_ISO
引脚 | 类型 | 方向 | 说明 |
date | DTL | IN | 要转换的日期时间 |
Ret_Val | String | OUT | ISO 8601 格式字符串 |
#### LGF_StringToDTL_ISO
引脚 | 类型 | 方向 | 说明 |
inputString | String | IN | ISO 格式字符串,如 "2026-06-14T08:30:00" |
Ret_Val | DTL | OUT | 转换结果 |
error | Bool | OUT | 错误标志 |
status | Word | OUT | 状态码(16#8201=日期超范围) |
#### LGF_TimeToString / LGF_StringToTime
引脚 | 类型 | 方向 | 说明 |
value / inputString | Time / String | IN | Time 值或字符串 |
Ret_Val | String / Time | OUT | 转换结果 |
error | Bool | OUT | 错误标志(仅 StringToTime) |
status | Word | OUT | 状态码(仅 StringToTime) |
三、实战案例
#### 案例 1:MES 生产计划时间解析
MES 下发生产计划的开始时间为 "2026-06-14-08:30:00"(ISO 格式),需要判断当前时间是否已到达:
MES 时间解析
planStart := LGF_StringToDTL_ISO("2026-06-14-08:30:00");
IF currentTime >= planStart THEN startProduction(); END_IF;
#### 案例 2:HMI 显示累计运行时间
设备累计运行 1234567ms,HMI 需要显示 "0:20:34":
Time 转字符串显示
displayStr := LGF_TimeToString(T#1234567ms);
// 结果: 一个格式化的时间字符串
DE vs ISO 格式选择
德国客户习惯看 "14.06.2026",国际客户要 "2026-06-14"。如果你的设备出口到不同国家,在 HMI 上做一个格式选择开关,跑 DTLToString_DE 或 DTLToString_ISO 即可。内部逻辑不变。
四、总结与下载
下载信息
| 项目 | 内容 |
|------|------|
| 库名称 | Library of General Functions (LGF) |
| SIOS-ID | 109479728 |
| 下载地址 | 中文站:www.ad.siemens.com.cn/download/documentdetail_12471.html |
| 当前版本 | V5.1.1(数据以此版为准;全球站另有 V5.2.1) |
| 费用 | 完全免费 |
下篇预告:LGF 库详解 · 16——类型转换(下)。格雷码、UTF8、儒略日、Unix 时间戳、GPS 坐标——6 个块覆盖剩余的编码和天文转换。欢迎点赞、在看、转发。