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.10 | PLC的以太网口地址,须与工程师站同网段 |
| 机架号 | 0 | S7-1200/1500固定为0 |
| 插槽号 | 1 | S7-1200/1500固定为1 |
| 访问点 | S7ONLINE | 指向工程师站网卡 |
| 连接资源 | 1 | 占用PLC的一个通信连接 |
参数填写完成后,还需要在"属性→选项"中确认"使用符号寻址"已勾选,这样后续可以直接从PLC导入变量表,而不必手工填写DB号与偏移量。若PLC中已建立DB块并下载,可在连接上右键选择"AS符号"→"从AS读取",WinCC会读取PLC的符号表并列出可访问的变量,勾选需要的变量即可自动生成WinCC变量。
四、测试通信
参数配置完成后,不要急于画画面,先做通信测试。测试分两步:
- 物理层测试:在Windows命令行执行
ping 192.168.0.10,确认能收到回复。若ping不通,问题在网线、网卡、IP或交换机,与WinCC无关。 - 协议层测试:在WinCC中打开变量管理,选中连接,观察连接状态图标。绿色对勾表示连接已建立;黄色感叹号表示正在建立或参数可疑;红色叉号表示连接失败。也可以打开"通道诊断",查看具体的错误代码。
更直接的验证方式是建立一个测试变量,例如 TestBit,地址指向PLC的某个M位或DB位,然后在画面上放一个I/O域显示该变量,激活运行系统。若I/O域能随PLC中该位的强制置位/复位而变化,说明通信链路、驱动、参数、变量地址全部正确。
五、常见连接故障排查
连接失败时,按"由外到内、由物理到逻辑"的顺序排查,可以避免在错误的方向上浪费时间。
故障一: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型号。
六、可对照使用的连接配置检查表
下表汇总了本节涉及的关键检查项,可在实际项目中逐项核对:
| 检查项 | 正确状态 | 常见错误 |
|---|---|---|
| 项目类型 | 单用户项目 | 误建多用户项目导致无本地连接 |
| 驱动选择 | S7-1200/1500 Channel | 误用S7 Protocol Suite |
| IP地址 | 与PLC同网段 | 网段不同或IP冲突 |
| 机架/插槽 | 0 / 1 | 填成0/2或1/1 |
| PUT/GET | 已允许 | 未勾选,连接被拒绝 |
| 变量寻址 | 符号名或绝对地址与块属性匹配 | 优化块下用绝对地址 |
| 连接资源 | 未超过CPU上限 | 多上位机并发占满 |
完成以上配置并验证通过后,WinCC与PLC之间的通信通道即已建立,后续的画面组态、变量绑定和报警记录都建立在这一连接之上。实际项目中建议把连接参数、变量命名规则和测试结果记录在项目文档中,便于后期维护和故障回溯。