各版本WinCC与S7-1200/1500通信详解
1.1概述
SIMATICWinCC从版本开始,提供了“SIMATICS7-1200、S7-1500Channel"驱动用于和S7-1200/1500PLC直接通信。此通信驱动仅支持TCP/IP协议,也就是说此通信方式只能用于以太网通信。

随着SIMATICWinCC版本的升级,“SIMATICS7-1200、S7-1500Channel"驱动也不断扩展性能以及增加新功能。本文将对不同版本的SIMATICWinCC这一通信驱动的组态细节和注意事项做一番梳理,方便工程师在项目组态中“拿来”即可用。
注意:以下章节中关于低版本WinCC所描述的功能,在高版本中同样适用。
1.2低于版本的相关设置
低于版本的软件不能直接和S7-1200/1500PLC通信。如果老项目需要扩展这一通信需求,建议使用OPCDA的方式。

例如可以使用SIMATICNET软件组态OPCDA服务器与S7-1200/1500通信,WinCC作为OPCDA客户端通过OPCDA服务器间接地读取控制器数据。OPCDA服务器可以和WinCC项目同时在一台计算机上运行。WinCC正版软件包中就包括SIMATICNET软件,如果是单独获取的SIMATICNET软件,请注意WinCC与SIMATICNET软件需要满足兼容性。如何查询西门子软件之间的兼容性请参考文档——自动化和驱动技术的兼容性工具
如何组态OPCDA服务器与S7-1200/1500通信,请参考以下文档——WinCC通过SIMATICNETOPC与S7-1200CPU的以太网通信、如何通过OPC连接PC站和S7-1500CPU或固件版本V4以上的S7-1200CPU
1.3
版本相关设置
从版本开始提供“SIMATICS7-1200、S7-1500Channel"驱动,详细的通信组态过程,请参考以下文档——与S7-1200/1500常规通讯
以下是版本驱动的组态注意事项:
1.S7-1200固件版本需要或者更高版本
这意味着固件版本低于的S7-1200不能通过这个驱动连接到WinCC
2.S7-1200/1500只能与WinCC单用户系统通信
WinCC的多用户系统(服务器/客户机结构)中不支持“SIMATICS7-1200、S7-1500Channel"驱动。多用户系统要在以及更高版本中才支持这个驱动。
3.可以与S7-1500建立安全通信连接(不支持S7-1200安全连接)
S7-1500PLC保护等级选项中,如果选择“不能访问”,WinCC通信连接需要填写密码,填写“完全访问权限”/“读访问权限”/“HMI访问权限”任一级密码都可以。如果选择“完全访问权限”/“读访问权限”/“HMI访问权限”任一级,WinCC通信连接无需填写密码。
版本中不支持与S7-1200建立安全通信连接,只能使用无密码连接,安全连接将在及更高版本中才支持。

4.仅支持访问绝对地址
PLCDB块的属性中需要取消“优化的块访问”选项,并在创建变量时填写变量的绝对地址。


1.4版本相关设置
与S7-1200/1500的通信方法:「链接」
以下是版本驱动的新增功能以及组态注意事项:
1.支持多用户系统
从版本开始,多用户系统支持“SIMATICS7-1200、S7-1500Channel"驱动。
2.支持与S7-1200(S7-1200固件版本也需支持安全设置)建立安全连接
从版本开始,支持与S7-1500建立安全连接
从版本开始,支持与S7-1200建立安全连接
3.支持符号寻址,允许用户通过AS符号读写优化的块。
PLCDB块的属性中选择“优化的块访问”选项,此数据块中的数据为符号寻址。在版本中仅能通过AS符号加载,不能手动创建变量。
4.系统消息(仅限S7-1500)
_S7-1500变量与报警加载及系统诊断(入门指南):「链接」
1.5版本相关设置
版本与S7-1200/1500详细的通信组态过程,建议参考“1.4版本相关设置”,这些功能在新版本中仍然适用。以下是版本驱动的新增功能以及组态注意事项:
1.增加“更新”功能,可以将PLC项目变更与WinCC同步
如果更改了PLC中的数据,可能会导致现有的WinCC变量或者AS消息不再与PLC中的数据相匹配。从起,可以通过更新按钮来保持数据的一致性。如下图所示,如果PLC中变量更改了数据类型,再次加载AS符号不一致的变量会显示红色标记。鼠标右键选择这一行或者整个表格,在弹出菜单中选择“更新”以保持数据的一致性。

