背景

WinCC 经典版不能直连 S7-1200/1500 PLC,标准方案是通过 OPC Server(如 KepServer)桥接:

S7-1200/1500 → KepServer (S7 驱动) → WinCC (OPC Client)

这意味着需要做两件事:

  1. 在 KepServer 中逐个添加 PLC 变量
  2. 在 WinCC 中逐个连接 OPC 变量

对于一个 2000+ 变量的中大型项目,手工配置可能需要一整天。

SMART Exporter 的 TIA Portal 支持

SMART Exporter 现已支持 TIA Portal 导出的 SCL 数据块文件(.scl / .db / .txt),可以直接生成 KepServer 可导入的 17 列 OPC 变量 CSV。

支持的变量类型

SCL 类型 KepServer 数据类型 KepServer 地址格式 示例
Bool Boolean DBx.DBXy.z DB100.DBX394.4
Int / UInt Short DBx.INTy DB3.INT2
Real Float DBx.DBDy DB3.DBD500
DWord / UDInt DWord DBx.DBDy DB100.DBD100
Byte / Word Short DBx.INTy DB2.INT10
自定义 STRUCT 递归展开 按成员类型 —
数组 展开为独立变量 按元素类型 —

导出的 CSV 列结构(17 列)

列号 列名 示例
1 Tag Name "MAU1_RunState"
2 Address DB100.DBX0.0
3 Data Type Boolean / Short / Float / DWord
4 Respect Data Type 1
5 Client Access R/W
6 Scan Rate 100
7-16 Scaling 相关字段 空(可自行填入量程)
17 Negate Value 空

操作步骤

步骤一:从 TIA Portal 导出 SCL 源码

  1. 打开 TIA Portal 项目
  2. 在项目树中选中 "程序块"
  3. 菜单 → 工具 → 生成源 → 从块生成源
  4. 选择需要导出的数据块(DB),确认生成
  5. 在项目树 "外部源文件" 中找到生成的 .scl 文件,导出到本地

提示:.db 文件可以重命名为 .scl,工具会自动识别。扩展名 .scl、.db、.txt 均支持。

步骤二:上传到 SMART Exporter

打开 SMART Exporter 网页,将 SCL 文件拖拽到上传区。

工具会自动识别为 TIA Portal 格式,并显示 KepServer OPC 导出选项:

  • KepServer OPC — 17 列 OPC 变量 CSV
  • MCGS PRO (S7-1200) — 昆仑通态触摸屏导入格式

选择 KepServer OPC,点击"开始导出"。

步骤三:导入 KepServer

  1. 打开 KepServerEX 管理控制台
  2. 点击项目 → 属性 → CSV 导入导出
  3. 选择"导入" → 浏览到导出的 CSV 文件
  4. 点击"导入"按钮

KepServer 会自动创建所有变量标签,包括正确的地址和数据类型。

步骤四:在 WinCC 中连接

  1. 打开 WinCC 项目管理器
  2. 右键 "变量管理" → 添加新的驱动程序 → "OPC.chn"
  3. 右键 OPC 通道 → 系统参数 → 浏览本地计算机 → 选择 KepServer
  4. 在 OPC 通道中创建新的连接
  5. 右键连接 → 新建变量组 → 浏览 OPC Server 变量
  6. 选中需要导入的变量,确认添加

验证案例

使用 MAU-1-1 空调机房项目的 TIA Portal V20 工程:

  • 输入:6 个数据块(RunData、Alarm、Parameter、Comm、Sampling、Energy)
  • 输出:2152 个 KepServer 变量
  • 结果:CSV 可直接导入 KepServer,变量地址、类型均正确

常见问题

为什么部分 DB 块没有被导出?

SMART Exporter 采用白名单模式:只导出已知用途的数据块。如果你有些自定义 DB 没有被导出,这说明 DB 编号不在白名单中。后续版本将开放自定义白名单配置。

Bool 变量的位地址是如何计算的?

非优化访问的 DB 块中,Bool 变量按字节对齐,位地址从 0 开始递增。工具自动处理了偏移计算,与 TIA Portal 中的偏移完全一致。

支持优化访问的数据块吗?

当前版本仅支持非优化访问(绝对寻址)的数据块。优化访问的 DB 块中变量没有固定偏移地址,需要不同的导出策略。

WinCC RT Professional 需要什么额外步骤?

WinCC RT Professional 内置了 S7 通信驱动,可以直接连接 S7-1200/1500 而无需 OPC Server。但本文描述的是 WinCC 经典版(WinCC Classic / WinCC V7.x)的方案。

总结

SMART Exporter 的 TIA Portal → KepServer → WinCC 链路,把原来需要一整天的手工变量录入工作,压缩到了几分钟:

  1. TIA Portal 导出 SCL(30 秒)
  2. 网页上传导出 CSV(10 秒)
  3. KepServer 导入(10 秒)
  4. WinCC OPC 浏览导入(1 分钟)

对于 2000+ 变量的项目,效率提升是数量级的。如果你还有其他 SCADA 系统(如 IFix、InTouch),KepServer CSV 格式同样适用。