『7x24小时有问必答』

▎西门子博途 LGF 库详解 · 16:类型转换(下)——格雷码、UTF8、儒略日、Unix时间戳、GPS 坐标

承接上一篇的基础类型转换,这篇覆盖 6 个编码和坐标转换块——从绝对值编码器的格雷码到天文计算的儒略日。

一、6 个块一览

类型转换组(4.8 Converter,下半)

| 块名 | 类型 | 版本 | 功能 |
|------|------|------|------|
| LGF_BinaryToGray | FC | V3.0.1 | 自然二进制 → 格雷码 |
| LGF_GrayToBinary | FC | V3.0.1 | 格雷码 → 自然二进制 |
| LGF_DecodeUtf8 | FC | V1.0.0 | UTF8 字节数组 → 解码后的字符串 |
| LGF_EncodeUtf8 | FC | V1.0.0 | 字符串 → UTF8 字节数组 |
| LGF_DTLToJulianDate | FC | V0.0.1 | DTL → 儒略日 |
| LGF_JulianTimeToDTL | FC | V0.0.1 | 儒略日 → DTL |
| LGF_DTLToUnixTime | FC | V3.0.2 | DTL → Unix 时间戳(秒) |
| LGF_UnixTimeToDTL | FC | V3.0.1 | Unix 时间戳 → DTL |
| LGF_GpsDDToGps | FC | V3.0.2 | GPS 十进制度 → 度分秒格式 |
| LGF_GpsToGpsDD | FC | V3.0.2 | GPS 度分秒 → 十进制度 |

二、引脚详解

#### LGF_BinaryToGray / LGF_GrayToBinary
引脚类型方向说明
valueDWordIN待转换的值
Ret_ValDWordOUT转换结果
#### LGF_DTLToUnixTime
引脚类型方向说明
dateDTLINDTL 格式的日期时间
Ret_ValDIntOUTUnix 时间戳(自 1970-01-01 起的秒数)
errorBoolOUT错误标志
statusWordOUT状态码
#### LGF_UnixTimeToDTL
引脚类型方向说明
unixTimeDIntINUnix 时间戳
Ret_ValDTLOUT对应的 DTL 日期时间
errorBoolOUT错误标志
statusWordOUT状态码
#### LGF_GpsToGpsDD
引脚类型方向说明
degreesDIntIN度(整数部分)
minutesDIntIN
secondsLRealIN秒(含小数)
eastWestBoolINTRUE=东经/北纬,FALSE=西经/南纬
Ret_ValLRealOUT十进制度(如 121.4767)
#### LGF_GpsDDToGps
引脚类型方向说明
decimalDegreeLRealIN十进制度
degreesDIntOUT
minutesDIntOUT
secondsLRealOUT
eastWestBoolOUT方向标志

三、实战案例

#### 案例 1:绝对值编码器格雷码解码
绝对值编码器输出 10 位格雷码,需要转成标准二进制再映射角度:

GrayToBinary 编码器解码

rawBinary := LGF_GrayToBinary(encoderGrayCode);
angle := rawBinary * 360.0 / 1024.0;   // 10位=1024个位置
#### 案例 2:云平台数据同步用 Unix 时间戳
阿里云 IoT 平台要求时间戳为 Unix 格式,PLC 需要上报设备数据的采集时间:

DTL To Unix 时间戳

unixTimestamp := LGF_DTLToUnixTime(currentDTL);
// 结果如 1749897600 = 2026-06-14 08:00:00 UTC
#### 案例 3:GPS 坐标从文档录入 PLC
设备手册上写的安装位置是"121°28'36"E",录入 PLC 时需要转成十进制度供 AstroClock(第 02 篇)使用:

GPS DMS → DD

longitudeDD := LGF_GpsToGpsDD(degrees := 121, minutes := 28, seconds := 36.0, eastWest := TRUE);
// 结果: 121.4767°

四、总结与下载

下载信息

| 项目 | 内容 |
|------|------|
| 库名称 | Library of General Functions (LGF) |
| SIOS-ID | 109479728 |
| 下载地址 | 中文站:www.ad.siemens.com.cn/download/documentdetail_12471.html |
| 当前版本 | V5.1.1(数据以此版为准;全球站另有 V5.2.1) |
| 费用 | 完全免费 |
下篇预告:LGF 库详解 · 17——温度单位转换。℃℉K°R,9 个块涵盖全部工业温度单位,外加通用转换器 ConvertTemperature。欢迎点赞、在看、转发

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

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

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

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码