2. WinCC项目创建与PLC连接配置

WinCC与PLC的通信能否建立,取决于三个层面的正确性:项目类型与驱动选择是否正确、连接参数是否与PLC实际组态一致、物理链路与访问权限是否放行。本节以新建一个单用户项目并连接S7-1200/1500 PLC为主线,完整走通"建项目—选驱动—配参数—测通信—排故障"的过程,同时给出可直接对照使用的参数表和排查路径。

一、新建项目与项目类型选择

在WinCC Explorer中通过"文件→新建"创建项目,首先遇到的是项目类型选择。单用户项目适用于一台操作站直接与PLC通信的场合;多用户项目用于多台客户机共享一台服务器数据的场合;客户机项目本身不存储过程数据,只引用服务器项目。对于本节的教学场景——一台工程师站连接一台S7-1200——应选择单用户项目,项目名建议使用英文或拼音,避免中文路径带来的兼容问题,例如 Line1_HMI。

项目创建后,WinCC会在项目目录下生成 .mcp 项目文件以及 OS、GraCS、ScriptLib 等子目录。此时项目还是"空壳",没有任何与PLC的通信能力,下一步必须添加通信驱动。

二、选择PLC驱动

右键项目树中的"变量管理",选择"添加新的驱动程序"。WinCC提供的驱动列表中,与西门子PLC相关的主要有:

  • SIMATIC S7 Protocol Suite:用于S7-300/400,通过ISO、TCP/IP、MPI、Profibus等通道访问,是经典驱动。
  • SIMATIC S7-1200, S7-1500 Channel:专为S7-1200/1500设计,基于以太网,支持优化块访问和符号寻址,是当前主流选择。
  • OPC UA Channel:当PLC作为OPC UA服务器或需要跨厂商访问时使用。

选择驱动时有一个关键判断:如果PLC是S7-1200/1500且组态中启用了"优化的块访问"(默认启用),必须使用S7-1200/1500 Channel,否则无法按符号名访问变量;若使用S7 Protocol Suite访问S7-1200,则需要在PLC中关闭优化块访问并允许PUT/GET通信。本节示例采用SIMATIC S7-1200, S7-1500 Channel。

三、设置连接参数

添加驱动后,在驱动下新建"连接",命名为 PLC_Line1。连接属性中最核心的是"参数"选项卡,需要填写以下内容:

参数项示例值说明
IP地址192.168.0.10PLC的以太网口地址,须与工程师站同网段
机架号0S7-1200/1500固定为0
插槽号1S7-1200/1500固定为1
访问点S7ONLINE指向工程师站网卡
连接资源1占用PLC的一个通信连接

参数填写完成后,还需要在"属性→选项"中确认"使用符号寻址"已勾选,这样后续可以直接从PLC导入变量表,而不必手工填写DB号与偏移量。若PLC中已建立DB块并下载,可在连接上右键选择"AS符号"→"从AS读取",WinCC会读取PLC的符号表并列出可访问的变量,勾选需要的变量即可自动生成WinCC变量。

工程师站网卡的IP必须与PLC在同一网段,例如PLC为192.168.0.10/24,则工程师站可设为192.168.0.100/24,子网掩码255.255.255.0。若跨网段通信,需要配置路由器或网关,并在WinCC中正确填写网关地址。

四、测试通信

参数配置完成后,不要急于画画面,先做通信测试。测试分两步:

  1. 物理层测试:在Windows命令行执行 ping 192.168.0.10,确认能收到回复。若ping不通,问题在网线、网卡、IP或交换机,与WinCC无关。
  2. 协议层测试:在WinCC中打开变量管理,选中连接,观察连接状态图标。绿色对勾表示连接已建立;黄色感叹号表示正在建立或参数可疑;红色叉号表示连接失败。也可以打开"通道诊断",查看具体的错误代码。

