通讯总线上双主机通讯方法、系统、工控网关及储存介质与流程

文档序号:19579214发布日期:2019-12-31 19:47阅读:209来源:国知局
通讯总线上双主机通讯方法、系统、工控网关及储存介质与流程

本发明实施例涉及电子通信领域,具体涉及一种双主机的通讯方法。



背景技术:

目前在设备通讯领域,大多数现场都使用总线接口来进行通讯,在这种通讯方式下,同一时刻最多只能有一台设备发送数字信号其他设备只能接收。如果同一时刻有多台设备发送数字信号,其他设备接收到的信号就可能是混乱的、不被识别或是信号叠加后产生意外的信号,使得通讯无法顺利完成。

工业现场实际应用过程中,总线上有一台设备被定义为主设备,其他的设备定义为从设备,比如仪器和仪表。主设备向总线上的从设备轮流发送命令请求,然后等待设备的回复信号,收到回复信号后再对下一个从设备发送命令请求。基于上述通讯过程,工业现场常常需要增加一个主设备,现有技术一般使用串口服务器或是对在主设备上提供以太网接口来使数据可以实现双向传输。但是发明人发现上述方法改造成本较高,由于数据在传输过程中通过了转发设备,所以整个通讯系统中的数据的稳定性得不到保证。



技术实现要素:

本发明实施方式的目的在于提供一种通讯总线上双主机的通讯方法、系统、工控网关及存储介质,使得通讯总线上能够同时传输两个信号,在工业现场能够在保证原通讯系统的通讯时序和数据稳定的基础上,实现在通讯总线上的双主机通讯。

为解决上述技术问题,本发明的实施方式提供了一种通讯总线上双主机的通讯方法,应用于工控网关,包括:对第一主机发送至从设备的第一信号进行侦听;根据侦听到的第一信号,计算出第一信号在通讯周期内的空闲间隙时间;在第一信号的空闲间隙时间中传输第二信号,第二信号为从第二主机中获取到的待传输至从设备的通讯信号。

本发明的实施方式还提供了一种工控网关,包括至少一个处理器;以及,与至少一个处理器通信连接的储存器;其中,储存器储存有可被至少一个处理器执行的指令,指令被所述至少一个处理器执行,以使至少一个处理器能够执行通讯总线上双主机通讯方法。

本发明的实施方式还提供了一种通讯总线上双主机的通讯系统,包括:所述的工控网关、工控网关连接的第一主机、工控网关连接的从设备,以及第二主机;其中,第二主机与工控网关集成在同一物理设备,或者,所述第二主机独立于所述工控网关,并与工控网关连接。

本发明的实施方式还提供了一种计算机可读存储介质,储存有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述的通讯总线上双主机的通讯方法。

本发明实施方式相对于现有技术而言,通过工控网关对第一主机与从设备间的通讯信号进行侦听,计算出第一信号在通讯周期内的空闲间隙时间,然后在这个空闲间隙时间中,将获取到的来自第二主机向从设备发送的命令或请求的待传输的信号进行传输,由于利用了第一信号通讯周期内的空闲间隙时间,从而进行来自两个主机的信号传输,能够实现第二信号的及时传输。而且,在工业现场,由于无需改变原通讯系统,也不需要对旧设备进行改造,能够在低成本及保证通讯数据稳定的前提下,实现两个主设备互不干扰的情况下及时地对从设备发送控制命令或是获取设备相关数据。

另外,从设备的数量为n,n为大于等于2的正整数;第一主机与从设备间的通讯以轮询的方式进行,轮询的时间间隔大于或等于信号实际传输时间和空闲间隙时间之和;对第一主机发送至从设备的第一信号进行侦听的过程,具体包括:对第一主机以轮询方式发送至各从设备的第一信号分别进行侦听;在第一信号的传输间隙时间中传输第二信号的过程,具体包括:在第一信号的空闲间隙时间中传输第二主机发送至目标从设备的第二信号;目标从设备为接收第一信号的从设备。第二主机在第一主机轮询传输第一信号的空闲间隙时间中,与从设备进行通讯,充分利用了通讯周期中的空闲时间,实现了双主机在通讯总线上与从设备及时通讯的效果。

