广东湘恒智能科技有限公司
主营产品: 西门子PLC,西门子模块,西门子触摸屏,西门子变频器,西门子伺服电机驱动,电缆,西门子全系列
通过 Modbus TCP通讯实现西门子 Wincc 与 s7-1500通讯,
发布时间:2024-11-08
前言

最近一个项目需要使用 WINCC 上位机读取大约70个S7-200 smart PLC,由于WINCC没有配置S7-200 Smart 通讯通道,只能使用OPC UA或者Modbus TCP进行通讯。 考虑到使用Simatic Net 配置OPC UA有些麻烦,且需要授权,因此决定放弃,改用Modbus TCP进行通讯;小编之间没有使用过此通讯,因此准备做一个测试,由于手头没有s7-200 smart PLC,因此使用S7-1500 与 WINCC通过 Modbus TCP进行测试;测试结果正常,具体步骤见下文;

图片image-20240903143826470

01 测试环境

软件:

TIA Portal V17STEP 7 ProfessionalWINCC V7.3

硬件:

CPU 1513-1 PN

注:小编电脑已安装软件如下:

图片image-20240826111028433

02 S7-1500 配置 Modbus TCP Server

首先需要在s7-1500中配置Modbus TCP Server (提供数据的为服务器),具体步骤如下(由于之前1200系列文章中,已经详细介绍相关指令,本次不在赘述):

在TIA Portal中新建项目,并添加1500 PLC,并组态IP地址,此处不再赘述; (以实际为准)

新建FC块用于Modbus TCP通讯,从指令中拖入MB_SERVER指令,并指定背景数据块;

图片image-20240903112321845

注:不要忘记在Main程序中调用该FC块

新建数据DB为MB_Server分配引脚参数;(各参数功能可F1查看帮助,或查看之前1200系列文章);并建立测试数据区:

图片image-20240903113434012

注:

InterfaceID指的是以太网口接口的硬件标识符,默认64

ID 范围1到4095,不能有重复

PLC侧配置完成;详细配置可参见本公众号1200系列文章,此处不再赘述;

图片image-2024090314031960303 WINCC 中建立 Modbus TCP 链接

在PLC中建立Modbus TCP Server完成后,接下来将在WINCC建立Modbus TCP通讯,进行测试;步骤如下:

新建单机项目(实际应用中根据需求选择),并保存项目

图片image-20240903140447169

从左侧导航栏中打开变量管理

图片image-20240903140736152

在变量管理中,右键添加新的驱动,并选择ModbusTCPIP;在新增加的ModbusTCP/IP 通道,右键新建链接,并重命名;

图片image-20240903141333792

选中新建的链接,右键选择连接参数,修改ModbusTCP服务器参数(参数与PLC中一致);

图片image-20240903141434524

注:由于WINCC 中 Modbus TCP实际是针对施耐德设置,所以CPU类型里面没有西门子,选择Premium,Micro即可;

在连接中新建测试变量,分别对应PLC变量中的DB500.DBD18,DB500.DBW22,DB500.DBW24,DBW500.DBX26.0;

图片image-20240903144020275

注:DBW500.DB26.0由于寄存器是读取整数,因此存在高低字节的问题,。WINCC中26.0是第8位,27.0为第0位,依此类推;

新建测试画面,并添加IO域,关联对应变量;

图片image-20240903142327096

右键选择计算机属性,在运行时窗口中设置起始画面

图片image-20240903142519189

激活系统运行,并进行测试如下:

图片image-20240903143826470


展开全文
拨打电话 微信咨询 发送询价