经典 WinCC 与 S7-1200/1500 安全通信/非安全通信注意事项
在工业自动化项目中,WinCC 与 S7-1200/1500 的通信组态是项目工程师和 HMI 组态工程师的核心工作之一,不同固件版本的 PLC 与 WinCC 的适配设置、安全通信的实现更是实操中的重点与难点。本文基于西门子官方课程《SIMATIC WinCC V7.5 SP2 与 S7-1200/1500 通信》,为大家梳理不同固件版本 PLC 与 经典WinCC 的通信方法、安全通信组态步骤及实操注意事项,手把手教你完成通信配置。
一、通信版本适配
WinCC 与 S7-1200/1500 的通信分为安全通信和非安全通信两类:
| 特性 | 安全通信 | 非安全通信 |
|---|---|---|
| 加密方式 | 使用 TLS 协议 加密数据传输 | 无加密,数据以明文形式传输 |
| 认证机制 | 依赖 X.509 数字证书 进行端点身份验证 | 依赖 访问等级或密码(如 HMI 访问权限) |
| 配置复杂度 | 较高:需生成、导入、信任证书;需启用“仅支持 PG/PC 和 HMI 安全通信”选项 | 较低:只需设置 IP 和访问权限,可直接通信 |
| 兼容性 | 不兼容旧版 WinCC(< V7.5 SP2 UPD4);若需兼容,必须取消“仅支持安全通信”选项 | 兼容所有 HMI/SCADA 系统,包括 WinCC V7.2 及以上 |
| 安全目标 | 实现 机密性、完整性、端点认证 | 仅提供基本访问控制,无法防止中间人攻击或数据窃听 |
| 典型应用场景 | 工业互联网、跨网络通信、高安全要求系统(如能源、交通) | 局域网内、物理隔离环境、对性能要求高但安全风险低的场景 |
核心区分依据是 PLC 固件版本。
- 非安全通信:所有固件版本的S7-1200/1500 PLC都支持进行非安全通信
- 安全通信:S7-1500≥V2.9/S7-1200≥V4.5 时,支持并可组态基于 TLS协议的加密安全通信。
同时 WinCC 的版本也会影响通信模式的选择,因为 WinCC 也支持并不相同的通信。
- WinCC V7.5 SP2 UPD4以下:仅支持非安全通信
- WinCC V7.5 SP2 UPD4~WinCC V8.0:仅支持安全通信
- WinCC V8.1:支持安全通信和非安全通信
具体适配规则如下:
| WinCC V7.5 SP2 UPD4以下 | WinCC V7.5 SP2 UPD4~WinCC V8.0 | WinCC V8.1 | |
| S7-1500固件版本<V2.9
S7-1200固件版本<4.5 |
√ 仅非安全通信 | √ 仅非安全通信 | √ 非安全通信 |
| S7-1500固件版本>=V2.9
S7-1200固件版本>=4.5 未激活“ 仅支持HMI安全通信” |
√ 仅非安全通信 | √ 仅安全通信 | √ 非安全通信 |
| S7-1500固件版本>=V2.9
S7-1200固件版本>=4.5 激活”仅支持HMI安全通信” |
× 无法通信 | √ 仅安全通信 | √ 安全通信 |
二、通用通信组态步骤
无论安全/ 非安全通信,PLC 端开启 PUT/GET 访问、网络网段一致、WinCC 添加对应驱动是实现通信的基础,以下为通用组态步骤,适用于所有适配场景。
2.1 PLC 端(TIA Portal)基础设置
设置IP地址
打开 TIA Portal,在 CPU 硬件组态中,进入PROFINET 接口,设置 PLC IP 地址,确保与 WinCC 上位机在同一网段(如 PLC:192.168.0.10,上位机:192.168.0.11)。
PLC 访问控制
打开PLC设备组态,选择CPU→常规→防护与安全→访问控制。
这里的设置分为两种情况
第一种:S7-1500 固件版本< =V3.0 以及 S7-1200 固件版本 <= 4.6
这种情况下,如果在访问控制中选择“完全访问权限/读访问权限/HMI 访问权限”中的任意一级,WinCC项目中的通信组态无需填写任何访问密码。如果选择“不能访问”,WinCC项目中的通信组态需填写“完全访问权限/读访问权限/HMI 访问权限”中的任意一级的访问密码。
此处如无进一步访问权限要求,可以选择“完全访问权限”。
第二种:S7-1500 固件版本>V3.0 以及 S7-1200 固件版本 > 4.6
这种情况下,如果选择禁用访问控制,WinCC项目中的通信组态无需填写任何访问密码。
![]()
如果选择启用访问控制,需要勾选“通过访问等级进行访问控制”。WinCC项目中的通信组态需填写“完全访问权限/读访问权限/HMI 访问权限”中的任意一级的访问密码。
设置PUT/GET 通信访问
核心必选:进入 CPU属性→防护与安全→连接机制,勾选 “允许来自远程对象的 PUT/GET 通信访问”,此选项未开启会直接导致通信失败。
数据块设置:新建 DB 块(如 DB1),若使用绝对寻址,需取消 DB 块属性中的 “优化的块访问”;若 WinCC 需符号寻址,保持该选项并通过 AS 符号加载变量。
2.2 上位机网络与连通性测试
配置 WinCC 上位机本地连接 IP,子网掩码与 PLC 保持一致,确保无网段冲突。
打开 CMD 命令提示符,输入ping PLC_IP(如ping 192.168.0.10),返回丢失 = 0说明物理网络连通;若超时,检查网线、防火墙或 IP 设置。
2.3 创建访问点
在运行WinCC 项目的电脑中,打开控制面板,查看方式选择大图标,鼠标双击“设置 PG/PC 接口”打开其配置对话框。
新建应用程序访问点“CP_TCPIP”.
在接口分配参数列表中,把“网卡名称.TCPIP.1”分配给此访问点。注意这里网卡名称需要选择与PLC通信的网卡;不要选择TCPIP.Auto 协议,一定要选TCPIP.1 协议。
2.4 WinCC V7.5 SP2 驱动与连接组态
打开 WinCC 项目,在变量管理中右键→添加新的驱动程序,选择SIMATIC S7-1200, S7-1500 Channel。
展开驱动,右键连接→新建连接,命名后进入连接参数,填写 PLC 的 IP 地址,访问点默认选择CP_TCPIP,插槽号设为 1。
根据实际情况勾选“仅运行安全 PLC 链接”设置。
新建变量:在连接下右键创建变量,按 PLC 数据块填写地址(如绝对寻址:DB1.DBD0)。
激活项目后,变量旁出现绿色小钩即表示基础通信成功。
也可以在线加载PLC中的数据。鼠标右键选择通信连接,选择“从AS中读取”。
三、分场景通信组态
在通用步骤基础上,根据PLC 固件版本和WinCC 版本,需分别按非安全通信和安全通信做针对性配置,核心差异在 PLC 安全选项和 WinCC 证书导入。
场景 1:非安全通信组态
当满足非安全通信版本适配规则时,需在 PLC 端关闭安全通信限制之前,还需要关闭PLC 访问控制,具体额外步骤:
PLC 关闭 仅支持安全通信
进入 CPU属性→保护,取消勾选 “仅支持 PG/PC 和 HMI 安全通信”(该选项仅 S7-1500≥V2.9/S7-1200≥V4.5 支持)。
WinCC 端按通用步骤配置
无需导入证书,按通用步骤完成驱动和变量组态即可,若通信失败,检查防火墙是否拦截 WinCC 通信端口。
注意:S7-1200 G2 型号无法取消 “仅支持 PG/PC 和 HMI 安全通信”,即使满足非安全通信条件,也只能做安全通信。WinCC从 V7.5 SP2 update4版本开始支持安全通信,因此只有WinCC V7.5 SP2 update4及其以上的版本才支持与S7-1200 G2通信。
场景 2:安全通信组态
安全通信基于TLS 协议实现数据加密、防篡改和端点认证,需完成PLC 证书配置、WinCC 证书导入和系统时间校准,具体步骤:
PLC 端证书选择
在 TIA Portal 中,为 PLC 选择由 TIA Portal 或第三方机构生成的安全证书,保持 “仅支持 PG/PC 和 HMI 安全通信” 勾选。
注意:只要WinCC V8.1中激活安全通信,此处的“仅支持 PG/PC 和 HMI 安全通信”复选框是否勾选不影响安全通信。重点是在PLC通信证书处必须选择一个证书,可以通过创建按钮新建证书。
导出 SCADA 数据包
安装 SIMATIC SCADA Export 插件 ,编译项目后导出包含证书和 PLC 变量信息的 SCADA 数据包。
在项目中选择PLC设备点击鼠标右键,在弹出菜单中选择Export to SIMATIC SCADA。
校准 PLC 系统时间
安全通信中设备的系统时间需要在证书有效期内,所以需要校准 PLC系统时间。把PLC程序转至在线,通过在线诊断中的设置时间功能,校准PLC系统时间。
WinCC 端导入证书
将 SCADA 数据包复制到 WinCC 上位机,鼠标右键选择创建的通信连接,选择“从文件中加载”。在文件选择对话框中,选择zip文件格式,导入之前从TIA Portal 项目中导出的SCADA文件;也可通过 WinCC 自动生成的未信任证书手动剪切至信任文件夹(路径:C:\ProgramData\Siemens\Automation\device-certificate-store\trusted\certs)。
导入过程中,有提示是否导入安全证书,点击“是”。
激活WinCC 项目,在变量管理器中能看到通信连接握手处打绿✓,表示通信已建立。
Windows 系统时间校准
确保 WinCC 上位机和 PLC 的系统时间一致且在证书有效时间范围内,PLC 时间禁止为出厂时间,否则证书验证失败。
四、实操常见问题与排查
通信组态中易出现变量红叉
/ 黄三角、连接建立失败等问题,以下为高频问题及解决方案,快速定位并解决故障:
| 故障现象 | 常见原因 | 解决方案 |
|---|---|---|
| 变量显示红色叉号 | PLC 阻止远程访问 | 检查 PLC 是否勾选 “允许 PUT/GET 通信访问” |
| 变量显示黄色三角形 | 数据块开启优化访问 | 取消 DB 块 “优化的块访问” 选项,使用绝对寻址 |
| 连接参数灰色不可选 | 驱动版本不匹配 | 确认 WinCC V7.5 SP2 驱动为最新,重新添加驱动 |
| 安全通信时证书验证失败 | 系统时间不一致 / 证书过期 | 校准 PLC 和上位机系统时间,重新导出 / 导入证书 |
| 非安全通信连接失败 | 未取消安全通信限制 | PLC 端取消 “仅支持 PG/PC 和 HMI 安全通信” |
| ping 通但 WinCC 无法通信 | 防火墙拦截 | 关闭 Windows 防火墙或为 WinCC 添加通信例外规则 |
五、注意事项
- 版本适配是基础:严格按 PLC 固件版本和 WinCC UPD 版本选择通信模式,避免因版本不匹配导致通信失败。
- PUT/GET 访问是关键:无论何种通信方式,PLC 端必须开启该选项,为工业自动化领域最易忽略的配置点。
- 安全通信三要素:证书匹配、时间同步、安全选项勾选,三者缺一不可。
- 寻址方式对应:绝对寻址需关闭 DB 块优化访问,符号寻址需通过 AS 符号加载变量,不可混用。
- 授权与许可证:S7 通道方式需 WinCC 选件授权,OPC UA 方式需 PLC 端 OPC UA 许可证,项目前期需确认授权资源。
- 默认证书时间为10年,可自行创建证书