一、软硬件环境要求
1.1 硬件配置
- PLC
:Siemens S7-1200 CPU(如 1214C,固件版本 V4.0 及以上) - PC
:带以太网卡的工业计算机 - 网络
:标准以太网电缆(CAT5e 及以上)
1.2 软件环境
- 编程软件
:TIA Portal V13 及以上(Step7 Basic) - HMI 软件
:WinCC V7.2 及以上(需安装 Simatic NET V8.2 SP1) - 操作系统
:Windows 7/10 专业版(64 位)
二、PLC 端配置步骤
2.1 网络参数设置
打开 TIA Portal 项目,在 "设备和网络" 中配置 PLC 以太网接口:
-
IP 地址:192.168.1.189 -
子网掩码:255.255.255.0 -
网关:无需设置(同一网段)
在 CPU 属性→"保护"→"连接机制" 中勾选:
✅ 允许从远程伙伴(PLC/HMI/OPC)使用 PUT/GET 通信访问
2.2 数据块 (DB) 创建
创建全局数据块 DB1,取消 "优化的块访问":
scala
DATA_BLOCK DB1
VAR
// 输入信号
Start: BOOL;// 启动信号 (DB1.DBX0.0)
Stop: BOOL;// 停止信号 (DB1.DBX0.1)
// 输出信号
Running: BOOL;// 运行状态 (DB1.DBX1.0)
Fault: BOOL;// 故障信号 (DB1.DBX1.1)
// 模拟量
Setpoint: INT;// 设定值 (DB1.DBW2)
ActualValue: INT;// 实际值 (DB1.DBW4)
END_VAR
END_DATA_BLOCK
DB 块属性设置:
在 "属性"→"常规" 中取消勾选:
❌ 优化的块访问(必须禁用,否则 WinCC 无法绝对寻址)
三、WinCC 端配置步骤
3.1 驱动程序安装
-
打开 WinCC 项目→"变量管理"→右键 "添加新驱动" -
选择 "SIMATIC S7-1200, S7-1500 Channel" 驱动 -
在 OMS + 目录下新建连接,命名为 "S7-1200_Connection"
3.2 连接参数配置
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3.3 变量创建
在 WinCC 中创建以下变量:
|
|
|
|
|
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
四、通讯测试与验证
4.1 物理连接测试
-
使用 ping 命令验证网络连通性: cmd
ping 192.168.1.189 -t
确保丢包率为 0%
4.2 变量通讯测试
在 WinCC 中创建测试画面,添加:
-
按钮控件(关联 Motor_Start/Motor_Stop) -
指示灯控件(关联 Motor_Running) -
I/O 域(显示 Speed_Setpoint 和 Speed_Actual) 激活 WinCC 运行系统,操作按钮观察:
✅ 按下 Start 按钮,PLC 的 Running 信号应置位
✅ 修改 Setpoint 值,PLC 应能接收并返回 ActualValue
五、常见问题解决
5.1 通讯失败排查流程
- 检查 IP 配置
:确保 PC 与 PLC 在同一网段(如 192.168.1.x) - 验证 PUT/GET 权限
:在 PLC 属性中确认已勾选远程访问权限 - 检查 DB 块属性
:必须禁用 "优化的块访问" - PG/PC 接口设置
:在控制面板中选择正确的网卡(TCP/IP-> 本地网卡)
5.2 证书问题处理(V4.5 + 固件)
若 PLC 固件≥V4.5 且 WinCC≥V7.5 SP2:
-
从 TIA Portal 导出 PLC 证书(.pem 格式) -
在 WinCC 项目中导入证书:变量管理→连接→"AS 符号"→导入证书 -
重启 WinCC Runtime 服务
六、程序示例代码
6.1 PLC 端 SCL 程序(OB1)
scala
// 主循环组织块
IF "DB1".Start AND NOT "DB1".Stop THEN
"DB1".Running := TRUE;
"DB1".ActualValue :="DB1".Setpoint;// 模拟速度跟踪
"DB1".Fault := FALSE;
ELSIF "DB1".Stop THEN
"DB1".Running := FALSE;
END_IF;
// 故障检测
IF "DB1".Setpoint >3000 THEN
"DB1".Fault := TRUE;
"DB1".Running := FALSE;
END_IF;
6.2 WinCC C 动作示例(按钮事件)
c
// 启动按钮 - 鼠标点击事件
SetTagBit("Motor_Start",1);// 置位启动信号
Sleep(100);
SetTagBit("Motor_Start",0);// 自动复位
七、注意事项
版本兼容性:
-
WinCC V7.2 需安装 Upd6 补丁 -
TIA Portal 与 WinCC 需使用兼容版本组合(见西门子兼容性工具) 性能优化:
-
单个 DB 块建议不超过 200 字节 -
变量更新周期设置≥100ms(减少网络负载) 安全配置:
-
生产环境建议启用 TLS 加密(WinCC V7.5 SP2+) -
通过防火墙限制 PLC 端口访问(默认 102 端口)
八、参考文献
-
西门子官方文档:《WinCC V7.2 与 S7-1200 通讯指南》) -
《S7-1200 系统手册》 -
WinCC 帮助文档:"SIMATIC S7-1200, S7-1500 Channel" 驱动说明
点赞关注+分享!!

