《虚拟仪器程序设计及应用》实验_第1页
《虚拟仪器程序设计及应用》实验_第2页
《虚拟仪器程序设计及应用》实验_第3页
《虚拟仪器程序设计及应用》实验_第4页
《虚拟仪器程序设计及应用》实验_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

《虚拟仪器程序设计及应用》实验

指导书

目录

实验1熟悉LabVIEW编程环境

实验1-1LabVIEW的基本操

作................................................1

实验2控件与程序框图应用

实验2T虚拟仪器前面板的设

计..............................................5

实验2-2编写简单的LabVIEW程

序............................................6

实验3子VI程序设计及调试程序技巧

实验3-1创建子程

序8

实验3-2子程序的调

用....................................................10

实验4程序结构(1)

实验4T使用for循环结

构................................................14

实验4-2使用while循环结

构..............................................16

实验5程序结构(2)

实验57使用条件结

构......................................................18

实验5-2使用顺序结

构......................................................19

实验5-3使用事件结

构......................................................20

实验6数据的表达与图形显示

实验6-1WaveformGraph的应

用..............................................23

实验6-2比较WaveformChart和Waveform

Graph..............................24

实验6-3使用XYGraph显示图

形............................................26

实验6-4公式节点及图形显

示................................................27

实验6-5虚拟信号发生

器....................................................28

实验7应用程序

实验7-1控制仿真

实验7-2数制变换及计数仿真

实验7-3频率响应函数与数字滤波实

验........................................35

实验1熟悉LabVIEW编程环境

实验1-1LabVIEW的基本操作

目的:创建一个VI程序,完成两个数加、减、乘、除法的运算功能。

在数值输入控件中输入两个操作数A和B,运行程序计算出这两个数的加、

减、乘、除法运算结果,并且显示到相应的数值显示控件中。

实验步骤:

前面板

1.打开LabVIEW,点击New…按钮,再选择BlanckVI并确定,新建一空白

VI<,

2.在前面板上单击鼠标右键,从打开的控件旗板中选择数值输入控件,并放

置在前面板上。

3.鼠标左键双击该控件上方的标签

Jo

,待标签处于可改写状态时,将标签箜为“A"o

4.重复上面2,3的步骤,建立另一个数值输入控件并改名为“B”。

5.建立4个数值显示控件,分别用来显示加、减、乘、除的运算结果。该控

件位置见下图:

6.将前面板上所有控件按图对齐排列,完成后的前面板如下图。

框图程序

1.从Windows菜单下选择ShowDiagram功能打开框图程序窗口。

2.将图标按图示进行排列。

3.点击框图程序窗口的空白处,弹出功能模板,从弹出的菜单中选择所需的

对象放置到框图中。本程序用到下面的对象:

加运算节点、减运算节点、乘运算节点、除运算节点。

I”QtAK*lyi»»弧tHAVs«rLiWa.

•尸

o«ATIOM.QICiCw^uitca

CtrlKa>r«t>Im«ri:

