CN103747088B - 一种用于全范围模拟机传输数据的方法及数据传输系统 - Google Patents
一种用于全范围模拟机传输数据的方法及数据传输系统 Download PDFInfo
- Publication number
- CN103747088B CN103747088B CN201410014800.9A CN201410014800A CN103747088B CN 103747088 B CN103747088 B CN 103747088B CN 201410014800 A CN201410014800 A CN 201410014800A CN 103747088 B CN103747088 B CN 103747088B
- Authority
- CN
- China
- Prior art keywords
- socket
- platform
- asynchronous
- synchronous
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明公开了一种用于全范围模拟机传输数据的方法,包括选用包括第一平台和第二平台的全范围模拟机,在第一平台中建立与第二平台相对应的第一套接字;将第一套接字配置为第一同步套接字和第一异步套接字;在第二平台中建立与第一平台相对应的第二套接字;将第二套接字配置为第二同步套接字和第二异步套接字两类;所述第一平台通过同步方式发送设备数据到所述第二平台;所述第二平台通过异步方式发送控制指令数据到所述第一平台;从而完成全范围模拟机的数据传输,实施该方法,可以保证数据通讯的稳定性和及时性,从而提高全范围模拟机的品质;本发明还公开了一种用于全范围模拟机的数据传输系统。
Description
技术领域
本发明涉及数据通信领域,更具体地说,涉及一种用于全范围模拟机传输数据的方法及数据传输系统。
背景技术
全范围模拟机是核电站工程建设关键设备。按照国际惯例和核电站建设标准,每座新建核电站至少应配备一台全范围模拟机,用于开展操纵员培训与执照考试,为操纵员、管理员提高运行管理技术水平提供安全可靠工具。
全范围模拟机是由计算机系统、I/O接口系统、电站监控机(比如数据采集系统DAS或集散控制系统DCS)仿真设备、教练员站、工程师站等部件设备组成的局域网系统。电站监控机是全范围模拟机中能够监视整个模拟机的状态和模拟机所模拟的整个电站的运行状态;教练员站能够直接干预和操作模拟电站系统,教练员能够考察被裴孔的操纵员的实际操作;工程师站是全范围模拟机中开发、维护和管理的中心,能够支持各种工程师的功能。
其中全范围模拟机中的各个部件之间需要进行数据通信,其中主要是计算机系统与I/O接口系统、电站监控机仿真设备、教练员站、工程师站等部件设备之间需要进行数据通信,为了便于描述,用第一平台指代计算机系统;用第二平台指代I/O接口系统、电站监控机仿真设备、教练员站、工程师站等部件设备。一方面由于全范围模拟机模拟核电站运行时需要监测的点很多,甚至多达几万个,这些监测点的大量信息需要快速传给第一平台进行计算,这些信息或者第一平台计算后的结果信息传给第二平台显示;另一方面,操作员通过人机界面下达操作指令,这些指令需要及时传到第一平台用于执行各种操作。因此,保证了第一平台和第二平台之间实时、稳定的通信,才能保证保证全范围模拟机的品质。
现有技术采用单通道顺序模式进行第一平台和第二平台之间的通信。单通道是指第一平台和第一平台之间通过一个socket(是指套接字,用于描述IP地址和端口,是一个通信链的句柄)进行通信,第二平台开放socket服务端,监听来自第一平台的连接,第一平台为socket客户端,主动连接第二平台。顺序是指通信次序为第一平台发送数据包,然后接收来自第二平台的操作指令信息包,之后循环依次进行。由于全范围模拟机中仿真设备采用的是多任务并发进行仿真模拟计算,为了能够达到仿真效果,每个任务的运算周期都是固定的,因此需要保证实时性,因此对于数据的显示,需要每隔一段时间(比如200毫秒)刷新一次数据。现有技术中由于是采用单通道顺序模式,为了保证信息数据在不丢失的情况下高效发送,套接字需要设置成同步方式,而操作指令是不定期下发的,因此第一平台每次接收操作指令信息时都需要等待第二平台准备好之后才能接收,因此在操作指令信息和其他信息(比如第一平台内的物理仿真模型计算出来的物理参数和设备信息,如管道流量,堆芯温度或者阀门的开度等信息)的量非常大,而且第一平台与第二平台位于局域网内的不同机器时,使得等待时间(timeout)的设定非常困难,因此在设定的一个执行周期(比如200毫秒)内难以保证完成接收和发送数据的操作,并且容易使得信息数据的发送/接收超时,无法保证第一平台与第二平台之间通讯的实时性和稳定性,进而影响到仿真的效果和全范围模拟机的品质。
发明内容
本发明要解决的技术问题在于,针对现有技术中由于等待时间(timeout)的设定非常困难,因此在设定的一个执行周期(比如200毫秒)内难以保证完成接收和发送数据的操作,并且容易使得信息数据的发送/接收超时,无法保证第一平台与第二平台之间通讯的实时性和稳定性,进而影响到仿真的效果和全范围模拟机的品质的缺陷,提供一种用于全范围模拟机传输数据的方法及系统。
本发明解决其技术问题所采用的技术方案是:构造一种用于全范围模拟机传输数据的方法,所述方法包括以下步骤:
S1、选用包括第一平台和第二平台的全范围模拟机,在所述第一平台中建立与所述第二平台相对应的第一套接字;将所述第一套接字配置为多个第一同步套接字和多个第一异步套接字两类;
S2、在所述第二平台中建立与所述第一平台相对应的第二套接字;将所述第二套接字配置为多个第二同步套接字和多个第二异步套接字两类;
S3、将所述第一同步套接字和所述第二同步套接字建立同步方式连接,然后使用所述第一平台通过同步方式发送设备数据到所述第二平台;将所述第一异步套接字和所述第二异步套接字建立异步方式连接,然后使用所述第二平台通过异步方式发送控制指令数据到所述第一平台;从而完成全范围模拟机的数据传输。
在本发明所述的用于全范围模拟机传输数据的方法中,所述步骤S3中将所述第一同步套接字和所述第二同步套接字建立为同步方式连接,然后使用所述第一平台通过同步方式发送设备数据到所述第二平台的操作包括以下子步骤:
S31a、使用所述第二平台的第二同步套接字监听所述第一平台的所述第一同步套接字的端口状态,当监听到所述第一平台发送的连接请求时,通过所述第二同步套接字与相应的所述第一同步套接字建立同步套接字连接;
S32a、使用所述第一同步套接字在所述第二同步套接字与相应的所述第一同步套接字建立的同步套接字连接上发送所述设备数据并根据所述第一同步套接字的发送函数的返回值确认是否发送成功;
S33a、使用所述第二同步套接字在第二同步套接字与相应的第一同步套接字建立的同步套接字连接上接收所述设备数据;
在本发明所述的用于全范围模拟机传输数据的方法中,还包括以下子步骤:
S34a、在所述步骤子S33a之后,跳转到所述子步骤S31a,再次执行所述子步骤S31a至子步骤S33a。
在本发明所述的用于全范围模拟机传输数据的方法中,所述步骤S3中将所述第一异步套接字和所述第二异步套接字建立为异步方式连接,然后使用所述第二平台通过异步方式发送控制指令数据到所述第一平台的操作包括以下子步骤:
S31b、使用所述第二平台的第二异步套接字监听所述第一平台的所述第一异步套接字的端口状态,当监听到所述第一平台发送的连接请求时,通过所述第二异步套接字与相应的所述第一异步套接字建立异步套接字连接;
S32b、使用所述第二异步套接字在所述第二异步套接字与相应的所述第一异步套接字建立的异步套接字连接上发送所述控制指令数据;
S33b、使用所述第一异步套接字在第二异步套接字与相应的第一异步套接字建立的异步套接字连接上接收所述控制指令数据。
在本发明所述的用于全范围模拟机传输数据的方法中,还包括以下子步骤:
S34b、在所述子步骤S33b之后,转到所述子步骤S31b,再次执行所述子步骤S31b至子步骤S33b。
实施本发明的用于全范围模拟机传输数据的方法,具有以下有益效果:通过本发明实施例提供的用于全范围模拟机传输数据的方法,可以有效解决现有技术中由于等待时间(timeout)的设定非常困难,因此在设定的一个执行周期(比如200毫秒)内难以保证完成接收和发送数据的操作,并且容易使得信息数据的发送/接收超时,无法保证第一平台与第二平台之间通讯的实时性和稳定性,进而影响到仿真的效果和全范围模拟机的品质的缺陷,通过在第一平台和第二平台之间建立同步套接字和异步套接字,形成同步方式和异步方式两种模式,利用同步方式发送设备数据,通过异步方式发送控制指令数据,从而既满足了设备数据发送的实时性,也满足了指令数据发送的不定期要求,因而保证了数据通讯的稳定性和及时性,从而提高了全范围模拟机的仿真效果和品质。
本发明还提供一种用于全范围模拟机的数据传输系统,所述用于全范围模拟机的数据传输系统包括以下模块:
第一套接字建立模块,用于在包括第一平台和第二平台的全范围模拟机的所述第一平台中建立与所述第二平台相对应的第一套接字;将所述第一套接字配置为多个第一同步套接字和多个第一异步套接字两类;
第二套接字建立模块,用于在所述第二平台中建立与所述第一平台相对应的第二套接字;将所述第二套接字配置为多个第二同步套接字和多个第二异步套接字两类;
数据传输模块,用于将所述第一同步套接字和所述第二同步套接字建立同步方式连接,然后使用所述第一平台通过同步方式发送设备数据到所述第二平台;并用于将所述第一异步套接字和所述第二异步套接字建立异步方式连接,然后使用所述第二平台通过异步方式发送控制指令数据到所述第一平台;从而完成全范围模拟机的数据传输。
在本发明所述的用于全范围模拟机的数据传输系统中,所述数据传输模块包括以下单元:
第一连接建立单元,用于使用所述第二平台的第二同步套接字监听所述第一平台的所述第一同步套接字的端口状态,当监听到所述第一平台发送的连接请求时,通过所述第二同步套接字与相应的所述第一同步套接字建立同步套接字连接;
第一数据发送单元,用于使用所述第一同步套接字在所述第二同步套接字与相应的所述第一同步套接字建立的同步套接字连接上发送所述设备数据并根据所述第一同步套接字的发送函数的返回值确认是否发送成功;
第一数据接收单元,用于使用所述第二同步套接字在第二同步套接字与相应的第一同步套接字建立的同步套接字连接上接收所述设备数据。
在本发明所述的用于全范围模拟机的数据传输系统中,所述数据传输模块还包括以下单元:
第一跳转单元,用于在执行完所述第一数据接收单元后,启动所述第一连接建立单元、所述第一数据发送单元、所述第一数据接收单元的功能。
在本发明所述的用于全范围模拟机的数据传输系统中,所述数据传输模块包括以下单元:
第二连接建立单元,用于使用所述第二平台的第二异步套接字监听所述第一平台的所述第一异步套接字的端口状态,当监听到所述第一平台发送的连接请求时,通过所述第二异步套接字与相应的所述第一异步套接字建立异步套接字连接;
第二数据发送单元,用于使用所述第二异步套接字在所述第二异步套接字与相应的所述第一异步套接字建立的异步套接字连接上发送所述控制指令数据;
第二数据接收单元,用于使用所述第一异步套接字在所述第二异步套接字与相应的所述第一异步套接字建立的异步套接字连接上接收所述控制指令数据。
在本发明所述的用于全范围模拟机的数据传输系统中,所述数据传输模块还包括以下单元:
第二跳转单元,用于在执行完所述第二数据接收单元之后,启动所述第二连接建立单元、第二数据发送单元、第二数据接收单元的功能。
实施本发明的用于全范围模拟机的数据传输系统,具有以下有益效果:通过本发明实施例提供的用于全范围模拟机的数据传输系统,可以有效解决现有技术中由于等待时间(timeout)的设定非常困难,因此在设定的一个执行周期(比如200毫秒)内难以保证完成接收和发送数据的操作,并且容易使得信息数据的发送/接收超时,无法保证第一平台与第二平台之间通讯的实时性和稳定性,进而影响到仿真的效果和全范围模拟机的品质的缺陷,通过在第一平台和第二平台之间建立同步套接字和异步套接字,形成同步方式和异步方式两种模式,利用同步方式发送设备数据,通过异步方式发送控制指令数据,从而既满足了设备数据发送的实时性,也满足了指令数据发送的不定期要求,因而保证了数据通讯的稳定性和及时性,从而提高了全范围模拟机的仿真效果和品质。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明一个较佳实施例提供的用于全范围模拟机传输数据的方法流程图;
图2是图1所示的步骤S3中所述第一平台通过同步方式发送设备数据到所述第二平台的子流程图;
图3是图1所示的步骤S3中所述第二平台通过异步方式发送控制指令数据到所述第一平台的另一种子流程图;
图4是本发明一个较佳实施例提供的用于全范围模拟机的数据传输系统的结构示意图;
图5是图4所示的数据传输模块的结构示意图;
图6是图4所示的数据传输模块的另一种结构示意图;
图7是本发明一个较佳实施例提供的用于全范围模拟机的数据传输系统示意图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式,下述具体实施方式以及附图,仅为更好地理解本发明,并不对本发明做任何限制。
如图1所示,在本发明实施例提供的一种用于全范围模拟机传输数据的方法第一实施例中,所述方法包括以下步骤:
S1、选用包括第一平台和第二平台的全范围模拟机,在所述第一平台中建立与所述第二平台相对应的第一套接字;将所述第一套接字配置为第一同步套接字和第一异步套接字两类;全范围模拟机中的各个部件之间需要进行数据通信,其中主要是计算机系统与I/O接口系统、电站监控机仿真设备、教练员站、工程师站等部件设备之间需要进行数据通信,为了便于描述,用第一平台指代计算机系统;用第二平台指代I/O接口系统、电站监控机仿真设备、教练员站、工程师站等部件设备。在所述第一平台建立的套接字配置为第一同步套接字和第一异步套接字两类,第一同步套接字可以是一个,也可以是多个;第一异步套接字同样可以是一个,也可以是多个,但是第一同步套接字和第一异步套接字每一种至少应该有一个,具体创建的系统可以是unix或者windows操作系统或者其他操作系统,本步骤可以通过调用操作系统中的socket函数来建立第一套接字,并通过调用阻塞函数将第一套接字配置为第一同步套接字,通过调用非阻塞函数将第二套接字配置为第一异步套接字,本发明不仅限于此。
S2、在所述第二平台中建立与所述第一平台相对应的第二套接字;将所述第二套接字配置为第二同步套接字和第二异步套接字两类;这里相应是指在第一平台中建立的第一同步套接字和第一异步套接字各自有多少,则第二平台中的第二同步套接字相对应与第一同步套接字、第二平台中的第二异步套接字相对应与第一异步套接字就应该有多少个,同样的,本步骤可以通过调用操作系统中的socket函数来建立第一套接字,并通过调用阻塞函数将第一套接字配置为第一同步套接字,通过调用非阻塞函数将第二套接字配置为第一异步套接字,本发明不仅限于此。
S3、将所述第一同步套接字和所述第二同步套接字建立为同步方式连接,然后使用所述第一平台通过同步方式发送设备数据到所述第二平台;将所述第一异步套接字和所述第二异步套接字建立为异步方式连接,然后使用所述第二平台通过异步方式发送控制指令数据到所述第一平台;从而完成全范围模拟机的数据传输,这里的同步方式就是指同步通信模式,异步方式就是指异步通信模式,设备数据包括第一平台中物理仿真模型计算出来的物理参数和设备信息,例如管道流量,堆芯温度或者阀门的开度等信息,因为这些信息需要实时发送到第二平台,在第二平台上实时显示,因此采用同步方式发送数据能够确保这些设备数据能够及时地发送到第二平台;而从第二平台发送的控制指令数据不需要实时发送到第一平台,可以可以采用异步方式,也就是异步通信模式,这样就隔开了设备数据和控制指令数据的发送通道,从而既满足了设备数据发送的实时性,也满足了指令数据发送的不定期要求,因而保证了数据通讯的稳定性和及时性,从而提高了全范围模拟机的仿真效果和品质。
优选地,如图2所示,在本发明优选实施例提供的用于全范围模拟机传输数据的方法中,所述步骤S3中将所述第一同步套接字和所述第二同步套接字建立为同步方式连接,然后使用所述第一平台通过同步方式发送设备数据到所述第二平台的操作包括以下子步骤:
S31a、使用所述第二平台的第二同步套接字监听所述第一平台的所述第一同步套接字的端口状态,当监听到所述第一平台发送的连接请求时,通过所述第二同步套接字与相应的所述第一同步套接字建立同步套接字连接;这里可以通过调用操作系统中listen函数来实现对于第一平台的所述第一同步套接字的端口状态的监听,可以通过调用操作系统中的connect函数来实现通过所述第二同步套接字与相应的所述第一同步套接字建立同步套接字连接,所述建立同步套接字连接为发送线程,本发明不仅限于此。
S32a、使用所述第一同步套接字在所述第二同步套接字与相应的所述第一同步套接字建立的同步套接字连接上发送所述设备数据并根据所述第一同步套接字的发送函数的返回值确认是否发送成功;这里可以通过调用操作系统中的发送函数(sendto函数)来实现所述第一同步套接字在所述第二同步套接字与相应的所述第一同步套接字建立的同步套接字连接上发送所述设备数据,本发明不仅限于此,第一平台发送完数据后不需要等待,直接可以进入下一轮数据发送,这样可以减少等待时间,保证全范围模拟机的实时性。
S33a、使用所述第二同步套接字在第二同步套接字与相应的第一同步套接字建立的同步套接字连接上接收所述设备数据;这里可以通过调用操作系统中的recvfrom函数来实现所述第二同步套接字在第二同步套接字与相应的第一同步套接字建立的同步套接字连接上接收所述设备数据,本发明不仅限于此。
在本发明所述的用于全范围模拟机传输数据的方法中,还包括以下子步骤:
S34a、在所述子步骤S33a之后,跳转到所述子步骤S31a,再次执行所述子步骤S31a至步骤S33a。在本发明优选实施例中,可以实现源源不断地实现所述第一平台通过同步方式发送设备数据到所述第二平台,直到停止使用全范围模拟机。
在本发明所述的用于全范围模拟机传输数据的方法中,所述步骤S3中将所述第一异步套接字和所述第二异步套接字建立为异步方式连接,然后使用所述第二平台通过异步方式发送控制指令数据到所述第一平台的操作包括以下子步骤:
S31b、使用所述第二平台的第二异步套接字监听所述第一平台的所述第一异步套接字的端口状态,当监听到所述第一平台发送的连接请求时,通过所述第一异步套接字与相应的所述第二异步套接字建立异步套接字连接;这里可以通过调用操作系统中listen函数来实现对于第一平台的所述第一异步套接字的端口状态的监听,可以通过调用操作系统中的connect函数来实现通过所述第二异步套接字与相应的所述第一异步套接字建立异步套接字连接,所述建立异步套接字连接为接收线程,本发明不仅限于此。
S32b、使用所述第二异步套接字在所述第一异步套接字与相应的所述第二异步套接字建立的异步套接字连接上发送所述控制指令数据;这里可以通过调用操作系统中的sendto函数来实现所述第二异步套接字在所述第一异步套接字与相应的所述第二异步套接字建立的异步套接字连接上发送所述控制指令数据,本发明不仅限于此。
S33b、使用所述第一异步套接字在第一异步套接字与相应的第二异步套接字建立的异步套接字连接上接收所述控制指令数据,这里可以通过调用操作系统中的recvfrom函数来实现所述第一异步套接字在第一异步套接字与相应的第二异步套接字建立的异步套接字连接上接收所述控制指令数据,本发明不仅限于此。因为异步方式的线程是处于非阻塞状态的,因此第一平台的接收线程不需要等待接收到控制指令即可返回,从而减少等待时间。
在本发明所述的用于全范围模拟机传输数据的方法中,还包括以下子步骤:
S34b、在所述子步骤S33b之后,转到所述子步骤S31b,再次执行所述子步骤S31b至子步骤S33b。因为异步通讯时不影响全范围模拟机的状态,只要监听到所述第二平台发送的连接请求后,通过重复执行所述步骤S31a至步骤S33b,就能使第二平台通过异步方式发送控制指令数据到所述第一平台,直到停止使用全范围模拟机。
实施本发明的用于全范围模拟机传输数据的方法,具有以下有益效果:通过本发明实施例提供的用于全范围模拟机传输数据的方法,可以有效解决现有技术中由于等待时间(timeout)的设定非常困难,因此在设定的一个执行周期(比如200毫秒)内难以保证完成接收和发送数据的操作,并且容易使得信息数据的发送/接收超时,无法保证第一平台与第二平台之间通讯的实时性和稳定性,进而影响到仿真的效果和全范围模拟机的品质的缺陷,通过在第一平台和第二平台之间建立同步套接字和异步套接字,形成同步方式和异步方式两种模式,利用同步方式发送设备数据,通过异步方式发送控制指令数据,从而既满足了设备数据发送的实时性,也满足了指令数据发送的不定期要求,因而保证了数据通讯的稳定性和及时性,从而提高了全范围模拟机的仿真效果和品质,经过试验,在千兆局域网内,发送400K的数据包可以在10毫秒内完成,完全可以满足全范围模拟机的实时性要求。
如图4所示,在本发明实施例提供的一种用于全范围模拟机的数据传输系统的第一实施例中,所述用于全范围模拟机的数据传输系统包括以下模块:
第一套接字建立模块,用于在包括第一平台和第二平台的全范围模拟机的所述第一平台中建立与所述第二平台相对应的第一套接字;将所述第一套接字配置为第一同步套接字和第一异步套接字两类;全范围模拟机中的各个部件之间需要进行数据通信,其中主要是计算机系统与I/O接口系统、电站监控机仿真设备、教练员站、工程师站等部件设备之间需要进行数据通信,为了便于描述,用第一平台指代计算机系统;用第二平台指代I/O接口系统、电站监控机仿真设备、教练员站、工程师站等部件设备。在所述第一平台建立的套接字配置为第一同步套接字和第一异步套接字两类,第一同步套接字可以是一个,也可以是多个;第一异步套接字同样可以是一个,也可以是多个,但是第一同步套接字和第一异步套接字每一种至少应该有一个,具体创建的系统可以是unix或者windows操作系统或者其他操作系统,本步骤可以通过调用操作系统中的socket函数来建立第一套接字,并通过调用阻塞函数将第一套接字配置为第一同步套接字,通过调用非阻塞函数将第二套接字配置为第一异步套接字,本发明不仅限于此。
第二套接字建立模块,用于在所述第二平台中建立与所述第一平台相对应的第二套接字;将所述第二套接字配置为第二同步套接字和第二异步套接字两类;这里相应是指在第一平台中建立的第一同步套接字和第一异步套接字各自有多少,则第二平台中的第二同步套接字相对应与第一同步套接字、第二平台中的第二异步套接字相对应与第一异步套接字就应该有多少个,同样的,本步骤可以通过调用操作系统中的socket函数来建立第一套接字,并通过调用阻塞函数将第一套接字配置为第一同步套接字,通过调用非阻塞函数将第二套接字配置为第一异步套接字,本发明不仅限于此。
数据传输模块,用于将所述第一同步套接字和所述第二同步套接字建立同步方式连接,然后使用所述第一平台通过同步方式发送设备数据到所述第二平台;并用于将所述第一异步套接字和所述第二异步套接字建立异步方式连接,然后使用所述第二平台通过异步方式发送控制指令数据到所述第一平台;从而完成全范围模拟机的数据传输,这里的同步方式就是指同步通信模式,异步方式就是指异步通信模式,设备数据包括第一平台中物理仿真模型计算出来的物理参数和设备信息,例如管道流量,堆芯温度或者阀门的开度等信息,因为这些信息需要实时发送到第二平台,在第二平台上实时显示,因此采用同步方式发送数据能够确保这些设备数据能够及时地发送到第二平台;而从第二平台发送的控制指令数据不需要实时发送到第一平台,可以可以采用异步方式,也就是异步通信模式,这样就隔开了设备数据和控制指令数据的发送通道,从而既满足了设备数据发送的实时性,也满足了指令数据发送的不定期要求,因而保证了数据通讯的稳定性和及时性,从而提高了全范围模拟机的仿真效果和品质。
在本发明所述的用于全范围模拟机的数据传输系统中,所述数据传输模块包括以下单元:
第一连接建立单元,用于使用所述第二平台的第二同步套接字监听所述第一平台的所述第一同步套接字的端口状态,当监听到所述第一平台发送的连接请求时,通过所述第二同步套接字与相应的所述第一同步套接字建立同步套接字连接;这里可以通过调用操作系统中listen函数来实现对于第一平台的所述第一同步套接字的端口状态的监听,可以通过调用操作系统中的connect函数来实现通过所述第二同步套接字与相应的所述第一同步套接字建立同步套接字连接,所述建立同步套接字连接为发送线程,本发明不仅限于此。
第一数据发送单元,用于使用所述第一同步套接字在所述第二同步套接字与相应的所述第一同步套接字建立的同步套接字连接上发送所述设备数据并根据所述第一同步套接字的发送函数的返回值确认是否发送成功;这里可以通过调用操作系统中的sendto函数来实现所述第一同步套接字在所述第二同步套接字与相应的所述第一同步套接字建立的同步套接字连接上发送所述设备数据,本发明不仅限于此,第一平台发送完数据后不需要等待,直接可以进入下一轮数据发送,这样可以减少等待时间,保证全范围模拟机的实时性。
第一数据接收单元,用于使用所述第二同步套接字在第二同步套接字与相应的第一同步套接字建立的同步套接字连接上接受所述设备数据;这里可以通过调用操作系统中的recvfrom函数来实现所述第二同步套接字在第二同步套接字与相应的第一同步套接字建立的同步套接字连接上接受所述设备数据,本发明不仅限于此。
在本发明所述的用于全范围模拟机的数据传输系统中,所述数据传输模块还包括以下单元:
第一跳转单元,用于在执行完所述第一数据接收单元后,启动所述第一连接建立单元、所述第一数据发送单元、所述第一数据接收单元的上述功能。在本发明优选实施例中,可以实现源源不断地实现所述第一平台通过同步方式发送设备数据到所述第二平台,直到无需使用全范围模拟机。
在本发明所述的用于全范围模拟机的数据传输系统中,所述数据传输模块包括以下单元:
第二连接建立单元,用于使用所述第二平台的第二异步套接字监听所述第一平台的所述第一异步套接字的端口状态,当监听到所述第一平台发送的连接请求时,通过所述第一异步套接字与相应的所述第二异步套接字建立异步套接字连接;这里可以通过调用操作系统中listen函数来实现对于第一平台的所述第一异步套接字的端口状态的监听,可以通过调用操作系统中的connect函数来实现通过所述第二异步套接字与相应的所述第一异步套接字建立异步套接字连接,所述建立异步套接字连接为接收线程,本发明不仅限于此。
第二数据发送单元,用于使用所述第二异步套接字在所述第一异步套接字与相应的所述第二异步套接字建立的异步套接字连接上发送所述控制指令数据;这里可以通过调用操作系统中的sendto函数来实现所述第二异步套接字在所述第一异步套接字与相应的所述第二异步套接字建立的异步套接字连接上发送所述控制指令数据,本发明不仅限于此。
第二数据接收单元,用于使用所述第一异步套接字在第一异步套接字与相应的第二异步套接字建立的异步套接字连接上接收所述控制指令数据,这里可以通过调用操作系统中的recvfrom函数来实现所述第一异步套接字在第一异步套接字与相应的第二异步套接字建立的异步套接字连接上接收所述控制指令数据,本发明不仅限于此,因为异步方式的线程是处于非阻塞状态的,因此第一平台的接收线程不需要等待接收到控制指令即可返回,从而减少等待时间。
在本发明所述的用于全范围模拟机的数据传输系统中,所述数据传输模块还包括以下单元:
第二跳转单元,用于在执行完所述第二数据接收单元之后,启动所述第二连接建立单元、第二数据发送单元、第二数据接收单元的上述功能。因为异步通讯时不影响全范围模拟机的状态,只要监听到所述第二平台发送的连接请求后,通过重复执行所述第二连接建立单元、第二数据发送单元、第二数据接收单元,就能使第二平台通过异步方式发送控制指令数据到所述第一平台,直到无需使用全范围模拟机。
实施本发明的用于全范围模拟机的数据传输系统,具有以下有益效果:通过本发明实施例提供的用于全范围模拟机的数据传输系统,可以有效解决现有技术中由于等待时间(timeout)的设定非常困难,因此在设定的一个执行周期(比如200毫秒)内难以保证完成接收和发送数据的操作,并且容易使得信息数据的发送/接收超时,无法保证第一平台与第二平台之间通讯的实时性和稳定性,进而影响到仿真的效果和全范围模拟机的品质的缺陷,通过在第一平台和第二平台之间建立同步套接字和异步套接字,形成同步方式和异步方式两种模式,利用同步方式发送设备数据,通过异步方式发送控制指令数据,从而既满足了设备数据发送的实时性,也满足了指令数据发送的不定期要求,因而保证了数据通讯的稳定性和及时性,从而提高了全范围模拟机的仿真效果和品质。
优选地,如图7所示,在本发明实施例所述的用于全范围模拟机的数据传输系统中,在上述所有的优选实施例中,如果当建立的同步套接字连接(发送线程)与建立的异步套接字连接(接收线程)需要同步时,通常发送线程和接收线程之间是不需要同步的,这时可以通过读取第二平台内存储的公共数据进行同步,所述第二平台内存储的公共数据可以是系统信号、数据库等第三方数据,该实施例的原理亦可适用于本发明实施例所述的用于全范围模拟机传输数据的方法,本发明不仅限于此。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (2)
1.一种用于全范围模拟机传输数据的方法,其特征在于,所述方法包括以下步骤:
S1、选用包括第一平台和第二平台的全范围模拟机,在所述第一平台中建立与所述第二平台相对应的第一套接字,将所述第一套接字配置为多个第一同步套接字和多个第一异步套接字两类;
S2、在所述第二平台中建立与所述第一平台相对应的第二套接字,将所述第二套接字配置为多个第二同步套接字和多个第二异步套接字两类;
S3、将所述第一同步套接字和所述第二同步套接字建立同步方式连接,然后使用所述第一平台通过同步方式发送设备数据到所述第二平台;将所述第一异步套接字和所述第二异步套接字建立异步方式连接,然后使用所述第二平台通过异步方式发送控制指令数据到所述第一平台;从而完成全范围模拟机的数据传输;
其中,
所述步骤S3中将所述第一同步套接字和所述第二同步套接字建立为同步方式连接,然后使用所述第一平台通过同步方式发送设备数据到所述第二平台的操作包括以下子步骤:
S31a、使用所述第二平台的第二同步套接字监听所述第一平台的所述第一同步套接字的端口状态,当监听到所述第一平台发送的连接请求时,通过所述第二同步套接字与相应的所述第一同步套接字建立同步套接字连接;
S32a、使用所述第一同步套接字在所述第二同步套接字与相应的所述第一同步套接字建立的同步套接字连接上发送所述设备数据并根据所述第一同步套接字的发送函数的返回值确认是否发送成功;
S33a、使用所述第二同步套接字在第二同步套接字与相应的第一同步套接字建立的同步套接字连接上接收所述设备数据;
S34a、在所述子步骤S33a之后,跳转到所述子步骤S31a,再次执行所述子步骤S31a至子步骤S33a;
所述步骤S3中将所述第一异步套接字和所述第二异步套接字建立为异步方式连接,然后使用所述第二平台通过异步方式发送控制指令数据到所述第一平台的操作包括以下子步骤:
S31b、使用所述第二平台的第二异步套接字监听所述第一平台的所述第一异步套接字的端口状态,当监听到所述第一平台发送的连接请求时,通过所述第二异步套接字与相应的所述第一异步套接字建立异步套接字连接;
S32b、使用所述第二异步套接字在所述第二异步套接字与相应的所述第一异步套接字建立的异步套接字连接上发送所述控制指令数据;
S33b、使用所述第一异步套接字在第二异步套接字与相应的第一异步套接字建立的异步套接字连接上接收所述控制指令数据;
S34b、在所述子步骤S33b之后,转到所述子步骤S31b,再次执行所述子步骤S31b至子步骤S33b。
2.一种用于全范围模拟机的数据传输系统,其特征在于,所述用于全范围模拟机的数据传输系统包括以下模块:
第一套接字建立模块,用于在包括第一平台和第二平台的全范围模拟机的所述第一平台中建立与所述第二平台相对应的第一套接字,将所述第一套接字配置为多个第一同步套接字和多个第一异步套接字两类;
第二套接字建立模块,用于在所述第二平台中建立与所述第一平台相对应的第二套接字,将所述第二套接字配置为多个第二同步套接字和多个第二异步套接字两类;
数据传输模块,用于将所述第一同步套接字和所述第二同步套接字建立同步方式连接,然后使用所述第一平台通过同步方式发送设备数据到所述第二平台,并用于将所述第一异步套接字和所述第二异步套接字建立异步方式连接,然后使用所述第二平台通过异步方式发送控制指令数据到所述第一平台,从而完成全范围模拟机的数据传输;
其中,所述数据传输模块包括以下单元:
第一连接建立单元,用于使用所述第二平台的第二同步套接字监听所述第一平台的所述第一同步套接字的端口状态,当监听到所述第一平台发送的连接请求时,通过所述第二同步套接字与相应的所述第一同步套接字建立同步套接字连接;
第一数据发送单元,用于使用所述第一同步套接字在所述第二同步套接字与相应的所述第一同步套接字建立的同步套接字连接上发送所述设备数据并根据所述第一同步套接字的发送函数的返回值确认是否发送成功;
第一数据接收单元,用于使用所述第二同步套接字在第二同步套接字与相应的第一同步套接字建立的同步套接字连接上接收所述设备数据;
第一跳转单元,用于在执行完所述第一数据接收单元后,启动所述第一连接建立单元、所述第一数据发送单元、所述第一数据接收单元的功能;
所述数据传输模块还包括以下单元:
第二连接建立单元,用于使用所述第二平台的第二异步套接字监听所述第一平台的所述第一异步套接字的端口状态,当监听到所述第一平台发送的连接请求时,通过所述第二异步套接字与相应的所述第一异步套接字建立异步套接字连接;
第二数据发送单元,用于使用所述第二异步套接字在所述第二异步套接字与相应的所述第一异步套接字建立的异步套接字连接上发送所述控制指令数据;
第二数据接收单元,用于使用所述第一异步套接字在所述第二异步套接字与相应的所述第一异步套接字建立的异步套接字连接上接收所述控制指令数据;
第二跳转单元,用于在执行完所述第二数据接收单元之后,启动所述第二连接建立单元、第二数据发送单元、第二数据接收单元的功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410014800.9A CN103747088B (zh) | 2014-01-13 | 2014-01-13 | 一种用于全范围模拟机传输数据的方法及数据传输系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410014800.9A CN103747088B (zh) | 2014-01-13 | 2014-01-13 | 一种用于全范围模拟机传输数据的方法及数据传输系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103747088A CN103747088A (zh) | 2014-04-23 |
CN103747088B true CN103747088B (zh) | 2017-09-26 |
Family
ID=50504074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410014800.9A Active CN103747088B (zh) | 2014-01-13 | 2014-01-13 | 一种用于全范围模拟机传输数据的方法及数据传输系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103747088B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103973513B (zh) * | 2014-05-05 | 2017-07-21 | 中广核(北京)仿真技术有限公司 | 一种核电站全范围模拟机的远程监测方法和系统 |
CN107220408B (zh) * | 2017-04-27 | 2020-11-27 | 北京广利核系统工程有限公司 | 一种核电站全范围模拟机控制算法加速计算方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202257991U (zh) * | 2011-10-18 | 2012-05-30 | 中广核工程有限公司 | 核电站全范围模拟机配置系统 |
CN103036989A (zh) * | 2012-12-17 | 2013-04-10 | 北京奇虎科技有限公司 | 套接字服务器及套接字服务方法 |
CN103095738A (zh) * | 2011-10-27 | 2013-05-08 | 中广核(北京)仿真技术有限公司 | 一种应用在核电站全范围模拟机中的数据打包和解包方法 |
CN103338134A (zh) * | 2013-07-01 | 2013-10-02 | 盛科网络(苏州)有限公司 | 分布式网络交换机调试系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7225260B2 (en) * | 2001-09-28 | 2007-05-29 | Symbol Technologies, Inc. | Software method for maintaining connectivity between applications during communications by mobile computer terminals operable in wireless networks |
-
2014
- 2014-01-13 CN CN201410014800.9A patent/CN103747088B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202257991U (zh) * | 2011-10-18 | 2012-05-30 | 中广核工程有限公司 | 核电站全范围模拟机配置系统 |
CN103095738A (zh) * | 2011-10-27 | 2013-05-08 | 中广核(北京)仿真技术有限公司 | 一种应用在核电站全范围模拟机中的数据打包和解包方法 |
CN103036989A (zh) * | 2012-12-17 | 2013-04-10 | 北京奇虎科技有限公司 | 套接字服务器及套接字服务方法 |
CN103338134A (zh) * | 2013-07-01 | 2013-10-02 | 盛科网络(苏州)有限公司 | 分布式网络交换机调试系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103747088A (zh) | 2014-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107769836A (zh) | 卫星通用自动化测试平台及其数据交互方法 | |
CN103916283B (zh) | 服务器压力测试系统和方法 | |
CN102967815B (zh) | 芯片测试方法、自动化测试机和系统 | |
CN204291050U (zh) | 一种调度监控信息核对系统 | |
CN107148031A (zh) | 一种WiFi模块软件系统的测试方法、装置及系统 | |
CN110989547A (zh) | 一种智能变电站一键顺控系统的检测方法及系统 | |
CN106406266A (zh) | 一种模拟由核电站dcs系统控制的设备的方法 | |
Overbye et al. | An interactive, extensible environment for power system simulation on the PMU time frame with a cyber security application | |
CN103747088B (zh) | 一种用于全范围模拟机传输数据的方法及数据传输系统 | |
CN107819611B (zh) | 基于iec61850多服务端仿真的客户端测试方法 | |
JP2011041455A (ja) | 変電自動化システムレポート通信試験装置およびその方法 | |
CN104239217B (zh) | 铁路信号软件测试的方法及系统 | |
CN107390624A (zh) | 一种基于云平台的电气实训智能系统及其管理方法 | |
Wu et al. | Enterprise Digital Intelligent Remote Control System Based on Industrial Internet of Things | |
CN106936658A (zh) | 测试用例的测试方法及测试平台、模拟测试设备 | |
CN104600848B (zh) | 一种智能变电站过程层虚拟二次设备及其实现方法 | |
CN108535563A (zh) | 一种开关机测试方法及测试系统 | |
CN104181927B (zh) | 一种飞行控制律管理方法及装置 | |
CN105391597A (zh) | 基于多服务器仿真的雪崩测试的方法、装置及系统 | |
CN105721226B (zh) | 一种QoS自动化测试装置及测试方法 | |
CN104318833A (zh) | 电网调度自动化实训系统的工作方法 | |
CN103577291B (zh) | 嵌入式系统的掉电测试系统及方法 | |
CN113096476B (zh) | 一种监控系统的调试平台 | |
CN106934554A (zh) | 一种智能调度自动化系统中镜像系统的实现方法及装置 | |
CN109584663A (zh) | 一种模拟列车的故障排除的实训考核系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |