发明内容
本发明提供了一种RTDS数据传输系统及方法,解决了让RTDS输出的暂态实时数据完整且可靠地传递到机电混合暂态实时仿真系统的技术问题。
本发明提供了一种RTDS数据传输系统,包括:RTDS仿真系统、FPGA板卡、机电混合暂态实时仿真系统的前置服务器和机电混合暂态实时仿真系统的DTS服务器;
RTDS仿真系统的输出接口与FPGA板卡的输入端通信连接,FPGA板卡的输出端与前置服务器的输入端通信连接,FPGA板卡用于对RTDS仿真系统发送的Aurora协议数据进行解码得到暂态实时数据,并将暂态实时数据以MAC报文的格式发送至前置服务器;
前置服务器的输出端与DTS服务器通信连接,前置服务器用于对FPGA板卡发送的MAC报文进行解码得到暂态实时数据,并将暂态实时数据发送至DTS服务器。
优选地,FPGA板卡设置有硬件拨码开关;
硬件拨码开关用于设置FPGA板卡的MAC报文发送频率N,使得FPGA板卡每接收N帧Aurora协议数据就将最新一帧Aurora协议数据解码得到的暂态实时数据以MAC报文的格式发送至前置服务器。
优选地,还包括:以太网交换机;
RTDS仿真系统的数量为一个以上,FPGA板卡的个数与RTDS仿真系统的数量一致,RTDS仿真系统与FPGA板卡一一对应通信连接,各个FGPA分别通过以太网交换机与前置服务器的输入端通信连接。
优选地,还包括:双局域网交换机;
前置服务器的输出端具体通过双局域网交换机与DTS服务器通信连接。
优选地,RTDS仿真系统的输出接口为PB5板卡的SFP光电收发接口。
本发明提供了一种RTDS数据传输方法,包括:
S1:FPGA板卡接收RTDS仿真系统发送的Aurora协议数据,对Aurora协议数据进行解码得到暂态实时数据,并将暂态实时数据以MAC报文的格式发送至前置服务器;
S2:前置服务器对FPGA板卡发送的MAC报文进行解码得到暂态实时数据,并将暂态实时数据发送至DTS服务器。
优选地,步骤S1具体包括:
S11:FPGA板卡接收RTDS仿真系统发送的Aurora协议数据,对Aurora协议数据进行解码得到暂态实时数据,并将暂态实时数据存入缓存中;
S12:FPGA板卡将累计接收帧数加1,判断累计接收帧数是否小于N,若是,则返回步骤S11,若否,则从缓存中调用最新一帧Aurora协议数据解码得到的暂态实时数据,将暂态实时数据以MAC报文的格式发送至前置服务器,并且累计接收帧数归零,FPGA板卡返回步骤S11,前置服务器执行步骤S2,其中,N为通过硬件拨码开关设置的MAC报文发送频率。
优选地,步骤S1之前还包括步骤S0,步骤S2之后还包括步骤S3;
S0:RTDS仿真系统将暂态实时数据中的第一个数据点设置为仿真时标的整数部分A,将暂态实时数据中的第二个数据点设置为仿真时标的小数部分B,并将暂态实时数据以Aurora协议数据的格式发送至FGPA;
S3:DTS服务器接收到第一个MAC报文解码后的暂态实时数据时,记录DTS服务器的本机时间的整数部分为H,计算H与A的差值O,将每一帧MAC报文解码后的暂态实时数据内的仿真时标加上O得到存储时标,根据存储时标将暂态实时数据存入时间序列数据库中。
优选地,步骤S3之后还包括:
S4:DTS服务器通过OCS电网模型查询、分析和展示时间序列数据库中的暂态实时数据。
优选地,仿真时标的时标精度为10ns。
从以上技术方案可以看出,本发明具有以下优点:
本发明提供了一种RTDS数据传输系统,包括:RTDS仿真系统、FPGA板卡、机电混合暂态实时仿真系统的前置服务器和机电混合暂态实时仿真系统的DTS服务器;RTDS仿真系统的输出接口与FPGA板卡的输入端通信连接,FPGA板卡的输出端与前置服务器的输入端通信连接,FPGA板卡用于对RTDS仿真系统发送的Aurora协议数据进行解码得到暂态实时数据,并将暂态实时数据以MAC报文的格式发送至前置服务器;前置服务器的输出端与DTS服务器通信连接,前置服务器用于对FPGA板卡发送的MAC报文进行解码得到暂态实时数据,并将暂态实时数据发送至DTS服务器。
本发明中的RTDS数据传输系统通过FPGA板卡进行信号中转,FPGA板卡可以通过RTDS_InterfaceModule代码对RTDS仿真系统发送的Aurora协议数据进行解码,将其转换成MAC报文发送到前置服务器,然后从前置服务器发送到DTS服务器,器件简单易于实现,操作简单,通信可靠且实时性高,解决了让RTDS输出的暂态实时数据完整且可靠地传递到机电混合暂态实时仿真系统的技术问题。
具体实施方式
本发明实施例提供了一种RTDS数据传输系统及方法,解决了让RTDS输出的暂态实时数据完整且可靠地传递到机电混合暂态实时仿真系统的技术问题。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例提供了一种RTDS数据传输系统的一个实施例,包括:RTDS仿真系统101、FPGA板卡102、机电混合暂态实时仿真系统的前置服务器103和机电混合暂态实时仿真系统的DTS服务器104;
RTDS仿真系统101的输出接口与FPGA板卡102的输入端通信连接,FPGA板卡102的输出端与前置服务器103的输入端通信连接,FPGA板卡102用于对RTDS仿真系统101发送的Aurora协议数据进行解码得到暂态实时数据,并将暂态实时数据以MAC报文的格式发送至前置服务器103;
前置服务器103的输出端与DTS服务器104通信连接,前置服务器103用于对FPGA板卡102发送的MAC报文进行解码得到暂态实时数据,并将暂态实时数据发送至DTS服务器104。
需要说明的是,FPGA(Field-Programmable Gate Array,现场可编程门阵列),它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点;
RTDS数据交互协议(Aurora)具有封闭性,需要使用RTDS_InterfaceModule代码进行解码,RTDS_InterfaceModule是一段阐述了Aurora协议的代码,在FPGA板卡的生厂商提供的集成开发环境中加入RTDS_InterfaceModule即可实现FPGA板卡102和RTDS仿真系统101之间的数据交互;
本实施例中的RTDS数据传输系统通过FPGA板卡102进行信号中转,FPGA板卡102可以通过RTDS_InterfaceModule代码对RTDS仿真系统101发送的Aurora协议数据进行解码,将其转换成MAC报文发送到前置服务器103,然后从前置服务器103发送到DTS服务器104,器件简单易于实现,操作简单,通信可靠且实时性高,解决了让RTDS输出的暂态实时数据完整且可靠地传递到机电混合暂态实时仿真系统的技术问题。
以上为本发明实施例提供的一种RTDS数据传输系统的一个实施例,以下为本发明实施例提供的一种RTDS数据传输系统的另一个实施例。
请参阅图2,本发明实施例提供了一种RTDS数据传输系统的另一个实施例,包括:RTDS仿真系统201、FPGA板卡202、机电混合暂态实时仿真系统的前置服务器204和机电混合暂态实时仿真系统的DTS服务器206;
RTDS仿真系统201的输出接口与FPGA板卡202的输入端通信连接,FPGA板卡202的输出端与前置服务器204的输入端通信连接,FPGA板卡202用于对RTDS仿真系统201发送的Aurora协议数据进行解码得到暂态实时数据,并将暂态实时数据以MAC报文的格式发送至前置服务器204;
前置服务器204的输出端与DTS服务器206通信连接,前置服务器204用于对FPGA板卡202发送的MAC报文进行解码得到暂态实时数据,并将暂态实时数据发送至DTS服务器206。
需要说明的是,FPGA(Field-Programmable Gate Array,现场可编程门阵列),它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点;
RTDS数据交互协议(Aurora)具有封闭性,需要使用RTDS_InterfaceModule代码进行解码,RTDS_InterfaceModule是一段阐述了Aurora协议的代码,在FPGA板卡的生厂商提供的集成开发环境中加入RTDS_InterfaceModule即可实现FPGA板卡202和RTDS仿真系统201之间的数据交互;
具体的代码根据需要进行选择,如选择ML 605FPGA板卡202时,则对应的RTDS_InterfaceModule代码为RTDS_InterfaceModule for ML 605代码;
FPGA板卡202与前置服务器204可以通过千兆以太网进行数据通信;
通过MAC报文中的MAC地址可以区分多个FPGA板卡202。
进一步地,FPGA板卡202设置有硬件拨码开关;
硬件拨码开关用于设置FPGA板卡202的MAC报文发送频率N,使得FPGA板卡202每接收N帧Aurora协议数据就将最新一帧Aurora协议数据解码得到的暂态实时数据以MAC报文的格式发送至前置服务器204。
需要说明的是,当不需要每一帧Aurora协议数据都进行传输时,可以在FPGA板卡202上设置硬件拨码开关,通过硬件拨码开关设置FPGA板卡202的MAC报文发送频率N,即接收多少帧Aurora协议数据发送一次MAC报文;
同时,硬件拨码开关还可以设置FPGA板卡202的以太网接口的MAC地址。
进一步地,还包括:以太网交换机203;
RTDS仿真系统201的数量为一个以上,FPGA板卡202的个数与RTDS仿真系统201的数量一致,RTDS仿真系统201与FPGA板卡202一一对应通信连接,各个FGPA分别通过以太网交换机203与前置服务器204的输入端通信连接。
需要说明的是,根据RTDS_InterfaceModule的要求,FPGA板卡202中程序按照RTDS通信模块PB5板卡的发送频率,每接收一帧Aurora协议数据,将解析获得的64个32bit暂态实时数据;
64个32bit暂态实时数据中可以将前两个32bit暂态实时数据设置为时标,则当多个RTDS仿真系统201时,RTDS仿真系统201输出超过62个暂态实时数据时,则可以采用多个FPGA板卡202并列的方式来实现,RTDS仿真系统201与FPGA板卡202一一对应通信连接只是其中的一种实施方式,实际中可以根据每个RTDS仿真系统201输出的暂态实时数据的数量而定,可以选择一一对应,或者多个RTDS仿真系统201对应一个FPGA板卡202,或者一个RTDS仿真系统201对应多个FPGA板卡202;
以太网交换机203是基于以太网传输数据的交换机,以太网采用共享总线型传输媒体方式的局域网,以太网交换机203的结构是每个端口都直接与主机相连,并且一般都工作在全双工方式,以太网交换机203能同时连通许多对端口,使每一对相互通信的主机都能像独占通信媒体那样,进行无冲突地传输数据;
以太网交换机203可以为千兆以太网交换机。
进一步地,还包括:双局域网交换机205;
前置服务器204的输出端具体通过双局域网交换机205与DTS服务器206通信连接。
需要说明的是,局域网交换机(LAN switches)指的是用在交换式局域网内进行数据交换的设备;
传统的以太网中,在任意一个时刻网络中只能有一个站点发送数据,其他站点只可以接收信息,若想发送数据,只能退避等待;
因此,共享式以太网的固定带宽被网络上所有站点共享,随机占用,网络中的站点越多,每个站点平均可以使用的带宽就越窄,网络的响应速度就越慢;
局域网交换机的出现解决了这个问题,在交换式局域网中,采用了局域网交换机设备,只要发送数据的源节点和目的节点不冲突,那么数据发送就完全并行,这样大大提高了数据传送的速率。
进一步地,RTDS仿真系统201的输出接口为PB5板卡的SFP光电收发接口。
需要说明的是,RTDS仿真系统201的输出接口床柜为PB5板卡,所以RTDS仿真系统201的输出接口可以为PB5板卡的SFP光电收发接口,当时用SFP光电收发接口时,RTDS仿真系统201与FPGA板卡202之间通过光纤进行数据通信;
SFP光电收发接口只是RTDS仿真系统201的输出接口的一个例子,实际应用过程中可以根据需要进行选择,如RTDS的输出接口的板卡变更,则输出接口可以变更为其他接口。
本实施例中的RTDS数据传输系统通过FPGA板卡202进行信号中转,FPGA板卡202可以通过RTDS_InterfaceModule代码对RTDS仿真系统201发送的Aurora协议数据进行解码,将其转换成MAC报文发送到前置服务器204,然后从前置服务器204发送到DTS服务器206,器件简单易于实现,操作简单,通信可靠且实时性高,解决了让RTDS输出的暂态实时数据完整且可靠地传递到机电混合暂态实时仿真系统的技术问题。
以上为本发明实施例提供的一种RTDS数据传输系统的另一个实施例,以下为本发明实施例提供的一种RTDS数据传输方法的一个实施例。
请参阅图3,本发明实施例提供了一种RTDS数据传输方法的一个实施例,包括:
步骤301:FPGA板卡接收RTDS仿真系统发送的Aurora协议数据,对Aurora协议数据进行解码得到暂态实时数据,并将暂态实时数据以MAC报文的格式发送至前置服务器;
需要说明的是,FPGA板卡负责将RTDS仿真系统发送的Aurora协议数据转换成以MAC报文的格式发送至前置服务器,从而实现RTDS仿真系统与机电混合暂态实时仿真系统的数据互联。
步骤302:前置服务器对FPGA板卡发送的MAC报文进行解码得到暂态实时数据,并将暂态实时数据发送至DTS服务器。
需要说明的是,前置服务器中程序通过原始套接字接口(输入端)捕获MAC报文帧;
本实施例中的RTDS数据传输系统通过FPGA板卡进行信号中转,将其转换成MAC报文发送到前置服务器,然后从前置服务器发送到DTS服务器,器件简单易于实现,操作简单,通信可靠且实时性高,解决了让RTDS输出的暂态实时数据完整且可靠地传递到机电混合暂态实时仿真系统的技术问题。
以上为本发明实施例提供的一种RTDS数据传输方法的一个实施例,以下为本发明实施例提供的一种RTDS数据传输方法的另一个实施例。
请参阅图4,本发明实施例提供了一种RTDS数据传输方法的另一个实施例,包括:
步骤401:RTDS仿真系统将暂态实时数据中的第一个数据点设置为仿真时标的整数部分A,将暂态实时数据中的第二个数据点设置为仿真时标的小数部分B,并将暂态实时数据以Aurora协议数据的格式发送至FGPA;
需要说明的是,根据RTDS_InterfaceModule的要求,FPGA板卡中程序按照RTDS通信接口PB5板卡的发送频率,每接收一帧Aurora协议数据,将解析获得的64个32bit暂态实时数据,其中,可将前2个32bit数据为RTDS仿真时标;
RTDS仿真系统通过FPGA板卡通信送出暂态实时仿真数据,将第一个32bit数据点设为传输浮点型RTDS内数据时标秒级以上部分(即整数部分),将第二个32bit数据点设为传输浮点型RTDS内数据时标秒级以下部分(即小数部分),记为A.B,其中A为整数秒,B为小数微秒(6位有效位,浮点数精度为小数点后7位,可以保证微秒数值的精度);
这样设定可以避免出现只用一个32bit浮点型数据时标时,但随着时间的增大,4字节的浮点型数据时标的微秒数值精度严重下降的问题。
步骤402:FPGA板卡接收RTDS仿真系统发送的Aurora协议数据,对Aurora协议数据进行解码得到暂态实时数据,并将暂态实时数据存入缓存中;
需要说明的是,FPGA板卡接收RTDS仿真系统发送的Aurora协议数据,对Aurora协议数据进行解码得到暂态实时数据,并将暂态实时数据存入缓存中,则当需要调用暂态实时数据时可以快速调用。
步骤403:FPGA板卡将累计接收帧数加1,判断累计接收帧数是否小于N,若是,则返回步骤402,若否,则执行步骤404,其中,N为通过硬件拨码开关设置的MAC报文发送频率;
需要说明的是,如设置每接收8帧Aurora协议数据就发送一次MAC报文,则每次接收到Aurora协议数据后,FPGA板卡将累计接收帧数加1,并判断累计接收帧数是否小于8,如果是,则说明还没有累计到8帧Aurora协议数据,无需发送MAC报文,返回步骤402继续接受Aurora协议数据,如果否,则说明已经累计接收了8帧Aurora协议数据,则从缓存中调用最新一帧(即最近一次接收到的)Aurora协议数据解码得到的暂态实时数据,将暂态实时数据以MAC报文的格式发送至前置服务器,并且累计接收帧数归零,重新进行计数,返回步骤402,继续接受Aurora协议数据;
RTDS仿真系统的仿真步长最小可达2μs,有时如果所有暂态实时数据都接收时会导致处理的数据量过大,因此可以根据需要选择MAC报文发送频率。
步骤404:FPGA板卡从缓存中调用最新一帧Aurora协议数据解码得到的暂态实时数据,将暂态实时数据以MAC报文的格式发送至前置服务器,并且累计接收帧数归零,FPGA板卡返回步骤402,前置服务器执行步骤405;
步骤405:前置服务器对FPGA板卡发送的MAC报文进行解码得到暂态实时数据,并将暂态实时数据发送至DTS服务器;
需要说明的是,前置服务器对FPGA板卡发送的MAC报文进行解码得到暂态实时数据,通过以太网将暂态实时数据发送至DTS服务器。
步骤406:DTS服务器接收到第一个MAC报文解码后的暂态实时数据时,记录DTS服务器的本机时间的整数部分为H,计算H与A的差值O,将每一帧MAC报文解码后的暂态实时数据内的仿真时标加上O得到存储时标,根据存储时标将暂态实时数据存入时间序列数据库中;
需要说明的是,例如RTDS仿真系统未和机电混合暂态实时仿真系统的在线仿真培训综合驾驶舱系统对时,则会导致RTDS仿真系统送出的数据时标为1970年1月1日8:00开始计时的一个时标,用此时标存储数据进入时序库后会导致一系列问题,如每次重启仿真后数据时标回转,暂态实时曲线难以展现等;
用机电混合暂态实时仿真系统的在线仿真培训综合驾驶舱系统接收到RTDS数据帧(暂态实时数据)时的时间和该帧内RTDS仿真系统送出的仿真时标的差值算出偏移量,将此偏移量附加到所有接收到的暂态实时数据的仿真时标上,形成基于在线仿真培训综合驾驶舱系统当前时间的统一时标,便于后续数据分析与展现;
记录DTS服务器的本机时间时只记录整数世纪秒,DTS服务器接收到第一个MAC报文解码后的暂态实时数据时,记录DTS服务器的本机时间的整数部分为H(即整数世纪秒),计算H与A的差值O(时间偏移量);
则本帧数据存储时标为(O+A).B,若后续的MAC报文中的仿真时标为A1.B1,则计算新一帧的存储时标为(O+A1).B1,并依此时标存储数据;
每一次重启仿真时都会重新计算O,保证所有数据的存储时标不会出现回转现象。
步骤407:DTS服务器通过OCS电网模型查询、分析和展示时间序列数据库中的暂态实时数据。
需要说明的是,RTDS仿真系统输出的暂态实时数据以测点序号进行区分标识,机电混合暂态实时仿真系统的在线仿真培训综合驾驶舱服务器需要结合OCS电网模型查询、分析和展示时间序列数据库中RTDS仿真暂态实时数据;
为此设计了RTDS暂态数据配置文件,前置通信服务器根据该配置文件中测点序号和测点描述的关联来标识暂态数据,将获取的RTDS暂态实时数据存储到电网模型对应的时序库测点中。
进一步地,仿真时标的时标精度为10ns。
需要说明的是,本实施例中的RTDS数据传输系统通过FPGA板卡进行信号中转,FPGA板卡可以通过RTDS_InterfaceModule代码对RTDS仿真系统发送的Aurora协议数据进行解码,将其转换成MAC报文发送到前置服务器,然后从前置服务器发送到DTS服务器,器件简单易于实现,操作简单,通信可靠且实时性高,解决了让RTDS输出的暂态实时数据完整且可靠地传递到机电混合暂态实时仿真系统的技术问题。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。