西门子200smartPLC与TIA wincc通讯(modbus TCP)
之前分享了如何使用经典WINCC与200SMART连接,但还有很多朋友使用博途WINCC来开发界面,我们介绍下用博途WINCC与200 SMART通讯,依然使用ModbusTcp协议,该方法适用于支持标准Modbus Tcp(服务器)协议的任何设备。
注意:博途wincc只能做Modbus Tcp客户端,不能做服务器。连接的对象只能是Modbus Tcp服务器。
一、200SMART 做服务器
STEP7-Micro/WIN SMART 从V2.4版本开始,软件中直接集成ModbusTCP库指令,无需单独安装或者购买。安装软件后,Modbus TCP 指令位于STEP7-Micro/WINSMART项目树中“指令”文件夹的“库”文件夹中。如图1.ModbusTCP库指令所示。指令分为客户端和服务器两种,我们这里需要使用服务器指令(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 RTAdvanced——点击确定;
2、在右侧的目录中选择——常规IE,双击添加到插槽中(如下图)。
3、选中刚刚添加的网卡右键点击——属性,选择以太网地址——设置目标计算机的地址,此时我们使用本机地址192.68.0.208;实际项目中请使用运行wincc项目的计算机IP。
4、创建连接,点击——连接——双击——添加,将自动创建一条连接,我们需要对该连接参数进行设置。
需要更改(名称可以默认,有多条连接时建议更改,此处我改为“ModbusTCP_dev”)“通讯驱动程序”——ModiconModbusTCP/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步骤可以省略,本文同样也适用于TIAWINCC 连接其他第三方支持Modbus Tcp通讯的设备,若内容如有错误请联系我们(技成科技—技术支持中心)。