GPIB卡说明书_第1页
GPIB卡说明书_第2页
GPIB卡说明书_第3页
GPIB卡说明书_第4页
GPIB卡说明书_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 gpib接口卡使用说明简介我所早在 80 年代初就自行研制各种gpib 接口产品,经过20 年不断发展,该产品开发已形成系列,是目前国内唯一能够与国外产品相媲美的gpib 接口。可广泛应用于各种仪器自动测量与控制系统。isa gpib接口卡该接口卡主要用于各种gpib 仪器的计算机控制以及仪器自动化测试系统的组建。该接口卡完全符合ieee-488 国际标准,并提供与visa (虚拟仪器软件设计结构)国际规范兼容的标准化gpib 控制函数包。性能及特点:具有 dos 和 windows 两种不同操作系统下使用的产品。提供 windows 操作系统软件开发工具包,可支持 32 位各种编程语言,

2、如:vc+ 、 vb、delphi 、labview 、vee 和 labwindows/cvi 。提供 visa 驱动函数和gpib 驱动函数, 在labview 编程语言中可替换原仪器驱动软件中visa 函数,而不影响原程序的使用。提供快速的硬件诊断工具,以及快速仪器控制的交互式gpib 测试工具。提供 visaulbasic编程应用举例。新产品pci gpib接口卡随着微型计算机cpu 速度、计算能力的迅速提高,与之相适应的计算机总线技术也在不断发展,总线形式也在不断变换,当今pci 总线已成为微机产品中的主流总线,为适应总线技术的发展,我们新近开发出了基于pci 总线的gpib 接口卡

3、,以满足新一代计算机产品在用于仪器测量控制方面的使用要求。性能及特点:接口板硬件总线与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 编程应用举例。isa 总线gpib 接口卡2 注意有些仪器由于其内部gpib 接口速度较慢,请在

4、使用过程中发现个别数据读取不当的时候,适当修改以下函数:kk = setdelaytime(5, 0) 0,0为最小延时时间第一个为延时的毫秒数,第二个为循环的次数。主要是修改第一个参数。参数值应为比4 大的整数。3 接口卡的安装一. win98安装把接口卡插入计算机,启动计算机,在提示发现pci 桥设备后,在光盘win98drivers下 可 以 找 到 .inf文 件 , 安 装 完 接 口 卡 后 , 找 到 光 盘 上的.win98disk1文件夹中的setup.exe程序 , 进行软件安装。二. win2000安装在win2000下 安 装 时 , 要 先 进 行 软 件 的 安 装

5、 , 找 到 光 盘上.win2000expresssingleimagediskimagesdisk1中的 setup.exe安装程序运行。软件安装完成后,关机。把接口卡插入计算机,重新启动计算机,再进行接口卡的硬件安装。硬件安装方法一: 启动计算机, 在提示发现pci 桥设备后在安装路径下的drivers文件夹中可以找到.inf文件!确定,安装完毕。省缺路径为.programfilesht203pciieee488。硬件安装方法二: 在控制面板中选择添加新硬件,在安装路径下的drivers文件夹中可以找到 .inf文件!确定,安装完毕。三注意安装完程序后, 要重新启动计算机,才能使用程序。

6、 在“开始” 菜单 pci 488中有本接口的例程, (在 win2000 操作系统下,在“开始”菜单的programs 中)在要使用例程须将仪器地址设为5,程控命令框中输入相应程控命令!接口程序安装的缺省路径为c:program filesht203pciieee488,gpib、 visa 文件夹下为接口的动态链接库,sample 文件夹下为各种开发语言的例程,help 文件夹下为帮助文件。4 visa 函数和 gpib函数函数名称:visa resource template viopenvicloseviopendefaultrmvisa instrument controlviwri

7、tevireadviclearvireadstbviasserttriggervisa resource templatevilockviunlockgpib function sendreceive receblockreceeoidevcleartriggerwaitsrqreadstatusbytesendifc 5 visa函数详细说明:1、viopen(sesn1 ,rsrcname ,acessmode,timeout , sesn2)用途:打开与指定仪器的通话。参数说明sesn1 输入资源管理器通话(总应是由viopendefaultrm( )返回的 visa默资源理器) 。rs