2.画面可添加“WinCCSysDiagControl”控件,用于显示系统诊断信息
及更高版本中提供了系统诊断控件“WinCCSysDiagControl”,诊断控件可以显示所有可用的S7-1200/1500通信连接,给出连接状态、控制器状态、以及控制器当前错误缓冲区中的错误消息。详细组态过程,请参考以下文档:
中S7-1200/1500系统诊断(此文档版本同样适用):使用系统诊断控件对S7-1200/1500进行系统诊断
3.可手动创建用于“检查连接”和“断开连接”的系统变量
及更高版本中针对S7-1200或S7-1500通信,可以手动创建状态变量和控制变量,用来显示和控制S7-1200或S7-1500PLC的通信。详细组态过程,请参考以下文档:
变量控制S7-1200/1500通信(此文档版本同样适用):变量显示/控制S7-1200/1500通信状态
4.支持原始数据通信
及更高的版本支持与S7-1200/S7-1500PLC原始数据类型(字节数据块)通信。相关态细节请参考文档:WinCC和S7-1200/S7-1500之间通信是否支持原始数据类型?
1.6版本相关设置
版本与S7-1200/1500详细的通信组态过程,建议参考“1.5版本相关设置”,这些功能在新版本中仍然适用。以下是版本驱动的新增功能以及组态注意事项:
1.支持S7-1500软件控制器(S7-1507S)
从版本起,支持与S7-1507S软PLC通信,详细组态过程请参考以下文档:WinCCV7或WinCCV14/15RTProf.和软件控制器的联合操作
2.可以离线导入S7-1500/S7-1200变量和报警消息
在项目组态过程中,某些情况下不能直接从PLC中加载变量和报警消息。从版本起,可以从TIAPortal软件中导出项目数据,再导入到WinCC项目中离线加载变量和报警消息。详细组态过程请参考以下文档:从TIAPortal离线加载符号变量:从TIAPortal离线加载符号变量
3.可以为连接中的变量设置前缀和后缀
为了方便区分变量来自于哪一个PLC,可以针对这一个连接的变量同时添加变量前缀和后缀名称。


4.S7-1500信息的自动更新
从版本起,来自S7-1500的消息如果更改,可自动应用于WinCC项目。启用这一功能需要勾选“报警记录”中连接级别的“自动更新”复选框。

如果之前已经使用“从AS读取”手动读取AS消息,请首先在WinCC中删除读取的消息。然后,选中“自动更新”复选框,以确保消息不会重复。
1.7版本相关设置
版本与S7-1200/1500详细的通信组态过程,建议参考“1.6版本相关设置”,这些功能在新版本中仍然适用。以下是版本驱动的新增功能以及组态注意事项:
1.可自动创建用于“检查连接”和“断开连接”的系统变量
2.支持直接连接AS数据结构
手动在WinCC变量管理中创建AS对应的结构类型,然后可以在AS变量表中选择AS结构并对应WinCC结构。
1.8版本相关设置
版本与S7-1200/1500详细的通信组态过程,建议参考“1.7版本相关设置”,这些功能在新版本中任然适用。以下是版本驱动的新增功能以及组态注意事项:
1.支持S7-1500R/H冗余控制器
WinCC连接S7-1500冗余PLC有两种方法,分别为连接系统IP或者通过WinCC的系统变量进行连接参数的切换。其中,第二种连接方法只有及以后的版本才支持。详细组态过程,请参考以下文档:和S7-1500R通信方法
1.9版本相关设置
版本与S7-1200/1500详细的通信组态过程,建议参考“1.8版本相关设置”,这些功能在新版本中仍然适用。以下是版本驱动的新增功能以及组态注意事项:
1.直接将UDT生成的DB块连接为一个结构
导入AS符号后,可以在列表中直接创建对应的结构。选择AS结构选项表,在对应的WinCC结构列中,用鼠标右键创建结构。

以下是创建后的结构

在AS符号列表中直接选择AS中对应的结构

返回变量管理,能看到创建的结构以及其下的结构变量

2.与S7-1500/1200支持加密通信(自updata4起)
S7-1200还不太掌握?
而且还想要快速进阶?
这份资料合集一定要收好!
随手点赞收藏存一份,有备无患!
为你推荐:
PLC工程师需要了解的几个SCL实用小技巧
延续经典、舍我其谁——S7-1500替代S7-300全解析系列一