为什么需要 OPC Server?
在工业自动化中,SCADA 系统(如 WinCC)需要读取 PLC 中的实时数据。不同品牌的 PLC 有不同的通信协议,WinCC 经典版无法直接连接所有 PLC。
OPC(OLE for Process Control)是一种工业标准通信协议。通过 OPC Server 作为中间层,可以实现 任意 PLC ↔ 任意 SCADA 的互通:
PLC (任意品牌)
│
└──→ OPC Server (KepServer / SIMATIC NET)
│
├──→ WinCC
├──→ IFix
├──→ InTouch
└──→ 其他 SCADA / MES / ERP
KepServer — 最常用的 OPC Server
KepServerEX 是工业自动化领域使用最广泛的 OPC Server 软件,主要特点:
- 内置 150+ 种通信协议驱动,覆盖几乎所有主流 PLC 品牌
- 支持 OPC DA / OPC UA 两种标准接口
- 支持 CSV 批量导入导出变量,大幅提升组态效率
- 可同时连接多台不同品牌的 PLC
KepServer 的变量管理方式
KepServer 提供了两种添加变量的方式:
| 方式 | 操作 | 适合场景 |
|---|---|---|
| 手工添加 | 逐个右键 → 新建标签 → 填写地址和类型 | 10 个以内的变量 |
| CSV 批量导入 | 导出模板 → 填入 → 导入 | 50+ 变量的项目 |
用 SMART Exporter 批量生成 KepServer CSV
SMART Exporter 已支持生成标准 KepServer 17 列 OPC 变量 CSV,覆盖两条主要路径:
路径一:S7-1200/1500(TIA Portal)
- 从 TIA Portal 导出 SCL 数据块源文件(
.scl/.db/.txt) - 上传到 SMART Exporter,选择 "KepServer OPC" 格式
- 下载生成的 CSV
KepServer 地址格式:
DB100.DBX394.4(Bool)、DB3.DBD500(Real)
详见:S7-1200/1500 通过 KepServer 导入 WinCC 配置教程
路径二:S7-200 SMART
即将上线 — SMART → KepServer 导出功能开发中
S7-200 SMART PLC 不支持 WinCC 直连,同样需要 OPC Server 桥接。SMART Exporter 即将支持将 .smart / .smartV3 工程文件直接导出为 KepServer OPC CSV。
操作步骤
步骤一:获取 KepServer CSV 变量表
无论是哪种 PLC 来源,SMART Exporter 生成的 CSV 格式完全一致:
| 列 | 字段 | 说明 |
|---|---|---|
| 1 | Tag Name | 变量名 |
| 2 | Address | OPC 地址 |
| 3 | Data Type | Boolean / Short / Float / DWord |
| 4 | Respect Data Type | 固定 1 |
| 5 | Client Access | R/W(读写) |
| 6 | Scan Rate | 扫描周期(毫秒) |
| 7-16 | Scaling | 量程字段(可选) |
| 17 | Negate Value | 取反标志 |
步骤二:导入 KepServer
- 打开 KepServerEX 管理控制台
- 先添加对应的 PLC 通信通道和设备:
- 新建 Channel → 选择驱动(如 Siemens TCP/IP Ethernet)
- 新建 Device → 填入 PLC IP 地址和型号
- 点击设备节点 → 右键 → "Import CSV"
- 浏览选择导出的 CSV 文件
- 确认导入
导入完成后,所有变量将出现在设备标签列表中。
步骤三:在 WinCC 中添加 OPC 驱动
- 打开 WinCC 项目管理器
- 在左侧导航树中找到 "变量管理"
- 右键 → "添加新的驱动程序"
- 从列表中选择 "OPC.chn"(OPC 通道驱动程序)
步骤四:连接 OPC Server
- 展开 OPC 通道
- 右键 OPC 通道 → "系统参数"
- 在弹出的对话框中,选择 "OPC 条目管理器"
- 浏览 → 选择本地计算机 → 找到 "Kepware.KEPServerEX.V6"(或对应版本)
- 在 OPC Server 的标签树中,浏览到对应设备的变量组
- 选中需要的变量 → 添加到 WinCC 变量管理
步骤五:验证连接
- 在 WinCC 中创建测试画面
- 添加一个 IO 域控件
- 绑定一个 OPC 变量
- 激活 WinCC Runtime,检查变量值是否与 PLC 一致
多 PLC 混合管理
KepServer 的一个重要优势是可以同时管理多台不同品牌的 PLC。SMART Exporter 导出的 CSV 中,Tag Name 自带前缀区分:
项目 A(S7-200 SMART)→ KepServer 通道 1
项目 B(S7-1200) → KepServer 通道 2
项目 C(S7-1500) → KepServer 通道 3
↓
WinCC OPC Client
在 WinCC 中为每个 PLC 创建独立的 OPC 连接即可,所有变量通过同一 OPC Server 读取。
进阶:量程与报警
KepServer 支持在标签上直接配置量程缩放和报警限值。导出的 CSV 中有对应的列(Raw Low/Raw High/Scaled Low/Scaled High),可在导入前批量填入:
- 原始量程:PLC 中的原始数据范围(如 0-27648 for 4-20mA)
- 缩放量程:工程单位范围(如 0-100 %RH)
- 报警限:Clamp Low/Clamp High 用于异常值钳位
量程信息可在 Excel 中批量编辑后重新导入 KepServer。
常见问题
WinCC 看不到 KepServer?
- 确认 KepServer 和 WinCC 安装在同一台计算机上
- 确认 WinCC 项目处于同一个 Windows 用户会话中
- 尝试在 WinCC OPC 条目管理器中手动输入
Kepware.KEPServerEX.V6
变量导入后数值不更新?
- 检查 KepServer 中设备连接状态是否为 "Running"
- 检查 WinCC OPC 变量的"更新周期"设置
- 在 KepServer Quick Client 中手动测试变量读写
多台 WinCC 客户端能否共享一个 KepServer?
可以。KepServer 支持通过网络 OPC 提供变量给多台 WinCC 客户端。只需在客户端 WinCC 的 OPC 条目管理器中选择 "远程 OPC Server" 并输入 KepServer 所在计算机的网络地址。
总结
OPC Server 是 SCADA 系统的"万能翻译层",而 SMART Exporter 解决了"变量表怎么进入到 OPC Server"这个最耗时的环节。核心链路:
PLC 工程文件 (.smart / .scl)
→ 拖拽上传
→ 一键导出 KepServer 17 列 CSV
→ 导入 KepServer
→ WinCC OPC Client 浏览使用
从此告别手工逐个录入变量的痛苦。