【技术实现步骤摘要】
一种基于CAN总线的上下位机的通信方法与系统
[0001]本专利技术属于自动控制
,尤其涉及一种基于CAN总线的上下位机的通信方法与系统。
技术介绍
[0002]对于很多已经实现MODBUS TCP协议的应用,在不改变业务逻辑和数据传输要求的基础上,迁移到CAN总线运行,由于MODBUS TCP协议数据段长度不固定,存在超过CAN总线数据部分规定的8个字节长度的情况,所以需要根据CAN总线的特点解决MODBUS TCP协议数据包开始结束标志的定义以及MODBUS TCP协议数据拆包、组包操作。
技术实现思路
[0003]针对上述现有技术中存在的缺陷,本专利技术提供一种基于CAN总线的上下位机的通信方法,其用于下位机,包括以下步骤:
[0004]步骤S101、获取将要上传的MODBUS TCP协议数据;
[0005]步骤S103、计算所述MODBUS TCP协议数据的数据长度;
[0006]步骤S105、基于所述MODBUS TCP协议数据的数据长度,确定分帧信息;
[00 ...
【技术保护点】
【技术特征摘要】
1.一种基于CAN总线的上下位机的通信方法,其用于下位机,其特征在于,包括以下步骤:步骤S101、获取将要上传的MODBUS TCP协议数据;步骤S103、计算所述MODBUS TCP协议数据的数据长度;步骤S105、基于所述MODBUS TCP协议数据的数据长度,确定分帧信息,其中,所述分帧信息包含分帧序号和最后一帧标识;步骤S107、基于所述分帧信息,将所述MODBUS TCP协议数据通过CAN协议帧进行传输。2.如权利要求1所述方法,其中所述MODBUS TCP协议数据包括从最前面的下位机地址至最后校验位的所有数据。3.如权利要求1所述方法,其中所述步骤S105包括:若所述MODBUS TCP协议数据的数据长度为L;使用取整函数计算F=[L/8],其中[]表示取整;若F<=1,则所述分帧序号为0;若F>1,则将所述(F
‑
1)转换为二进制数值B。4.如权利要求3所述方法,其中所述步骤S107包括:将所述MODBUS TCP协议数据划分为F段;依次将每段MODBUS TCP协议数据封装在CAN的数据帧。5.如权利要求4所述方法,其中所述CAN的帧头部分包括:请求应答标识、源地址、目的地址、最后一帧标识和分帧信息。6.一种基于CAN总线的上下位机的通信方法,其用于上位机,其特征在于,包括以下步骤:步骤S201、为每一个下位机分配一个响应报文...
【专利技术属性】
技术研发人员:李鹏,郑亨举,王华阳,
申请(专利权)人:内蒙古蒙泰集团有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。