首页 理论教育 地铁设备中的电动机Modbus通信控制

地铁设备中的电动机Modbus通信控制

时间:2023-10-11 理论教育 版权反馈
【摘要】:两台S7-226 CPU组成Modbus网络。将接有电动机的CPU设为从站,Modbus站地址设为3。S7-200 PLC间的Modbus通信可通过Profibus电缆直接连到各CPU的端口0或端口1,该例中用到两台S7-226 CPU,每个CPU有两个端口。图5-8分配库存储区Modbus主站程序如图5-9所示。在网络5中,当与Modbus从站通信完成时,复位通信使能标志位。MBUS_SLAVE子程序收到Modbus主站的信息后,直接控制数字量输出Q0.0,启动或停止电动机。图5-10Modbus从站程序

地铁设备中的电动机Modbus通信控制

两台S7-226 CPU组成Modbus网络。一台CPU上接电动机控制接触器,另一台CPU接启动按钮和停止按钮。当按下启动按钮/停止按钮时,接在另一台CPU上的电动机运行/停机。

首先确定一台CPU作为主站,即将接有启动和停止按钮的一台CPU作为主站。将接有电动机的CPU设为从站,Modbus站地址设为3。S7-200CPU之间的Modbus通信需要在主站侧和从站侧都编写通信程序。

S7-200 PLC间的Modbus通信可通过Profibus电缆直接连到各CPU的端口0或端口1,该例中用到两台S7-226 CPU,每个CPU有两个端口。将两台CPU的端口0用Profibus电缆连接,组成一个使用Modbus协议的单主站网络,网络结构图如图5-7所示。

图5-7 网络结构图

根据控制要求,编写PLC程序。调用Modbus指令库的指令后,还需要对库存储区进行分配,否则即使编写的程序没有语法错误,程序编译后也会显示很多错误。单击菜单栏上的“文件”→“库存储区(M)”命令,弹出如图5-8所示对话框。在对话框中单击“建议地址”按钮,系统会为Modbus指令库自动分配存储区,分配后的存储区在后续编程中是不能使用的。

图5-8 分配库存储区(www.xing528.com)

Modbus主站程序如图5-9所示。在网络1中,当按下启动电动机按钮时,置位通信使能位和电动机状态位。在网络2中,当按下停止电动机按钮时,置位通信使能位,复位电动机状态位。在网络3中,用SM0.0调用主站初始化程序MBUS_ CTRL,在每个扫描周期都执行此程序。主站初始化程序MBUS_CTRL输入参数Mode为1,使能Modbus通信协议波特率为9600 b/s,校验方式为无校验,主站等待从站的响应时间为1000 ms。在网络4中,根据通信使能位来调用Modbus读/写子程序MBUS_MSG。Modbus读/写子程序MBUS_MSG的输入参数First采用脉冲触发新的读/写请求。从站地址为3、RW为1,定义为写消息。写从站的数据地址为00001(在程序中,前导0被自动省略),操作从站的数字量输出Q0.0。通信的数据个数为1,数据指针指向VB0。在网络5中,当与Modbus从站通信完成时,复位通信使能标志位。

图5-9 Modbus主站程序

Modbus从站程序如图5-10所示。MBUS_INIT只在第1个扫描周期调用。在网络l中,用SM0.1调用从站初始化程序。从站初始化程序MBUS_INIT输入参数Mode为1,启动Modbus通信协议,从站地址为3,波特率为9600 b/s,校验方式为无校验,字符间延时为0,参与通信的最大I/O点数为128,参与通信的最大AI通道数为32,参与通信的最大保持寄存器数为100,保持寄存器的起始地址为VB1000。在网络2中,用SM0.0调用子程序MBUS_SLAVE来响应主站请求,每个扫描周期都需调用此子程序。MBUS_SLAVE子程序收到Modbus主站的信息后,直接控制数字量输出Q0.0,启动或停止电动机。

图5-10 Modbus从站程序

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