之前分享了如何使用经典wincc与200smart连接,但还有很多朋友使用博途WINCC来开发界面,今天我们介绍下如果使用博途wincc与200smart通讯,依然使用ModbusTcp协议,该方法适用于支持标准ModbusTcp(服务器)协议的任何设备。
注意:博途wincc只能做ModbusTcp客户端,不能做服务器。所以连接的对象只能是ModbusTcp服务器。
200SMART做服务器STEP7-Micro/WINSMART从版本开始,软件中直接集成ModbusTCP库指令,无需单独安装或者购买。安装软件后,ModbusTCP指令位于STEP7-Micro/WINSMART项目树中“指令”文件夹的“库”文件夹中。如图1.ModbusTCP库指令所示。指令分为客户端和服务器两种,我们这里需要使用服务器指令(ModbusTCPServer),具体操作如下

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

图2

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

图6.库存储区地址分配
6、编译项目,下载程序。至此PLC端工作完成,下面让我们进行TIAWINCC的配置吧。
TIAWINCC组态在此使用TIAV16WINCCAdvanced做演示(Professional版也是如此)
具体操作如下图所示:

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




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

需注意通讯对象为其他设备时,需通过测试确定“更改字顺序”是否需要勾选。
5.创建变量,创建自己需要通讯的变量,这里需要注意的是,V区对应是我们在程序中设置的起始地址,若设置的为VB0,那么40001对应的即使VW0(如果程序中设定的是VB100,那么40001对应的就是VW100),往后依次推算。输入点对应的1x,输出点对应的是0x。
设置好对应得数据类型,以及地址的对应关系(如下图)。

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

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