(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210779110.7
(22)申请日 2022.07.04
(71)申请人 北京广利核系统工程有限公司
地址 100094 北京市海淀区永丰路5号院5
号楼1层101
(72)发明人 范丽辰 王静伟 孙星星 王勇
李冠宁 李萌 马忠刚 窦维维
王晓伟
(74)专利代理 机构 北京集佳知识产权代理有限
公司 11227
专利代理师 钱娜
(51)Int.Cl.
H04L 12/40(2006.01)
G06F 9/50(2006.01)
(54)发明名称
Modbus通信内存优化方法、 通信方法及相关
装置
(57)摘要
本发明提供一种Modbus通信内存优化方法、
通信方法及相关装置, 包括: 将Modbus主站中各
个通信点的信息存储至通信点表的各个信息单
元; 遍历通信点表的各个信息单元, 根据每个通
信点对应的信息单元中各个字段的值, 统计并分
配与各个对端装置通信所需的每种Modbus数据
模型的内存空间; 根据Modbus数据模型的当前已
统计的通信点个数和内存位置标记单元值, 确定
每个通信点在其对应的Modbus数据模型中的内
存位置, 并将内存位置填写到通信点对应的信息
单元的内存地址字段, 建立通信点的内存地址与
寻址地址之间的映射。 应用该方法, 可 以充分利
用通信内存, 并正确建立通信点的内存地址与寻
址地址之间的关系。
权利要求书3页 说明书14页 附图4页
CN 115174306 A
2022.10.11
CN 115174306 A
1.一种Modbus通信内存 优化方法, 其特 征在于, 包括:
将Modbus主站中每个通信点的信息存储至该通信点对应的信息单元中, 各个所述信息
单元组成通信点表; 其中, 每个所述信息单元包括多个字段, 各个所述字段包含功能码字
段、 内存地址 字段和寻址地址 字段;
遍历所述通信点表中的各个信 息单元, 根据每个所述通信点对应的信 息单元中的各个
字段的值, 确定每个所述通信点对应的Modbus数据模型, 并为与所述Modbus主站对应的各
个对端装置通信所需的每 个所述Modbus数据模型分配内存空间;
根据Modbus数据模型的当前已统计的通信点个数和内存位置标记单元值, 确定每个通
信点在其对应的Modbus数据模型中的内存位置;
将每个所述通信点在其对应的Modbus数据模型中的内存位置填写到该通信点对应的
信息单元的内存地址字段中, 以根据每个所述通信点对应的信息单元中的内存地址字段的
值和预设的寻址地址 字段的值, 建立每 个所述通信点的内存地址与寻址地址之间的映射。
2.根据权利要求1所述的方法, 其特征在于, 所述信 息单元中的多个字段还包含对端装
置序号字段、 通信方向字段和数据类型字段, 所述根据每个所述通信点对应的信息单元中
的各个字段的值, 为与所述Modbus主站对应的各个对端装置通信所需的每个所述Modbus数
据模型分配内存空间, 包括:
根据每个所述通信点对应的信 息单元中的对端装置序号字段的值, 确定每个所述通信
点所在的对端装置;
根据每个所述通信点对应的信 息单元中的通信方向字段的值, 确定每个所述通信点的
通信点性质, 所述 通信点性质为发送通信点或接收通信点;
根据每个所述通信点对应的信 息单元中的数据类型字段的值, 确定每个所述通信点在
对应的Modbus数据模型中需要占用的存储空间值, 并累加该通信点所在对端装置的相应
Modbus数据模 型的存储空间计数值, 由此统计每个所述对端装置的每种Modbus数据模 型所
需的存储空间, 将该存 储空间值作为该Modbus数据模型 所需的通信内存空间值;
根据各个所述通信点对应的Modbus数据模型、 各个所述通信点所在的对端装置、 各个
所述通信点的通信点性质, 以及每个所述Modbus数据模型所需的通信内存空间值, 确定与
每个所述对端装置通信所需的每个Modbus数据模 型需要的通信内存空间值, 并为该Modbus
数据模型分配内存空间为所述 通信内存空间值。
3.根据权利 要求1所述的方法, 其特征在于, 所述根据Modbus数据模型的当前已统计的
通信点个数和内存位置标记单元值, 确定每个通信点在其对应的Modbus数据模型中的内存
位置, 包括:
获取所述通信点对应的Modbus数据模型的通信点个数计数器当前统计得到的计数值;
若所述计数值为0, 则确定所述通信点为其对应的Modbus数据模型中的第一个通信点,
则该通信点在其对应的Modbus数据模型中的内存位置为0;
若所述计数值不为0, 则获取所述Modb us数据模型的内存位置标记单元值, 并确定所述
通信点在其对应的Modbus数据模型中的内存位置为所述内存位置标记单 元值。
4.一种通信处 理方法, 其特 征在于, 包括:
获取预先构建的Modbus包, 并根据所述Modb us包的基础信息以及所述Modbus包的功能
码对应的Mo dbus通信协议格式, 构建所述Mo dbus包对应的通讯包, 所述Modbus包由多个通权 利 要 求 书 1/3 页
2
CN 115174306 A
2信点组成;
当所述Modb us包对应的功能码为写功能码时, 将所述Modb us包的各个通信点在对应的
Modbus数据模型内存中的值取出, 并按Modbus协议对应格式转换, 将转换后的值填写至所
述通讯包的输出值字段位置, 得到所述 通讯包对应的待发送通讯包;
向所述Modbus主站的对端装置发送所述待发送通讯包, 以使所述对端装置返回所述待
发送通讯包 对应的应答包;
接收并解析 所述应答包, 得到通信处 理结果, 完成通信处 理过程。
5.根据权利要求 4所述的方法, 其特 征在于, 还 包括:
当所述Modb us包对应的功能码为读功能码时, 根据所述Modb us协议向所述对端发送所
述通讯包, 以使所述对端返回所述 通讯包对应的应答包;
接收并解析所述应答包, 将所述应答包中的数据值字段的值按照所述Modbus协议对应
格式转换, 将转换后得到的值填写至所述Modbus包的各个通信点对应的Modbus数据模 型内
存中, 完成通信处 理过程。
6.根据权利 要求4所述的方法, 其特征在于, 所述将所述Modbus包的各个通信点在对应
的Modbus数据模型内存中的值取出, 并按Modbus协议对应格式转换, 将转换后得到的值填
写至所述 通讯包的输出值字段位置, 包括:
确定所述Modbus包中的本包首个通信点的内存地址的字段的值为通信数据取址首地
址;
将所述Modbus包的本包输入离散量/线圈/输入寄存器/保持寄存器个数字段的值作 为
读取存储空间长度值, 并从所述通信数据取址首地址指向的连续内存空间中取出长度满足
所述读取存储空间长度值的数据作为通信值, 并将所述通信值按照所述Modbus协 议对应格
式转换, 将转换后的值 填写至所述 通讯包的输出值字段位置 。
7.根据权利要求5所述的方法, 其特征在于, 所述将所述应答包中的数据值字段的值按
照所述Modbus协 议对应格式转换, 将转换后的值填写至所述Modbus包的各个通信点对应的
Modbus数据模型内存中, 包括:
确定所述Modbus包中的本包首个通信点的内存地址 字段的值 为通信数据存放首地址;
确定所述应答包中的数据值字段的值作为应答数据, 并将所述Modbus包的本包输入离
散量/线圈/输入寄存器/保持寄存器个数字段的值作为读入储存空间长度值, 将长度满足
所述读入储存空间长度值的所述应答数值按照所述Modbus协 议对应格式转换, 将转换后得
到的值写入所述 通信数据存放首地址指向的连续的内存位置中。
8.根据权利要求 4所述的方法, 其特 征在于, 所述Modbus包的构建过程, 包括:
将多个功能码相同的通信点组合形成Modb us包, 并确定所述功能码为所述Modb us包的
功能码;
将组成所述Modbus包的第一个通信点对应的通信点表信息单元中的寻址地址字段的
值确定为该Modbus包的本包 首个通信点的寻址地址字段的值, 并将该通信点对应的通信点
表信息单元中的内存地址字段的值确定为该Modbus包的本包首个通信点的内存地址字段
的值;
统计所述Modb us包中每个通信点所需的Modb us数据模型内存空间值, 得到该Modbus包
在通信时所需的Modbus数据模型内存空间值, 该值即为所述Modbus包的输入离散量/线圈/权 利 要 求 书 2/3 页
3
CN 115174306 A
3
专利 Modbus通信内存优化方法、通信方法及相关装置
文档预览
中文文档
22 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共22页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 13:25:29上传分享