一种报警同步发声方法、装置、存储介质和操作站与流程

文档序号:21360014发布日期:2020-07-04 04:33阅读:194来源:国知局
一种报警同步发声方法、装置、存储介质和操作站与流程
本发明涉及计算机应用
技术领域
,更具体地说,涉及一种报警同步发声方法、装置、存储介质和操作站。
背景技术
:dcs(distributedcontrolsystem,集散控制系统)是以微处理器为基础,采用控制功能分散、显示操作集中、兼顾分而自治和综合协调的设计原则的新一代仪表控制系统。dcs的主控室作为集中控制的中心,布置有数量不等的操作站,各操作均为独立的计算机系统。操作站的功能之一是通过报警发声的形式,向操作员提醒重要事件。操作站的报警系统一般采用对等cs架构设计,由各操作站各自计算、产生报警并独立发声。但各操作站的处理存在时滞,无法同步发声,导致报警声此起彼伏,特别是各操作站采用人声报警时,报警声犹如犯了口吃症。技术实现要素:有鉴于此,本发明提供一种报警同步发声方法、装置、存储介质和操作站,以实现跨操作站的报警同步发声。一种报警同步发声方法,独立应用于多个操作站,所述报警同步发声方法包括:每当接收到本操作站的操作系统发送的定时器消息时,都获取本操作系统的当前utc时间tn;其中,上位机预先对各操作站进行时钟同步,预先设置各操作站中的起始时间ts、节拍时长tp以及定时器间隔时间tt均一致,tt比tp小预设个数量级;计算从起始时间ts到当前utc时间tn为止所经过的节拍数tempo,tempo为自然数;按照每经过int个节拍播放一次报警声的原则,判断当前节拍数tempo下是否要开始播放报警声,并按判断结果进行执行,int为各操作站统一约定的一个正整数。可选的,所述按照每经过int个节拍播放一次报警声的原则,判断当前节拍数tempo下是否要开始播放报警声,并按判断结果进行执行,包括:计算节拍数tempo除以int所得余数alm,判断alm是否等于各操作站统一约定的阈值,如果是,开始播放报警声,直至当前报警声播放完毕。可选的,所述对各操作站进行时钟同步,包括:采用网络时间协议ntp授时或全球定位系统gps授时的方式对各操作站进行时钟同步。可选的,计算出的节拍数tempo使用n位无符号的整数来保存,递增溢出后归零继续递增,n≥2。一种报警同步发声装置,独立应用于多个操作站,所述报警同步发声装置包括:预处理单元,用于响应上位机指令,预先对各操作站进行时钟同步,预先设置各操作站中的起始时间ts、节拍时长tp以及定时器间隔时间tt均一致,tt比tp小预设个数量级;时间获取单元,用于每当接收到本操作站的操作系统发送的定时器消息时,都获取本操作系统的当前utc时间tn;节拍数计算单元,用于计算从起始时间ts到当前utc时间tn为止所经过的节拍数tempo,tempo为自然数;以及报警发声单元,用于按照每经过int个节拍播放一次报警声的原则,判断当前节拍数tempo下是否要开始播放报警声,并按判断结果进行执行,int为各操作站统一约定的一个正整数。可选的,所述报警发声单元具体用于计算节拍数tempo除以int所得余数alm,判断alm是否等于各操作站统一约定的阈值,如果是,开始播放报警声,直至当前报警声播放完毕。可选的,所述预处理单元具体用于采用网络时间协议ntp授时或全球定位系统gps授时的方式对各操作站进行时钟同步。可选的,所述节拍数计算单元用于将计算出的节拍数tempo使用n位无符号的整数来保存,递增溢出后归零继续递增,n≥2。一种存储介质,其上存储有程序,所述程序被处理器执行时实现上述公开的任一种报警同步发声方法。一种操作站,所述操作站中安装有所述存储介质。从上述的技术方案可以看出,由于tt<<tp,所以各操作站每经过tt时间都会更新一次当前utc时间,定时器精度不会受到累积的时间误差的影响,各操作站根据最新的utc时间自动调整当前节拍数tempo,根据tempo的值决定是否开始播放报警声,操作站间发声最多迟滞一个tt时间加上各操作站时钟同步精度带来的延时时间,能够达到较高的报警同步发声精度,再加上声波的传播速度非常快,此时人耳几乎觉察不到该报警同步发声精度带来的时滞,从而达到了协调各操作站在统一时刻进行报警发声的效果。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例公开的一种报警同步发声方法流程图;图2为本发明实施例公开的一种起始时间ts、节拍时长tp、节拍数tempo、当前utc时间tn之间的时间轴关系示意图;图3为本发明实施例公开的一种表1中各项tn、tempo参数与起始时间ts、节拍时长tp的时间轴关系示意图;图4为本发明实施例公开的一种发声周期示意图;图5为本发明实施例公开的一种多操作站同步发声效果示意图;图6为本发明实施例公开的一种报警同步发声装置结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例公开了一种报警同步发声方法,独立应用于多个操作站,以实现跨操作站的报警同步发声。如图1所示,所述报警同步发声方法包括:步骤s01:每当接收到本操作站的操作系统发送的定时器消息时,都获取本操作系统的当前utc(coordinateduniversaltime,世界统一时间)时间tn;其中,上位机预先对各操作站进行时钟同步,预先设置各操作站中的起始时间ts、节拍时长tp以及定时器间隔时间tt均一致,tt比tp小预设个数量级。具体的,本发明实施例可采用ntp(networktimeprotocol,网络时间协议)授时或gps(globalpositioningsystem,全球定位系统)授时等方式完成不同操作站的时钟同步,一般同步精度在达到数十毫秒时,人耳已较难分辨操作站间的时钟延迟。定时器是操作站的操作系统提供的一种机制,操作站的应用程序可以通过定时器周期性地接收操作系统发来的定时器消息。为保证各操作站的应用程序能够近乎同时接收到相同的节拍数tempo,本发明实施例设置各操作站中的定时器以统一的绝对时间作为起始时间ts、以统一的节拍时长tp为单位进行计时,并且按统一的间隔时间tt接收操作系统发来的定时器消息,并且设置tt比tp小预设个数量级(视为此时tt<<tp)。步骤s02:计算从起始时间ts到当前utc时间tn为止所经过的节拍数tempo,tempo为自然数。具体的,所述计算从起始时间ts到当前utc时间tn为止所经过的节拍数tempo,tempo为自然数,也即是:根据算式tempo*tp≤tn-ts<(tempo+1)*tp求解自然数tempo。其中,起始时间ts、节拍时长tp、节拍数tempo、当前utc时间tn之间的时间轴关系如图2所示。举个例子,假设该起始时间ts为utc时间1970/1/100:00:00.000,节拍时长tp为250ms,间隔时间tt为25ms,则截取其中一段时间内连续8次接收到定时器消息时所生成的tn和tempo,如下表1所示。表1tntempo2018/11/2923:55:49.0008495027402018/11/2923:55:49.2508495027412018/11/2923:55:49.5008495027422018/11/2923:55:49.7508495027432018/11/2923:55:50.0008495027442018/11/2923:55:50.2508495027452018/11/2923:55:50.5008495027462018/11/2923:55:50.750849502747表1中各项tn、tempo参数与起始时间ts、节拍时长tp的时间轴关系如图3所示。需要说明的是,本发明实施例中ts、tp、tt的大小根据实际需要进行设置即可,tt一般比tp小0.5~1个数量级,但并不局限。间隔时间tt过快会增加操作系统负担,过慢则会存在一定延迟,如本发明实施例可以设置tt=25ms。由于tt<<tp,所以各操作站每经过tt时间都会更新一次当前utc时间,定时器精度不会受到累积的时间误差的影响,各操作站根据最新的utc时间自动调整当前节拍数tempo,最终各个操作站的当前节拍数tempo间最多相差一个tt时间加上各操作站时钟同步精度带来的延时时间。比如说,在各操作站时钟同步精度达到百分百的理想状态下,规定各个操作站都在当前节拍数tempo=9时播放一次报警声,那么由于各操作站每经过tt时间都会更新一次当前utc时间,所以该理想状态下各操作站播放此次报警声时彼此之间最多迟滞一个tt时间,然而实际上各操作站时钟同步精度不可能达到百分百,必然存在操作站时钟同步精度带来的延时时间ta,所以实际上各操作站播放此次报警声时彼此之间最多迟滞tt+ta,而tt+ta在误差允许范围内,此时认为各操作站已经达到了较高的报警同步发声精度。本发明实施例中,计算出的节拍数tempo可使用n位无符号的整数来保存,递增溢出后归零继续递增,n≥2。n过小会导致频繁溢出归零,过大会导致占用较大存储空间,因此本发明实施例推荐设置n=32。步骤s03:按照每经过int个节拍播放一次报警声的原则,判断当前节拍数tempo下是否要开始播放报警声,并按判断结果进行执行,int为各操作站统一约定的一个正整数。具体的,本发明实施例设定每经过int个节拍发声一次,当然,每次发声持续时间必然要小于int个节拍的总时长,一般报警声较为短促,假设设置每8个节拍发声一次,则持续发声时间可设置为5个节拍(持续发声时间不必一定为整数节拍,也可以为非整数节拍)。如图4所示,一个发声周期为int*tp,其中高电平表示持续发声时间,低电平表示不发声时间。可选的,所述按照每经过int个节拍播放一次报警声的原则,判断当前节拍数tempo下是否要开始播放报警声,并按判断结果进行执行,可以是:计算tempo除以int所得余数alm,判断alm是否等于各操作站统一约定的阈值,如果是,开始播放报警声,直至当前报警声播放完毕。所述阈值为小于int的任一自然数。举个例子,假设该起始时间ts为utc时间1970/1/100:00:00.000,节拍时长tp为250ms,间隔时间tt为25ms,报警发声间隔的节拍数int为8(即每2秒发声一次),所述阈值为0,则截取其中一段时间内连续11次接收到定时器消息时所生成的tempo、alm、是否发报警声,如下表2所示。表2由以上描述可知,由于tt<<tp,所以各操作站每经过tt时间都会更新一次当前utc时间,定时器精度不会受到累积的时间误差的影响,各操作站根据最新的utc时间自动调整当前节拍数tempo,根据tempo的值决定是否播放报警声,操作站间最多迟滞一个tttt时间加上各操作站时钟同步精度带来的延时时间,能够达到较高的报警同步发声精度,再加上声波的传播速度非常快,此时人耳几乎觉察不到该报警同步发声精度带来的时滞,从而达到了协调各操作站在统一时刻进行报警发声的效果。从用户的角度来看,每个操作站相当于一个音源,多个操作站巧妙地形成了如图5所示的立体声或环绕声的效果。与上述方法实施例相对应的,本发明实施例还公开了一种报警同步发声装置,独立应用于多个操作站,以实现跨操作站的报警同步发声。如图6所示,所述报警同步发声装置包括:预处理单元100,用于响应上位机指令,预先对各操作站进行时钟同步,预先设置各操作站中的起始时间ts、节拍时长tp以及定时器间隔时间tt均一致,tt比tp小预设个数量级;时间获取单元200,用于每当接收到本操作站的操作系统发送的定时器消息时,都获取本操作系统的当前utc时间tn;节拍数计算单元300,用于计算从起始时间ts到当前utc时间tn为止所经过的节拍数tempo,tempo为自然数;以及报警发声单元400,用于按照每经过int个节拍播放一次报警声的原则,判断当前节拍数tempo下是否要开始播放报警声,并按判断结果进行执行,int为各操作站统一约定的一个正整数。可选的,报警发声单元400具体用于计算节拍数tempo除以int所得余数alm,判断alm是否等于各操作站统一约定的阈值,如果是,开始播放报警声,直至当前报警声播放完毕。可选的,预处理单元100具体用于采用网络时间协议ntp授时或全球定位系统gps授时的方式对各操作站进行时钟同步。可选的,节拍数计算单元300用于将计算出的节拍数tempo使用n位无符号的整数来保存,递增溢出后归零继续递增,n≥2。所述报警同步发声装置包括处理器和存储器,上述预处理单元100、时间获取单元200、节拍数计算单元300和报警发声单元400等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或一个以上,通过调整内核参数来实现跨操作站的报警同步发声。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。本发明实施例还提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现上述公开的任一种报警同步发声方法。本发明实施例提供了一种操作站,所述操作站中安装有所述存储介质。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。本领域技术人员可以理解,可以使用许多不同的工艺和技术中的任意一种来表示信息、消息和信号。例如,上述说明中提到过的消息、信息都可以表示为电压、电流、电磁波、磁场或磁性粒子、光场或以上任意组合。专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或
技术领域
内所公知的任意其它形式的存储介质中。对于系统实施例而言,由于其基本相应于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明实施例的精神或范围的情况下,在其它实施例中实现。因此,本发明实施例将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1