[发明专利]一种虚拟Modbus ID生成方法、装置和网关有效
申请号: | 202010918803.0 | 申请日: | 2020-09-04 |
公开(公告)号: | CN112260914B | 公开(公告)日: | 2023-04-07 |
发明(设计)人: | 张朋飞;周厚明 | 申请(专利权)人: | 武汉迈威通信股份有限公司 |
主分类号: | H04L12/40 | 分类号: | H04L12/40;H04L61/3015 |
代理公司: | 武汉蓝宝石专利代理事务所(特殊普通合伙) 42242 | 代理人: | 廉海涛 |
地址: | 430000 湖北省武汉市东湖新*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 虚拟 modbus id 生成 方法 装置 网关 | ||
1.一种虚拟Modbus ID生成方法,其特征在于,包括:
步骤101,将若干个虚拟Modbus ID均分到Modbus网关的N个串口;
步骤102,获取Modbus RTU设备的真实设备Modbus ID和物理连接的串口ID,将ModbusRTU设备物理连接至任一串口中,并为所述Modbus RTU设备分配一个唯一的虚拟ModbusID,其中,同一串口中不接入真实设备Modbus ID相同的Modbus RTU设备;
对添加在同一串口下的Modbus RTU设备,基于真实设备Modbus ID的大小进行排序,得到每个Modbus RTU设备的真实设备Modbus ID排序序号;
并基于虚拟Modbus ID的最大值和最小值对Modbus RTU设备进行虚拟Modbus ID分配:
Virtual_Modbus_id=min_mod_id+dev_id
或,
Virtual_Modbus_id=max_mod_id-dev_id;
其中,Virtual_Modbus_id为Modbus RTU设备分配到的虚拟Modbus ID,max_mod_id为虚拟Modbus ID中的最大值,min_mod_id为虚拟Modbus ID中的最小值,dev_id为ModbusRTU设备的真实设备Modbus ID排序序号;
删除Modbus RTU设备时,将Modbus RTU设备的虚拟Modbus ID对应的真实设备ModbusID修改为一个非法值;
或者,步骤102中,并为所述Modbus RTU设备分配一个唯一的虚拟Modbus ID,具体包括:对添加在同一串口下的Modbus RTU设备进行虚拟Modbus ID分配:
Virtual_Modbus_id=com_id*com_modbus_cnt+dev_real_modbus_id%p
h(k)=k%p
其中,Virtual_Modbus_id为Modbus RTU设备分配到的虚拟Modbus ID,com_id为物理连接的串口ID,com_modbus_cnt为每个串口可用虚拟Modbus ID的数量,dev_real_modbus_id为真实设备Modbus ID,h(k)为hash函数,p为不大于com_modbus_cnt的最大素数,%表示模p取余运算;
其中,同一串口中不接入真实设备Modbus ID相同的Modbus RTU设备;
若判断获知Virtual_Modbus_id对应的真实设备Modbus ID不是非法值,则表示hash函数出现冲突;
在该串口对应的虚拟modbus id范围内,顺序查找第一个真实设备Modbus ID为一个非法值的那一项,假设序号为new_id;
则设备对应的虚拟虚拟Modbus ID为:
Virtual_Modbus_id=com_id*com_modbus_cnt+new_id。
2.根据权利要求1所述的虚拟Modbus ID生成方法,其特征在于,还包括:
新添加Modbus RTU设备,找第一个真实设备Modbus ID为一个非法值的那一项,并序号作为新添加Modbus RTU设备的dev_id。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉迈威通信股份有限公司,未经武汉迈威通信股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010918803.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种海底钻机钻具强制分离装置
- 下一篇:一种琉璃瓦片印花装置