分享

西门子200smartPLC与TIA wincc通讯(modbus TCP)

 PLC发烧友 2023-06-03 发布于广东
技成培训

导读

之前分享了如何使用经典WINCC与200 SMART连接,但还有很多朋友使用博途WINCC来开发界面,今天我们介绍下用博途WINCC与200 SMART通讯,依然使用Modbus Tcp协议,该方法适用于支持标准Modbus Tcp(服务器)协议的任何设备。

注意:博途wincc只能做Modbus Tcp客户端,不能做服务器。所以连接的对象只能是Modbus Tcp服务器。

一、200SMART 做服务器

STEP7-Micro/WIN SMART 从V2.4版本开始,软件中直接集成Modbus TCP库指令,无需单独安装或者购买。安装软件后,Modbus TCP 指令位于STEP7-Micro/WIN SMART项目树中“指令”文件夹的“库”文件夹中。如图1.Modbus TCP库指令所示。指令分为客户端和服务器两种,我们这里需要使用服务器指令(Modbus TCP Server),具体操作如下:

图1

1、系统块中设置服务器的IP地址,以确保IP地址设置无误。此步骤为可选,如果确定IP地址设置无误,可忽略此步骤。设置方法如图2.所示。

图2

2、鼠标点击MAIN 主程序的程序段1的编程区域,从库文件夹下找到Modbus TCP 服务器指令MBUS_SERVER,鼠标双击,指令出现在程序段1中,操作如图3.所示。

图3

3、填写服务器指令参数,如图4.所示。

图4

参数及类型

数据类型

说明

Connect

IN

BOOL

=1:服务器接受来自客户端的请求;=0:服务器可以断开已经建立的连接

IP_Port

IN

WORD

服务器本地端口号

MaxIQ

IN

WORD

对应数字量输入/输出点(对应Modbus 地址参数0xxxx或者1xxxx)可设置范围:0-256,=0表示禁用对输入和输出的所有读取和写入。建议将 MaxIQ 值设置为 256。

MaxAI

IN

WORD

对应模拟量输入参数(对应Modbus 地址参数 3xxxx)可设置范围:0-56。= 0表示禁用对模拟量输入的读取。要允许访问所有 CPU 模拟量输入,MaxAI 的建议值如下:对于 CPU CR40 和 CR60,为 0对于所有其它 CPU 型号,为 56

MaxHold

IN

WORD

用于 Modbus 地址 4xxxx 或 4yyyyy 的 V 存储器中的字保持寄存器数。

HoldStart

IN

Dword

指向 V 存储器中保持寄存器起始位置的指针

Done

OUT

BOOL

TRUE:以下任一条件时为真:客户端已与服务器建立连接;客户端已与服务器断开连接;客户端已接收 Modbus 响应;发生错误

FALSE:客户端正忙于建立连接或等待来自服务器的 Modbus 响应。

Error

OUT

BOOL

出现错误,仅一个周期有效

4、鼠标选中程序块文件夹,单击右键,下拉菜单中选择库存储器,如图5.所示。

图5.点击库存储器

5、在库存储区分配对话框中手动输入存储区的起始地址。此实例为VB5340开始,以使指令库可以正常工作。确保库存储区与程序中其他已使用的地址不冲突。使用建议地址无法确定是否有地址重叠,所以推荐手动输入正确的库存储区首地址。如图6.所示。

图6.库存储区地址分配

6、编译项目,下载程序。至此PLC端工作完成,下面让我们进行TIA WINCC的配置吧。

二、TIA WINCC组态

在此使用TIA V16 WINCC Advanced做演示(Professional版也是如此)

具体操作如下图所示:

1、先创建TIA项目,然后切换到项目视图下点击——添加新设备,在弹出的窗口中选择——PC系统——选择WinCC RT Advanced——点击确定;

2、在右侧的目录中选择——常规IE,双击添加到插槽中(如下图)。

3、选中刚刚添加的网卡右键点击——属性,选择以太网地址——设置目标计算机的地址,此时我们使用本机地址192.68.0.208;实际项目中请使用运行wincc项目的计算机IP。

4、创建连接,点击——连接——双击——添加,将自动创建一条连接,我们需要对该连接参数进行设置。

首选需要更改(名称可以默认,有多条连接时建议更改,此处我改为“ModbusTCP_dev”)“通讯驱动程序”——Modicon Modbus TCP/IP;然后更改CPU类型,服务器IP,更改字顺序(该选项只针对32位数据,对16位数据无效,我们需要通讯32位数据时视情况勾选),操作如下图所示。

需注意通讯对象为其他设备时,需通过测试确定“更改字顺序”是否需要勾选。

5、创建变量,创建自己需要通讯的变量,这里需要注意的是,V区对应是我们在程序中设置的起始地址,若设置的为&VB0,那么40001对应的即使VW0(如果程序中设定的是&VB100,那么40001对应的就是VW100),往后依次推算。输入点对应的1x,输出点对应的是0x。

设置好对应的数据类型,以及地址的对应关系(如下图)。

此处分别建立了VW0、VD2、Q0.0、I0.0四个变量为例子。随后在画面中建立四个IO域关联变量(该过程不做赘述),运行项目后即可看到PLC对应的值(如下图所示)。

总结

以上就是整个TIA WINCC 与西门子200 SMART PLC连接的步骤,文章中的2、3步骤可以省略,本文同样也适用于TIA WINCC 连接其他第三方支持Modbus Tcp通讯的设备,若内容如有错误请联系我们(技成科技—技术支持中心)

文章来源:技成培训网原创,作者:罗浩;未经授权禁止转载,违者必究!

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多