5*■•ric■I[同[同

Faml*$4«1«Atao

A>眇

A44StUrxt・3"〃y

B>B>困劭

C«e,〃ud1Trie9M*■Qrie

Aa回

VBZL«c«r>t)»ic

“MT.110(7«C^«5<U«lyZa

am/P.

□.

Q3

>w*CcoatCcait«&<«

仲DD)OK

4.将所有对象用连线连接起来,完成后的程序框图如下。

运行、测试程序

1.选择前面板窗口,使之变成当前窗口。在数值输入控件A和B中各输入

一各数值,然后单击工具栏上运行按钮

运行VI程序,观察运算结果。修改A和B的值,再次运行程序。

2.点击连续运行按钮

,便程序运行于连续运行模式。此时修改A、B的值,则立即会运算出相应的结

果。

3.再点击连续运行按钮,关闭连续运行模式。

4.文件命名为Computer.Vi并保存。

实验2控件与程序框图应用

实验2-1虚拟仪器前面板的设计

目的:掌握虚拟仪器前面板的设计。

通过此实验熟悉常用控件的取用,对其进行简单设置以及界面布局。

实验步骤;

QM»NltC«fiKMH«.viFrontP»ol.

匕1・Qp«r«t«lr*vs«lirric*M«1F

刖面板

1.最终完成的界面如上图。从控件模板中找到各个控件,并放置到前面板

2.对各个控件外观、类型和行为进行设置,设置结果如图所示。

调节步长:修改其刻度颜色、标度数值颜色;

设定高度:显示数值显示框;

实际液位:显示数值显示框;

压力:增加指针,并修改刻度颜色,显示指针数值;

温度:显示数值显示框;

液位超标:为一LED控件。当为True时,显示绿色;当为False时,显示红

色;

3.将第一行5个控件顶端对齐,水平中心分布,并组合在一起。

4.将左下角3个控件左对齐,垂直中心分布,并组合在一起。

5.将这两组控件和图像显示件组合在一起并锁定。

6.文件命名为FrontPancl.Vi并保存。

实验2-2编写简单的LabVIEW程序

目的:编写程序,实现将一华氏温度(F)转换成摄氏温度(C)的功能。

已知摄氏温度与华氏温度的关系C=5(F—32)/9。

实验步骤:

前面板:

1.程序界面如上图,放置一数值输入控件和一温度计显示件,然后再放置一

个STOP按钮。

2.如图修改设置各控件的数值范围,并显示各控件的数值显示框。

框图程序:

程序框图如上图。注意将STOP按钮同While循环的控制端口相连接。

运行、测试程序

1.单击工具栏上运行按钮

运行VI程序,更改数值输入控件的值,观察程序运行的情况。

2.文件命名为F2C.Vi并保存。

实验3子VI程序设计及调试程序技巧

实验3-1创建子程序

目的:创建一个VI程序,以便以后作为子VI程序使用。

创建一个VI程序模拟温度测量,也可以用摄氏温度来代替华氏温度显示。

本程序用软件代替了DAQ数据采集卡。使用RandomNumber来仿真电压的测

量值,然后转换成摄氏或华氏温度读数。

前面板:

1.用File菜单的New选项打开一个新的前面板窗口。

2.把温度计指示部件放入前面板窗口。

在前面板窗口的空白处点击鼠标键,然后从弹出的Numeric子模板中选择

Thermometero

在高亮的文本框中输入“温度计”,再点击鼠标键按钮。

3.在前面板窗口中放入竖直开关控制。

在面板窗口的空白处点击鼠标键,然后弹出的Boolean子模板中选择

VerticalSlideSwitch,在文本框中输入“温度值单位”,再点击鼠标键或者工具

栏中的“按钮。

使用标签工具

,在开关的“条件真”(true)位置旁边输入自由标签“摄氏”,再在“条件假”

(false)位置旁边输入自由标签“华氏”。

框图程序:

1.从Windows菜单下选择ShowDiagram功能打开框图程序窗口。

2.点击框图程序窗口的空白处,弹出功能模板,从弹出的菜单中选择所需

的对象。本程序用到下面的对象:

RandomNumber(随机数)。在本例中,模拟从DAQ卡读取0-IV电压值。

Multiply(乘法)功能(Programming>Numeric子模板)。在本例中,将读

取电压值乘以100.00,以获得华氏温度。

Subtract(减法)功能(Programming>Numeric子模板)。在本例中,从华

氏温度中减去32.0,以转换成摄氏温度。

Divide(除法)功能(Programming>Numeric子模板)。在本例中,把相减

的结果除以1.8以转换成摄氏温度。

Select(选择)功能(Programming>Comparison子模板)。取决于温标选择

开关的值。该功能输出华氏温度(当选择开关为false)或者摄氏温度(选择开关

为True)数值。

3.使用移位工具(Positioningtool),把图标移至图示的位置,再用连

线工具连接起来。

4.选择前面板窗口,使之变成当前窗口,并运行VI程序。点击连续运行按

,便程序运行于连续运行模式。

5.再点击连续运行按钮,关闭连续运行模式。

6.创建图标Temp:

此图标可以将现程序作为子程序在其他程序中调用。创建方法如下:

在面板窗口的右上角的图标框中点击鼠标,从弹出菜单中选择EditIcon功

能。

双点选择工具,并按下Delete键,消除缺省的图标图案。

用画图工具画出温度计的图标。

使用文本工具写入文字,双击文本工具把字体换成SmallFonto

当图标创建完成后,点击OK以关闭图标编辑。生成的图标在面板窗口的右上

角。

7.创建联接器端口:

点击右上角的图标面板,从弹出菜单中选择ShowConnector功能。LabVIEW

将会根据控制和显示的数量选择一种联接器端口模式。在本例中,只有两个端口,

一个是竖直开关,另一个是温度指示。

把联接器端口定义给开关和温度指示。

使用连线工具,在左边的联接器端口框内按鼠标键,则端口将会变黑。再点

击开关控制件,一个闪烁的虚线框将包围住该开关。

现在再点击右边的联接器端口框,使它变黑。再点击温度指示部件,一个闪

烁的虚线框将包围住温度指示部件,这即表示着右边的联接器端口对应温度指示部

件的数据输入。

8.文件命名为Thermometer.Vi并保存。

实验3-2子程序的调用

目的:使用一个条件循环结构和一个被测波形图表实时地采集数据。

创建一个VI程序,进行温度测量,并把结果在波形图表上显示。该VI程序

使用我们前面创建的温度计程序(Thermometer.VI)作为子程序。

前面板:

温度历史趋势

Enabel

OFF

温度值单位

打开一个新的前面板窗口,在里面放一个开关(在Boolean逻辑部件子模

板),给该开关标注为“Enable"。你可以用该开关来开始/停止数据采集。

1.在前面板内再放置一个趋势图(Graph子模板中的WaveformChart),标

注为“温度历史趋势”。该图表将实时地显示温度值。

2.由于趋势图将它的图标注解plot自动地标注为“plot0”,用标注工具

将其重新标注为“Temp”。

3.因为趋势图用于显示室内温度,需要对它的标尺进行重新定标。将Y轴的

最大值改为“90”,而将最小值改为“20”。

4.此时暂时不要创建模式转换开关,我们将从框图程序窗口创建前面板的部

件。

框图程序:

1.打开框图程序窗口。

2.从结构(Structures)工具模板选择条件循环结构“WhileLoop”放入框

图程序窗口,调整该条件循环框的大小,把先前从前面板创建的两个节点放入循环

框内。

3.放入其它的框图程序对象。ThermometerVT,这个VI程序是你在上个练

习中创建的(从SelectaVI…子模板)。

4.按照上图的框图程序连好线。

5.创建“温度值单位”开关。把连线工具放在ThermometerVI的“温度值

单位”输入端口上,按鼠标右键并选择CreatControl,这样就可以自动创建“温

度值单位”转换开关,并将它与ThermometerVI子程序相连线,再转换到前面板

窗口,将“温度值单位”开关的位置重新调整。

6.在前面板窗口,使用标注工具,为“温度值单位”创建“摄氏”、“华

氏”标签。

7.运行程序。耍停止数据采集,点击Enable开关,使其状态变为OFF,循

环结束。

8.修改Enable开关缺省设置,使你运行VI程序时不必每次打开该开关。

若程序在运行状态,则关闭程序运行。

把开关设置为ON状态。

点击开关,从弹出菜单中选择DataOperations>MakeCurrentValue

Default选项,这将使ON状态变为缺省值。

再点击开关,从弹出菜单中选择MechanicalAction>LatchWhenPressed选

项。

9.运行该程序,观察Enable开关的变化。

10.如图所示,使VI程序采样间隔为500毫秒。

11.使用Time&Dialog子模板中的WaitUntilNextmsMultiple功能,

再加上时间常数NumericConstant,把它设置为500。

12.运行上述程序,试用不同的时间间隔值。

13.关闭并保存上述程序,文件名为TemperatureMonitor.vi

实验3-3程序调试技巧

目的:使用LabVIEW内置调试工具。

加载一个断开的VI,并纠正错误。使用单步执行和高亮显示执行过程分步执

行VI。

1.打开和检查调试练习.vi。

这时出现以下的前面板:

AiA迷缘FrontPanel口同国

Eil«EditYE>r«j«cta«r2'XRsXaUc«4Ip

注意:工具栏上的运行按钮将显示为断开,提示该VI已断开,无法运行。

2.显示并检查调试练习.vi的程序框图。

3.找出并修改每一个错误。

单击断开的运行按钮,打开错误列表窗口,该窗口列出了所有错误。

在错误列表窗口中选择一个错误说明。详细信息描述了错误信息,有时还会

建议如何纠正错误。

单击帮助按钮,可显示LabVIEW帮助中对错误的详细描述和纠正错误步骤的

相关主题。

单击显示错误按钮或双击错误描述,可高亮显示程序框图或前面板中包含错

误的区域。

4.诜择文件》保存保存VI。

5.单击前面板或选择窗口》显示前面板,打开VI的前面板。

6.单击运行按钮。

7.选择窗口》显示程序框图,打开程序框图。

8.通过程序框图可以观察到数据的流动情况。

单击工具栏上的高亮显示执行过程按钮

,启用高亮显示执行过程。

单击单步步入按钮

,开始单步执行。高亮显示执行过程通过沿连线移动的圆点,显示数据在程序框图

上从一个节点移动到另一个节点的过程。闪烁的节点表示已经准备好开始执行。

在每一个节点后单击单步步过按钮

,单步执行整个程序框图。每次单击单步步过按钮,当前节点就会执行,并在下一

个节点处暂停。

单步执行VI时,数据会显示在前面板上。

当闪烁边界出现在整个程序框图的周围时,单击单步步出按钮

,可停止单步执行调试练习.vi。

9.单步执行VI和其子VI。

单击单步步入按钮,开始单步执行。

调试练习子程序.vi闪烁时,单击单步步入按钮,注意子VI上的运行按钮

单击调试练习.vi的程序框图,在该框图的子VI图标上会出现一个绿色的符

合,提示子VI正在运行。

单击单步步出按钮两次,完成单步执行子VI程序框图,主程序的框图处于活

动状态。

单击单步步出按钮,结束单步执行。

10.VI运行时,使用探针检查连线上的中间值。

使用探针工具

单击任意连线。显示探针窗口。

LabVIEW将自动计算探针窗口数,并在单击的连线上的符号中显示相同的

值。

再次单步执行VI。探针窗口会显示经过连线的数据。

11.在程序框图上放置断点,以便在该位国中止执行。

使用断点工具

单击节点或连线。在程序框图上放置一个断点,程序框图会在所有节点执行后暂停

执行。

单击运行按钮,运行VI。程序执行到一个断点时,VI将暂停执行,同时工具

栏上的暂停按钮

将显示为红色。

单击继续按钮,继续运行到下一个断点处或直到VI运行结束。

使用断点工具单击设置的断点,并删除它。

12.单击高亮显示执行过程按钮,禁止执行过程高亮显示。

13.选择文件》关闭,关闭VI和所有打开的窗口。

实验4程序结构(1)

实验4-1使用for循环结构

目的:学习使用砧r循环结构.

使用3种编程算法,计算0到99之间所有偶数的和。

前面板:

1.放置三个数值显示件。

2.将三个数值显示件分别命名为计算方法1、2、3o

框图程序:

1.按图示分别完成三种算法的程序框图,掌握移位寄存器的使用,并注意编

程同时分析比较三种算法。

2.计算方法3中使用了函数Quotient&Remainder,其功能是求输入两数

的余数,在此用作计算循环变量i与2的余数是否为0(即判断i是否为偶数)。

3.将程序命名为ForLoop.vi,并保存。

【练习与思考】:

用For循环产生4行100列的二维数组,数组成员如下:

1,2,3........100

100,99,981

6,7,8105

105,104,103...6

从这个数组中提取出2行50列的二维数组,数组成员如下:

50,59,48...1

56,57,58...105

将这两个数组用数组显示件显示在前面板上。

实验4-2使用while循环结构

目的:学习使用while循环结构。

用while循环,实现输入数N,计算N!。

前面板:

如上图完成前面板并给控件命名。

框图程序:

1.按图示分别完成程序框图,掌握反馈节点的应用。

2.将程序命名为WhileLoop.vi,并保存。

实验5程序结构(2)

实验5-1使用条件结构

目的:学习使用条件结构(Cas。Structure)。

建立程序以检测温度是否超出范围,当温度超出上限时或下限时,前面板上

的报警LED将点亮,并显示当前的温度状态为“温度过高”或“温度过低”。在范

围内时温度状态为“温度正常”。

前面板:

1.使用WaveformChart显示实时温度和上、下限值。并且如图进行配置。

2.添加两个数值输入件,作为“温度上限”、“温度下限”的输入。

3.添加一个LED显示件,作为报警指示。报警时为红色,正常时为绿色。

4.添加文本显示件,命名为“当前温度状态”。

温度上限温度下限当前温度伏态

§85:,;80溟度过高

温度实时曲线

温度

上陶

下限

框图程序:

1.上图为不完整的程序框图,其中Case结构只给出了True分支。请分析程

序功能,完成未给出的程序实现功能。主要实现温度值与上下限的比较,然后输出

“温度过高”,“温度过低”,“温度正常”的状态文本,实现对“报警”指示灯

的控制。

2.将程序重新命名为TemperatureControl,vi,并保存起来。

【练习与思考】:

创建一个VI,计算用户输入数值的平方根。如果输入数值是负数,向用户显

示下列信息:错误……负数没有平方根。

实验5-2使用顺序结构

目的:学习使用顺序结构(SequenceStructure),>

用For循环产生一个长度为1000000(1百万)点的随机波形,并计算所用时

间。

前面板:

1.使用WaveformChart显示随机数波形,并且如图进行配置。

2.添加一个数值显示件,命名为“用时”。

夜Sequence.viFrontPanel同回区

EditQpertteloolsJrwieI>ndw

|||12ptCourierNewBaltic▼」回到回四

框图程序:

Sequence.viBlockDiacraa

1.使用顺序结构实现,其中用TickCount函数获得当前时间。

2.试将上图的平铺式顺序结构(FlatSequenceStructure)改为层叠式顺序

结构(SlackedSequenceStructure)0

3.将程序命名为Sequence.vi,并保存起来。

实验5-3使用事件结构

目的:学习使用事件结构(EventStructure)<,

使用事件结构实现对定义事件的响应,并把响应事件在“捕获的事件”字符

串显示件中进行显示说明,若等待超过3秒仍然无事件发生,则显示“3秒等待超

时”。

前面板:

1、添加控件:

(1)字符串控件,命名为“文本框”

(2)开关控件,命名为“开关”

(3)滚动条控件,命名为“滚动条”

(4)字符串显示件,命名为“捕获的事件”

(5)STOP按钮挖件

2、”捕获的事件”上点击鼠标右键,选择

VisibleItems—>Scrollbar,显示滚动条。

框图程序:

1.程序框图采用While循环和事件结构嵌套的结构实现。

2.ConcatenateStrings函数:合成字符串。

3.将事件结构超时等待端口赋值为3000,即等待3秒。

4.编辑事件结构,添加需要响应的事件,总计5个事件,完成后如下图:

-团[[0]Timeout一•IIR

~y[0]TimeoutK

[1]“文本椎":KeyDown氐

[2]"开关":ValueChange

||Type|⑶“滚动条":ValueChange

[4]"stop":ValueChange

5.对每个事件子框图分别编程。如下列图示:

6.完成程序所有连线,运行程序检测分析程序功能。

7.将程序命名为EventTracking,vi,并保存起来。

实验6数据的表达与图形显示

实验6-1WaveformGraph的应用

目的:学习WaveformGraph节点的用法。

功能描述:见教材P209—214页。以不同参数显示正弦和余弦曲线。

前面板:

WaveformGrtph

075-

4>0.25-

np

~0-

-0.25-

-0.5-

400600

Tine

框图程序:

口国

i.完成程序所有连线,运行程序。

2.按照教材P213—214页的方法将当前显示的波形存储为图片文件。

3.保存为UseWaveformGraph,vi0

实验6-2比较WaveformChart和WaveformGraph

目的:以图表方式显示数据并使用分析功能子程序。

利用Thermometer,vi子程序,在数据采集过程中,实时地显示数据。当采集

过程结束后,在图表上画出数据波形,并算出最大值、最小值和平均值。该练习只

使用华氏温度单位。

前面板:

实时曲线

«*p

n

I

d

f

分析曲线

最大值

87.4023

最小值

79.5898

平均值

83.7072

STOP(

1.添加WaveformChart,命名为“实时曲线”;添加WaveformGraph,命

名为“分析曲线”。

2.按照上图添加最大值、最小值、平均值三个数值显示件。

“实时曲线”显示实时采集的数据。采集过程结束后,在“分析曲线”中商

出数据曲线,同时在“最大值”、“最小值”和“平均值”数字显示件中显示出温

度的最大值、最小值和平均值。

求数把量大、

最小值函敷

框图程序:

求平均依函数

1.完成上面的框图程序。使用While循环,且输出端口使用索引功能。

其中:

ArrayMax&Min函数:求数组最大、最小值。

Mean函数:求平均值。

2.程序命名为TemperatureAnalysis,vi并存盘。

【练习与思考】:

在一个Chart中显示3条曲线,分别用红、绿、蓝3种颜色表示范围0〜1、

0〜5和0〜10的3个随机数。

实验6-3使用XYGraph显示图形

目的:了解XYGraph节点的用法。

功能描述:使用XYGraph控件显示两个同心圆,圆半径分别为5和10。

前面板:

(1)前面板设计。

Ontitled1FrontPanel■Six

F>1«Edit0p«r«t6ToolsBrovzaVindovHelp

可回6回12PtApplicationFont

(2)自行设计后面板程序,实现上述功能。

(3)保存为UseXYGraph.vio

实验6-4公式节点及图形显示

目的:学习使用公式节点及图形显示。

功能描述:编写计算以下等式的程序:

yl=x3—x2+5

y2=m*x+b

x的范围是0〜10,输入m,b,yl和y2用数组输出结果,并以图形方式显

示。

前面板:

9。

b

9。

二I

f

完成上面的框图程序。

保存为FormulaVI.vi。

实验6-5虚拟信号发生器

目的:制作一个虚拟正弦波仿真信号发生器。

功能描述:该正弦波仿真信号发生器可产生正弦信号。指标如下:

频率范围:0Hz〜100Hz,可选。

初始相位:0°〜180。,可选。

幅值:0〜5.0V,可选。

前面板:

框图程序:

调整不同数值输入,观察波形变化。文件保存为SinVLvi。

实验7程序应用

实验7-1控制仿真

1.功能描述

简单模拟工业控制过程,以动画形式显示。

2.设计提示

(1)前面板设计。

Enum控件

前面板上放置Enum控件,在该控件中输入4个选择项:准备、加水、加压和加

热。该控件实际用来控制4个Case的选择,进而控制3个指示灯和水罐、压力表

和温度计的自动加1调整。

(2)后面板设计。

左侧的顺序结构用来进行初始化工作,将初值设置为0。右边从Case子框图

见以下4图。

(3)保存为Sim.vi。

实验7-2数制变换及计数仿真

1.功能描述

模拟十进制数到二进制数的转换过程,以LED来模拟各个二进制位,并能以

动画方式模拟计数的过程。

选择手动方式时,将8个LED变成滑动条中数字的二进制(基数2)表示。

例如,如果滑动条设置为数字10(在二进制中表示为00001010:(23)+

(21)),LED的1和3点亮,其他LED为熄灭。

选择自动方式时,滑动条自动进行加1操作,实现0到255的循环计数;同

时8个LED会实时显示滑动条数值所对应二进制数值。当滑动条大于255时,自动

回。并重新由0开始计数。

2.设计提示

(1)前面板设计。

创建前面板,该前面板具有1个开关控件、1个水平滑动条控件和8个LED

指示器。显示滑动条的数字指示器,确保LED均匀分布并且排列在底部。

【提示】可利用对象的复制功能完成8个LED并

温馨提示

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

评论

0/150

提交评论