分享

S7-1200使用Modbus RTU指令的注意事项

 AllenLI123 2021-08-27

这次调试的是S7-1200 PLC和某品牌变频器RS485的通讯,走的是ModbusRTU通讯。然后顺带总结了一下使用ModbusRTU指令的一些笔记。

因为S7-1200 PLC没有自带RS485通讯端口,因此需要扩展一个RS485通讯模块或RS485通讯板。

订货号为:

 

 这里使用的是通信模块CM 1241 ,参考模块接线图如下:

RS485模块通常连接时,应该是信号A接变频器的信号A,信号B接变频器的信号B,但有时候你在无法确定变频器哪个是信号A、信号B的时候,在程序不变的情况下,可以对换一下接线,这也是Modbus程序调试常用的诊断故障的一个方法。

好,以上属于硬件部分,接下来详细讲述一下ModbusRTU指令的用法。其实这个指令介绍,系统手册都会讲述,但是因为系统手册讲的比较详细,有些内容其实可以不用去深入了解。所以在这里,挑一些Modbus RTU 会用到的一些内容整理了一下。

因为这里用S7-1200来控制变频器,所以S7-1200 这里是主站,用的是主站Master指令。

先说一下一共用了哪几条指令

程序段1

程序段2

程序段3

程序段4

其实一共就用了”Modbus_Comm“组态指令和“Modbus_Master”主站指令。但是里面的注意事项还是不少的。

1.先说一下“Modbus_Comm”指令。

1)使用”Modbus_Comm“组态指令,这个指令的作用是保证程序和硬件组态一致。这个是必须要有的,不管是做主站还是做从站。在指令里面设置好对应的引脚参数。

这个指令的其他输入管脚就是波特率,数据位这些通讯格式,最后一个管脚MB_DB需要注意,这个是和你后面用的是主站还是从站的指令有关。手册上的解释是 Modbus_Master Modbus_Slave 指令的背景数据块的引用

举个例子就是,先建立一个“Modbus_Master”指令,然后程序会自动建立一个DB程序块,这里建立的是DB11,这个DB11就是这个“Modbus_Master”指令的专用背景数据块。接着就在DB11里面找到MB_DB的选项,填入”Modbus_Comm“指令的MB_DB引脚处。如图所示:

需要注意的是这里的DB11需要在系统块里面寻找

2)设置”Modbus_Comm“指令的MODE参数,这个参数也比较重要,和前面的2线制,4线制的硬件接线相互匹配。这个参数需要在”Modbus_Comm“的专用背景DB里面寻找,这里是DB31。为什么要修改?手册上是这么解释的。

而且这里的Mode引脚和硬件组态的操作模式必须一致、并且同时设置、填写正确,缺一不可。举个例子,在硬件组态里已经选择了RS485模式,但是Modbus_Comm指令的MODE参数没有填写4,程序默认为0,这个时候其实是RS485的工作方式组态失败的。

2.接下来说下“Modbus_Master”指令

这个指令的引脚大部分也能看的懂。就是'MODE'引脚需要注意一下,这里的解释是模式选择,并不是直接填写功能码。

举个例子:

你需要用到读取字的功能码03,这里的MODE不能填写3的,为什么?因为模式没有规定数字3是个啥。这里需要填写的是0,然后你会发现,0包括了01,02,03,04这些Modbus的功能码。那么怎么区分我读的是位元件还是字元件?答案是根据地址。

注意看,功能码01的地址是1~9999,  功能码02的地址是10001~19999,功能码03的地址是40001~49999,  功能码04的地址是30001~39999

同理可证,你要写入字就需要在MODE填写1,因为1包括05,06,15,16这些Modbus的功能码,还是通过地址来区分你写入的是位件还是字元件。

一般用到的也就是写入字或读取字,所以用到MODE里的01就差不多了,具体更复杂的功能还是看手册吧。

3.关于Modbus的寄存器地址,有的时候会错位。所以需要注意,比如说,变频器的频率写入字地址是100,然后我们这里用的是06功能码,如果直接写入100这个字的地址是无效的!为什么?因为1-9999是位元件的地址,你的字元件是从40001开始的。

然后你就写入40100这个地址,发现还是不对?在你一想了半天以后,你会发现字地址是40001开始,那么字100的地址就应该是40001+100=40101这个地址。

4.   因为这里用的是主站指令,所以需要做轮询,一个变频器既要发送,又要读取,在同一个时刻是做不到的,因此要排个先后顺序。这方面的资料有专门的官方资料。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多