本案例主要讲解分布式IO系列设备(本次作为Modbus TCP服务器)与西门子PLC S7-200smart(以下简称西门子PLC,本次作为Modbus TCP客户端)Modbus TCP参数配置连接例程,本案例分布式IO系列以M31-AAAX4440G为例。
一
硬件准备
M31-AAAX4440G分布式IO主机一台;
西门子PLC S7-200smart一台;
24V电源两个;
通讯电缆若干;
电脑一台。
二
软件准备
STEP 7-MicroWIN SMART软件,可自行在西门子官网下载;
亿佰特分布式IO配置工具上位机,可在亿佰特官网相对应位置下载。
三
PLC程序准备
(1)修改默认的Modbus地址
西门子S7-200 SMART 作为Modbus TCP客户端与Modbus TCP服务器通信时,需要修改Modbus地址参数,PLC的mModbusUnitID默认的Modbus地址为255,需要设置成与分布式IO的一致(分布式IO默认的Modbus地址为1),在Modbus TCP Client中找到mModbusUnitID,将mModbusUnitID设置为1。如图所示:
(2)配置PLC参数
本例程为Modbus TCP连接,采用网口通信的方式,因此,只需要保证分布式IO M31-AAAX4440G和西门子PLC的IP在一个网段即可(注意:特殊情况下可以不在一个网段,需要设置路由,详询技术支持)。
本例程西门子PLC IP地址分配(因为分布式IO M31-AAAX4440G默认IP地址为192.168.3.7,所以我们将西门子PLC的网段也设置成了3网段,具体IP地址为192.168.3.100),如图所示:
本次案例分布式IO M31-AAAX4440G作为服务器,西门子PLC作为客户端,所以西门子网络连接参数配置,如图所示:
程序注释:
Connect不通过指令断开。
IPAddr1-4参数填写服务器的IP地址,192.168.3.7。
IP_Port填写服务器的端口号。
RW=1设置模式为读写参数模式,RW=0为读模式。
Addr表示寄存器数据地址,这个以实际操作的寄存器地址填写。
Count表示Addr寄存器数据地址连接的数量,这个以实际操作的寄存器地址数量填写。
DataPtr表示通信读取过来的数据放置&VB100开始的区域,长度由Count决定。
DI数字量输入连接参数:
查看分布式IO产品手册可知,DI数字量输入寄存器如下:
程序Addr处填写10001(转换为10进制后,寄存器起始地址需要+1操作),Count处填写4。
AI模拟量输入连接参数:
程序Addr处填写30001(转换为10进制后,寄存器起始地址需要+1操作),Count处填写4。
程序Addr处填写31001(转换为10进制后,寄存器起始地址需要+1操作),Count处填写8(浮点型值,连续两个寄存器地址为1个AI通道)。
DO数字量输出连接参数:
查看M31-AAAX4440G产品手册可知,DO数字量输出寄存器如下:
程序Addr处填写1(转换为10进制后,寄存器起始地址需要+1操作),Count处填写4。
四
M31-AAAX4440G参数配置准备
可使用亿佰特分布式IO配置工具上位机配置M31-AAAX4440G的基本参数和网络参数,本次采用设备默认参数:Modbus地址:1,工作模式:TCP服务器,本机IP地址:192.168.3.7,本机端口:502。如图所示:
此刻,我们已经成功地完成了对西门子PLC和分布式IO M31-AAAX4440G参数配置,为二者的Modbus TCP连接通讯做好了准备。