一种Modbus主站指令处理方法及主站控制器与流程

文档序号:12270045阅读:来源:国知局

技术特征:

1.一种Modbus主站指令处理方法,其特征在于,

主站控制器接收到Modbus操作指令后,根据Modbus指令集将所述Modbus操作指令生成发向从站设备的Modbus消息帧,并将所述Modbus消息帧发送到所述从站设备;

从站设备响应后,主站控制器接收从站设备的响应消息帧,并根据上述Modbus操作指令自动解析和处理所述响应消息帧中的数据。

2.如权利要求1所述的Modbus主站指令处理方法,其特征在于,在所述Modbus操作指令中包括如下一种或多种信息:

用于代替现有Modbus协议功能码的Modbus指令;

从站设备的设备号;

从站设备中的目的数据地址;

读取或写入的数据数量;

主站控制器的源数据地址。

3.如权利要求1或2所述的Modbus主站指令处理方法,其特征在于,所述主站控制器接收到Modbus操作指令后,根据Modbus指令集将所述Modbus操作指令生成发向从站设备的Modbus消息帧,并将所述Modbus消息帧发送到所述从站设备,具体包括:

主站控制器接收到Modbus操作指令后,将所述Modbus操作指令存入指令发送堆栈;

当检测到所述指令发送堆栈中有待发送Modbus操作指令时,根据Modbus指令集中Modbus协议功能码与Modbus指令的对应关系,将所述Modbus操作指令的内容生成发向从站设备的Modbus消息帧;

将所述Modbus消息帧发送到所述从站设备。

4.如权利要求3所述的Modbus主站指令处理方法,其特征在于,所述根据Modbus指令集中Modbus协议功能码与Modbus指令的对应关系,将所述Modbus操作指令的内容生成发向从站设备的Modbus消息帧,具体为:

根据Modbus指令集中Modbus协议功能码与Modbus指令的对应关系,将所述Modbus操作指令中的Modbus指令转换成对应的Modbus协议功能码;

根据所述Modbus操作指令中从站设备的设备号,从站设备中的目的数据地址,读取或写入的数据数量以及主站控制器的源数据地址,生成消息帧参数;

计算所述消息帧的CRC差错校验码;

将所述Modbus协议功能码、消息帧参数以及CRC差错校验码写入到消息帧的对应位置,生成消息帧。

5.如权利要求4所述的Modbus主站指令处理方法,其特征在于,所述根据所述Modbus操作指令中从站设备的设备号,从站设备中的目的数据地址,读取或写入的数据数量以及主站控制器的源数据地址,生成消息帧参数,具体为:

如果所述Modbus操作指令为读操作,则生成的消息帧参数中包括从站设备的设备号、从站设备中的一个或多个目的数据地址以及主站控制器的源数据地址;

如果所述Modbus操作指令为写操作,则生成的消息帧参数中包括从站设备的设备号、从站设备中的一个或多个目的数据地址以及主站控制器的源数据地址处所保存的数据。

6.如权利要求1或2所述的Modbus主站指令处理方法,其特征在于,所述从站设备响应后,主站控制器接收从站设备的响应消息帧,并根据上述Modbus操作指令自动解析和处理所述响应消息帧中的数据,具体为:

解析所述响应消息帧获得所述响应消息帧中的数据;

获得所述Modbus操作指令中主站控制器的源数据地址;

将所述响应消息帧中的数据写入到所述主站控制器的源数据地址处。

7.如权利要求1或2所述的Modbus主站指令处理方法,其特征在于,在所述Modbus指令集中,所述Modbus协议功能码与Modbus指令的对应关系为:

用Modbus指令RCOL代替Modbus协议功能码01,表示读线圈;

用Modbus指令RREG代替Modbus协议功能码03,表示读寄存器;

用Modbus指令WCOL代替Modbus协议功能码05,表示写单个线圈;

用Modbus指令WREG代替Modbus协议功能码06,表示写单个寄存器;

用Modbus指令WMCL代替Modbus协议功能码0F,表示写多个线圈;

用Modbus指令WMRG代替Modbus协议功能码10,表示写多个寄存器。

8.一种Modbus主站控制器,其特征在于,包括消息帧生成发送模块以及响应消息帧接收解析模块,其中:

所述消息帧生成发送模块,用于在接收到Modbus操作指令后,根据Modbus指令集将所述Modbus操作指令生成发向从站设备的Modbus消息帧,并将所述Modbus消息帧发送到所述从站设备;

所述响应消息帧接收解析模块,用于在从站设备响应后,接收从站设备的响应消息帧,并根据上述Modbus操作指令自动解析和处理所述响应消息帧中的数据。

9.如权利要求8所述的Modbus主站控制器,其特征在于,所述Modbus操作指令中包括如下一种或多种信息:

用于代替现有Modbus协议功能码的Modbus指令;

从站设备的设备号;

从站设备中的目的数据地址;

读取或写入的数据数量;

主站控制器的源数据地址。

10.如权利要求8或9所述的Modbus主站控制器,其特征在于,所述消息帧生成发送模块具体包括Modbus操作指令缓存子模块、消息帧生成子模块、消息帧发送子模块,其中:

所述Modbus操作指令缓存子模块,用于在接收到Modbus操作指令后,将所述Modbus操作指令存入指令发送堆栈;

所述消息帧生成子模块,用于在检测到所述指令发送堆栈中有待发送Modbus操作指令时,根据Modbus指令集中Modbus协议功能码与Modbus指令的对应关系,将所述Modbus操作指令的内容生成发向从站设备的Modbus消息帧;

所述消息帧发送子模块,用于将所述Modbus消息帧发送到所述从站设备。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1