精华内容
下载资源
问答
  • 针对武器装备的半实物仿真测试系统对实时通信的需求,提出了一种基于反射内存通信网络实现的红外空空导弹导引头动态测试系统,并给出了测试系统的组成、工作原理、软件设计方案和具体实现途径。在对反射内存网络原理...
  • 随着嵌入式与通信技术的发展,数控系统经历了由传统的单处理器的集中式体系结构到开放式体系结构,再到多处理器的分布式数控系统体系结构的发展过程。分布式数控系统以高精、高速的加工特征为发展核心,同时以达到...

    随着嵌入式与通信技术的发展,数控系统经历了由传统的单处理器的集中式体系结构到开放式体系结构,再到多处理器的分布式数控系统体系结构的发展过程。分布式数控系统以高精、高速的加工特征为发展核心,同时以达到异构网络间信息的无缝融合,实现高实时性、高可靠性和高兼容性的新一代生产制造系统为发展方向。

    针对如何提高分布式数控系统实时通信能力的问题,陶林等[1]提出了一种基于以太网的分布式数控系统实时通信网络; 宋真君等[2]提出了基于工业以太网的分布式控制系统体系结构,虽然以太网技术有良好的稳定性、低成本、高带宽及优良的兼容性等优点,但以太网的CSMA /CD( 载波多路访问、冲突检测)的传输机制决定了它无法确保网络传输延迟,导致其实时性差。金振华[3]提出了基于CAN 总线的分布式数控系统,虽然各种现场总线广泛应用于连接现场设备,有布线简单、硬件成本低、运行精确稳定等优点,但数据传输率低,实时性不高。反射内存网光纤总线不但数据传输率远高于以太网和现场总线,而且是一种实时、确定性的网络,可以较好地解决实时系统中数据传输的实时性问题[4 - 5]。

    反射内存技术用于所有使用以太网、光纤通道或其他串行网络将计算机或可编程逻辑控制器连接在一起的应用场合,如实时的飞行仿真器、电讯、高速过程控制( 轧钢厂和制铝厂) 、高速测试和测量系统等,但并非适用于所有应用场合[6 - 8]。因此反射内存网是否适用

    于分布式数控系统,如何将反射内存网有效地应用到数控机床中成为反射内存网络应用的关键问题。文中在分析分布式数控系统基本结构和反射内存网工作原理的基础上,提出了一种基于反射内存网的分布式数控系统实时通信网络方案,给出了系统的基本框架结构、节点模型和拓展结构。该结构方案的实现不仅极大地提高了网络带宽,而且也提高了数控系统数据传输的实时性能。

    1 分布式数控系统基本结构

    分布式数控系统是分布式控制思想在数控系统上的综合应用。随着数控系统功能的增加,数控机床加工速度的提高,许多数控系统采用了多微处理器结构,每个微处理器通过数据总线或者通信方式进行连接,共享系统的公用存储器与I /O 接口,每个处理器分担系统的一部分工作[3,9- 11]。在分布式数控系统中,信号传递对实时性要求越来越高。

    2b548bd78a01f646a31a4708ee83ead5.png

    图1 是分布式数控系统共享总线基本结构。

    2 反射内存网技术

    2. 1 反射内存网工作原理

    反射内存网( ReflecTIve Memory Network,RNN) 是一种高速实时网络,是由光纤连接的高速共享内存网络,与一般的基于TCP/IP 协议的局域网一样,也是在每个节点计算机上附加一块网卡。反射内存网接口适配器为各任务设备和反射内存光纤网络相连的接口,具有数据传输及网络管理双重功能,是整个反射内存环网的核心设备。RM 接口适配器主要由光电转换、数据编/解码/并行处理、网络管理状态机、存储器、协议管理模块及任务设备接口等组成,系统功能框图如图2 所示。

    98eeb13a478d752ccd8bf5816e343fa9.png

    图2 RM 接口适配器功能框图

    反射内存网是一种特殊的共享内存系统,每个节点都占有一段对应的内存地址,可以在每一个节点子系统中独立地保存整个系统内存。在实时通信网的节点机上各插一块反射内存卡,卡上带有双口内存,各层软件可以读写这些内存[12 - 13]。反射内存网可以在分布系统中实现内存到内存的通信。当数据被写入一台机器的反射内存卡的内存中后,反射内存卡FPGA 硬件通过光纤自动将数据传输到实时通信网上其他反射内存网中反射内存网节点卡的内存里。通常,一个节点的更新只有不到0. 4 μs 的时间延迟,传输遍历所有反射内存卡,所有反射内存网节点中对应地址都被写入对应数据。因此,实时通信网上各成员在访问数据时,只要访问本地反射内存卡的内存即可[9, 14 - 15]。一个反射内存网节点由本地内存、嵌入式接口和用来提供访问主机和反射内存的仲裁逻辑构成,反射内存网节点可以安装或者连接在不同种类的计算机总线上,包括VME、PCI /PCI - X、PCI Express 等[4]。

    2. 2 反射内存网拓扑结构

    4b1f3fe7655460274c23580a8017a23b.png

    反射内存网主要是由反射内存卡通过光纤等传输介质连接而成的,它主要有两种物理拓扑结构: 星型拓扑结构( 如图3 所示) 和环型拓扑结构( 如图4 所示) 。对于环型拓扑结构的反射内存网,相邻反射内存卡通过输入端和输出端的连接形成一个环形网络,数据包沿着环形网络进行传递。其优点是不需要光纤Hub、光纤使用量小、节省经费; 缺点是每个节点都有延时,如果任何节点或者光纤发生故障时,数据包将不能被发送,从而导致整个传递网络瘫痪。因此,一般采用星型结构。事实上,星型拓扑结构只是一个物理意义上的结构,因为网络集线器内部结构是环型连接。逻辑上来讲,它仍然是一个环型结构[4]。在网络中的每一个节点都有唯一的节点ID,在同一个网络中,不允许有两个一样的标识ID,这个ID 是通过板上的拨码开关进行设置的。ID 号越小,优先级越高。当数据源节点通过集线器发送数据包时,集线器可以根据相邻板的高低ID 来找出数据传递方向,从而实时更新所有节点的相应数据。在星型配置中,如果一个节点不工作时,集线器可以自动屏蔽故障节点,而不影响其他节点的数据传输,当然星型结构的缺点是网络中的Hub 一旦发生故障,整个网络将会瘫痪[16]。图3 星型拓扑结构图4 环型拓扑结构

    3 基于反射内存网的分布式数控系统的构建

    3. 1 数控系统网络构建根据数控系统信息传输的特点及总体传输要求,拟采用反射内存光纤总线连接CNC 装置、PLC、故障诊断专家系统、HMI 控制面板、CAD/CAM、数控加工仿真模拟系统等部件构成一个分布式数控系统。总线网络的每个任务节点接一个RM( ReflecTIve Memory) 接口适配器,每个RM 接口适配器均集成一块专用的存储空间,系统将该存储空间映射到该网络节点处理系统的地址空间,这样节点处理系统对RM 接口适配器的操作就和对本机内存操作方式一样。当节点任务设备往映射到反射存储器的虚拟地址空间的某个位置写数据的时候,反射内存网络协议在纳秒级的时间内将数据传播到网络上的每个其他节点。并且更新的传播操作是异步的,没有应用系统处理器的介入。数控系统网络连接结构如图5 所示。

    bd55d84bdf32964b80284871483e02d1.png

    图5 数控系统反射内存网络连接图分布式数控系统工作过程: CAD/CAM 系统对待加工零件建模,并根据加工工艺生成NC 代码[17]; 数控仿真加工及加工模拟系统对生成的NC 代码进行图形仿真,进行预加工,检测是否有刀具干涉等异常现象;HMI( 人机操作界面) 作为工控机的输入和显示单元是系统和用户之间进行信息交换的媒介,显示各种控制信号的状态,操作人员可以通过它对机床进行操作,对机床参数进行设定和修改,加载零件加工文件; CNC模块接收上位机传送的加工代码,通过解释器、插补器生成运动控制指令; 远程监控及故障诊断专家系统通过采集数控系统及机床本体传感器件信息,远程监控机床运行状态,对运行故障进行故障原因分析和故障点定位。如果将这些功能或者系统装在一台计算机上,会增加计算机负载,而插补过程是一个高实时性的过程,用反射内存网络把这些模块分别连接起来,并且其相互之间信息交换几乎没有时间延迟,相当于一台计算机实现的控制,能很好地满足数控机床对加工实时性的要求。

    3. 2 反射内存网络通讯过程

    由于反射内存网的传输是纯硬件操作,所以不受特定网络协议的限制,也就不用编写复杂的接口程序,软件上只需几行代码就可以完成对反射内存卡的读写操作。整个通讯过程如下:Step1: 打开板卡并复位板卡;Step2: 板卡初始化设置:执行中断初始化函数( INT_Init) ;设置板卡中断包中断使能( RM_IntDataArrive_IntEnable) ;使能光纤收发器( RM_FM_Enable)Step3: 通讯开始

    (1) 发送方发送中断包( RM_TxIntPkt) ,中断包中断后,中断处理函数自动调用中断处理函数( RM_Rx-IntPkt) 。发送方发送数据包( RM_TxDatPk) : 当产生一个对SDRAM 的写操作时,反射内存卡自动将数据和其他相关信息( 包括数据地址、节点号等) 写入到发送缓冲器中,在发送缓冲器中,发送电路检测并将数据变成一个4 到64 字节长度可变的数据包,通过光纤接口发送到下一个板卡的接收端口。

    ( 2) 接收方接收中断包; 中断包中断后,中断处理函数自动调用中断处理函数( RM_RxIntPkt) 。接收数据包( RM_RxDatPkt) ,写入磁盘,开启线程函数查询板卡接收数据包状态( RM_IntStatus) ,先判断本节点是否需要写入数据,若不需要,则直接转发写中断给下一组内节点; 否则,向其反射内存卡中写入数据后发送读中断,接收电路解开数据包并将数据存储到板载的接收缓冲器中,在接收缓冲器中,另一个电路将数据写入到本地的SDRAM 的和源节点相同的地址中。同时该电路将数据发送到发送FIFO 中,重复这个处理过程直至所发送的数据返回到源节点接收端,然后源节点将节点ID 相同的数据从网络中删除,从而实现所有节点都被更新。重复上述流程。退出程序,关闭板卡( RM_Card_close) 。

    3. 3 带宽及实时性分析高速、高精加工中插补周期一般控制在1 ~ 2 ms,插补周期越短,以直代曲插补直线段越逼近实际加工曲线,加工精度越高。对于分布式数控系统而言,地理位置上相对独立的各个单元通过网络通信系统进行互联,数据传输的带宽及实时性会极大地影响实际加工效果。

    1e3004f64c24cdda642a14256ab2792f.png

    表 1 为几种数控系统中常用网络通信方式的对比情况。文中采用的发射内存网带宽最高可达1. 06Gbps,网络传输延迟为400 ~ 750 ns,这两个指标都明显优于FDDI( Fiber Distributed - Data Interface) 、CAN、工业以太网及PROFIUBS 现场总线。表1 几种通讯网络对比网络类型带宽实时性分析RMN 1. 06 Gbps 节点确定的传输延迟为400 ~ 750 nsFDDI 100 Mbps光缆延迟和站延迟使其响应时间至少为> 5msCAN 1 Mbps数据率很低,速度低,一般响应时间5 ~ 10ms工业以太网100 MbpsCSMA/CD 的传输机制决定了它无法确保传输延迟的确定性,导致其实时性差。传输延迟可达到1 ~ 10 msPROFIBUS < 12 Mbps 响应时间> 10 ms4

    结束语文

    中对反射内存网技术应用于数控系统这一极富研究价值的领域作了初步探索,提出了一种基于反射内存网的分布式数控系统实时通信网络方案,给出了系统的基本框架结构、节点模型和拓展结构。在实际应用中,可以考虑把反射内存网同以太网相结合,在强实时部分使用反射内存网,在弱实时部分则利用以太网,实现资源的充分利用,降低开发成本。

    展开全文
  • 本发明属于分布式通信技术领域,尤其涉及一种基于反射内存卡的OpenDDS分布式通信方法。背景技术:随着分布式系统复杂程度的不断增加和研发规模的迅速扩大,系统集成的难度和风险都在大幅提高。提供实时系统数据分发...

    9505b5b24b97e65a1829d63720504bae.gif

    本发明属于分布式通信技术领域,尤其涉及一种基于反射内存卡的OpenDDS分布式通信方法。

    背景技术:

    随着分布式系统复杂程度的不断增加和研发规模的迅速扩大,系统集成的难度和风险都在大幅提高。提供实时系统数据分发服务的OpenDDS是用于分发实时应用程序的网络中间件,它简化了分布式应用程序的开发、部署和维护,其以数据为中心的发布订阅模式极大地降低了在网络上发送数据所需的时间消耗,为大容量传输网络提供了针对时间关键数据快速且可预见的分发。此外,OpenDDS规范还定义了大量的QoS策略,使得系统可以很好地配置和利用系统资源,协调可预测性和执行效率之间的平衡,以支持复杂多变的数据流需求。

    OpenDDS使用规范的IDL接口初始化和控制服务,是建立在CORBA上的应用框架,其中的信息传输分为远程调用和数据传输两部分,远程调用是分布式通信的主要技术,在分布式通信中起到重要作用,默认情况下传输介质为网卡,基于UDP的DIOP协议无需连接,通信效率高。

    技术实现要素:

    为了降低网络间通讯的时延,屏蔽子网内部频繁通讯对整个网络中其他设备的干扰,本发明提出了一种基于反射内存卡的OpenDDS分布式通信方法。

    本发明所采用的技术方案是:

    一种基于反射内存卡的OpenDDS分布式通信方法,包括:

    S0:在分布式通信计算机中安装反射内存卡,设置每个硬件节点号,并设定相应数据传输地址;

    S1:在DIOP协议工程中加载反射内存卡驱动,在DIOP接收器中创建监控反射内存卡函数,通过判断指定地址写入标志是否置位,判断监控数据是否已经写入反射内存,监控到有数据写入时,则进入步骤S2;

    S2:将写入标志清除,通过socket向本机地址发送1字节数据触发反应器,所述反应器监视到事先注册在其中的socket有数据到来,进而能够回调事先注册在所述反应器中的事件处理函数接收数据;

    S3:在DIOP传输器接收函数中从所述反射内存卡的指定地址中读出数据,并将其读取标志置位;

    S4:在DIOP传输器写入函数中判断指定地址读取标志是否置位,如果置位,则表示已读,进入步骤S5;

    S5:在所述DIOP传输器写入函数中向指定地址写入数据,并将读取标志清除,将写入标志置位;

    S6:重新编译DIOP工程。

    较佳的,通过所述DIOP传输器接收函数和所述DIOP传输器写入函数获得相关数据和通信信息,将不同通道的数据映射到所述反射内存卡的同一片地址上。

    较佳的,通过使用数据读写标识符控制所述反射内存卡中数据的读写顺序,实现不同进程数据的时序同步。

    较佳的,所述步骤S6中,在OpenDDS中配置和加载改进的DIOP协议,其中包括:将DIOP工程加入到OpenDDS应用链接库中,通过服务配置器动态加载DIOP协议:在应用路径下创建配置文件,输入动态加载命令,在DCPS服务器端声明DIOP端点,在命令行输入相关参数即可运行程序。

    本发明的有益效果是:

    以数据为中心的OpenDDS拥有较高的通信效率,同时结合QoS策略控制服务行为,增加了通信的灵活性;

    反射内存卡允许系统中所有节点同时读取共享的内存数据,无需通信协议,减少了网络中不必要的数据,提高了数据的传输效率,是一种非常适合实时分布式网络应用的底层硬件;

    采用较为方便的修改DIOP协议,使得远程调用数据通过反射内存卡传输,同样实现了高效的通信;

    将反射内存卡和发布/订阅模式结合,提供了一种高带宽、低延时的网络通信解决方案,更好地满足分布式系统实时性、可靠性的通信要求。

    当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。

    附图说明

    图1为本发明在CORBA远程调用中的通信示意图;

    图2为CORBA远程调用基于DIOP的通信流程图;

    图3为本发明基于反射内存卡的OpenDDS分布式通信方法的总体结构图;

    图4为本发明使用反射内存卡替换UDP的过程示意图;

    图5为本发明使用标志位完成进程同步过程示意图。

    具体实施方式

    为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。

    本发明提出了一种基于反射内存卡的OpenDDS分布式通信方法,在OpenDDS已支持的DIOP协议中快速实现数据重定向至反射内存卡。依据自适配通信环境中反应器监控硬件数据到来并完成通知的机理,以及反射内存卡相关API函数实现相应功能,将本通过DIOP协议完成远程调用的通信使用反射内存卡实现,完成了OpenDDS中基于DIOP协议下使用反射内存卡传输数据。

    本发明的技术方案是首先研究OpenDDS架构和使用方法,从中研究OpenDDS的通信原理,其中包括分布式系统CORBA中的远程对象通信和数据传输部分,CORBA中对象请求代理之间的远程调用结合UDP生成DIOP协议,如图1和图2所示;再通过研究自适配通信环境中反应器的事件监控和分离机制,了解触发方法;最后使用反射内存卡替换原有的DIOP中的数据传输,并在反应器的架构下进行相应的数据监控,实现基于反射内存卡的OpenDDS通信方法,如图3所示。

    本发明提出的一种基于反射内存卡的OpenDDS分布式通信方法,包括:

    S0:在分布式通信计算机中安装反射内存卡,设置每个硬件节点号,并设定相应数据传输地址。

    S1:在DIOP协议工程中加载反射内存卡驱动,在DIOP接收器中创建监控反射内存卡函数,通过判断指定地址写入标志是否置位,判断监控数据是否已经写入反射内存,监控到有数据写入时,则进入步骤S2。

    步骤S1中,反射内存卡函数位置既要在数据接收端用于监控网卡数据的socket已经建立并完成监听端口绑定之后,又要在数据发送端给接收端发送第一帧数据之前,发送端还未向对方发送任何数据时创建该线程,以确保接收端能及时准确地监控到发送端写入反射内存卡的所有数据。

    S2:如图4所示,将写入标志清除,通过socket向本机地址发送1字节数据触发反应器,反应器监视到事先注册在其中的socket有数据到来,进而能够回调事先注册在反应器中的事件处理函数接收数据。

    S3:如图5所示,在DIOP传输器接收函数中从反射内存卡的指定地址中读出数据,并将其读取标志置位。

    S4:如图5所示,在DIOP传输器写入函数中判断指定地址读取标志是否置位,如果置位,则表示已读,进入步骤S5。

    S5:如图5所示,在DIOP传输器写入函数中向指定地址写入数据,并将读取标志清除,将写入标志置位。

    步骤S3、步骤S4和步骤S5中,通过DIOP传输器接收函数和DIOP传输器写入函数获得相关数据和通信信息,将不同通道的数据映射到反射内存卡的同一片地址上。

    步骤S3、步骤S4和步骤S5中,通过使用数据读写标识符控制反射内存卡中数据的读写顺序,实现不同进程数据的时序同步。

    S6:重新编译DIOP工程。

    步骤S6中,在OpenDDS中配置和加载改进的DIOP协议,其中包括:将DIOP工程加入到OpenDDS应用链接库中,通过服务配置器动态加载DIOP协议:在应用路径下创建配置文件,输入动态加载命令,在DCPS服务器端声明DIOP端点,在命令行输入相关参数即可运行程序。

    以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

    展开全文
  • 1 引言 传统的靶场试验存在着试验组织过程复杂、试验...仿真试验系统存在着对高速、实时性等相关性能指标的要求,反射内存网作为一种实时网络已经成功解决了许多领域的实时性问题,将反射内存技术应用到靶场仿真试...

    1 引言
    传统的靶场试验存在着试验组织过程复杂、试验成本代价高昂、试验易受自然客观条件限制等问题[1]。利用通用体系结构支撑平台(如DIS,HLA,TENA)构建仿真试验系统来模拟现实中的靶场试验,可以部分的解决传统靶场试验中存在的问题[2][3]。仿真试验系统存在着对高速、实时性等相关性能指标的要求,反射内存网作为一种实时网络已经成功解决了许多领域的实时性问题,将反射内存网技术应用到靶场仿真试验系统中也可以很好的解决高速、实时性的问题,因此本文实现了一种适用于通用试验体系支撑平台的反射内存网通讯组件,以完成仿真试验系统中反射内存网上各试验设备的实时通讯,实现对试验设备的实时控制及试验数据的监视[4][5]。
    2 组件设计需求描述
    反射内存网通讯组件实现系统平台对反射内存通讯方式的支持,在仿真试验系统中的主要功能是能够与反射内存网上各个试验设备进行实时通讯,实现对试验设备的控制以及对试验过程中的试验数据进行动态监测。反射内存网通讯组件实现为DLL(动态链接库)封装,提供对外接口以实现与试验平台的互联,可以进行动态加载、卸载。
    按照应用需求,使用本组件的用户可以实现的主要功能如下:
    (1) 对反射内存卡进行启动、关闭、初始化、复位、清零、中断设置等相关操作;
    (2) 对反射内存网进行读写操作;
    (3) 能够获取信息管理平台发送的相关信息表并进行解析工作;
    (4) 用户可动态选择监测各试验设备的发布属性,并可动态设定监测周期;
    (5) 对反射内存网上的属性值进行监测,并将试验数据发布到信息传输管理平台,可通过各种显示组件(如数码窗、示波器等)进行显示,通过数据存储组件对试验数据进行存储;
    (6) 能够发送控制指令,接收试验设备的返回状态并显示;
    (7) 能够接收进程控制组件的控制指令,转发到试验设备,接收各试验设备的状态反馈,发送给进程控制组件,在试验流程控制下实现对各试验设备的控制,完成仿真试验。
    3 组件设计
    反射内存网通讯组件主要是从组件基类继承下来,根据对组件相关的功能分析,将其划分为监测属性配置类、菜单显示类、监测周期配置类、反射内存卡设备配置类以及对反射内存卡的驱动封装类这五个类。将具有相同属性的方法独立出来,并将类与类之间的相互组成关系进行分析,可以规划出组成关系图和相应的组件类图,如图1、图2所示:

    从上面两幅图中可以看出各个类之间的相互关系,以下是对各个类的概括性说明:
    (1) 组件基类
    组件基类提供组件和HIT-GPTA支撑平台的接口,包括参数配置接口,编辑控制接口,运行控制接口,信息获取接口和数据交互接口。通过这些接口,HIT-GPTA支撑平台可调用组件,获得组件的运行状态信息,完成组件的初始化,并与组件进行数据交互。
    (2) 反射内存网通讯组件接口类
    该类负责实现组件的具体创建工作,包括创建组件对象、绘制组件对象、移动组件对象、销毁组件对象等;该类还可完成向数据源订购数据以及通过信息传输平台接收模型位置状态数据的工作。在该类中还维护试验中要监测的属性结构体列表,提供给各个相关的类使用;同时,负责创建菜单显示对话框以及反射内存卡配置对话框。此外,该类还负责保存用户设置信息,每次启动自动调用这些配置信息,避免重复设置。
    (3) 菜单显示类
    该类负责监测属性配置窗口的弹出,并且作为中转使组件接口类与配置窗口类进行数据交互。
    (4) 监测属性配置类
    通过该类的方法实现对话框参数的初始化;在此类中完成对信息管理平台发送过来的各类反射内存配置信息如设备信息表、公共信息表等信息文件的解析工作;并建立发布属性表和订购属性表用来维护参加仿真试验的各个设备的相关属性;并进行可视化操作方便用户配置;同时把相关数据回传给反射内存网通讯组件接口类中。此外,该类负责监测属性周期配置窗口的弹出,并且作为中转使监测属性配置类与本类进行数据交互。
    (5) 监测周期配置类
    通过该类的方法实现对话框参数的初始化;显示本次仿真试验中所有的订购属性/发布属性,用户通过相关操作进行监测周期的设定,并把最终的数据保存到相应的结构体列表中。
    (6) 反射内存卡配置类
    通过该类的方法实现对话框参数的初始化。此类通过调用设备驱动类中的相关API函数来完成反射内存卡的启动、停止、初始化、清零等设备操作。在前面各个类的配置完成基础之上,此类还支持对反射内存网中数据进行监测,同时把监测到的属性值保存并且动态的显示在对话框的列表控件上,以便用户观察。通过此类还可以手动对反射内存卡进行读写操作,用户可以进行地址配置以及相关的读写操作配置来完成这一功能。此类还支持远程控制,可接收平台上的进程控制组件的控制指令,对各试验设备进行控制。
    (7) 设备驱动类

    设备驱动类主要是对反射内存卡设备的驱动程序进行封装,以便组件中相关的类进行API函数的调用。
    4 软件实现
    4.1 反射内存网通讯组件接口
    反射内存网通讯组件接口类——————CRFMCommunicationWindon,用于完成组件与平台间的各项数据交互,该类的主要构造如下:
    (1) 属性
    m_pShowDlg 反射内存卡配置对话框指针;
    m_result 设备运行返回状态;
    m_Handle 设备句柄;
    m_nShowDlgShowFlag 反射内存卡配置对话框显示标志;
    m_selPublicNameToInfoMap 发布属性信息表;
    m_selOrderNameToInfoMap 订购属性信息表;
    m_devNodeIDToAddrMapWindow公共信息表;
    m_bPublicOrderFlag 发布订购标志;
    (2) 方法
    SetRunStatus): 设置仿真状态;
    GetHandleCount(): 获取句柄个数;
    GetHandle(): 获取当前句柄;
    OpenInstrument(): 打开显示设备;
    CloseInstrument(): 关闭显示设备;
    DeviceOpen(): 启动设备;
    Devicestop(): 停止设备;
    DeviceSendData(): 发送数据;
    DeviceReceiveData(): 接收数据;
    DeviceSendEvent(): 发送中断事件;
    DeviceWaitForEvent(): 等待中断事件;
    DevReset(): 设备的复位;
    SetRFM(): 反射内存卡内存整体配置;
    DevPause() 设备的暂停;
    DevConfig(): 设备动态、动态配置;
    ReleaseMap(): 内存释放;
    4.2 监测属性配置接口
    监测属性配置接口类——CdevInfoDlg,用于完成对仿真试验中需要监测的各个仿真设备的属性进行配置的工作,其主要构造如下:
    (1) 属性
    m_pWindow 反射内存网通讯组件接口指针;
    m_devNodeIDToAddrMap 设备信息表;
    m_publishNameToInfoMap 选择的发布属性信息表;
    m_orderNameToInfoMap 选择的订购属性信息表;
    m_cmPublishInfo 发布信息列表控件关联变量;
    m_cmOrderInfo 订购信息列表控件关联变量;
    m_CheckPropertyFlag 监测属性标志;
    (2) 方法
    OnBnClickedBtnBrowse() 对各种信息表解析;
    OnCbnSelchangeCombo() 选择参与仿真试验的设备;
    OnBnClickedSetcheckcycle() 创建监测周期配置对话框;
    OnBnClickedBtnPublishOk() 将选择的发布属性添加到列表中;
    OnBnClickedBtnOrderOk() 将选择的订购属性添加到列表中;
    OnBnClickedOk() 声明发布属性和订购属性;
    4.3 监测周期配置接口
    监测周期配置接口类——CsetCycleDlg,用于设定仿真试验中对各个设备的相关属性的监测时间的设定。其主要构造如下:
    (1) 属性
    pDevInfoDlg 监测属性配置类指针;
    m_SelPropertyList 列表控件,显示选择的属性;
    m_nSetCycle 修订监测周期变量;
    (2) 方法
    OnBnClickedAllsel() 选择需要修订监测周期的属性;
    OnBnClickedConfirm() 更改周期;
    4.4 反射内存卡配置接口
    (1) 属性
    m_pWindow 反射内存网通讯组件接口指针;
    m_bShowFlag 窗口显示标志;
    m_nCardNum 本机反射内存卡数量;
    m_bDevOpenFlag 反射内存卡打开标志;
    m_nRFMNodeID 本机反射内存卡节点ID号;
    m_bRemote 远程控制标志;
    m_nInputAddress 输入地址参数;
    m_DataDisplayList 数据显示列表控件变量;
    m_nTypeChoose 读写数据类型选择控件变量;
    (2) 方法
    OnBnClickedInspectstart() 开始监测;
    OnBnClickedInspectstop() 停止监测;
    UpPropertyDisplay() 更新属性列表;
    UpDataDisplay() 动态显示数据;
    TimerSet() 定时器设定
    OnMyTimer() 定时器处理函数;
    TenMilliSecondProc() 监测时间小于10MS的回调函数;
    UpTenMilliSecondTimerProc() 监测时间大于10ms的回调函数;
    OnBnClickedRfmconfigure() 内存卡读写配置面板显示设置;
    OnCbnSelchangeChoosenodeid() 选择反射内存卡节点号;
    OnCbnSelchangeChooseaddr() 选择设备基地址;
    OnBnClickedReadorwrite() 反射内存卡读写操作;
    OnBnClickedRemote() 远程控制处理函数;
    5 组件测试及结果
    组件测试是在HIT-GPTA通用试验体系支撑平台下进行的,首先将本次仿真试验的反射内存配置信息文件加载到反射内存通讯组件中,并完成相应的监测属性选择、参数设置等相关的配置操作。完成反射内存信息配置后,即可进入反射内存通讯组件的运行界面。双击平台工作区中的反射内存通讯组件图标,即可打开反射内存通讯组件的运行界面。图4所示的是部分测试结果界面。

    6 结束语
    通用体系结构支撑平台和反射内存网技术相结合构建仿真试验系统为靶场提供了新的试验手段,本文所开发的反射内存网通讯组件已经在某靶场仿真试验系统中进行了应用。

    展开全文
  •  对实时传输, 传统的以太网络由于传输协议开销的不确定性, 很难满足实时网络的要求, 实时网络是一种应用于高实时性要求的专用网络通信技术, 一般采用基于高速网络的共享存储器技术实现。除了具有严格传输确定性...
  • 主要涉及仿真平台搭建,反射内存通信,仿真协同软件,实时操作系统,故障注入方法等功能的实现。网站包括搭建一个仿真系统平台所需的硬件资料,操作系统平台,仿真软件开发环境,以评估仿真系统能达到的性能参数。...
  • 对实时传输, 传统的以太网络由于传输协议开销的不确定性, 很难满足实时网络的要求, 实时网络是一种应用于高实时性要求的专用网络通信技术, 一般采用基于高速网络的共享存储器技术实现。除了具有严格传输确定性...
  • 对实时传输, 传统的以太网络由于传输协议开销的不确定性, 很难满足实时网络的要求, 实时网络是一种应用于高实时性要求的专用网络通信技术, 一般采用基于高速网络的共享存储器技术实现。除了具有严格传输确定性...
  • 介绍了反射内存网的特点,阐述了反射内存网的工作原理与通信机制,并与传统计算机网络技术进行了比较.重点给出了反射内存网性能的测试方案和测试结果,并设计了一套基于反射内存网的测试软件.通过实验验证了反射内...
  • 反射内存网与以太网技术比较

    千次阅读 2013-09-24 09:20:50
    基于反射内存构建的实时网络是一种强实时高带宽局域网技术,在互连的计算机间提供高效的数据传输。反射内存网在所有互连的节点中虚拟出一段全局共享的网络内存,在分布系统中实现内存至内存的通

    反射内存网与以太网技术比较

    一、通信确定性与实时性

     

    反射内存(RFM)是基于环状/星状的,高速复制的共享内存网络。它支持不同总线结构的多计算机系统,并且可以使用不同操作系统来共享高速的、稳定速率的实时数据。

    基于反射内存构建的实时网络是一种强实时高带宽局域网技术,在互连的计算机间提供高效的数据传输。反射内存网在所有互连的节点中虚拟出一段全局共享的网络内存,在分布系统中实现内存至内存的通信,因此应用程序没有软件开销。每台结点机上插一块反射内存卡,卡上带有双端口内存。每个节点机的各层应用软件可以直接读写反射内存卡上内存。当数据被写入一台机器的反射内存网卡的内存中后,反射内存卡自动通过光纤传输到所有其他连在网络上的反射内存卡的内存里相应位置,传输延迟只有400纳秒。

    除了极短的传输延迟外,反射内存网的节点间延时是确定的、可预测的,因此在对通信确定性与实时性要求很高的实时仿真、工业控制等领域,反射内存技术得到了广泛的应用。

    以太网是一种总线式网络,采用载波侦听多路访问/冲突(碰撞)检测CSMA/CD(Carrier Sense Multiple Access/Collision Detect)协议进行传输控制。各个节点采用BEB(Binary Exponential Back-off)算法处理冲突,具有排队延迟不确定的缺陷,每个网络节点要通过竞争来取得信息包的发送权。通信时节点监听信道,只有发现信道空闲时,才能发送信息;如果信道忙碌则需要等待。信息开始发送后,还需要检查是否发生碰撞,信息如发生碰撞,需退出重发,因此无法保证确定的排队延迟和通信响应确定性,不能满足实时仿真、工业控制在实时性上的要求,甚至在通信繁忙时,还存在信息丢失的危险。故此,以太网技术一直被视为“非确定性”的网络。

     

     

     

     

     

     

    二、稳定性与可靠性

     

    以太网是以办公自动化为目标设计的,所用的接插件、集线器、交换机和电缆等是为办公室应用而设计的,并没有考虑工业现场环境的适应性需要,如超高或超低的工作温度,大电机或其他大功率设备产生的影响信道传输特性的强电磁噪声等。在工厂环境中,EtherNet抗干扰(EMI)性能较差,若用于危险场合,以太网不具备本质安全性能。

    GE Fanuc公司的反射内存系统起初是针对工业控制应用设计的,所有产品均经过严格的测试和认证,符合工业环境下的可靠性、安全性要求。传输介质采用多模/单模光纤,具有很强的抗干扰性能。

    此外,GE Fanuc公司的反射内存产品在数据传输的可靠性方面有独特设计,具有传输纠错能力和冗余重发能力,确保了传输信息不会丢失。

    三、软件开销

    反射内存网是高速复制的共享内存网络,每个节点机的各层应用软件可以直接读写反射内存卡上的内存,彻底省去了用户使用时的软件开发开销和周期,可以大大加快项目开发进度和减小产品面世时间。

    基于TCP/IP协议的以太网在传输数据过程中,必须对数据进行封装、打包和解包,用户使用时增加了许多软件开发工作,同时严重影响了网络通信的实时性。

    四、GE公司反射内存产品的技术特性

    Ø        高速易用的光纤网络 (2.12 G 串行波特率)

    Ø        被写入一个节点的内存的数据也被写入网络上所有节点的内存

    Ø        节点间确定的传输延时:400~750ns

    Ø        最多256个节点

    Ø        多模光纤的连接距离可达300m, 单模光纤的连接距离可达10 km

    Ø        动态包的大小, 从4 到 64 字节数据

    Ø        网络传输率达43M字节/s (4 个字节的包) 到 174M字节/s (64 字节的包)

     

     

    Ø        128 M字节 SDRAM 映像内存

    Ø        两个独立 DMA 通道

    Ø        通过简单的命令,网上任何节点可以对其它或所有网上节点产生中断

    Ø        错误检测

    Ø        冗余传输模式,用于抑制额外错误

    Ø        网络操作不涉及处理器




    展开全文
  • Fragment 通信

    2019-03-19 11:30:06
    首先列举一下Fragment中可以实现通信技术: 万金油 eventBus rxBus: 优点:方便,快捷,简单 缺陷: 1.反射,性能打折,效率低 2.代码维护困难 3.数据无法返回,单向传送 handler 缺点: 1.耦合 2....
  • GG修改器跨进程root读写内存原理(JNIRoot方案)

    千次阅读 多人点赞 2021-03-04 11:02:17
    此技术核心用到了java反射技术和AIDL(IPC)管道通信技术。 大体逻辑 使用root拉起一个java的su进程 -> 在su进程中绑定Service -> 回调主进程连接Service 如何创建su进程 在linux中有两个命令,可
  • 目录1.Java基础2.Java集合3.Java泛型4.Java继承5.Java封装6.Java多态7.Java线程8.Java算法9.Java数据结构10.Java内存架构11.Java相关框架12.Java文件读写13.Java注解14.Java反射15.Java设计模式16.通信协议 1.Java...
  • windowsnt 技术内幕

    2014-04-09 20:47:17
    理解NTFS分区和文件大小限制 NTFS POSIX.1符合性 为NTFS分区整理碎片 可移动介质和Windows NT 理解运行第三方磁盘工具造成的问题 支持基于Win32的应用程序 理解Windows NT对附加技术的支持 知道在什么时候不能使用...
  • 8.4线程的通信与协调277 8.4.1线程的互斥277 8.4.2线程的同步279 8.4.3暂停、恢复和停止线程282 8.4.4生产者-消费者问题实例284 8.5本章小结287 第9章运行时类型识别288 9.1RTTI的作用288 9.2用Class类来...
  • Java核心技术部分的面试题,可能覆盖Java基本语法、面向对象(包括类定义、方法、构造器、递归、继承、抽象类、接口、枚举以及final、static等关键字)、Java常用API、Java集合框架(需要重点掌握)、注解...
  • 无线射频识别技术(Radio FrequencyIdentification,简称:RFID)是一种非接触式的自动识别技术,其基本原理是利用射频信号和空间耦合(电感或电磁耦合)或雷达反射的传输特性,实现对被识别物体的自动识别。...
  • 什么是RFID读写器:无线射频识别技术(Radio Frequency Idenfication,RFID)是一种非接触的自动识别技术,其基本原理是利用射频信号和空间耦合(电感或电磁耦合)或雷达反射的传输特性,实现对被识别物体的自动识别。...
  • 商业敏感性,产品经理的助手数据研发工程师数据挖掘工程师/数据科学家需要准备的技术知识:Linux操作系统与网络编程:进程/线程通信内存,TCP/IP,SaaS、PaaS、IaaSJava:多线程,JVM,反射,设计模式,Springboot...
  • RFID读写器

    2009-08-02 16:44:00
    什么是RFID读写器: 无线射频识别技术(Radio Frequency Idenfication,RFID)是一种非接触的自动识别技术,其基本原理是利用射频信号和空间耦合(电感或电磁耦合)或雷达反射的传输特性,实现对被识别物体的自动...
  • Java核心技术部分的面试题,可能覆盖Java基本语法、面向对象(包括类定义、方法、构造器、递归、继承、抽象类、接口、枚举以及final、static等关键字)、Java常用API、Java集合框架(需要重点掌握)、注解...
  • A.3 与用户的通信 787 A.3.1 错误报告 788 A.3.2 进度报告 788 A.3.3 简单的浮点文件读取器 789 A.4 探测器和统计 789 A.5 内存管理 791 A.5.1 可变栈的分配 791 A.5.2 引用计数对象 792 A.5.3 以缓存友好方式使用...
  • 达内java培训目录

    2016-02-06 01:03:30
    JavaSE核心 异常处理、多线程基础、IO系统、网络编程、Java反射机制、JVM性能调优(JVM内存结构剖析、GC分析及调优、JVM内存参数优化)、Java泛型、JDK新特性 熟练掌握JavaSE核心内容,特别是IO和多线程;...
  • 网络通信 一篇文章看明白 TCP/IP,TCP,UDP,IP,Socket 之间的关系 一篇文章看明白 HTTP,HTTPS,SSL/TSL 之间的关系 深入理解 Java 虚拟机 JVM 内存分配机制 JVM 垃圾回收机制 图解 Java 虚拟机系列(一)...
  • Java 反射技术详解 Java XML 解析方式汇总 Java ClassLoader 类加载器详解 Java网络编程: Java 网络编程详解(一) Java 网络编程详解(二) JavaIO: Java I/O 流操作(一)System Properties Runtime 类 Java...
  • Java程序员面试宝典pdf

    热门讨论 2013-02-21 13:06:13
    面试题007 Java程序为什么无须delete语句进行内存回收 23 2.3 生成、部署和配置 24 面试题008 如何利用命名提示符把Java程序打包成jar文件 24 面试题009 关于Java Web项目的生成、部署和配置问题 26 面试题010 EJB...
  • 电缆故障测试仪

    2015-05-29 12:48:40
    ●可测试各种电力电缆的各类故障及同轴通信电缆和市话电缆的开路、短路故障。 ●可测量长度已知的任何电缆中电波传播的速度。 ●测试距离:不小于16千米 ●系统误差:小于1米 ●采样频率:25MHz ●最小分辨率:0.2米...
  • Java典型模块

    2012-02-25 18:27:40
    13.2.3 实现窗口类——通过双缓冲技术 13.3 知识点扩展——画图的基础知识 13.3.1 画图的基础知识 13.3.2 各种类型对象的绘制 13.4 小结 第14章 指针时钟项目(Swing组件+时间算法) 14.1 指针时钟原理 14.1.1 项目...

空空如也

空空如也

1 2 3
收藏数 57
精华内容 22
关键字:

反射内存通信技术