标识与记录
I&M 与用户区记录是西门子式诊断的设备身份面。TIA 里看到的订货号 / 序列号 / 软硬件版本,与 GET /api/im 同源(控制器 IODRead 读的是同一份 I&M0)。
GET /api/im
栈在运行时真读 I&M0,imSource 为 "native"。栈未建 / 未运行 / 读取失败回退固定镜像,imSource 为 "fixed-image",并写服务日志。不虚构成功。
I&M1–4 在成功读到 I&M0 后再读。主站未写则字段为空,im14Supported 仍可为 true(读到了,只是空)。读失败不假装「未实现」,见 imNote。
GET /api/im HTTP/1.1
Host: 127.0.0.1
| 字段 | 说明 |
|---|---|
vendorId / deviceId | 厂商 / 设备标识 |
orderId / serialNumber | 订货号 / 序列号 |
hardwareRevision / softwareRevision | 硬件版本 / 软件版本(如 V1.0.0) |
stationName / productName | 站点名 / 产品名(服务配置) |
imSupported | 按掩码拼出的记录集(如 I&M0,I&M1-4) |
im14Supported | I&M1–4 是否读成功 |
im1TagFunction / im1TagLocation | I&M1 功能标签 / 安装位置 |
im2Date | I&M2 安装日期 |
im3Descriptor | I&M3 描述 |
im4SignatureHex | I&M4 签名 hex(全 0 / 未写 = 空串) |
imNote | 口径说明 |
imSource | native 或 fixed-image |
projectOrderNumber / projectHardwareRelease / projectSoftwareRelease | 工程 XML 标识(文件缺失则空,不阻断响应) |
timestamp | 本地时间 |
GET /api/records
用户区记录(Index 0x0000–0x7FFF),只含已占用槽。count = 当前占用条数,不是累计写入次数。
栈未运行或读取失败:records=[]、count=0,带 note,不返 500。
{
"records": [
{ "slot": 1, "subslot": 1, "index": 1, "length": 4, "dataHex": "01020304" }
],
"count": 1,
"note": "",
"timestamp": "…"
}
| 字段 | 说明 |
|---|---|
slot / subslot | 槽 / 子槽 |
index | 记录 Index |
length | 有效字节数 |
dataHex | 数据 hex;长度为 0 时为空串 |