养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

ModScan(主站)与200PLC(从站)的Modbus通讯

时间:2024-09-22 06:48:38

软件配醅呓择锗置:ModScan测试软件、Step7-MicroWinV4.0.6.35编程软件

硬件配置:电脑、西门子200PLC叵萤茆暴(CPU224XPCNREL02.01)、PPI编程电缆、USB-TO-Serial电缆、研华ADAM4520RS232/RS422/RS485模块

准备:焊接RS485通讯电缆一根(Date+→DB93引脚、Date-→DB98引脚)、RS485通讯电缆连接200PLC的Port0端口、安装modbus库文件

ModScan(主站)与200PLC(从站)的Modbus通讯

1.打开Step7-MicroWinV4.0.6.35编程软件,设置库存储区;(注意:在“库存储区分配”对话框中输入库存储区的起始地址,注意避免该地址和程序中已经采用或准备采用的其它地址重合。规定Modbus保持寄存器区从VB0开始(HoldStart=VB0),并且保持寄存器为1000个字(MaxHold=1000),因保持寄存器以字(两个字节)为单位,实际上这个通信缓冲区占用了VB0~VB1999共2000个字节。因此分配库指令保留数据区时至少要从VB2000开始。当然保持区不一定要从VB0开始。)

ModScan(主站)与200PLC(从站)的Modbus通讯

ModScan(主站)与200PLC(从站)的Modbus通讯

2.在主程序中添加ModbusSlavePort0从站块(MBUS_INIT,MBUS_SLAVE)

ModScan(主站)与200PLC(从站)的Modbus通讯

库文件

•西门子Modbus从站协议库包括两条指令:MBUS_INIT指令和MBUS_SLAVE指令。•MBUS_INIT指令用于启用和初始化或禁止Modbus通讯。

•MBUS_SLAVE指令用于为Modbus主设备发出的请求服务。

•MBUS_INIT指令用于启用和初始化或禁止Modbus从站通讯。在使用MBUS_SLAVE指令之前,必须正确执行MBUS_INIT指令。指令完成后立即设定“完成”位,才能继续执行下一条指令。

ModScan(主站)与200PLC(从站)的Modbus通讯

MBUS_INIT指令说明:

•EN:指令使能位。•Mode:模式选择,启动/停止Modbus从站通信。Mode参数允许使用以下两个数值:1——启动,0——停止。

•Address:从站地址,MODBUS从站地址,取值1~247。

•Baud:波特率,可选1200,2400,4800,9600,19200,38400,57600,115200。•Parity:奇偶校验,0=无校验;1=奇校验;2=偶校验。

•Delay:延时,附加字符间延时,缺省值为0。

•MaxIQ:最大I/Q位,参与通信的最大I/O点数,S7-200的I/O映像区为128/128,缺省值为128。

•MaxAI:最大AI字数,参与通信的最大AI通道数,可为16或32。

•MaxHold:设定供Modbus地址4xxxx使用的V存储器中的字保持寄存器数目。

•HoldStart:保持寄存器区起始地址,以&VBx指定(间接寻址方式)。

•Done:初始化完成标志,成功初始化后置1。

•Error:初始化错误代码。

ModScan(主站)与200PLC(从站)的Modbus通讯

MBUS_SLAVE指令说明:

MBUS_SLAVE指令被用于为Modbus主设备发出的请求服务,并且必须在每次扫描时执行,以便允许该指令检查和回答Modbus请求。MBUS_SLAVE指令无输入参数,在每次扫描且EN输入开启时执行。

•EN:指令使能位。

•Done:Modbus执行通信中时置1,无MODBUS通信活动时为0。

•Error:错误代码。

ModScan(主站)与200PLC(从站)的Modbus通讯

3.编译完成,通过PPI电缆下载程序,下载完成后断开PPI电缆,连接485电缆,并打开ModScan测试软件,设置参数与定义的Modbus参数相同。

设置如下图的参数:

Deviceid为3(该地址为MBUS_INIT指令中的Address)

Address为0001

Length为100寄存器选择03:HOLDINGREGISTER

ModScan(主站)与200PLC(从站)的Modbus通讯

打开connect窗口如下图所示,并设置参数;选项串口的通信端口,设置通信的波特率、校验位、停止位等参数。

单击rotocolselection设置modbus报文传输的方式为标准的RTU

ModScan(主站)与200PLC(从站)的Modbus通讯

单击ok,设置modbus数据显示的格式为swappedfp

ModScan(主站)与200PLC(从站)的Modbus通讯

© 一点知识