行业标准网
(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

.PDF文档 专利 Modbus通信内存优化方法、通信方法及相关装置

文档预览
中文文档 22 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共22页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 Modbus通信内存优化方法、通信方法及相关装置 第 1 页 专利 Modbus通信内存优化方法、通信方法及相关装置 第 2 页 专利 Modbus通信内存优化方法、通信方法及相关装置 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 13:25:29上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。