欢迎来到山东科新教育科技发展有限公司, 注册会员即可观看在线课程和资料下载

咨询热线:13615417996
联系我们
二维码 山东科新教育科技发展有限公司

联系电话:13615417996

联系地址:山东省济南市长清区芙蓉路4001号创新谷加速器九方创投基地项目2栋2单元2楼

plc之西门子SMART实现modbusTCP通讯

文章作者:创始人 发布时间:2022-08-03 11:30:43 浏览次数:0

&&&下面要讲的就是plc关于西门子SMART实现modbusTCP通讯,具体内容是什么呢?我们以为来看看吧。

&&&一、modbusTCP协议介绍

Modbus是MODICON于1979年开发的一种工业现场总线协议标准。1996年,Schneider提出了基于以太网TCP/IP的Modbus协议:ModbusTCP。

Modbus是一种应用层的报文传输协议,包括ASCII、RTU、TCP报文等。

标准的Modbus物理层接口包括RS232、RS422、RS485和以太网接口,采用主从模式通信。

ModbusTCP数据帧

modbustcp的数据框架可分为两部分:mbap+PDU。

报文头MBAP

MBAP为报文头,长度为7字节,组成如下:

事务处理标识协议标识长度单元标识符

2字节2字节2字节1字节

内容解释

事务处理标识可以理解为报文的序列号,一般每次通信之后就要加1以区别不同的通信数据报文。

协议标识符00 00表示ModbusTCP协议。

长度表示接下来的数据长度,单位为字节。

单元标识符可以理解为设备地址。

帧结构PDU

PDU由功能代码+数据组成。功能代码为1字节,数据长度是可变的,由特定功能决定。

功能代码

有四个MODBUS操作对象:线圈、离散输入、保持寄存器和输入寄存器。

对象含义

线圈PLC的输出位,开关量,在Modbus中可读可写

离散量PLC的输入位,开关量,在Modbus中只读

输入寄存器PLC中只能从模拟量输入端改变的寄存器,在Modbus中只读

保持寄存器PLC中用于输出模拟量信号的寄存器,在Modbus中可读可写

根据对象的不同,Modbus的功能码有:

功能码含义

0x01读线圈

0x05写单个线圈

0x0F写多个线圈

0x02读离散量输入

0x04读输入寄存器

0x03读保持寄存器

0x06写单个保持寄存器

0x10写多个保持寄存器

二、modbusTCP实测

ModbusTCP服务器(从站)

即使用SMART作为协议从站,可供上位机读取,以下为实际测试程序:

PLC


PLC


PLC

PLC

需要注意的是,下面的Step7-MicroWinSmart2.4版本需要购买库文件,2.4版本以上的程序集成了这个功能,所以如果你需要学习库文件,也可以私信给我。

定义以上参数,就可以实现通信,我用modbusPoll调试软件作为上位机与SMART完成modbusTCP通信。需要这个调试软件的同学也可以联系我。

通过对以上参数的测试发现,IP地址可以设置为主机地址,也可以全部设置为0,即只要端口号缺失,不判断主机IP地址。

ModbusTCP客户端(主站)

Smart的主站通信与ModbusRTU非常相似,也通过轮询实现。以下是测量程序:


PLC



西门子smart为主站,Modbus从站调试软件也用作协议从站。

ModbusTCP是通过工业以太网TCP/IP网络传输的Modbus通信。S7-200SMART采用client-server方式,Modbus客户端向Modbus服务器发起TCP/IP连接。

连接建立后,客户端向服务器发送请求,服务器响应客户端的请求。客户端可以请求从服务器设备读取部分内存或向服务器设备的内存写入一定数量的数据。如果请求有效,服务器会响应请求;如果请求无效,则返回错误消息。

S7-200SMART支持ModbusTCP客户端或服务器,可以在plc和支持该协议的第三方设备之间进行通信。当通信伙伴的数量很大时,可以使用交换机扩展以太网接口。

&&& modbustcp库指令直接集成到软件中。

安装软件后,modbustcp指令位于STEP7 micro/winsmart项目树中“指令”文件夹的“库”文件夹中。如图2所示。Modbustcp库指令。

指令分为客户端和服务器。指令的当前版本是v1.0。

PLC


ModbusTCP客户:

Modbus client命令MBUS_CLIENT使用的CPU资源如下:

使用活动连接资源。最多有8个活动连接资源

当多个服务器伙伴连接时,会自动生成连接id。

ModbusTCP客户端使用以下程序实体:

1子例程

2849字节的程序空间

一个638字节的V内存模块,用于指令符号

ModbusTCP服务器:

Modbus服务器指令MBUS_SERVER使用CPU的以下资源

占用被动连接资源。被动连接资源最多配置8个

当连接多个客户伙伴时,会自动生成连接id。

ModbusTCP服务器使用以下程序实体:

1子例程

2969字节的程序空间

一种445字节的V存储器模块,用于存储指令符号

指令库编程完成后,必须从Step7-Micro /WINSMART为所使用的指令分配库存储地址。

山东科新教育logo

联系我们

电话:13615417996

网址:http://www.kexinkj.com

地址:山东省济南市长清区芙蓉路4001号创新谷加速器九方创投基地项目2栋2单元2楼

山东科新教育二维码

扫码微信联系

山东科新教育科技发展有限公司版权所有,