




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、10.1 数据采集的基本概念10.2 DAQ卡的安装与配置10.3 模拟输入10.4 模拟输出10.5 DAQmx,第十章 数据采集,10.1 数据采集的基本概念10.1.1 数据采集系统的构成,上图表示了数据采集的结构。在数据采集之前,程序将对采集板卡初始化,板卡上和内存中的Buffer是数据采集存储的中间环节。,缓冲(Buffers) 这里的缓冲指的是PC内存的一个区域(不是数据采集卡上的FIFO缓冲),它用来临时存放数据。下列情况需要使用Buffer I/O: 需要采集或产生许多样本,其速率超过了实际显示、存储到硬件,或实时分析的速度。 需要连续采集或产生AC数据(10样本秒),并且要同
2、时分析或显示某些数据。 采样周期必须准确、均匀地通过数据样本。 下列情况可以不使用Buffer I/O: 数据组短小,例如每秒只从两个通道之一采集一个数据点。 需要缩减存储器的开支。,触发(Triggering): 触发器通常是一个数字或模拟信号,其状态可确定动作的发生。触发有软件触发和硬件触发。 下列情况使用软件触发: 用户需要对所有采集操作有明确的控制,且 事件定时不需要非常准确。 下列情况使用硬件触发: 采集事件定时需要非常准确。 用户需要削减软件开支。 采集事件需要与外部装置同步。,10.1.2 数据采集卡的功能 一个典型的数据采集卡的功能有模拟输入、模拟输出、数字I/O、计数器/计时
3、器等。因此LabVIEW中DAQ模板设计也围绕这4大功能组织。 模拟输入是采集最基本的功能。它一般由多路开关(MUX)、放大器、采样保持电路以及A/D来实现,通过这些部分,一个模拟信号就可以转化为数字信号。 模拟输出通常是为采集系统提供激励。输出信号受数模转换器(D/A)的建立时间、转换率、分辨率等因素影响。, 数字I/O通常用来控制过程、产生测试信号、与外设通信等。它的重要参数包括:数字口路数(line)、接收 (发送 )率、驱动能力等。一般的数字I/O板卡均采用TTL电平。需要强调的是,对大功率外部设备的驱动需要设计专门的信号处理装置。 许多场合都要用到计数器,如精确时间控制和脉冲信号产生
4、等。计数器最重要的参数是分辨率和时钟频率,分辨率越大,计数器位数越大,计数值也越高。,10.1.3 DAQ VIs的功能模板 LabVIEW中DAQ VIs都包含在FunctionsData Acquisitions子模板中。共包含6个子模板,每个子模板完成不同的数据采集任务。,各子模板的主要功能如下: Analog Input子模板,完成模拟信号进行A/D转换,并采集到计算机; Analog Output子模板,将计算机产生的数字信号进行D/A转换,并输出; Digital I/O子模板,用于控制DAQ设备的数字I/O功能; Counter子模板,用于控制DAQ设备的计数器功能; Calib
5、ration and Configuration子模板,用于校准和配置DAQ设备,用户较少用到该功能; Signal Conditioning子模板,将从温度传感器或应变片中采集的模拟电压信号转化为相应的应力单位或温度单位。,10.1.4 DAQ VIs的组织结构 LabVIEW 中对于数据采集模块按照难易程度做了分类 。, 简易VIs (Easy VIs) 该行的四个模块执行简单的DAQ操作。它们可以作为单独的VI,也可以作为subVI来使用。这些模块可以自动发出错误警告信息,在对话框中你可以选择中断运行或忽略。但是比较复杂的应用需要使用下面的类型。 中级VIs (Intermediate
6、VIs) 简易Easy VIs相比,中级VIs具有更多的硬件功能,用户可以更加有效、更加灵活地开发应用程序。在Easy VIs里操作一个AI Input,这里细分为AI Config, AI Start, AI Read, AI Single Scan以及AI Clear。它可以描述更加细致、复杂的操作。, 通用模入VIs (Utility VIs) 这里提供了三个常用的VIs,AI Read One Scan,AI Waveform Scan,及AI Continuous Scan。使用一个VI就可以解决一个普通的DAQ问题,方便但缺乏灵活性。 高级模入VIs ( Advanced VIs)
7、 这些VIs是NI-DAQ数据采集软件的界面,是上面三种类型VIs的基础。一般情况下,用户不需要直接使用这个功能。,10.1.5 DAQ VIs常用参数简介 LabVIEW 中通用DAQ参数的定义有: 设备号和任务号(Device ID and Task ID) 在模拟I/O、数字I/O以及计数器VIs中,每个设备都有唯一的编号,在配置DAO设备时,编号由用户指定。输出参数TaskID是相同给特定的I/O操作分配的一个唯一的编号,贯串以后DAQ操作的始终。 通道(Channels) Analog Input和Analog Output VIs中有一个输入参数叫通道 (channels),用于指
8、定DAQ读写操作的通道。数字I/O和计数器VIs中,也有类似参分别称为Digital chanel list和counter list。, 通道命名(Channel Name Addressing) 当采用DAQ Channel Wizard配置DAQ卡的I/O通道时,可以在channels中输入一定物理意义的名称来确定通道的地址。在Easy VIs中,可以在channels参数的数组元素中的填写一个通道的名称,也可将多个通道的名称写在一个元素中,编号之间用逗号隔开。 通道编号命名(Channel Number Addressing) 如果用户不使用通道名称来确定通道地址,那么还可以在 cha
9、nnels中使用通道编号来确定通道的地址。可以将每个通道编号作为一个数组中的元素,也可以将多个通道编号写入一个数组元素中,编号之间用逗号隔开。, I/O范围设置(Limit Settings) Limit Settings 是指DAQ卡所采集或输出的模拟信号的最大/最小值。一对最大/最小值组成一个簇,每个通道对应一个簇,多个簇形成一个簇的数组。 采集数据的构成 在多通道数据采集中,采集到的数据以二维数组的形式保存。即以行(row)或以列(column)的形式来组织二维数组中的数据。, 扫描次数(Numbers of Scan to Acquire) 用户指定的一组通道进行数据采集的次数。 采样
10、点数(Number of Samples) 对一个通道采样点的个数。 扫描速率(Scan Rate) 一秒内完成的一组指定通道数据采集的次数,它决定了一定时间内所进行数据采集次数的总合。,10.2 DAQ卡的安装与配置10.2.1 安装PCI6024E数据采集卡 PCI6024E 数据采集卡是一块基于32位PCI总线的多功能数据采集控制卡,支持DMA方式和双缓冲区模式,保证了实时信号的不间断采集和存储。 它支持8路单极和4路差动模拟输入,信号为010V和-1010V;2路独立的D/A输出通道;16线TTL数字I/O;3各16位的定时计数器等多种功能。 将PCI6024E 数据采集卡插到计算机主
11、板上的一个空闲PCI插槽中,接好各种附件,包括一条50芯的数据线和一个转接板。,10.2.2 PCI6024E卡I/O配置 PCI6024E卡同NI公司的绝大部分数据采集卡一样是即插即用型的设备,硬件正确安装后,如果机器安装了LabVIEW和NIDAQ,就会出现在Measurement & Automation Explorer的ConfigurationMysystem Devices and Interfaces列表中。 在设备名PCI-6024E上单击右键,就会出现如下对话框.,右键对话框.,Properties配置对话框.,自我测试.,单击“Test Panels”按钮出现测试面板。,
12、AO测试.,DI/O测试.,Counter I/O 测试.,复位设备.,创建任务。,10.2.3 PCI6024E卡通道配置 在使用DAQ设备的模拟I/O或数字I/O功能时,必须首先配置设备的通道。在Measurement & Automation Explorer中配置通道步骤如下: 右键单击Data Neighbourhood图标,选择弹出菜单中的Create New对话框。, 在弹出的Create New Channel对话框中,选择NI-DAQmx Task,出现如下界面,选择通道类型Analog Input,单击下一步。, 选择传感器或测量信号类型,单击下一步。, 选择tunnel,
13、单击下一步。, 输入任务名称,单击Finish完成。, 双击建立好的任务,进行Voltage设置。, 按Test,出现test窗口。, Add Tunnel。, 通道连接方式。,10.3 模拟输入10.3.1 简易模拟输入(Ease Analog VIs) 这是LabVIEW提供的一组标准的、简单易用的采集 VI。个VI的功能为: 从指定通道获得一个样本。 从通道组获得一个样本。这些样本返回到一个样本数组 由一个通道得到一个波形,这些样本返回到一个waveform 数组。 从通道组获得一个波形。这些样本返回到一个波形的维数组,顺序由通道号和采样周期决定。通道数据的每个点占列,时间增量由行决定,
14、例10.3.1 采集一个直流电压信号 准备一个直流电源(例如0.5V)作为信号源连接到数据采集卡的0通道模入端。 构造前面板和框图如下面所示。 运行程序。可得到Meter指示0.5V。,例10.3.2 多通道数据采集 准备一个方波信号源和一个正弦波信号源。分别连接到模入通道和。 设置前面板与框图如下。 设置scan速率、通道号、每通道样本数如前面板所示。 运行该程序。 保存为Acquire Multiple Channels.vi。 该程序是无缓冲、软件触发的。,10.3.2 中级模入(Intermediate Analog Input) 上面介绍的简单模入在每一次调用AI Sample Ch
15、annel,都必须进行硬件设置,告诉它采样率等。一个典型的情况是连续采集,需要在程序中采用循环结构,按照简单模入,每次采集前都在设置参数,不仅多余,而且造成了采集过程的不连续。 中级模入有更好的功能与灵活性,可以更有效地开发你的应用。它的特点包括控制内部采样率,使用外部触发,执行连续外部触发等。,中级模入有5个VI,应该注意:其大量输入、输出端子中的部分内容一般是不必理会的。有效地使用这些VI只需要关注你需要的端子。,AI Config对指定的通道设置模入操作,包括硬件、计算机内buffer的分配。常用的端子有: Device采集卡的设备号。 Channel指定模入通道号的串数组。 Intpu
16、t limit指定输入信号的范围。 Buffer size单位是scan,用于控制采集数据计算机内存的大小。 Interchannel delay扫描间隔设置。缺省值为-1。,AI Start启动带缓冲的模入操作。它控制数据采集速率,采集点的数目,及使用任何硬件触发的选择。它的两个重要输入是: Scan rate(scan/sec)对每个通道采集的每秒扫描次数。 Number of scans to acquire对通道列表的扫描次数。 AI Read从被AI Config分配的缓冲读取数据。它能够控制由缓冲读取的点数,读取数据在缓冲中的位置,以及是否返回二进制数或标度的电压数。它的输出是一个
17、维数组,其中每一列数据对应于通道列表中的一个通道。,AI Single Scan返回一个扫描数据。它的电压数据输出是由通道列表中的每个通道读出的电压数据。使用这个VI仅与AI Config有关联,不需要AI Start和AI Read。 AI Clear清除模入操作、计算机中分配的缓冲、释放所有数据采集卡的资源,例如计数器。 当你设置一个模入应用时,首先使用的VI总是AI Config。AI Config会产生一个taskID和Error cluster(出错信息簇)。所有别的模入VI接受这个taskID以识别操作的设备和通道,并且在操作完成后输出一个taskID。因为taskID是一个输入并
18、向另一个模入VI输出,所以该参数形成了采集 VI之间的一个关联数据。,例10.3.2 多通道波形的连续采集 从通道、两个通道连续采集一个频率大约为2Hz的正弦信号和方波信号。 程序运行中注意观察scan backlog的指示,如果显示数值越来越大,最后超过Buffer size,则程序出错,并自动停止运行。但在这个程序中出现的可能性并不大,因为程序中Read VI的scans to read at time的值是设定值与前次循环时缓冲区的数据个数scan backlog中的大者。,这个简化了的框图上我们可以更加清晰地看出中级模入的处理框图,无疑,这个流程更加合理,它把采集的初始化与结束处理放在
19、了循环之外。,10.4 模拟输出10.4.1 简易模出 (Easy Analog Output) 与简易模入类似,简易模出也提供了个模块,分别对应于单(多)通道输出波形或电压数据。例10.4.1 产生一个模出电平。,运行该程序,可以看到表的输出将指示。这个指示并非模出,为了看到模出,可以使用一块数字万用表直接测量DAC0 OUT。你会发现万用表的指示一直维持在V,尽管程序早已执行完了。,例10.4.2 产生一个模出波形。,运行该程序,可以使用一块数字万用表的直流电压档直接测量DAC0 OUT。你会发现当初相位为时,万用表的指示是,当初相位为90度时,万用表的指示是1。这表明该程序输出的不是一个
20、连续不断的波形,仅仅是一个或若干个整周期的波形。模出模块在结束操作后并没有清复位,一直维持在最后一刻的电平上。如果希望产生一个连续不断的波形,需要使用下面的较复杂的中级函数模块。,10.4.2 中级模出 (Intermediate Analog Output) 中级模出有5个模块。,AO Config对指定的通道设置模出操作,包括硬件、计算机内buffer的分配。常用的端子有: Device采集卡的设备号。 Channel指定模出通道号的串数组。 Limit settings指定输出信号的范围。 taskID用于所有后来的模出VI以规定操作的设备和通道。,AO Write以电压数据的方式写数据
21、到模出数据缓冲区。它是一个维数组,其中每一列数据对应于通道列表中的一个通道。注意:通常其他函数为其准备的波形数据是一个维数组,且数据分布在一行中,这里需要将其“虚扩”为二维数组,并做一次转置。 AO Start 启动带缓冲的模出操作。Update rate(scan/sec)是每秒发生的更新数的个数。如果你将写入Number of buffer iterations端子,则卡将连续输出给缓冲,直到运行AO Clear功能。,AO Wait 在返回之前一直等待直到波形发生任务完成。它的电压数据输出是由通道列表中的每个通道读出的电压数据。使用这个VI仅与AO Config有关联,不需要AO Sta
22、rt和AO Write。 AO Clear清除模出操作、计算机中分配的缓冲、释放所有数据采集卡的资源,例如计数器。当你设置一个模出应用时,首先使用的VI总是AO Config。AO Config会产生一个taskID和Error cluster(出错信息簇)。所有别的模出VI接受这个taskID以识别操作的设备和通道,并且在操作完成后输出一个taskID。该参数形成了数据输出 VI之间的一个关联数据。,例10.4.3 产生一个连续的正弦波形。,上面的框图中需要说明以下几点: 由于正弦波发生器的输出是一个waveform 数据类型,首先将其中的Y数据提出,然后将它扩充为一个二维数组,再经转置后才
23、可连接到AO Write 。在AO Config中主要是设置了Buffer,这对于连续输出是必须的,其它都选默认值。,产生的连续正弦波形 :,10.5 DAQmx10.5.1 NI-DAQmx的发展与特点 1 NI-DAQmx的发展,2 NI-DAQmx的特点, 多模态VI,以前要用 Digital Read 函数从数字线读取数据和用 Analog Read 函数读取模拟数据,而现在可以用同一个函数读取这两种数据。象这样的函数,称之为多态函数。 现在不用学习四种不同的方法来为 NI DAQ 设备的四种类型的操作(模拟输入与输出、数字 I/O、计数器/定时器)编写程序了,而只需学习一种方法,然后
24、重复使用这个方法来为其它的操作编写程序即可。, DAQ Assistant,为了进一步简化 DAQ 编程,DAQmx提供一个新的交互式测量工具DAQ 助手。DAQ 助手以图形化的方式配置DAQ操作。 因为 DAQ助手是完全以菜单方式驱动的,不需要任何编程,所以很少出错,并且还大大减少进行测量的时间。只需简单的鼠标点击,根据配置就可以自动生成代码,这可以作为在NI应用软件程序中实现复杂操作的一个起点。,利用DAQ助手,可以:,创建和编辑任务和虚拟通道;添加虚拟通道至任务;创建并编辑量程;测试您的配置;保存您的配置;在您的NI应用软件中生成代码以在您的应用程 序中使用;观察您的传感器的连接图。,
25、多线程,NI-DAQmx是多线程驱动程序,所以编程控制并发的I/O操作变得更加容易。不共用一台设备的同一个功能子块(如计数器、模拟输入、模拟输出和数字I/O等)的两个操作可以同时执行。, 更简化的同步功能,传统NI-DAQ中的同步设备和操作会相当复杂。通常来说,必须为穿过RTSI总线或PFI线路的信号明确指定路由,而NI-DAQmx免除了为信号指定路由的必要。只须选择希望同步的信号,所有的路由工作由NI-DAQmx为您完成。,10.5.2 NI-DAQmx的十个函数 1. DAQ Assistant (数据采集助手),DAQ Assistant 是一个图形化的界面,用于交互式地创建、编辑和运行
26、NI-DAQmx虚拟通道和任务。 一个NI-DAQmx虚拟通道包括一个DAQ设备上的物理通道和对这个物理通道的配置信息,例如输入范围和自定义缩放比例。 一个 NI-DAQmx任务是虚拟通道、定时和触发信息、以及其他与采集或生成相关属性的组合。 在下图中,DAQ ASSISTANT配置成完成一个物理量的测量。,几个概念: 1.物理通道:可用于测量和发生信号的端口。 2.虚拟通道:一个由名称、物理通道、输入端口连接、测量或发生信号的类型、标定信息等组成的设置集合。在DAQmx中,可以用DAQ助手、MAX或应用接口程序配置虚拟通道。 3.任务:带有定时、触发或其它属性的一个或多个虚拟通道的集合。一个
27、任务表示用户想做的一次测量或信号发生。在DAQmx中,用户可以将虚拟通道作为任务的一部分或独立于任务配置。 4.局部通道:作为任务的一部分,在任务中创建的虚拟通道称为局部通道。 5.全局通道:独立于任务,在任务以外创建的虚拟通道称为全局通道。,DAQ ASSISTANT 也可以生成代码来配置和/或完成特定的采集或生成 (Generation)。下面显 DAQ ASSISTANT的实例以及相应的所自动生成的配置和LabVIEW代码例程。,与DAQ ASSISTANT所能提供的相比,某些数据采集应用程序需要更大的灵活性和/或性能。这些应用程序需要下面所叙述的简单、但功能强大的 NI-DAQmx 函
28、数。,2. NI-DAQmx创建虚拟通道函数,NI-DAQmx创建虚拟通道函数创建了一个虚拟通道,并且将它添加成一个任务。它也可以用来创建多个虚拟通道,并将它们都添加至一个任务。如果没有指定一个任务,那么这个函数将创建一个任务。,NI-DAQmx创建虚拟通道函数有许多的实例。这些实例对应于特定的虚拟通道所实现的测量或生成类型。下面是四个不同的 NI-DAQmx 创建虚拟通道 VI实例的例程。,在下面的LabVIEW 程序框图中,NI-DAQmx创建虚拟通道 VI用来创建一个热电偶虚拟通道。,3. NI-DAQmx触发函数,NI-DAQmx触发函数配置一个触发器来完成一个特定的动作。最为常用的动
29、作是启动触发器(Start Trigger)和参考触发器(Reference Trigger)。 这些触发器都可以配置成在数字边沿、模拟边沿或者当模拟信号进入或离开时发生。,在下面的LabVIEW程序框图中,利用 NI-DAQmx 触发 VI,启动触发器和参考触发器都配置成发生在一个模拟输入操作的数字边沿。,许多数据采集应用程序需要一个设备的不同功能区域的同步(例如,模拟输出和计数器)。或需要多个设备进行同步。 NI-DAQmx能自动地完成触发信号在一个设备的不同功能区域与多个设备之间传递。当使用 NI-DAQmx 触发函数时,所有有效的触发信号都可以作为函数的源输入。 例如,在下面的 NI-
30、DAQmx 触发 VI中,用于设备2的启动触发器信号可以用作设备1的启动触发器的源,而无需进行任何显式的传递。,4. NI-DAQmx定时函数,NI-DAQmx定时函数配置定时,用于硬件定时的数据采集操作。包括指定操作是否连续或有限、为有限的操作选择用于采集或生成的采样数量,以及在需要时创建一个缓冲区。,对于需要采样定时的操作(模拟输入、模拟输出和计数器),NI-DAQmx定时函数中的采样时钟实例设置了采样时钟的源(可以是一个内部或外部的源)和它的速率。 采样时钟控制了采集或生成采样的速率。每一个时钟脉冲为每一个包含在任务中的虚拟通道初始化一个采样的采集或生成。,下图中,LabVIEW 程序框
31、图演示了使用NI-DAQmx定时 VI中的采样时钟实例来配置一个连续的模拟输出生成(利用一个内部的采样时钟)。,为了在数据采集应用程序中实现同步,如同触发信号必须在一个设备的不同功能区域或多个设备之间传递一样,定时信号也必须以同样的方式传递。NI-DAQmx也是自动地实现这个传递。所有有效的定时信号都可以作为NI-DAQmx定时函数的源输入。 例如,在下面的 DAQmx定时 VI中,设备的模拟输出采样时钟信号作为同一个设备模拟输入通道的采样时钟源,而无需完成任何显式的传递。,大部分计数器操作不需要采样定时,因为被测量的信号提供了定时。NI-DAQmx定时函数的隐式实例应当用于这些应用程序。在下
32、面的 LabVIEW 程序框图中,NI-DAQmx 定时 VI的隐式实例用来将一个缓冲的脉冲宽度采集配置成有限的特定个数的采样。,5. NI-DAQmx启动任务函数,NI-DAQmx启动任务函数显式地将一个任务转换至运行状态。在运行状态,这个任务完成特定的采集或生成。如果没有使用NI-DAQmx启动任务函数,那么在 NI-DAQmx 读取或写入函数执行时,一个任务可以隐式地转换至运行状态,或者自动开始。,下面的LabVIEW程序框图演示了不需要使用NI-DAQmx启动函数的情形,因为模拟输出生成仅仅包含一个单一的、软件定时的采样。,下面的LabVIEW程序框图演示了应当使用 NI-DAQmx启
33、动函数的情形,因为NI-DAQmx读取函数需要执行多次来从计数器读取数据。,6. NI-DAQmx读取函数,NI-DAQmx读取函数需要从特定的采集任务中读取采样。这个函数的不同实例允许选择采集的类型(模拟、数字或计数器)、虚拟通道数、采样数和数据类型。,下面是四个不同的NI-DAQmx读取 VI实例的例程。,在下面的LabVIEW程序框图中,NI-DAQmx读取 VI已经被配置成从多个模拟输入虚拟通道中读取多个采样并以波形的形式返回数据。而且,既然每通道采样数输入已经配置成常数10,那么每次 VI执行的时候它就会从每一个虚拟通道中读取 10 个采样。,7. NI-DAQmx写入函数,NI-DAQmx写入函数将采样写入指定的生成任务中。这个函数的不同实例允许选择生成类型(模拟或数字),虚拟通道数、采样数和数据类型。,下面是四个不同的NI-DAQmx写入VI实例的例程。,下面的 LabVIEW 程序框图包括一个NI-DAQmx
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学生职业规划大赛《休闲体育专业》生涯发展展示
- 游戏行业中的商务礼仪
- 音乐教育的全方位解析
- 2025设备租赁合同的争议
- 2025办公用品采购合同AA
- 2025电梯广告投放合同模板
- 《心悸的急诊处理》课件
- 童心筑梦:幼儿园红色爱国教育活动设计与实践
- 417天气与气候分层作业-2024-2025学年科学三年级下册(冀人版)
- 小动物教学课件
- 大学生职业规划大赛《运动康复专业》生涯发展展示
- 高楼遮光补偿协议书范本
- 母乳喂养知识培训课件下载
- 西安市曲江第三中学行政人员及教师招聘笔试真题2024
- 2025-2030中国竹纤维行业市场发展现状及竞争策略与投资前景研究报告
- 委托外包催收合同协议
- 2025-2030中国涂装行业市场深度分析及发展预测与投资策略研究报告
- 乳腺癌诊治指南与规范(2025年版)解读
- 银行系统招聘考试(经济、金融、会计)模拟试卷14
- 心理韧性在咨询中的重要性试题及答案
- 外研版(三起)(2024)三年级下册英语Unit 2 单元测试卷(含答案)
评论
0/150
提交评论