




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
GPIB接口卡使用说明简介我所早在80年代初就自行研制各种GPIB接口产品,经过20年不断发展,该产品开发已形成系列,是目前国内唯一能够与国外产品相媲美的GPIB接口。可广泛应用于各种仪器自动测量与控制系统。ISA GPIB接口卡该接口卡主要用于各种GPIB仪器的计算机控制以及仪器自动化测试系统的组建。该接口卡完全符合 IEEE-488国际标准,并提供与VISA(虚拟仪器软件设计结构)国际规范兼容的标准化GPIB控制函数包。性能及特点:l 具有DOS和Windows两种不同操作系统下使用的产品。ISA总线 GPIB接口卡l 提供Windows操作系统软件开发工具包,可支持32位各种编程语言,如:VC+、 VB、Delphi、LabView、VEE和LabWindows/CVI。l 提供VISA驱动函数和GPIB驱动函数,在LabVIEW编程语言中可替换原仪器驱动软件中VISA函数,而不影响原程序的使用。l 提供快速的硬件诊断工具,以及快速仪器控制的交互式GPIB测试工具。l 提供VisaulBASIC编程应用举例。新产品PCI GPIB接口卡随着微型计算机CPU速度、计算能力的迅速提高,与之相适应的计算机总线技术也在不断发展,总线形式也在不断变换,当今PCI总线已成为微机产品中的主流总线,为适应总线技术的发展,我们新近开发出了基于PCI总线的GPIB接口卡,以满足新一代计算机产品在用于仪器测量控制方面的使用要求。性能及特点: 接口板硬件总线与PCI 协议 V2.1版兼容。 适用于Win98/2000/NT/Windows XP操作系统。 具有即插即用功能。 标准的VISA和GPIB 驱动程序,与NI公司提供的驱动函数兼容。 适用于 WINDOWS下各种32位编程语言。如:VC+、 VB、Delphi、LabView、VEE和LabWindows/CVI等。 提供VB、CVI、VC+、 Delphi、LabView编程应用举例。注意有些仪器由于其内部gpib接口速度较慢,请在使用过程中发现个别数据读取不当的时候,适当修改以下函数:kk = setDelayTime(5, 0) 0,0为最小延时时间 第一个为延时的毫秒数,第二个为循环的次数。主要是修改第一个参数。参数值应为比4大的整数。接口卡的安装一. win98安装 把接口卡插入计算机,启动计算机,在提示发现PCI桥设备后,在光盘Win98drivers下可以找到.inf文件,安装完接口卡后,找到光盘上的.Win98disk1文件夹中的setup.exe程序,进行软件安装。二. win2000安装在win2000下安装时,要先进行软件的安装,找到光盘上.Win2000ExpressSingleImageDiskImagesDISK1中的setup.exe安装程序运行。软件安装完成后,关机。把接口卡插入计算机,重新启动计算机,再进行接口卡的硬件安装。硬件安装方法一:启动计算机,在提示发现PCI桥设备后在安装路径下的drivers文件夹中可以找到.inf文件!确定,安装完毕。省缺路径为.ProgramFilesHT203PciIEEE488。硬件安装方法二:在控制面板中选择添加新硬件,在安装路径下的drivers文件夹中可以找到.inf文件!确定,安装完毕。三注意安装完程序后,要重新启动计算机,才能使用程序。在“开始”菜单pci 488中有本接口的例程,(在win2000操作系统下,在“开始”菜单的Programs中)在要使用例程须将仪器地址设为5,程控命令框中输入相应程控命令!接口程序安装的缺省路径为C:Program FilesHT203PciIEEE488,GPIB、VISA文件夹下为接口的动态链接库,Sample文件夹下为各种开发语言的例程,Help文件夹下为帮助文件。VISA函数和GPIB函数函数名称:Visa Resource TemplateViOpena01 viCloseb02 viOpenDefaultRMc03Visa Instrument ControlViWrited04viReade05viClearf06viReadSTBg07viAssertTriggerh08Visa Resource TemplateviLocki09viUnlockj10GPIB Function Sendk11Receivel12ReceBlockr18ReceEOI t19DevClearm13Triggern14WaitSRQp15ReadStatusByteq16SendIFC s17VISA函数详细说明:1、viOpen (Sesn1 ,rsrcName,acessMode,timeout,Sesn2)用途: 打开与指定仪器的通话。参数说明Sesn1 输入 资源管理器通话(总应是由viOpenDefaultRM( )返回的VISA默资源理器)。rsrcName 输入 资源的唯一符号名称acessMode 输入指定资源的访问模式。不用,应置0。timeout 输入定时时间。默认值为10秒。Sesn2 输出通话的唯一逻辑标识符。返回值: 0表示成功,其余值均表示失败。注意: rsrcName的格式为:GPIB:Address:INSTR其中:GPIB:表示GPIB设备。 address:表示GPIB设备地址。INSTR表示是VISA资源。例如“GPIB:5:INSTR”各种语言调用说明:Delph:Function viOpen(sesn1:Longint;rsrcName:PChar;acessMode:Longint timeout:Longint;sesn2:PLongint):Longint; C: Long viOpen (long sesn1,char *rsrcName, long acessMode, long timeout,long *sesn2) VB: Function viOpen (ByVal sesn1 As Long, ByVal rsrcName As String, ByVal acessMode As Long, ByVal timeout As Long, sesn2 As Long) As Long 2、viClose(sesn)用途: 关闭指定的通话。参数说明 Sesn 输入通话的唯一逻辑标识符。返回值: 0表示成功,其余值均表示失败。各种语言调用说明:Delphi: Function viClose(sesn:Longint):Longint;C: Long viClose (long sesn);VB: Function viClose (ByVal sesn As Long) As Long3、viOpenDefaultRM (sesn)用途: 返回与默认资源管理器的通话。参数说明:Sesn 输出与默认资源管理器通话的唯一逻辑标识符。返回值: 0表示成功,其余值均表示失败。各种语言调用说明:a00Delphi: Function viOpenDefaultRM(sesn1:PLongint):Longint; C: Long viOpenDefaultRM (long *sesn1); VB: Function viOpenDefaultRM (sesn1 As Long) As Long 4、viWrite(Sesn,CommStr,Count,retCount)用途: 向仪器写数据参数说明:Sesn 输入通话的唯一逻辑标识符。CommStr 输入表示向仪器传送数据块的存储单元Count 输入指定被写的字节数。retCount 输出表示设置实际传输的整数字节数存储单元。返回值:0表示成功,其余值均表示失败。各种语言调用说明:a00Delphi: Function viWrite(sesn:Longint;CommStr:PChar;Count:Longint;retCount:PLongint):Longint; C: Long viWrite (long sesn, char *CommStr, long Count, long *retCount) VB: Function viWrite (ByVal sesn As Long, ByVal CommStr As String, ByVal Count As Long, lretCount As Long) As Long 5、viRead(Sesn, CommStr, Count, retCount)用途: 从仪器读数据。参数说明:Sesn 输入通话的唯一逻辑标识符。CommStr 输入表示将接收数据的仪器缓冲区的存储单元。Count 输入将读取的字节数。retCount 输出表示一整数的存储地址,该整数表示实际传输的字节数。返回值: 0表示成功,其余值均表示失败。各种语言调用说明:a00a00Delphi: Function viRead(sesn:Longint;ReadData:PChar;Count:Longint;retCount:PLongint):Longint; C: Long viRead (long sesn, char *ReadData, long Count, long *retCount) VB: Function viRead (ByVal sesn As Long, ByVal ReadData As String,ByVal Count As Long, lretCount As Long) As Long a006、viClear(Sesn) 用途: 使一个仪器清零。参数说明: Sesn 输入 通话的唯一逻辑标识符。返回值: 0表示成功,其余值均表示失败。各种语言调用说明:a00 a00Delphi: Function viClear(sesn:Longint):Longint; C: Long viClear (long sesn) VB: Function viClear (ByVal sesn As Long) As Long 7、viReadSTB(Sesn) 用途: 读服务请求的状态字节。参数说明Sesn 输入 通话的唯一逻辑标识符。Status 输出 服务请求的状态字节。返回值: 0表示成功,其余值均表示失败。各种语言调用说明: a00Delphi: Function ReadSTB(sesn:Longint;status:PSmallint):Longint C: Long viReadSTB (long sesn, short *status) VB: Function viReadSTB (ByVal sesn As Long,status As Integer) As Long 8、a00viAssertTrigger(Sesn) 用途: 设置群触发。参数说明:Sesn 输入通话的唯一逻辑标识符。protocal输入 断定所用触发协议。不用置0。返回值: 0表示成功,其余值均表示失败。各种语言调用说明: a00a00Delphi: Function viAssertTrigger(sesn:Longint;protocal:Integer):Longint; C: Long viAssertTrigger (long sesn, int protocal) VB: Function vAssertTrigger (ByVal sesn As Long,ByVal protocal As Integer) As Long 9、viLock(Sesn) 用途: 建立对指定资源的访问模式,本函数是本地封锁。参数说明:Sesn 输入通话的唯一逻辑标识符。lockType 输入表示请求得锁定类型。不用,置0。timeout 输入定时时间,默认识是10秒。requestedKey 输入不用,置0。accessKey 输入不用,置0。返回值: 0表示成功,其余值均表示失败。各种语言调用说明:a00Delphi: Function viLock(sesn,lockType,timeout:Longint;requestedKey,accessKey:PChar):Longint; C: Long viLock (long sesn, long lockType, long timeout, char *requestedKey, char *accessKey) VB: Function viLock (ByVal sesn As Long, ByVal lockType As Long,ByVal timeout As Long, ByVal requestedKey As String,ByVal accessKey As String) As Long 10、viUnlock (Sesn)用途: 取消对指定资源的封锁,返回本地。参数说明: Sesn 输入通话的唯一逻辑标识符。返回值: 0表示成功,其余值均表示失败。各种语言调用说明:a00Delphi: Function viUnlock(sesn:Longint):Longint; C: Long viUnlock (long sesn) VB: Function viUnlock (ByVal sesn As Long) As Long GPIB函数详细说明:1、Send(Board_Index,evice_Address,Data_Buffer,Byte_Count,EOT_Mode)用途: 向仪器写数据。参数说明:Board_Index 输入不用,置0。Device_Address 输入仪器地址。Data_Buffer 输入向仪器传送数据块的存储单元。Byte_Count 输入指定被写的字节数。EOT_Mode 输入0表示没有数据传输结束标志;1表示数据串用回车换行结束;2表示数据用最后一个字符结束。各种语言调用说明:Delphi: Procedure Send(Board_Index:Longint; Device_Address:SmallInt; Data_Buffer:Pchar;Byte_Count:Longint;EOT_Mode:Longint); C: Void Send(long int Board_Index, short Device_Address, char *Data_Buffer,long int Byte_Count, long int EOT_Mode); VB: Sub Send(ByVal Board_Index As Long, ByVal Device_Address As Short, ByVal Data_Buffer As String,ByVal Byte_Count As Long, ByVal EOT_Mode As Long);2、Receive(Board_Index,_Address,Buffer,Byte_Count,Terminatin)用途: 从仪器读数据。参数说明:Board_Index 输入不用,置0。Device_Address 输入仪器地址。Data_Buffer 输出将接收数据的仪器缓冲区的存储单元Byte_Count 输入将读取的字节数。Termination 输入不用,置0。各种语言调用说明:a00Delphi: ProcedureReceive(Board_Index:Longint; Device_Address:SmallInt;Data_Buffer:Pchar; Byte_Count:Longint; Termination:Longint); C: Void Receive(long int Board_Index, short Device_Address, char *Data_Buffer,long int Byte_Count, long int Termination); VB: Sub Receive(ByVal Board_Index As Long, ByVal Device_Address As Short,ByVal Data_Buffer As String,ByVal Byte_Count As Long,ByVal Termination As Long); 3、DevClear(Board_Index, Device_Address) 用途: 使一个仪器清零。参数说明:Board_Index 输入不用,置0。Device_Address 输入 仪器地址。各种语言调用说明:Delphi: ProcedureDevClear(Board_Index:Longint;Device_Address:SmallInt); C: Void DevClear(long int Board_Index, short Device_Address); VB: Sub DevClear(ByVal Board_Index As Long, ByVal Device_Address As Short); 4、Trigger (Board_Index, Device_Address)用途: 设置群触发。参数说明:Board_Index 输入不用,置0。Device_Address 输入仪器地址。各种语言调用说明:Delphi: Procedure Trigger(Board_Index:Longint;Device_Address:SmallInt); C: Void Trigger(long int Board_Index, short Device_Address); VB: Sub Trigger(ByVal Board_Index As Long, ByVal Device_Address As Short); 5、WaitSRQ (Board_Index, SRQ_Occurred)用途: 等待服务请求。参数说明:Board_Index 输入不用,置0。SRQ_Occurred 输出 0系统默认的timeout时间内无服务请求,1系统默认的timeout时间有服务请求。各种语言调用说明:Delphi: Procedure WaitSRQ(Board_Index:Longint; SRQ_Occurred:PSmallInt); C: Void WaitSRQ(long int Board_Index, short *SRQ_Occurred); VB: Sub WaitSRQ(ByVal Board_Index As Long, SRQ_Occurred As Short); 6、ReadStatusByte(Board_Index, Address, Status_Byte)用途: 读服务请求的状态字节。参数说明Board_Index 输入不用,置0。Device_Address输入仪器地址。Status_Byte 输出服务请求的状态字节。各种语言调用说明:a00Delphi: ProcedureReadStatusByte(Board_Index:Longint; Device_Address:SmallInt;Status_Byte:PSmallInt); C: Void ReadStatusByte(long int Board_Index, short Device_Address,short *Status_Byte); VB: Sub ReadStatusByte(ByVal Board_Index As Long, ByVal Device_Address As Short, Status_Byte As Short); 7、SendIFC (Board_Index)用途: 接口清除。参数说明:Board_Index 输入不用,置0。 各种语言调用说明:a00Delphi: Procedure SendIFC(Board_Index:Longint); C: Void SendIFC(long int Board_Index); VB: Sub SendIFC(ByVal Board_Index As Long); 8、ReceBlock(Board_Index,_Address,Data_Buffer,Byte_Count,Termination)用途: 从仪器读数据块。参数: 名 称 方 向 说 明Board_Index 输入 不用,置0。Device_Address输入 仪器地址。Data_Buffer 输出 表示将接收数据的仪器缓冲区的存储单元Byte_Count 输入 将读取的字节数。返回值:0表示成功,- 1表示失败。各种语言调用说明:Delphi: Function ReceBlock(Board_Index:Longint; Device_Address:SmallInt; Block_Size:Longint;Data_Buffer:PChar); C: int ReceBlock(long int Board_Index, short Device_Address, int Block_Size, char *Data_Buffer); VB: Function ReceBlock(ByVal Board_Index As Integer, ByVal evice_Address As Integer,ByVal Byte_Count As Integer, ByVal Data_Buffer As String); 9、ReceEOI (Board_Index, _Address, Data_Buffer, Byte_Count, Termination)用途: 以EOI结束方式读仪器数据块。参数: 名 称 方 向 说 明Board_Index 输入不用,置0。Device_Address输入仪器地址。Data_Buffer 输出表示将接收数据的仪器缓冲区的存储单元Byte_Count 输入将读取的字节数。Termination 输入不用,置0。返回值:0表示成功,- 1表示失败。各种语言调用说明:a00Delphi: Function ReceEOI(Board_Index:Longint; Device_Address:SmallInt; Data_Buffer:PChar;Byte_Count:PLongint;Termination:Longint C: int ReceEOI(long int Board_Index, short Device_Address, char *Data_Buffer,long int *Byte_Count,lng int Termination); VB: Function ReceEOI(ByVal Board_Index As Integer, ByVal Device_Address As Integer,ByVal Data_Buffer As String, ByRef Byte_Count As Integer,ByVal Termination As Integer); VISA函数的VB应用示例:声明:Declare Function viOpenDefaultRM& Lib visa32.dll (sesn1&)Declare Function viOpen& Lib visa32.dll (ByVal sesn1&, ByVal rsrcName$, ByVal acessMode&, ByVal timeout&, sesn2&)Declare Function viWrite& Lib visa32.dll (ByVal sesn&, ByVal CommStr$, ByVal Count&, retCount&)Declare Function viClose& Lib visa32.dll (ByVal sesn&)Declare Function viRead& Lib visa32.dll (ByVal sesn&, ByVal ReadData$, ByVal Count&, retCount&)Declare Function viClear& Lib visa32.dll (ByVal x1&)Declare Function viLock& Lib visa32.dll (ByVal x1&, ByVal x2&, ByVal x3&, ByVal x4$, ByVal x5$)Declare Function viUnlock& Lib visa32.dll (ByVal x1&)Declare Function viAssertTrigger& Lib visa32.dll (ByVal x1&, ByVal x2&)Declare Function viReadSTB& Lib visa32.dll (ByVal x1&, x2%)程序:Option ExplicitPublic res As StringPublic ErrCode As LongPublic visah As LongPublic visah2 As LongPublic datas As StringPublic cms As StringPublic cmslen As LongPrivate Sub Command1_Click() 写数据Dim i As LongDim j As Integercms = Text2.Textcmslen = Len(cms)ErrCode = viWrite(visah, cms, 10, cmslen)For i = 1 To 5000Next iEnd SubPrivate Sub Command2_Click()ErrCode = viClose(visah)EndEnd SubPrivate Sub Command3_Click() 读数据Dim i As LongDim j As Integerdatas = String(100, 0)ErrCode = viRead(visah, datas, 10, cmslen)Text1.Text = datasFor i = 1 To 10000 Next iEnd SubPrivate Sub Command4_Click() 初始化Dim i As LongDim j As IntegerErrCode = viOpenDefaultRM(visah2)For i = 1 To 10000Next iCommand4.Enabled = FalseCommand1.Enabled = TrueCommand2.Enabled = TrueCommand3.Enabled = TrueCommand5.Enabled = TrueEnd SubPrivate Sub Command3_Click()Dim kk, gg As IntegerDim str As Stringstr = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaakk = gpib_send(5, Text2.Text)gg = gpib_receive(5, str)Text1.Text = strText3.Text = kkEnd SubPrivate Sub Command4_Click()Dim dd As IntegerText1.Text = fnBB(1, 2)Text1.Text = fnCccDll(1, 8)End SubPrivate Sub Command5_Click()Dim i, j As Integerres = Text3.TextErrCode = viOpen(visah2, res, 0, 10, visah)For i = 1 To 10000Next iEnd SubVISA函数的VC应用示例/ DubugIsaDll.cpp : Defines the entry point for the console application.#include stdafx.h#include stdio.h#include windows.h#include string.h /int gpib_receive(int iAddrDevice,char *receive_buffer);/_declspec(dllimport) int _stdcall gpib_send(int iAddrDevice,char * sending,int);/_declspec(dllimport) int _stdcall gpib_receive(int iAddrDevice,char *receive_buffer);/_declspec(dllimport) void _stdcall gpib_local();/_declspec(dllimport) void _stdcall gpib_device_clear();int main(int argc, char* argv)/int rs;/char data_buf3000;/char aa5000;int ErrCode; int visah; int visah2; char datas5000;int cmslen;char * cms = F0R0X;char * res = GPIB:5;int i,j;/rs=fnMy111(2,3);/printf(rs=%d,rs);/int (*send)(int,char *,int);/typedef int (_stdcall SEND) (int,int,char *,int,int);/typedef int (_stdcall RECEIVE) (int,int,char *,int,int);typedef int (_stdcall OPENDEFAULT) (int *);typedef int (_stdcall OPEN) (int,char *,int,int,int *);typedef int (_stdcall WRITE) (int,char *,int,int *);typedef int (_stdcall CLOSE) (int);typedef int (_stdcall READ) (int,char *,int,int *);/SEND * send;/RECEIVE * receive;OPENDEFAULT * opendefault;OPEN * open;WRITE * write;READ * read;CLOSE * close;/HINSTANCE dllHandle=LoadLibrary(C:Program FilesHT203PciIEEE488GPIBgpib32.dll);HINSTANCE dllHandle=LoadLibrary(C:Program FilesHT203PciIEEE488VISAvisa32.dll);/HINSTANCE dllHandle=LoadLibrary(D:PcicardVISAvisa32.dll);/send=(SEND *)GetProcAddress(dllHandle,Send);/receive=(RECEIVE *)GetProcAddress(dllHandle,Receive);opendefault=(OPENDEFAULT *)GetProcAddress(dllHandle,viOpenDefaultRM);open=(OPEN *)GetProcAddress(dllHandle,viOpen);write=(WRITE *)GetProcAddress(dllHandle,viWrite);read=(READ *)GetProcAddress(dllHandle,viRead);close=(CLOSE *)GetProcAddress(dllHandle,viClose);cmslen = strlen(cms);ErrCode = opendefault(&visah2);for(i=0;i100000;i+)for(j=0;j20;j+)ErrCode = open(visah2, GPIB:5, 0, 10, &visah);for(i=0;i100000;i+)for(j=0;j20;j+)/在测量中当应用opendefault打开卡资源,open建立连接后,/可重复使用write 和read 函数完成测量。ErrCode = write(visah, F0R0X, 10, &cmslen);ErrCode = read(visah, datas, 10, &cmslen);printf(rs is:%sn,datas);ErrCode = write(visah, F1R0X, 10, &cmslen);ErrCode = read(visah, datas, 10, &cmslen);printf(rs is:%sn,datas);ErrCode = close(visah);/write(0,5,F0R0X,0,0);/receive(0,5,aa,0,0);/printf(rs is:%s,aa);FreeLibrary(dllHandle);/gpib_receive(5,data_buf);/gpib_local();/gpib_device_clear();return 0;VISA函数的Delphi应用示例unit loadDll;interfaceusesWindows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,StdCtrls;type TForm1 = class(TForm) OkBtn: TButton; CancelBtn: TButton; Edit1: TEdit; Edit2: TEdit; Label1: TLabel; Label2: TLabel; procedure OkBtnClick(Sender: TObject); procedure CancelBtnClick(Sender: TObject); private Private declarations public Public declarations end;var Form1: TForm1;implementation$R *.DFMFunction viOpenDefaultRM(sesn1:PLongint):Longint;stdcall external visa32.dll;function viOpen(sesn1:Longint;rsrcName:PChar;acessMode:Longint;timeout:Longint;sesn2:PLongint):Longint;stdcall external visa32.dll;function viWrite(sesn:Longint;CommStr:PChar;Count:Longint;retCount:PLongint):Longint;stdcall external visa32.dll;function viClose(sesn:Longint):Longint;stdcall external visa32.dll;function viRead(sesn:Longint;ReadData:PChar;Count:Longint; retCount:PLongint):Longint;stdcall external visa32.dll;procedure TForm1.OkBtnClick(Sender: TObject);var myHandle,temHandle:PLongint; P1,P2:PChar; retCount:PLongint; ReadData:PChar; i:Integer;begin New(myHandle); New(temHandle); New(retCount); P1:=StrAlloc(100*Sizeof(Char); StrCopy(P1,GPIB:5:INSTR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保安培训知识100问课件
- 烟草任务提成方案(3篇)
- 桥梁桩基返工方案(3篇)
- 农资管家组合采购方案(3篇)
- 项目专利成果转化方案(3篇)
- 公司经理分红方案(3篇)
- 充电桩监理计划方案(3篇)
- 餐厅餐具收费标准方案(3篇)
- 家具企业口罩销售方案(3篇)
- 工程电梯管理方案(3篇)
- 《T-ZGYSYJH 004-2022 产褥期妇女食养药膳技术指南》
- 《计算机网络技术》(第三版)教学指南
- 专门为聋哑人的语文教案
- 汽车租赁操作规程及驾驶员安全培训考核
- 肉豆蔻丸的基于人工智能的药效预测
- 《复发性流产诊治专家共识2022》解读
- GB/T 23862-2024文物包装与运输规范
- 全国中小学“学宪法、讲宪法”知识素养竞赛题库及答案
- 8月15日日本无条件投降日铭记历史吾辈自强爱国课件
- 物理初中人教版八年级下册期末综合测试试卷(比较难)及解析
- SYT 7305-2021 连续油管作业技术规程-PDF解密
评论
0/150
提交评论