8、rcname 输入资源的唯一符号名称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 t

9、imeout: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 输入

10、通话的唯一逻辑标识符。返回值: 0表示成功,其余值均表示失败。各种语言调用说明:delphi: function viclose(sesn:longint):longint; 6 c: long viclose (long sesn); vb: function viclose (byval sesn as long) as long 3、viopendefaultrm (sesn) 用途:返回与默认资源管理器的通话。参数说明: sesn 输出与默认资源管理器通话的唯一逻辑标识符。返回值: 0表示成功,其余值均表示失败。各种语言调用说明:delphi: function viopendefau

11、ltrm(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 表示成功,其余值均表示失败。各种语言调用说明:del

12、phi: 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 , commst

13、r , count , retcount) 7 用途:从仪器读数据。参数说明 : sesn 输入通话的唯一逻辑标识符。commstr 输入表示将接收数据的仪器缓冲区的存储单元。count 输入将读取的字节数。retcount 输出表示一整数的存储地址,该整数表示实际传输的字节数。返回值: 0表示成功,其余值均表示失败。各种语言调用说明:delphi: function viread(sesn:longint;readdata:pchar;count:longint; retcount:plongint):longint; c: long viread (long sesn, char *rea

14、ddata, long count, long *retcount) vb: function viread (byval sesn as long, byval readdata as string, byval count as long, lretcount as long) as long 6、viclear(sesn) 用途:使一个仪器清零。参数说明: sesn 输入通话的唯一逻辑标识符。返回值: 0 表示成功,其余值均表示失败。各种语言调用说明:delphi: function viclear(sesn:longint):longint; c: long viclear (long

15、 sesn) vb: function viclear (byval sesn as long) as long 8 7、vireadstb(sesn) 用途:读服务请求的状态字节。参数说明sesn 输入通话的唯一逻辑标识符。status 输出服务请求的状态字节。返回值: 0表示成功,其余值均表示失败。各种语言调用说明:delphi: function readstb(sesn:longint;status:psmallint):longint c: long vireadstb (long sesn, short *status) vb: function vireadstb (byval

16、sesn as long,status as integer) as long 8、viasserttrigger(sesn)用途:设置群触发。参数说明 : sesn 输入通话的唯一逻辑标识符。protocal 输入断定所用触发协议。不用置0。返回值: 0表示成功,其余值均表示失败。各种语言调用说明:delphi: function viasserttrigger(sesn:longint;protocal:integer):longint; c:long viasserttrigger (long sesn, int protocal) vb:function vasserttrigger

17、(byval sesn as long,byval protocal as integer) as long 9 9、vilock(sesn)用途:建立对指定资源的访问模式,本函数是本地封锁。参数说明: sesn 输入通话的唯一逻辑标识符。locktype 输入表示请求得锁定类型。不用,置0。timeout 输入定时时间,默认识是10 秒。requestedkey 输入不用,置0。accesskey 输入不用,置0。返回值: 0表示成功,其余值均表示失败。各种语言调用说明:delphi: function vilock(sesn,locktype,timeout:longint;request

18、edkey, 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)用途:取消

19、对指定资源的封锁,返回本地。参数说明:sesn 输入通话的唯一逻辑标识符。返回值: 0表示成功,其余值均表示失败。各种语言调用说明:delphi: function viunlock(sesn:longint):longint; c: long viunlock (long sesn) vb: function viunlock (byval sesn as long) as long 10 gpib函数详细说明:1、send(board_index,evice_address,data_buffer,byte_count,eot_mode) 用途:向仪器写数据。参数说明: board_ind

20、ex 输入不用,置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 boa

21、rd_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

