[发明专利]一种485总线自组网定时方法有效
申请号: | 201811452272.X | 申请日: | 2018-11-30 |
公开(公告)号: | CN109617640B | 公开(公告)日: | 2019-12-27 |
发明(设计)人: | 邹见效;李喆;谢川;徐红兵 | 申请(专利权)人: | 电子科技大学 |
主分类号: | H04J3/06 | 分类号: | H04J3/06;H04L12/40 |
代理公司: | 51220 成都行之专利代理事务所(普通合伙) | 代理人: | 温利平 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种485总线自组网定时方法,首先定义数据结构,存储定时器需要响应的时间,以及到达时间后需要执行的处理函数;然后,定义队列,存储多个定时器信息,并按照时间的先后顺序进行排序;当用户向系统注册一个定时器时,将定时器加入到该队列的适当位置;当用户解注册一个定时器时,系统从队列中将该定时器删除;系统初始化时会开启一个实时时钟,并设置本地时间,然后,主机会定时查询网络时间,并在向从机下发定时命令时先进行对时命令,每隔一段时间便将本地时间与上述队列响应时间最早的定时器的时间进行对比,若当前时间已到达定时器规定的响应时间,则执行该定时器对应的处理函数;否则,等待下一个检验点继续进行时间的对比。 | ||
搜索关键词: | 定时器 队列 处理函数 自组网 响应 定义数据结构 存储定时器 定时器删除 定时器信息 系统初始化 定时查询 定时命令 对时命令 实时时钟 适当位置 系统注册 检验点 排序 存储 网络 | ||
【主权项】:
1.一种485总线自组网定时方法,其特征在于,包括以下步骤:/n(1)、对定时器所需变量进行定义及初始化/n(1.1)、从机的数据结构初始化/n定义从机定时器队列的数据结构struct timer并初始化,struct timer中又包括定时时间time、定时器时间到达后的处理方法fun、以及存储关于从机定时器队列前后成员信息queue;根据成员信息queue将所有从机定时器连接成定时器队列;/n(1.2)、线程初始化/n主机开启定时更新时间线程,每隔一段时间获取一次网络时间,并更新主机的本地时间;/n(2)、将定时器队列注册进入系统并等待命令及接收命令/n(2.1)、从机开启实时时钟,记录并定时更新一个从机的本地时间,然后将定时器队列的列头信息注册进入系统,再等待从主机方下发的定时命令;/n(2.2)、当主机收到外界对本自组网的定时命令后,解析该命令所指向的从机,并通过485总线以通信协议约定格式对外界命令所指向的从机发出对时命令,该对时命令将主机的本地时间发送至对应从机上,从而更新该从机的本地时间;/n(2.3)、主、从机对时完成后,主机继续转发定时命令,并再次通过485总线以通信协议约定格式将定时命令发送给外界命令所指向的从机;/n(3)、从机接收命令并处理/n当自组网内的从机从485总线接收到主机下发的定时命令后,先解析定时命令,然后声明数据结构struct timer;/n根据解析定时命令格式得到的数据初始化定时器的响应时间time以及对应的定时器时间到达后的处理方法fun;将上述数据结构初始化完毕之后,将他们注册进入系统,即将该数据结构链接到定时器队列中,并按照定时时间从早到晚进行排序;至后,从机随时监听485总线上是否有新的定时命令下发,若新的定时命令到达,则继续执行步骤(3);/n(4)、实时监测定时器时间是否已到达及实时定时器队列更新/n从机间隔执行实时时钟的定时中断,判断定时器队列的列头定时器的定时时间是否已到达,如果队列头的定时器的定时时间到达,则执行对应的定时处理函数fun,然后将该定时器从队列中删除;否则,在下一次执行定时中断中,继续监测定时器队列的列头定时器;/n(5)、循环监听/n主机实时监听外界下发的定时命令,并在定时命令到达时,返回步骤(2);从机按照时间先后顺序继续处理定时器队列中定时命令。/n
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201811452272.X/,转载请声明来源钻瓜专利网。