另外,工控网关与第二主机集成在同一个物理设备中。这样可以使第二主机与从设备间的通讯是直接进行的,通讯所传输的数据没有经过其他设备的中转,从而保证了第二信号中数据的稳定性。

另外,第一信号为第一主机通过工控网关透传至所述供设备的通讯信号;其中第一主机与工控网关之间通过rs-485总线连接;工控网关与从设备通过rs-485总线连接。以透传方式传输信号保证了第一主机与从设备间的通讯是直接进行的,通讯所传输的数据没有经过其他设备的中转,从而保证了第一信号中数据的稳定性。

另外,第一信号为第一主机通过rs-485总线传输至从设备的通讯信号;工控网关对第一信号进行侦听的过程,包括:在rs-485总线上侦听所述第一主机发送至从设备的第一信号。工控网关本身具有rs-485的总线接口,这样的连接方式无需对现有设备接口进行改变,降低改造成本。

另外,工控网关与第二主机为两个独立的物理设备。这种情况下,即使第二主机发生故障,也不会对第一主机与从设备间的通讯造成影响。

另外,第一信号具体为第一主机通过工控网关透传至所述从设备的通讯信号;其中,第一主机与工控网关之间通过rs-485总线连接;工控网关与从设备通过rs-485总线连接;第二信号具体为通过以太网接口从第二主机中获取到的待传输至从设备的通讯信号。第二主机与工控网关通过以太网连接,由于以太网连接提供数据双向同时传输,可以使得工控网关从第二主机获取并储存控制或获取信号的同时,向第二主机返回从设备传输至工控网关的反馈信号。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。

图1为本发明第一实施方式中通讯总线上双主机的通讯方法的流程图;

图2为本发明第一实施方式中通讯总线上双主机的通讯系统结构图;

图3为本发明第一实施方式中第一主机通讯信号模型图;

图4为本发明第一实施方式中总线上双主机的通讯信号模型图;

图5为本发明第二实施方式的通讯总线上双主机的通讯方法流程图;

图6为本发明第二实施方式中通讯总线上双主机的通讯系统结构图;

图7为本发明第三实施方式中通讯总线上双主机的通讯方法的流程图;

图8为本发明第三实施方式中的通讯总线上双主机的通讯系统结构图;

图9为本发明第四实施方式中工控网关的结构图。

具体实施方式

为解决上问题,本发明实施提供一种通讯总线上双主机通讯方法。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。

本发明的第一实施方式涉及一种通讯总线上双主机的通讯方法,本实施方式应用于工控网关。其系统结构如图2所示,其中第二主机与工控网关集成在同一物理设备上,通过rs-485总线2与n个从设备203相连,第一主机201通过rs-485总线1与第二主机相连。下面对本实施方式中的通讯总线上双主机的通讯方法进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须,本实施方式的具体流程如图1所示,包括:

步骤101,对第一主机发送至从设备的第一信号进行侦听。

具体地说,如图2中系统结构所示,工控网关与第二主机202集成在同一物理设备上,工控网关通过com1端口接入至rs-485总线与第一主机201和n个从设备203相连,然后通过侦听功能对rs-485总线上第一主机201和从设备203间通讯的第一信号进行侦听。

具体地说,图1所示步骤流程为第一主机201和第二主机202与一台从设备进行一次通讯的过程。其中第一主机201与n个从设备203间的通讯以轮询的方式进行,工控网关对该第一信号进行侦听,其中,轮询的时间间隔保证大于或等于信号传输的实际时间和空闲间隙时间。举例说明,以轮询的方法进行通讯具体为:在第一主机201与从设备1进行一次通讯后,经过预先设定的轮询时间间隔,第一主机201再与从设备2进行一次通讯,直到第一主机201与n个从设备都完成一次通讯后,再次与从设备1进行通讯。

步骤102,根据侦听到的第一信号计算出通讯周期内的空闲间隙时间。