更直接的验证方式是建立一个测试变量,例如 TestBit,地址指向PLC的某个M位或DB位,然后在画面上放一个I/O域显示该变量,激活运行系统。若I/O域能随PLC中该位的强制置位/复位而变化,说明通信链路、驱动、参数、变量地址全部正确。

WinCC与S7-1200/1500通信建立与故障排查路径 WinCC 工程师站 单用户项目 Line1_HMI .mcp / OS / GraCS 驱动:S7-1200/1500 Channel 支持优化块 / 符号寻址 连接 PLC_Line1 IP 192.168.0.10 机架0 / 插槽1 变量:TestBit 符号导入 / 地址绑定 画面 I/O 域显示 运行系统验证 以太网 TCP/IP S7 通信协议 S7-1200 / 1500 PLC CPU 1215C IP 192.168.0.10/24 保护设置 允许 PUT/GET 通信 DB 块 / M 区 优化块访问(默认开) 符号名可被读取 连接资源 最大 8 个 HMI 连接 TestBit 状态变化 强制置位 / 复位 连接失败排查顺序 ① ping 通不通? 网线 / IP / 网卡 ② 驱动选对了吗? 1200/1500 专用通道 ③ 机架/插槽对吗? 0 / 1 ④ PUT/GET 放行? PLC 保护设置 ⑤ 变量地址有效? DB 号 / 偏移 / 类型 ⑥ 连接资源未耗尽 通道诊断确认

五、常见连接故障排查

连接失败时,按"由外到内、由物理到逻辑"的顺序排查,可以避免在错误的方向上浪费时间。

故障一:ping不通。表现为命令行无回复或超时。检查网线是否插好、交换机端口是否正常、工程师站与PLC是否同网段、防火墙是否拦截ICMP。若使用虚拟机运行WinCC,还需确认虚拟网卡是否桥接到物理网卡。

故障二:ping通但连接状态为红叉。最常见的原因是驱动选错或机架/插槽号填错。S7-1200/1500必须使用专用通道,机架0、插槽1;若误用S7 Protocol Suite的TCP/IP通道,即使IP正确也无法建立连接。另一个原因是PLC的保护设置中未勾选"允许来自远程对象的PUT/GET通信访问",此时需要在TIA Portal中修改CPU属性并重新下载。

故障三:连接建立但变量读不到值。通常与变量地址有关。若PLC的DB块启用了优化块访问,则不能按绝对地址(如DB1.DBX0.0)访问,必须使用符号名;反之若关闭了优化块访问,则两种方式均可。此外要检查变量数据类型是否匹配,例如PLC中为Real,WinCC中却建成了Word,会导致数值显示异常。

故障四:连接时断时续。多与网络质量或连接资源有关。S7-1200最多支持8个HMI连接,若同时接入多个上位机、编程软件和触摸屏,可能耗尽资源。可在"通道诊断"中查看当前连接数和错误计数,必要时减少并发连接或升级CPU型号。

修改PLC的IP地址、保护设置或DB块结构后,必须重新下载硬件组态和程序,并重新启动WinCC运行系统,否则WinCC仍按旧参数尝试连接,表现为"参数正确却连不上"。

六、可对照使用的连接配置检查表

下表汇总了本节涉及的关键检查项,可在实际项目中逐项核对:

检查项正确状态常见错误
项目类型单用户项目误建多用户项目导致无本地连接
驱动选择S7-1200/1500 Channel误用S7 Protocol Suite
IP地址与PLC同网段网段不同或IP冲突
机架/插槽0 / 1填成0/2或1/1
PUT/GET已允许未勾选,连接被拒绝
变量寻址符号名或绝对地址与块属性匹配优化块下用绝对地址
连接资源未超过CPU上限多上位机并发占满

完成以上配置并验证通过后,WinCC与PLC之间的通信通道即已建立,后续的画面组态、变量绑定和报警记录都建立在这一连接之上。实际项目中建议把连接参数、变量命名规则和测试结果记录在项目文档中,便于后期维护和故障回溯。