马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?请使用中文注册
×
关于Modbus TCP通讯调试过程的那些事1 Modbus TCP服务器与调试工具的应用 随着市面上的Modbus TCP器件的推广,用户的应用也逐渐普及,为结合公司能源管理的深入开展,近期针对Modbus TCP的应用也越来越多,现总结一些应用心得如下。 下面例子测试作为Modbus TCP服务器的测试、创建过程: 1) 创建测试项目,portal版本V15 cpu S7-1214C 版本V4.2,调用软件:IoTClient Tool – Modbus Tcp 创建测试plc项目,图示1: IP地址设置:192.168.0.1 2) 在OB1中把“通讯”指令下的“其它”菜单下Modbus TCP的服务器指令拖拽到编辑区,图示2: 根据MB_SERVER通讯指令创建对应的数据块并填充各管脚。 MB_SERVER通讯指令主要管脚解释: 其中: 输入: DISCONNECT:= 0激活Modbus TCP通讯, = 1关闭Modbus TCP通讯; MB_HOLD_REG:用户自定义服务器数据交换区; CONNECT:Modbus TCP的通讯协议定义,用户协议自创建一个DB块,专门定义Modbus TCP的通讯协议:TCON_IP_V4。 输出: 相对简单,是一些通讯标志位及报警信息。 CONNECT管脚对应的数据块DB2的创建,图示3: 系统自动生成各通讯参数: Interceld:通讯接口硬件映射地址,cpu属性“系统常数”中可以 查询到协议连接的以太网接口; ID: 连接标设符,写1; ConnectionType:通讯模式,Modbus TCP = 16#0B ; ActiveEstablished:主动、被动连接,服务器 = 0(false); RemoteAddress:远程站IP地址,ADDR[1]~ADDR[4] = 0。自动设别; RemotePort:远程站端口号; LocalPort:本地站端口号;502 将设置好的DB3挂到CONNECT管脚中。 3) 编译、保存将项目下载到plc中,打开IoTClient Tool – Modbus Tcp软件,图示:4: 服务器通讯指令管脚STATUS = 16#7006,空闲,正常没有报警。 4) 根据PLC的IP地址范围,在图示软件中设置plc的IP地址及端口号:502,图示5: IP窗口设置plc的IP地址,端口设置502,连接通讯成功。 5) 创建监控表,新建DB3.DBW0的几个测试数据,分别给DB3.DBW0 = 1、DB3.DBW2 = 2、DB3.DBW4 = 3赋值后,到图示软件中读取这些变量地址的数据,图示6: DB3数据块的数据被调试软件读回。 修改数据,再试,图示7: 通讯正常,数据读回。 6) 将123的数据写到DB3.DBW2中,图示8: 调试软件的通讯地址按40001 + 1方式写入,调试软件地址写0,则对应plc侧的通讯地址是DB3.DBW2。 小结: Modbus TCP通讯是基于以太网硬件连接方式的modbus通讯模式,随着第三方器件的不断涌现,应用也会越来越多。西门子S7-1200的Modbus TCP通讯应用,通过官方手册资料及1847视频讲解,应用相对还是比较容易快速入门的,用户只需要遵循编写通讯的基本原则,基本一次性可以通过,在测试时MB_SERVER指令的STATUS会出现报警,如16#80B7,则是图示客户机没有启动建立连接,16#7002,则表示通讯等待,正在建立连接的信息。 另外,在填充MB_SERVER指令的CONNECT管脚参数,需要用户自行先创建DB数据块,在定义数据类型时,数据类型:TCON_IP_V4是需要用户自己手动写入,而系统没有这个选项。字符没有大、小写区别要求,系统会自动设别并产生协议参数,用户根据具体的需要自行填写TCON_IP_V4必要的参数数据。
|