浔之漫智控技术(上海)有限公司总部
主营西门子模块 , PLC模块 , 变频器模块 , 触摸屏模块
PLC模块总代理商6ES7512-1DM03-0AB0

PLC模块总代理商6ES7512-1DM03-0AB0西门子交换机代理商

S7-1200模块系列   CPU模块数字量 扩展代理商

扩展模块代理商  模拟量 扩展模块代理商    电能测量模块代理商    通信模块代理商       信号板 模块代理商

S7-1200存储卡代理商    扩展电缆代理商     西门子电池代理商

西门子S7-200系列PLC的MODBUS通信功能

在S7-200SMART系列PLC中的库指令中集成了MODBUS RTU通信的库指令,库指令中包含了S7-200SMART系列PLC作为主站功能的库指令及S7-200SMART系列PLC作为从站功能的库指令0001.jpg

在这里我们主要介绍下主站的库指令,主站的库指令中根据所使用的通信口的个数不一样分为两个,若使用时PLC的本体的RS485端口需要作为modbus的主站功能,而扩展的RS485的信号板又需要作为MODBUS的主站的功能,那么前者使用个主站库的指令,后者可以使用第二个主站库指令,每个主站库指令中都有两个指令,分别为初始化指令MBUS_CTRL ,数据读写发送请求指令MBUS_MSG指令。微信截图_20230218165057.png

下面我们对这两个指令的意思以及指令上的管脚进行一些说明:

MBUS_CTRL指令

EN:初始化指令使能端,需要保持每个扫描周期都接通

Mode:通信协议的选择,若需选择MODBUS RTU通信,这需要保持该位为1状态,所以此处可以使用SM0.0接通。

Baud:通信波特率的设置

Parity:奇偶校验的选择,0表示无校验,1表示奇校验,2表示偶校验

Port :端口号设置,若使用PLC本体上的RS485端口,则应选择为0 (注意S7-200PLC中的库指令中的MBUS_CTRL没有此管脚)

Timeout: 该参数用于确定 Modbus 从站设备是否对主站发出请求做出响应。若达到设定值后,还未获得从站的响应,则PLC认为从站出问题,同时MBUS-MSG指令中的故障代码存储器中会存储相应的故障代码,同时完成位的状态为1.

Done:完成位,当初始化完成后,该位的状态为1,编写程序时,可以根据这个完成位来判断初始化是否完成,完成后可以用于激活MBUS_MSG指令进行数据请求的发送,(需要注意是:初始化完成后,至少需要过一个扫描周期后,才能去激活MBUS-MSG指令,否则可能通信不成功)

Error:故障代码存储器(使用一个字节进行存储),当初始化出现错误后,在故障存储器中会产生一个代码,查看指令帮助中的代码说明,可以查看到可能出错的原因是什么。

微信截图_20230218170208.png


MBUS_MSG指令

EN:指令的使能

MBUS_MSG指令使用时一定要注意的一点就是,同一个扫描周期内,只能由一条MBUS_MSG的EN端的状态为1.如果在一个扫描周期内出现2条及2条以上的MBUS_MSG的EN端的状态为1的情况。则MBUS_MSG指令中的故障代码的值会为6,通信会不成功。

First:触发请求,仅保持一个扫描周期的时长 ,因此在使用时需要使用沿脉冲进行触发。

Slave:从站站号,根据从站中设置的地址进行填写

RW:读写操作选择,0表示读,1表示写,若控制变频器运行,使用写的功能,若需要读取变频器的电流等需要用读的命令。

Addr:起始的MODBUS寄存器地址,此地址使用时一定要正确编写。

MODBUS寄存器的地址,根据功能码的不一样,主要有4种类型的表示方式,分别为0XXXX(读写线圈状态),1XXXX(读开关输入状态),3XXXX(读输入寄存器),4XXXX(读写保持寄存器)四种类型,对于第四种类型4XXXX的类型,地址可以扩展,扩展为4XXXXX六位数的类型格式。

QQ截图20230312230552.png

PLC模块总代理商6ES7512-1DM03-0AB0西门子交换机代理商PLC模块总代理商6ES7512-1DM03-0AB0西门子交换机代理商PLC模块总代理商6ES7512-1DM03-0AB0西门子交换机代理商

S7-1200模块系列

CPU模块数字量 扩展代理商

扩展模块代理商

模拟量 扩展模块代理商

电能测量模块代理商

通信模块代理商

信号板 模块代理商

S7-1200存储卡代理商

扩展电缆代理商

西门子电池代理商


展开全文
优质商家推荐 拨打电话