具体地说,rs-485总线上一般采用轮询的通讯方式,而主机与某一从设备每通讯一次的时间间隔由主设备决定,一般是由主控器(如plc)或工作站(如scada软件)来设定。时间间隔有500ms、1000ms、2s、5s等等,一般均大于500ms。按500ms举例,当主设备与某一从设备完成一次通讯的时间要在500ms内完成。即第一主机向从设备1发送请求命令时间,加上从设备1向第一主机回复信息的时间,合在一起应小于500ms。举例说明,其原理如图3所示,图3是主机与某一从设备完成一次通讯的ab两线电压差波形图。其中,

t0是主机与某一从设备完成一次通讯的时间,此次设定为t0=500ms;

t1是主机发送请求命令的启始时间,一般较短,t1=0.5ms;

t2是主机发送请求命令完成的时间,此处假设发送60个字符(char),每个char有8位,此处设定rs-485总线上的传输比特率为9600bps,t2=60*8/9600*1000=50ms;

t3是主机发送完成的停止时间,一般较短,t3=0.5ms;

t4是rs-485总线上断开字符串的中断时间,rs-485总线规约规定需大于3.5个字符,即t4>3.5*8/9600*1000=3ms;

t5是从设备回复信息的启始时间,一般较短,t5=0.5ms;

t6是从设备回复信息完成的时间,此处假设发送100个字符(char)。t6=100*8/9600*1000=83ms;

t7是从设备回复信息完成的停止时间,一般较短,t7=0.5ms;

t8是空闲间隙时间,t8=t0-t1-t2-t3-t4-t5-t6-t7=500ms-138ms=362ms。

以上是工控网关通过对第一信号进行侦听计算出其中空闲间隙时间的过程,其中t8为空闲间隙时间,可以发现t8占据较大一部分总的轮询时间间隔,可以利用该时间来传输第二主机202与从设备203之间的通讯信号,在互不干扰的前提下实现通讯总线上的双主机及时通讯。

步骤103,在空闲间隙时间内传输从第二主机获取到的待传输至从设备的第二信号。

具体地说,根据上一步骤计算得出结果来看,在一次轮询时间间隔中,空闲间隙时间t8占据了绝大部分,因此将这部分时间里利用起来传输第二主机202与n个从设备203通讯的第二信号,优化通讯模型,计算出t8的时间,可以在不影响第一主机201正常通讯的情况下,实现双主机实时通讯。如图4所示,

t2是如上所述第一主机201向从设备1发送请求命令完成的时间;

t6是如上所述从设备1向第一主机201回复信息完成的时间;

t9是本方案中工控网关内置的通讯模型计算出的延迟时间,如上所述,此时间必须严格遵循rs-485总线规约,大于3.5个字符的传输时间,此处时间一般会根据最后剩余和计划收发数据以及等待的时间和来计算,一般会大于10个字符左右,即t9>10*8/9600*1000=8ms;

t10是本方案中所增加的第二主机202向某一个从设备发送请求命令的完成时间,此处取t10=t2=50ms;

t11是本方案中某一个从设备向第二主机202回复信息完成的时间,此处取t11=t6=83ms;

在新增第二主机202与从设备1完成通讯的过程后的总时间=138ms+t9+0.5ms(启动时间)+t10+0.5ms(停止时间)+3ms(3.5个字符时间)+0.5ms(启动时间)+t11+0.5ms(停止时间)=284ms。

可见,新增第二主机202与从设备1通讯后,总时间为284ms+下一轮通讯间隔3ms(3.5个字符时间)=287ms<500ms。

其中,第二主机202与n个从设备203间的通讯也以轮询的方式进行,举例说明:在第一主机与201从设备1进行一次通讯后的空闲间隙时间中,第二主机202与从设备1进行一次通讯,然后等待第一主机201与从设备2进行通讯后,第二主机202在空闲间隙时间中与从设备2进行一次通讯,直到第二主机202与n个从设备203都进行过一次通讯后,再次与从设备1进行通讯。

