在此期间,学生经常会询问有关西门子plc S7-200系列的MODBUS通讯的问题,所以今天写一篇文章,与您讨论如何使用西门子plc S7-200系列PLC的MODBUS通讯功能,西门子plc MODBUS通信协议概述: MODBUS协议是一种通用协议,在许多智能设备上支持这种通信协议,例如逆变器,智能温度控制仪器等,它们都支持MODBUS通信协议,MODBUS通信协议在串行链路上具有MODBUS ASCAII通信和MODBUS RTU通信,以及基于TCP/IP的MODBUS TCP通信,这里我们主要介绍串行链路上基于MODBUS RTU的通信。
MODBUS RTU的信息帧格式:
Start:起始码表示信息帧的开始,MODBUS RTU通信,使用时间作为信息帧的开头,主要是检测传输线上的空闲时间,长度为3.5个字符的持续时间, 1字符的长度与数据位,停止位,起始位,奇偶校验位和波特率有关, Address:地址代码(一个字节),表示从站的站号。从站号由从站设备给出或设置。例如,逆变器可以在逆变器参数中设置逆变器的站数,Function:功能代码(一个字节),描述从器件的读写操作,是从从器件读取数据还是从器件写入数据。常用功能代码如下:
Data:数据区(N字节),数据区主要由两部分组成,一部分称为数据区的地址,另一部分称为数据区的内容。如果需要控制变频器的运行,变频器运行代码称为数据区内容,运行代码需要写入的位置称为数据区地址。 CRC:检查代码(2个字节),对从站号到数据区的数据执行CRC校验。有关CRC校验程序的设计,请参阅上一篇文章。 End:结束代码与起始代码一样,也是按时间判断的, 接下来,我们以西门子S7-200SMART系列PLC和深圳Hepmont变频器为例,说明使用MODBUS控制变频器运行,频率修改以及读取某些参数的过程。 首先,我们需要熟悉逆变器手册中描述的通信。支持的功能代码为03,06和16功能代码(注意0X10表示的是16进制数10):
提供的信息框架格式为:
例如:运行命令控制,地址位十六进制3200,将不同的代码写入地址3200以指示不同的控制命令,如下图所示 根据以上所述,我们可以编写控制逆变器操作的信息帧的格式。如果逆变器的站号设置为1,则可以获得如下图所示的信息帧的格式。
其他命令的信息帧格式可以参考变频器手册以相同的方式写入,在信息帧格式出来后,西门子plcPLC可以根据信息帧的格式准备要发送到逆变器的数据。在下一篇文章中,我主要讨论在PLC端发送数据的指令。
总结:以上内容就是小编为大家介绍的西门子plc S7-200系列的MODBUS通信,本公司是西门子plc代理商,如果您有这方面的任何需求,欢迎大家咨询容感电气,我们将给您真诚的服务。