22、)用途:从仪器读数据。参数说明 : board_index 输入不用,置0。device_address 输入仪器地址。data_buffer 输出将接收数据的仪器缓冲区的存储单元byte_count 输入将读取的字节数。termination 输入不用,置0。11 各种语言调用说明:delphi:procedurereceive(board_index:longint; device_address:smallint;data_buffer:pchar; byte_count:longint; termination:longint); c:void receive(long int boa

23、rd_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)用途:使一个仪器清零。参数说

24、明: 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)用

25、途:设置群触发。参数说明: 12 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_

26、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 a

27、s short); 6、readstatusbyte(board_index,address,status_byte )用途:读服务请求的状态字节。参数说明board_index 输入不用,置0。13 device_address 输入仪器地址。status_byte 输出服务请求的状态字节。各种语言调用说明:delphi:procedurereadstatusbyte(board_index:longint; device_address:smallint; status_byte:psmallint); c: void readstatusbyte(long int board_index

28、, 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。各种语言调用说明:delphi: procedure sendifc(board_index:longint); c: void sendifc(long int board_index);

29、 vb:sub sendifc(byval board_index as long); 8、receblock(board_index,_address,data_buffer,byte_count,termination) 用途:从仪器读数据块。参数:名 称方 向说 明board_index 输入不用,置0。device_address输入仪器地址。14 data_buffer 输出表示将接收数据的仪器缓冲区的存储单元byte_count 输入将读取的字节数。返回值:0 表示成功, - 1表示失败。各种语言调用说明 :delphi: function receblock(board_inde

30、x: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_buff

31、er 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表示失败。各种语言调用说明 :delphi: function receeoi(board_index:

32、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

33、 data_buffer as string, byref byte_count as integer,byval termination as integer); 15 visa函数的vb应用示例: 声明 : declare function viopendefaultrm& lib visa32.dll (sesn1&) declare function viopen& lib visa32.dll (byval sesn1&, byval rsrcname$, byval acessmode&, byval timeout&, sesn2&

34、amp;) 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

35、 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&, byv

36、al x2&) declare function vireadstb& lib visa32.dll (byval x1&, x2%) 程序:option explicit public res as string public errcode as long public visah as long public visah2 as long public datas as string public cms as string public cmslen as long private sub command1_click() 写数据dim i as long di

37、m j as integer cms = text2.text cmslen = len(cms) errcode = viwrite(visah, cms, 10, cmslen) for i = 1 to 5000 next i end sub private sub command2_click() errcode = viclose(visah) end end sub private sub command3_click() 读数据dim i as long dim j as integer datas = string(100, 0) 16 errcode = viread(vis

38、ah, datas, 10, cmslen) text1.text = datas for i = 1 to 10000 next i end sub private sub command4_click() 初始化dim i as long dim j as integer errcode = viopendefaultrm(visah2) for i = 1 to 10000 next i command4.enabled = false command1.enabled = true command2.enabled = true command3.enabled = true comm

39、and5.enabled = true end sub private sub command3_click() dim kk, gg as integer dim str as string str = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa kk = gpib_send(5, text2.text) gg = gpib_receive(5, str) text1.text = str text3.text = kk end sub private sub command4_click() dim dd as integer text1.text = fnbb(1, 2

40、) text1.text = fncccdll(1, 8) end sub private sub command5_click() dim i, j as integer res = text3.text errcode = viopen(visah2, res, 0, 10, visah) for i = 1 to 10000 next i end sub17 visa函数的vc应用示例/ dubugisadll.cpp : defines the entry point for the console application. #include stdafx.h #include std

41、io.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 _stdc

42、all 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,

43、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

44、*); typedef int (_stdcall close) (int); typedef int (_stdcall read) (int,char *,int,int *); / send * send; / receive * receive; opendefault * opendefault; 18 open * open; write * write; read * read; close * close; / hinstance dllhandle=loadlibrary(c:program filesht203pciieee488gpibgpib32.dll); hinst

45、ance 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,viopendefau

46、ltrm); 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+) errco

47、de = 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,

48、 &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; 19 visa函数的delphi 应

49、用示例unit loaddll; interface uses windows, 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 cancelbtncli

