一种校时处理的方法、装置及计算机存储介质制造方法及图纸

技术编号:21891577 阅读:24 留言:0更新日期:2019-08-17 14:23
一种校时处理的方法、装置及计算机存储介质,包括:校验处理开始时,确定当前随机毫秒数时刻到下一个整秒或在后的第二个整秒的时长作为间隔时长;在主站发送完校时处理的校时报文前,控制主站进行间隔时长的睡眠。本发明专利技术实施例降低了校时处理的校时误差,提升了自动化系统的运行质量。

A Timing Processing Method, Device and Computer Storage Media

【技术实现步骤摘要】
一种校时处理的方法、装置及计算机存储介质
本文涉及但不限于自动化技术,尤指一种校时处理的方法、装置及计算机存储介质。
技术介绍
Modbus协议是工业自动化领域广泛应用的平衡型应答通信协议,已经成为通用工业标准。Modbus协议支持传统的串口(RS-232、RS-422、RS-485)和以太网设备。Modbus通信使用主(Master,也称主站)—从(Slave,也称从站)技术,即在同一时刻,仅一个主设备能初始化查询(也叫请求,依次查询称为轮询),从设备根据主设备查询提供的报文内容作出相应反应。主设备可单独和从设备通信,也能以广播方式和所有从设备通信;单独通信时,从设备返回一消息作为回应;以广播方式通信时,从设备不作回应。主站在进行新一轮的请求时,会优先检查是否有控制类报文需要发送;其中,校时报文就属于控制类报文。当主站需要对从站进行校时处理时,需要按主从双方事先约定的格式生成含主站时间信息的校时报文,在发送最后一条校时报文时启动接收超时定时器,根据在超时定时器设定的超时时间内是否收到从站设备应答,确定校时处理是否完成(超时定时器设定的超时时间内成功收到从站设备应答(广播方式时从站不应答),表明从设备成功接收了校时报文。)。在自动化控制过程中,从设备的本地时钟起着非常关键的作用,很多自动化信息(例如遥控、报警、事件顺序记录(SOE)、日志等)都需要携带时间信息,且往往都需要根据精确到毫秒甚至微妙的时间信息确定信息的先后次序;如果本地时钟不正确或者发生抖动,则可能会导致排序错乱、信息错误,进而可能影响运营甚至引起事故。因此,本地时钟的准确性高低决定了从设备所提供的自动化信息的准确性,而一系列互联的从设备的自动化信息的准确度决定了自动化系统整体运行的准确性。即各从设备本地时钟的准确性与自动化系统的自动化水平的高低存在直接关联。由于从设备(物理设备)难以避免地会出现时钟漂移,因此需要对本地时钟进行定期修正(自动或人工),如果从设备本身有可靠的时钟源(例如,外接全球定位系统(GPS)或者北斗系统),则该从设备可以完成本地时钟的自我校正。一般的,本地时钟需要借助外部系统进行时间校正,即外部系统按照双方事先约定的校时格式,对从设备进行周期授时,以对本地时钟的时间信息进行校准。当前,很多从设备所提供的校时格式只含到秒数即截至,即校时格式中不含毫秒信息;校时处理的时间信息的表述形式包括但不限于以下三种:1)UNIX时间(格林威治标准时间1970年1月1日0点至今的秒数);2)年、月、日、时、分和秒;3)年、月、日、星期、时、分和秒。数据格式包括但不限于:1、十六进制;2、二-十进制代码(BCD码);3、美国信息交换标准代码(ASCII码);4、任意字节序(如年月日时分秒,秒分时日月年)。校时精度与表述形式和数据格式无关。需要说明的是,本文的校时处理暂不考虑网络延迟和从站内部延迟(网络延迟是指主站正式发送校时报文开始到设备成功收到报文截至所得到的时间差,如果一轮校时需要顺序发送n条报文,则这n次发送的每次时间差所得累积代数和构成总的网络延迟。记网络延迟为Ts,以一条报文为例,一般地,以太网的Ts在10毫秒以内,而串口的Ts与传输波特率成反比,波特率越大,Ts越小,在9600波特率下,Ts一般在30毫秒以内。从站内部延迟是指从站成功识别出主站的完整校时时间信息到从站真正执行本地时钟修正所间隔的延迟时间,一般地,从站内部延迟在0~20毫秒之间。),本文对本地时钟的校时处理可以与网络延迟和从站内部延迟的处理相结合。当前,相关技术中的校时处理的方法包括以下三种:1、主站在随机毫秒数时刻(随机毫秒数的时刻包括两种情形:1)发起时刻点不确定,但校时处理的间隔周期固定不变,如:每隔60分钟对从站校时;2)发起时刻点确定,且校时处理的间隔周期固定不变,例如:每天临晨3点30分对从站校时,但毫秒数不约定即随机),取主站当前时间,不考虑毫秒数,把包含秒及秒以上时间信息,按双方实现约定的协议格式打包成校时报文发送给从设备,从设备获得主站提供的时间信息后,校正从设备的本地时钟;因为发起校时处理的时刻的毫秒数随机,校时误差为0~999毫秒。2、主站在随机毫秒数时刻,取主站当前时间,对毫秒数进行四舍五入(五入是指秒数加一),把包含秒及秒以上的时间信息,按双方实现约定的协议格式打包成校时报文发送给从设备,从设备获得主站提供的时间信息后,校正从设备的本地时钟;因为发起校时处理的时刻的毫秒数随机,但进行简单的四舍五入后,校时误差为-500~499毫秒。3、主站专门设计精准的校时定时器,这个定时器预期在系统时间为0毫秒时刻时准时触发,以完成一次对从设备的校时;该方法预期0毫秒时刻准时触发的定时器,并不是每个操作系统、每个硬件平台都可以实现,且在多线程的环境下,也无法确保0毫秒时刻中央处理器(CPU)能准时触发该校时定时器;此外,即便准时触发了校时定时器,因为Modbus是应答协议,主站对从设备的所有请求都必须依次排队进行,此时若主站的某次问答未完成,则校时操作就必须排队等待。因此,在0毫秒时刻准时向从设备发送校时报文较为困难。简而言之,该方法处理复杂且依赖操作系统及软硬件环境,校时误差最终往往无法达到预期。鉴于校时定时器准时触发的毫秒误差:0~10毫秒;定时器触发后排队发送校时报文的等待时间:0~500毫秒(500是指一次应答的超时时间);二者叠加,第三种方法的校时误差为0~510毫秒。综上,相关技术中已有的校时方法校时精度有待进一步提高。
技术实现思路
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。本专利技术实施例提供一种校时处理的方法、装置及计算机存储介质,能够降低校时处理的校时误差,提升自动化系统的运行质量。本专利技术实施例提供了一种校时处理的方法,包括:校验处理开始时,确定当前随机毫秒数时刻到下一个整秒或在后的第二个整秒的时长作为间隔时长;在主站发送完校时处理的校时报文前,控制主站进行间隔时长的睡眠。在一种示例性实施例中,所述控制主站进行间隔时长的睡眠包括:加载预设的一个以上睡眠Sleep函数,以使能主站进入睡眠状态;其中,所有所述睡眠函数的使能主站进入睡眠状态的总时长等于所述间隔时长;所述睡眠函数的个数小于或等于所述进行校时处理的所述校时报文的个数。在一种示例性实施例中,所述控制主站进行间隔时长的睡眠包括:确定与睡眠函数个数相同的校时报文;在发送确定的各所述校时报文前,分别加载一个睡眠函数,以通过加载的睡眠函数使能主站进入睡眠状态。在一种示例性实施例中,确定当前随机毫秒数时刻到下一个整秒或在后的第二个整秒的时长作为间隔时长包括:所述当前随机毫秒数时刻到下一个整秒的时长大于预设时长阈值时,确定当前随机毫秒数时刻到下一个整秒的时长为所述间隔时长;所述当前随机毫秒数时刻到下一个整秒的时长小于或等于所述预设时长阈值时,确定当前随机毫秒数时刻到在后的第二个整秒的时长为所述间隔时长。在一种示例性实施例中,所有所述睡眠函数使能主站进入睡眠状态的时长满足以下任一条件:所有所述睡眠函数使能主站进入睡眠状态的时长相等;所有所述睡眠函数使能主站进入睡眠状态的时长均不相等;部分所述睡眠函数使能主站进入睡眠状态的时长相等。在一种示例性实施例本文档来自技高网
...

