PLC Tags,列 Name | Path | Data Type | Address | Comment | Hmi Visible | Hmi Accessible,
地址必须带 %(%I0.0 对,%IX0.0 会被拒)。
Name 的变量。列序对应变量表的
名称 | 数据类型 | 地址 | 注释。
拿到一张 IO 点表,你要在 TIA 里把它变成能用的东西。按你的习惯选:
程序里就能写 P101A_RunFb 这样的名字,不用记 I0.0。
_PLC变量表.xlsx这个 xlsx 是照 TIA 的要求造的:工作表名 PLC Tags、
固定 7 列、地址带 %(%I0.0 这种;%IX0.0 会被拒)、
类型用大写标准名(BOOL / INT)。少一个条件就导不进去,所以别自己改列。
不想折腾导入,就复制粘贴。西门子官方推荐的也是这个办法。
清单是 Tab 分隔的、没有表头 —— 这两点是有意的:
空格对齐的文本粘进去会全挤在一列;多一行表头 TIA 会把它变成一个叫 Name 的变量。
想用结构化 DB 管 IO("IO_Map".P101A.RunFb)就走这条。
.scl(记得把后缀改成 .scl)勾上「按位号分组」会生成嵌套结构,一个设备一个子结构,比平坦的一长串清楚。 ⚠ 优化访问的 DB 里没有绝对地址,地址只写在变量注释里 —— 真要查绝对地址就用「地址映射 CSV」或勾上「生成非优化偏移表」。
照下面这 8 列来最省事。但列名和顺序都不必一致 —— 工具按关键词自动认列(中英文都认),认不出来会在「识别明细」里告诉你它认成了什么,不闷头瞎猜。
| 位号 | 名称 | 类型 | 地址 | 变量名 | 注释 | 单位 | 量程 |
|---|---|---|---|---|---|---|---|
| P-101A | 1#给水泵 运行反馈 | DI | I0.0 | (可留空) | 接触器辅助触点 | ||
| P-101A | 1#给水泵 启动指令 | DO | Q0.0 | (可留空) | 至接触器线圈 | ||
| PT-101 | 1#泵出口压力 | AI | IW64 | (可留空) | 4~20mA 两线制 | MPa | 0~1.6 |
P-101A 这类设备位号。同一个位号可以出现多次(运行/故障/启停),工具会自动区分。DI / DO / AI / AO,也认 Bool / Int / Real / Word / 开关量 / 模拟量。I0.0、Q0.1、IW64、QW64、IB0、ID0、M0.0、MW10 都认,带 % 也认。省略区域字母时按类型推断(DI/AI → I,DO/AO → Q)。P-101A → P101A(仪表位号惯例,字母代号与数字直接相连);KV-101/2 → KV101_2PT-101 → PT101),不画蛇添足加后缀_DI / _DO / _AI / _AO),并明确告警T_ 前缀;撞上 S7 保留字(AND、Type…)加下划线;超 128 字符截断内置的功能关键词对照(共 0 条):
| 检查 | 级别 | 说明 |
|---|---|---|
| 地址完全相同 | 错误 | 两个点占同一个地址,DB 里必然有一个是废的 |
| 地址重叠 | 错误 | 如 IW64 与 I65.0、ID0 与 IW2;按位区间算,跨区域(I/Q/M)不算冲突 |
| 类型与地址宽度不符 | 警告 | Bool 配字地址、Int 配位地址、Real 只给 2 字节 |
| 模拟量在奇数字节 | 警告 | AI/AO 模块通道多数按 2 字节排,奇数字节常是笔误 |
| 信号方向与区域不符 | 警告 | DI 却用了 Q 地址、DO 却用了 I 地址 |
| 地址跳号 | 提示 | 同一区域内地址不连续,可能漏了通道 |
| 命名靠加序号区分 | 警告 | 说明关键词没区分开,建议手工改名 |
S7_Optimized_Access := 'TRUE'。关了就是标准访问(能用绝对地址,但没编译过之前拿不到偏移)。"IO_Map".P101A.RunFb。「PLC 变量表」和「粘贴清单」不受这两个开关影响。