50、ck(sender: tobject); private private declarations public public declarations end; var form1: tform1; implementation $r *.dfm function viopendefaultrm(sesn1:plongint):longint;stdcall external visa32.dll; function viopen(sesn1:longint;rsrcname:pchar;acessmode:longint; timeout:longint;sesn2:plongint):l

51、ongint;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):lon

52、gint;stdcall external visa32.dll; procedure tform1.okbtnclick(sender: tobject); var myhandle,temhandle:plongint; p1,p2:pchar; retcount:plongint; readdata:pchar; i:integer; begin 20 new(myhandle); new(temhandle); new(retcount); p1:=stralloc(100*sizeof(char); strcopy(p1,gpib:5:instr); p2:=stralloc(100

53、*sizeof(char); strcopy(p2,pchar(edit1.text); viopendefaultrm(myhandle); viopen(myhandle,p1,1,10,temhandle); viwrite(temhandle,p2,10,retcount); readdata:=stralloc(200*sizeof(char); for i:=0 to 200000 do begin end; viread(temhandle,readdata,100,retcount); edit2.text :=readdata; viclose(myhandle); strd

54、ispose(p1); strdispose(p2); strdispose(readdata); dispose(retcount); dispose(temhandle); dispose(myhandle); end; 21 visa函数的labwindows/cvi 应用示例#include #include #include #include #include visa.h #include visa_cvi.h #include stdio.h static int panelhandle; int main (int argc, char *argv) if (initcvirt

55、e (0, argv, 0) = 0) return -1; /* out of memory */ if (panelhandle = loadpanel (0, visa_cvi.uir, panel) 0) return -1; displaypanel (panelhandle); runuserinterface (); discardpanel (panelhandle); return 0; int cvicallback examplebtn (int panel, int control, int event, void *callbackdata, int eventdat

56、a1, int eventdata2) long int myhandle,temhandle; char p1100,p2100; long int retcount; char readdata200; char cmdstr200; switch (event) case event_commit: /printf(test); strcpy(p1,gpib:5:instr); getctrlval (panelhandle, panel_cmdstr,cmdstr); strcpy(p2,cmdstr); viopendefaultrm(&myhandle); viopen(m

57、yhandle,p1,1,10,&temhandle); viwrite(temhandle,p2,10,&retcount); vireceblock(temhandle,17,readdata); /viread(temhandle,readdata,100,&retcount); setctrlval (panelhandle, panel_string, readdata); viclose(myhandle); break; return 0; 22 gpib函数的vb应用示例private sub command1_click() dim kk, gg as

58、 integer dim str as string dim count as integer str = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa str = string(50000, 0) 一般发送和接收的例子* init send 0, 18, id?;, 0, 0 “5”是设备地址,*idn?是指令串receive 0, 18, str, 0, 0 str为接收数据缓冲区text1.text = str * 块接收的例子(频谱仪8561 系列)* init send 0, 18, fa 100 mhz;fb 200 mhz;, 0, 0 send

59、 0, 18, tdf p;tra?;, 0, 0 for kk = 0 to 1000 延时next kk gg = receblock(0, 18, 4207, str) 18是地址, 4207 是接收的字节数,str为接收数据缓冲区gg = receeoi(0, 18, str, count, 0) count是返回的字节数,receblock 和 receeoi两者选一 返回值 gg 为零时接收数据完整,-1 为错误返回23 gpib函数的vc应用示例/ dyndlldialog.cpp : implementation file #include stdafx.h #include

60、isa2mfcexa.h #include dyndlldialog.h #include windows.h #ifdef _debug #define new debug_new #undef this_file static char this_file = _file_; #endif / cdyndlldialog dialog cdyndlldialog:cdyndlldialog(cwnd* pparent /*=null*/) : cdialog(cdyndlldialog:idd, pparent) /afx_data_init(cdyndlldialog) m_iaddr = 5; m_strcommand = _t(f0r1x); m_strresult = _t(); /afx_data_init void cdyndlldialog:dodataexchange(cdataexchange* pdx) cdialog:dodataexchange(p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论