[发明专利]一种基于MODBUS-RS485多路集成系统的快速通信方法有效
申请号: | 201910577309.X | 申请日: | 2019-06-28 |
公开(公告)号: | CN110224911B | 公开(公告)日: | 2021-07-09 |
发明(设计)人: | 吴兴校;蔡华祥;唐德宇;唐杨;秦青青 | 申请(专利权)人: | 贵州航天林泉电机有限公司 |
主分类号: | H04L12/40 | 分类号: | H04L12/40;H04L12/403 |
代理公司: | 贵州派腾知识产权代理有限公司 52114 | 代理人: | 汪劲松 |
地址: | 550000 贵州*** | 国省代码: | 贵州;52 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 modbus rs485 集成 系统 快速 通信 方法 | ||
1.一种基于MODBUS-RS485多路集成系统的快速通信方法,其特征在于:基于MODBUS-RS485的多路集成系统包括主控芯片,所述主控芯片通过485总线分别与驱动模块和被控设备连接,所述驱动模块包括若干驱动控制板,若干驱动控制板分别对应连接一台电机,所述驱动控制板包括MCU芯片,MCU芯片的USRT接口连接有两个RS485转UART模块,两个RS485转UART模块分别与485总线、485总线1连接,MCU芯片还与驱动芯片连接,驱动芯片与三相逆变桥连接;
其快速通信方法为:因为进行整个系统的初始化工作此时所有RS485转UART模块1和RS485转UART模块2都处于接收状态,这时485总线和485总线1上的通讯同时进行,但互不干扰,所以通讯分为485总线1通讯和485总线通讯;
所述485总线1通讯步骤为:
步骤1:开始,进行整个系统的初始化工作;
步骤2:所有驱动控制板的RS485转UART模块2处于接收状态;
步骤3:驱动控制板1要发送的采集指令中的寄存器地址置为0X2003;
步骤4:驱动控制板1的RS485转UART模块2置为发送状态;
步骤5:驱动控制板1向485总线1发送读取参数指令;
步骤6:系统在运行同时,判断驱动控制板1的采集指令是否发送完毕,若是,驱动控制板1转步骤7,其他驱动控制板转步骤8,否则,转步骤6继续等待发送结束;
步骤7:驱动控制板1的RS485转UART模块2置为接收状态,转步骤17;
步骤8:在485总线1上除驱动控制板1的其它驱动控制板接收到数据;
步骤9:系统在运行同时,除驱动控制板1的其它驱动控制板对接收到数据的寄存器地址与自身寄存器地址进行匹配,若匹配正确,转步骤10,否则,转步骤16;
步骤10:除驱动控制板1的其它驱动控制板判断接收到数据的CRC校验码是否正确,若正确,转步骤11,否则,转步骤16;
步骤11:寄存器地址匹配的驱动控制板进行回应准备;
步骤12:系统在运行同时,判断回应的参数是否准备完毕,若是,转步骤13,否则,转步骤12继续等待回应准备完毕;
步骤13:寄存器地址匹配的驱动控制板的RS485转UART模块2置为发送状态;
步骤14:寄存器地址匹配的驱动控制板向驱动控制板1发送参数;
步骤15:系统在运行同时,判断寄存器地址匹配的驱动控制板的回应参数是否发送完毕,若是,驱动控制板1转步骤17,寄存器地址匹配的驱动控制板转步骤16,否则,转步骤15继续等待发送结束;
步骤16:地址匹配的驱动控制板的RS485转UART模块2置为接收状态,转步骤6;
步骤17:判断驱动控制板1接收回应参数的CRC校验码是否正确,若是,转步骤19,否则,转步骤18;
步骤18:判断驱动控制板1接收等待是否超时,若是,转步骤20,否则,转步骤18等待接收超时;
步骤19:驱动控制板1的MCU把回应参数存入相应寄存器中进行数据更新,等待主控芯片进行读取;
步骤20:驱动控制板1要发送的采集指令中寄存器地址加0X1000;
步骤21:判断驱动控制板1要发送的采集指令中寄存器地址是否大于0Xn003,若是,转步骤3,否则,转步骤4;
所述485总线通讯步骤为:
步骤S1:开始,进行整个系统的初始化工作;
步骤S2:所有驱动控制板的RS485转UART模块1处于接收状态;
步骤S3:系统运行同时,所有驱动控制板判断主控芯片是否发送命令,若是,转步骤S4,否则,转步骤S3继续等待主控芯片发送命令;
步骤S4:所有驱动控制板判断主控芯片发送命令的地址是否匹配,若匹配,则转步骤S5,否则,转步骤S3;
步骤S5:所有驱动控制板判断主控芯片发送命令的CRC校验码是否正确,若正确,则转步骤S6,否则,转步骤S3;
步骤S6:所有驱动控制板对功能码进行判别,若功能码为读取,则驱动控制板1转步骤S10,其他驱动控制板转步骤S3,若功能码为写入,则所有驱动控制板转步骤S7;
步骤S7:所有驱动控制板判断主控芯片发送命令的寄存器地址是否与自身匹配,若匹配,转步骤S8,否则,转步骤S3;
步骤S8:寄存器地址匹配的驱动控制板和驱动控制板1把传输值写入对应驱动板的寄存器,寄存器地址匹配的驱动控制板转步骤S9,驱动控制板1转步骤S10;
步骤S9:寄存器地址匹配的驱动控制板MCU读取写入后寄存器的值对电机进行控制;
步骤S10:驱动控制板1进行回应主控芯片的准备;
步骤S11:系统在运行同时,判断应答数据是否准备完毕,若是,转步骤S12,否则,转步骤S11继续等待应答准备完毕;
步骤S12:驱动控制板1的RS485转UART模块1置为发送状态;
步骤S13:驱动控制板1向主控芯片发送应答数据;
步骤S14:系统在运行同时,判断驱动控制板1的应答数据是否发送完毕,若是,转步骤S15,否则,转步骤S14继续等待发送结束;
步骤S15:驱动控制板1的RS485转UART模块1置为接收状态,转步骤S3。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贵州航天林泉电机有限公司,未经贵州航天林泉电机有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910577309.X/1.html,转载请声明来源钻瓜专利网。