【技术保护点】
1.一种校时处理的方法,其特征在于,包括:校验处理开始时,确定当前随机毫秒数时刻到下一个整秒或在后的第二个整秒的时长作为间隔时长;在主站发送完校时处理的校时报文前,控制主站进行间隔时长的睡眠。

【技术特征摘要】
1.一种校时处理的方法,其特征在于,包括:校验处理开始时,确定当前随机毫秒数时刻到下一个整秒或在后的第二个整秒的时长作为间隔时长;在主站发送完校时处理的校时报文前,控制主站进行间隔时长的睡眠。2.根据权利要求1所述的方法,其特征在于,所述控制主站进行间隔时长的睡眠包括:加载预设的一个以上睡眠Sleep函数,以使能主站进入睡眠状态;其中,所有所述睡眠函数的使能主站进入睡眠状态的总时长等于所述间隔时长;所述睡眠函数的个数小于或等于所述进行校时处理的所述校时报文的个数。3.根据权利要求2所述的方法,其特征在于,所述控制主站进行间隔时长的睡眠包括:确定与睡眠函数个数相同的校时报文;在发送确定的各所述校时报文前,分别加载一个睡眠函数,以通过加载的睡眠函数使能主站进入睡眠状态。4.根据权利要求1~3任一项所述的方法,其特征在于,所述确定当前随机毫秒数时刻到下一个整秒或在后的第二个整秒的时长作为间隔时长包括:所述当前随机毫秒数时刻到下一个整秒的时长大于预设时长阈值时,确定当前随机毫秒数时刻到下一个整秒的时长为所述间隔时长;所述当前随机毫秒数时刻到下一个整秒的时长小于或等于所述预设时长阈值时,确定当前随机毫秒数时刻到在后的第二个整秒的时长为所述间隔时长。5.根据权利要求2或3所述的方法,其特征在于,所有所述睡眠函数使能主站进入睡眠状态的时长满足以下任一条件:所有所述睡眠函数使能主站进入睡眠状态的时长相等;所有所述睡眠函数使能主站进入睡眠状态的时长均不相等;部分所述睡眠函数使能主站进入睡眠状态的时长相等。6.根据权利要求2或3所述的方法,其特征在于,各所述睡眠函数使能主站进入睡眠状态的时长通过以下方式确定:确定加载的所述睡眠函数的个数;将所述间隔时长与加载的睡眠函数的个数进行整数除法,获得商数和余数;获得的所述余数为0时,将所述商数作为各所述睡眠函数使能主站进入睡眠状态的时长;获得的所述余数非零时,将所述商数与所述余数的和,作为其中任一睡眠函数使能主站进入睡眠状态的时长;设置其余睡眠函数,使能主站进入睡眠状态的时长为所述商数。7.根据权利要求2或3所述的方法,其特征在于,每一个所述睡眠函数使能主站进入睡眠状态的时长小于或等于预设时长。8.一种校时处理的装置,...

【专利技术属性】
技术研发人员:贺学文李元鹏黄亮李剑
申请(专利权)人:北京和利时系统工程有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1