本实施方式考虑到,原系统的第一主机201和n个从设备203在系统结构和工作模式没有任何变化,无需任何更改和调整。第一主机201按照即有的通讯方式和频率与若干个从设备通讯。工控网关与第二主机202集成在一个物理设备上,通过物理接口接入到rs-485总线上,启动侦听服务,实时获取分析rs-485总线上的收发数据信息,实时优化通讯模型。工控网关作为第二主机202启动侦听模式以轮询方式运行,结合通讯模型,利用rs-485总线上的空闲间隙时间,发送和接收通讯信息。同时此过程并不影响原系统的通讯链路和数据,也保持原有系统的通讯间隔,维持数据刷新周期。

本发明的第二实施方式涉及一种通讯总线上双主机的通讯方法,本实施方式应用于工控网关,其系统结构如图6所示,其中工控网关与第二主机202集成于同一物理设备上,具体流程如图5所示,具体包括:

步骤501,将第一主机要发送给从设备的第一信号透传至从设备。

具体地说,工控网关的透传模式满足第一主机201直接读取现场n个从设备203的数据,相当于第一主机201直接与从设备串口相接,保持原系统的工作模式和时间间隔。

步骤502,对第一信号进行侦听。该步骤与第一实施方式中步骤101类似,在此不再赘述。

步骤503,通过侦听到的第一信号计算出信号间隔中的空闲间隙时间。步骤与第一实施方式中步骤102类似,在此不再赘述。

步骤504,在空闲间隙时间内传输从第二主机获取到的待传输至从设备的第二信号。步骤与第一实施方式中步骤103类似,在此不再赘述。

本实施方式考虑到,透传传输第一信号满足第一主机201直接读取现场n个从设备203的数据,相当于第一主机201直接与从设备串口相接,并且主设备不用修改任何软件参数和硬件接口,通讯时序和数据收发间隔均保持不变。同时工控网关启动侦听模式,用于实时获取并计算第一主机201对n个从设备203的发送和接收信息的间隔,并将计算结论生成通讯模型。利用通讯模型中的空闲间隙时间传输与工控网关集成在同一物理设备的第二主机202与n个从设备之间通讯的第二信号。

本发明的第三实施方式涉及一种应用于工控网关的总线上双主机的通讯方法,其系统结构如图5所示,其中工控网关803通过rs-485总线2与n个从设备203相连,第二主机202与工控网关通过以太网接口相连,步骤流程如图7所示,具体包括:

步骤701,将第一主机要发送给从设备的第一信号透传至从设备。该步骤与第二实施方式中步骤501类似,在此不再赘述。

步骤702,对第一信号进行侦听。该步骤与第一实施方式中步骤101类似,在此不再赘述。

步骤703,通过侦听到的第一信号计算出信号间隔中的空闲间隙时间。步骤与第一实施方式中步骤102类似,在此不再赘述。

步骤704,获取第二主机向从设备发送的指令,并在空闲间隙时间中传输至从设备。

具体地说,本实施方式中,如图8所示,工控网关803在rs-485总线1上用com1接口与第一主机201的串口相连,在rs-485总线2上用com2口与n个从设备203相连。第二主机202不与工控网关803集成于同一物理设备上,其中第二主机202通过以太网接口与工控网关803连接。以太网支持第二主机202与工控网关803之间的全双工通讯模式,工控网关可以先将第二主机202向从设备发送的指令储存在储存器中,当侦听到第一信号中的空闲间隙时间时,将指令转发至从设备,然后等待从设备203的回复信号,获取到回复信号后,再将回复信号转发给第二主机202。

本实施方式考虑到,这样的系统结构可以克服因第二主机功能故障而导致的整个设备通讯系统瘫痪,并且工控网关可以在通讯过程中监测双主机的通讯信号的健康状况,为通讯的稳定性提供了保障。

本发明的第四实施方式涉及一种工控网关,如图9所示,具体包括:处理器901和储存器902。

其中,存储器902和处理器901采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器901和存储器902的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行详细的描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器901处理的数据通过天线在无线介质上进行传输,进一步地,天线还接收数据并将数据传送给处理器901。

处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。

本发明第五实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。

本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各自更动与修改,因此本发明的保护范围应当以权利要求限定的范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1