S7300PLC中FB43PWM算法开放源程序设计毕业设计_第1页
S7300PLC中FB43PWM算法开放源程序设计毕业设计_第2页
S7300PLC中FB43PWM算法开放源程序设计毕业设计_第3页
S7300PLC中FB43PWM算法开放源程序设计毕业设计_第4页
S7300PLC中FB43PWM算法开放源程序设计毕业设计_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、南阳理工学院本科生毕业设计(论文)s7-300 plc中fb43 pwm算法开放源程序设计the design of fb43 pwm algorithm open souce in s7-300 plc总 计: 35 页表 格: 6 个插 图: 24 幅南 阳 理 工 学 院 本 科 毕 业 设 计(论文)s7-300 plc中fb43 pwm算法开放源程序设计the design of fb43 pwm algorithm open source design in s7-300 plc学 院(系): 电子与电气工程学院 专 业: 自动化 学 生 姓 名: 学 号: 指 导 老 师: 评

2、阅 老 师: 完 成 日 期: 南阳理工学院nanyang institute of technologys7-300 plc中fb43 pwm 算法开放源程序设计s7-300 plc中fb43 pwm算法开放源程序设计自动化专业 摘 要 在温度过程控制中,时间比例输出即pwm是主要的控制方式。s7-300 plc中有pwm模块fb43,但是源程序不公开。本设计仿照fb43的功能和形式,用梯形图语言自主编写pwm模块。程序结构主要设计了两个循环:一个是内循环,调用周期脉冲个数的循环;另一个是外循环,输出正脉冲个数循环。用自主设计的pwm模块和fb41 pid模块配合进行锅炉温度控制,完全实现了

3、时间比例输出的控制功能。自主设计的源程序加有详细的算法说明和注释,可以作为自动化教学科研的技术资料,也可以代替fb43用于工程控制。关键词 脉宽输出;三级控制;二级控制;手动控制the design of fb43 pwm algorithm open source design in s7-300 plcautomation specialty yang li-yiabstract: in the temperature process control, the output of time scale that is pwm is the main control mode. there

4、is module of pwm which is fb43 in s7-300 plc ,but the source program is not public. this design imitated the function and form of fb43 and programmed the module of pwm independently by the means of ladder diagram. this program consists of two loops. one is the inner for loop-the number of pulse in a

5、 period, the other is outside loop-the number of the positive. independently designed module of pwm acted in concert with the module of fb41 pid to carry through the temperature control of boiler. and it finally realized the time proportioning control. indecently design has detailed description. it

6、is can be used for education and research of automatics, it also can be used for engineering control take the place of fb43.key words: pulse with output; three step signal on; two step signal for bipolar manipulated value on; manual control - i -目 录1 引言11.1 国内外研究现状11.2 课题研究的意义12 西门子中fb43功能13 西门子fb43

7、参数意义23.1输入变量inv23.2周期时间per_tm23.3最小脉冲时间p_b_tm23.4 比率因子ratiofac23.5 三级控制step3_on33.6 二级控制st2bi_on33.7 手动控制man_on43.8 正脉冲输入pos_p_on43.9 负脉冲输入neg_p_on53.10 自动同步syn_on53.11完全重启动com_rst53.12 采样时间cycle63.13 qpos_p63.14 qneg_p63.15 fb43参数简述64 数据处理和转化74.1 数据类型74.2数据的处理75 “仿fb43”算法思想85.1运行模式的参数设置85.2 二级控制器85

8、.3 三级控制器85.4 对fb43时间的理解95.5 脉冲宽度的算法思想解析96 “仿fb43”pwm算法的程序流程图“97 “仿fb43”的建立、调用和设计107.1 背景数据块的建立和调用107.2 功能块“仿fb43”的建立和调用117.3 功能块“仿fb43”的编写127.4 “仿fb43”数据转化方法137.5 “仿fb43”的程序设计137.5.1 程序的初始化137.5.2 手动控制137.5.3 自动控制下的数据类型转化147.5.4 三级控制147.5.5 双极性控制和单极性控制147.5.6 脉冲宽度计算147.5.7 自动同步147.5.8 正脉冲个数计算147.5.9

9、 脉冲输出的控制147.5.10 循环147.5.11 输入变量的接收148 “仿fb43”的功能测试148.1 “仿fb43” pwm 输出效果148.2 “仿fb43”的变量监控159“仿fb43”的性能测试169.1 手动性能测试169.2 “仿fb43”的三级控制性能测试179.3 “仿fb43”的双极性控制性能测试189.4 “仿fb43”的单极性控制性能测试19结束语21参考文献22附录23致谢35- iii -1 引言1.1 国内外研究现状fb43 pwm算法模块国外已经研究出来多年,可就是不肯将源程序告知中国同行。例如西门子公司早就在这方面做的比较好。已经充分考虑各种各样的实际

10、情况,充分满足了实际工作需要。国内现在对pwm的开放源程序也一无所知,西门子公司对与前来询问者以商业机密为由拒绝告知源程序。国内的同行只能使用而没有自主研发的机会,可能西门子怕国内仿制能力太强,影响他们在中国的发展。虽然国内有人搞过这方面的研究,但他们的算法还有不少瑕疵。1.2 课题研究的意义plc是主流的自动化控制器,现在还能广泛用于过程控制1。在温度过程控制中,时间比例输出即pwm是主要的控制方式,主要用到继电器/接触器等执行器。但是继电器/接触器控制动作的启停需要比较复杂的逻辑。西门子step 7中fb43 pulsgen算法模块设计完善,具有14 个参数,但是算法源程序不公开,给使用者

11、带来一定的困难。本题目要求仿照西门子step 7中fb43 算法模块,设计一个相同功能和形式的pwm算法。这种自编的pwm算法具有算法研究和工程实际的双重意义。2 西门子中fb43功能fb43(脉冲发生器)与pid控制器配合使用,用脉冲输出来控制比例执行机构。该功能一般与连续控制器fb41一起使用,用fb43可以构建脉冲宽度调制的二级或三级pid控制器。如图1所示。图 1 fb43与fb41配合作为连续控制器fb43通过调制脉冲宽度,将输入变量inv(即pid控制的输出量lmn)转换为既有恒定周期的脉冲列,该恒定周期用周期时间per_tm来设置,per_tm应与cont_c的采样周期cycle

12、相同2。每个周期输出的脉冲宽度与输入变量inv成正比,per_tm与 fb43的处理周期是不同的,per_tm是fb43处理周期的若干倍。每个per_tm周期调用fb43的次数反映了脉冲宽度的精度3。如图2所示。图 2 脉宽调制3 西门子fb43参数意义3.1输入变量inv 模拟调节值被连接到输入参数的输入变量。比如inv的值为40,输出40%的状体为1和60%的状态为0。即在一个周期时间内现输出为1的状态,在输出为0的状态。输入变量inv是一个以%为单位的实型数据4。3.2周期时间per_tm脉冲调制的周期时间用per_tm这个参数来输入,这对应于控制器的采样周期,脉冲发生器的采样时间与控制

13、器的采样时间的比率决定了脉冲发生器的控制输出精度。周期时间per_tm应该与fb41的采样时间cycle相等。3.3最小脉冲时间p_b_tm最小脉冲或最小断开时间:一个适当的最小脉冲或最小断开时间p_b_tm可以防止短暂开/关的次数,避免由此而降低开关元件和执行器的工作寿命。所以说最小脉冲周期不是随便设置的,必须根据程序和硬件装备,经过精心调试后才行。如果由输入变量lmn上的小绝对值产生的脉宽小于最小脉冲输出p_b_tm,那么将抑制该值。导致输出直接为零。而对于大的输入值,如果由它产生的脉宽大于(per_tm -p_b_tm),则将它设置为100 %或-100 %,即全周期输出5。3.4 比率

14、因子ratiofac输入参数“比率因子”可用于改变负脉冲和正脉冲持续时间的比率。比例因子的默认值是1.0。3.5 三级控制step3_on“三步控制开启”输入参数用于激活三步控制模式。在三步控制中,两个输出信号都是有效的。默认值是true。在“三步控制”模式中,驱动信号可以采用三种状态量。根据执行器的状态给输出信号qpos_p和qneg_p的二进制值赋值。表1给出了一个温度控制实例。表 1 温度控制信号的状态 执行器输出信号加热关闭冷却qpos_ptruefalsefalseqneg_nfalsefalsetrue3.6 二级控制st2bi_on双极调节值范围的两步控制开启,通过输入参数“双极

15、调节值的两步控制开启”,可以在“双极调节值的两步控制”和“单极调节值的两步控制”之间进行选择。此时必须设置参数step3_on =false,二级控制默认值即缺省值是false。在两级控制中,只将pulsegen的正脉冲输出qpos_p连接到开/关执行器上。根据所使用的调节值范围,二级控制器可以有双极或单极调节值范围。双极性控制如图3所示,单极性控制如图4所示。根据图3和图4可以总结推理二级控制的脉冲宽度计算方法。图 3 具有双极性调节范围的特征曲线图 4 具有单极性调节值范围的特征曲线3.7 手动控制man_on手动模式开启通过设置输入参数“手动模式开启”,就可以手动设置输出信号。如图5所示

16、。在手动模式下三级控制器和二级控制器的输出可以用pos_p_on和neg_p_on来设置,而与输入量inv无关。如表2所示。图 5 fb43的框图表 2 手动控制的输出pos_p_onneg_p_onqpos_pqneg_p三级控制falsetruefalsetruefalsefalsetruetruefalsetruefalsefalsefalsefalsetruefalse二级控制falsetrue任意值任意值falsetruetruefalse3.8 正脉冲输入pos_p_on正脉冲开启在三步控制的手动模式中,可以在输入参数“正脉冲开启”上置位输出信号qpos_p。在两步控制的手动模式中

17、,qpos_p和qneg_p的设置必须始终相反。在此种情况下,不考虑fb43的输入inv。inv的数据不影响输出信号状态。3.9 负脉冲输入neg_p_on负脉冲开启在三步控制的手动模式中,可以在输入参数“负脉冲开启”上置位输出信号qneg_p。在两步控制的手动模式中,qneg_p和qpos_p的设置必须始终相反。在此种情况下,不考虑fb43的输入inv。inv的数据不影响输出信号状态。3.10 自动同步syn_on可以使用更新输入变量inv的块来同步脉冲输出,从而保证输入变量的变化能尽快的以正脉冲的方式输出。脉冲发生器以per_tm设置的时间间隔为周期,将输入值inv转换为对应宽度的脉冲信号

18、。但是由于计算机inv的循环中断优先级较低,因此在inv更新后,脉冲发生器尽快将新的值转换为脉冲信号。为此,功能块调用下述方式对输出脉冲的起动同步:如果inv发生了变化,并且对fb43的调用周期用不在输出脉冲的第一个或最后两个调用周期中,将进行同步,重新计算脉冲宽度,并在下一个循环中输出一个新的脉冲6。如图6所示。自动同步功能的实现要在不相等的条件下才能验证。如果接受数据和inv一直相等,便无法验证自动同步功能。图 6 周期起始点的同步令fb43的输入量syn_on=false,可以关闭同步功能。3.11完全重启动com_rst该块有一个完全重启动例行程序,在置位了输入“完全重启动”时执行该例

19、行程序。在fb43的初始化程序在输入参数com_rst为1时运行,所有输出信号都被设置为0。3.12 采样时间cycle块调用之间的时间间隔必须恒定。“采样时间”输入指定了块调用之间的时间间隔。3.13 qpos_p输出正脉冲,当要输出脉冲时,置位输出参数“输出正脉冲”。在三步控制中,始终输出正脉冲。在两步控制中,qpos_p和qneg_p的设置必须始终相反。3.14 qneg_p输出负脉冲,当要输出脉冲时,置位输出参数“输出负脉冲”。在三步控制中,始终输出负脉冲。在两步控制中,qneg_p和qpos_p的设置必须始终相反7。3.15 fb43参数简述fb73参数如表3所示。表 3 fb43参

20、数简述参数数据类型取值范围缺省描述invreal-100+1000.0输入变量模拟调节值被连接到输入参数 “输入变量”per_tmtime=20*cyclet#1s周期时间脉宽调制的固定周期“周期时间”输入参数输入。这对应于控制器的采样时间看。脉冲发生器采样时间和控制器采样时间的比率决定了脉冲调制的宽度.p_b_tmtime=cyclet#50ms最小脉冲/断开时间可以在输入参数“最小脉冲或者最小断开时间”上分配最小脉冲或者最小断开时间。rationfacreal0.110.01.0比率因子输入参数“比率因子”可用于改变负脉冲和正脉冲持续时间的比率。step3_onbooltrue三级控制开启

21、“三级控制开启”输入参数激活三级控制模式,在三级模式中两个输出信号都是有效的。st2bi_onboolfalse双极性调节值范围的两级控制开启man_onboolfalse手动模式开启通过设置输入参数“手动模式开启”,就可以手动设置输出信号。pos_p_onboolfalse正脉冲开启neg_p_onboolfalse负脉冲开启syn_onbooltrue同步开启通过置位输入参数“同步开启”,就能自动同步更新输出变量inv的块,这将确保输入变量中的变化能尽快地以脉冲方式输出。com_rstboolfalse完全重启动这块有一个完全重启动例行程序,在置位输入“完全重启动”时执行该例行程序。cyc

22、letimefalse采样时间“采样时间”输入制定了块调用之间的时间间隔。qpos_pboolfalse输出正脉冲qneg_pboolfalse输出负脉冲4 数据处理和转化4.1 数据类型数据类型分为基本数据类型、复杂数据类型和用户定义数据类型3种。基本数据类型是根据iec1131-3来定义的,数据类型决定了需要的存储器空间,例如字型数据类型在用户存储器中占用16,双字数据类型在用户存储器中占用32位。基本数据类型中,按位数据可分为布尔型、字节型、字型、双字型、实型、字符型等,按数学数据可分为整型、双整形、实型,按时间可分为时间型、日期型、每天时间型、s5系统型等8。复杂数据类型可以通过基本数

23、据类型生成。复杂数据类型只能结合数据块的变量声明使用。复杂数据类型超过32位,通过装载指令不能把复杂数据类型全装入到累加器。复杂数据类型可分为一下四种:数组、结构、字符串、日期和时间。fb43中用到的数据类型都是基本数据类型,有实型、整型、双整型、时间型、布尔型。fb43中的部分数据类型如表4所示。表 4 fb43功能块参数4.2数据的处理脉冲宽度(ptm)是实数,而周期时间、最小输出脉冲、采样时间均为time型。所以需要把周期时间、最小脉冲输出时间、采样时间转化为实型。调用周期比率(sizaehlper)为int型。所以需要把周期时间和采样时间的商转化为int型,即需要把实型转化为int型。

24、另外正脉冲调用次数(sizaehlptm)也是int型。所以也需要把正脉冲宽度与采样时间的商转化为int型。5 “仿fb43”算法思想5.1运行模式的参数设置为根据脉冲发生器设置的参数,pid控制器可以组态为三级控制、双极性二级或单极性二级输出。参数设置如表5所示。表 5 运行模式的参数设置 开关模式man_onstep3_onst2bi_on三级控制falsetrue任意值具有双极性控制范围的二级控制falsefalsetrue具有单极性控制范围的二级控制falsefalsefalse手动模式true任意值任意值5.2 二级控制器在两级控制中,只将pulsegen的正脉冲输出qpos_p连接

25、到开/关执行器上。根据所使用的调节值范围,两步控制器可以有双极或单极调节值范围。在手动模式(man_on=true)中,可以使用信号pos_p_on和neg_p_on来设置三步或两步控制器的二进制输出,而不必考虑inv9。5.3 三级控制器 将单位为%的输入变量inv与周期时间per_tm相乘,可以计算出脉冲的宽度,在三级控制下,比率因子为1时,脉冲宽度的计算公式1所示。三级控制如图7所示。 脉冲宽度=inv*per_tm/100 (1)图 7 三级控制的对称曲线图比率因子小于1时,脉冲宽度的的计算如公式2、3所示。正脉冲宽度=inv*per_tm/100 (2)负脉冲宽度=inv*per_t

26、m*ratiofac/100 (3)小于1的比率系数将会减小负脉冲输出的脉冲宽度。如图8所示。图 8 三级控制器的不对称特征曲线比率系数大于1时,脉冲宽度的计算如公式4、5所示。正脉冲宽度=inv*per_tm/(100*rationfac) (4)负脉冲宽度=inv*per_tm/100 (5)大于1的比例系数将会使正脉冲的宽度变窄。5.4 对fb43时间的理解通常fb43与fb41连在一起做连续控制器用,放在ob35中。周期性中断ob35中循环中断周期默认为100ms,中断优先级为12。fb43中的cycle即采样时间是块调用之间的时间间隔。即ob35的循环中断时间。fb43中的最小脉冲输

27、出周期p_b_tm要求必须大于等于cycle,因为每个控制周期要输出n个最小脉冲,n为大于等于1的整数,如果连最小脉冲输出周期都小于fb43的cycle,那就会造成fb43连一个脉冲都输出不出来。即fb43没有输出。fb43中的per_tm是输入变量的采样周期,与fb41中的采样时间(控制周期)cycle是相等的。因为如果fb41的控制周期大于fb43的周期时间时,会造成数据失真。如果fb41的控制周期cycle小于fb43的周期时间per_tm,会造成在fb43的最后时间间隔内无输出。因此fb41的控制周期cycle与fb43的周期时间per_tm应该相等。5.5 脉冲宽度的算法思想解析rr

28、atiofac实型的比率因子,ptm是正脉冲宽度时间,单位是毫秒。正脉冲宽度时间的计算如公式6所示。ptm=abs(inv*rratiofac*rpertm*0.01+offset) (6)6 “仿fb43”pwm算法的程序流程图“仿fb43”pwm算法的程序流程图如图9所示。图9 程序流程图7 “仿fb43”的建立、调用和设计7.1 背景数据块的建立和调用fb不同于fc的是它带有一个存储区,有一个局部数据块被分配给fb,这个数据块被称为背景数据块。当调用fb时,必须指定背景数据块的号码,该数据块将自动打开。该数据块的号码与fb的号码相同。如图10所示当调用fb42时,会出现自动生成db42对

29、话框。单击是即可生成db42背景数据块10。图 10 功能块的调用7.2 功能块“仿fb43”的建立和调用在项目管理器界面右击空白处点击插入新对象,点击功能块。如图11所示。图 11 功能块的建立在名称处写入fb43,创建语言处选择lad梯形图即可。在ob1主程序中在左侧fb块下双击fb43即可实现功能块的调用。7.3 功能块“仿fb43”的编写在功能块的编程时,会发现功能块的形参分为以下四种类型:输入型参数、输出型参数、输入输出型参数、静态变量、临时变量。“仿fb43”功能块参数如图12所示。图 12 功能块参数如果想修初始值、数据类型、注释必须在“仿fb43”块中进行,不能在db43表中进

30、行。静态变量在下次调用块之前一直保存着。并且在db43变量表里能监测它们的实时数据。临时变量就不行了。在建立输入型参数变量时地址会自动分配。只需将变量名称和数据类型填写正确即可。临时变量则是在快调用结束之后就不保存了。表6所示临时变量是需要自己加上去了,在db43的表里看不到这些临时变量。这些临时变量只在块内用,离开“仿fb43”模块下次早调用时,就不起作用了11。表 6 临时变量7.4 “仿fb43”数据转化方法如何把time型转化为实数型?一般把time型当作是32位的双整型,所以可以先通过move指令把time型的数据存放到双整型中,再把双整型转化为实型即可。不然的话,如果直接把time

31、型数据存放到实型寄存器中,程序检测会发现有乱码6。如何把实型数据转化为整型数据?要先把实型数据通过round指令转化为双整型,再通过move指令把双整型数据存放到整型中。千万不要把di转换成bcd,再将bcd转换成int12。7.5 “仿fb43”的程序设计7.5.1 程序的初始化按优先级顺序,程序设计应该按照初始化、手动控制、三级控制、双极性控制、单极性控制编写。然后是脉冲宽度计算,最后是脉冲宽度输出和循环。在初始化条件下,令所有输出都初始化。输出状态为0。此条程序是在暖启动时才启效的。暖启动时,com_rst被置位on。7.5.2 手动控制在手动控制下用脉冲输入实现对输出的控制。而不必在乎

32、inv的值。由表2可知手动分为手动控制下的三级控制和二级控制,共有六种输入状态。按表2编辑程序段即可。7.5.3 自动控制下的数据类型转化在自动控制下要进行数据类型的转化,自动控制不像手动控制,不考虑输入inv的值。需将周期时间、最小脉冲持续时间、采样周期转化成实型,同时计算出每个周期时间,循环输出脉冲的个数,本例中是25个。因为“仿fb43”是不停地输出,所以循环初始化条件是sizaehlptm小于等于013。7.5.4 三级控制自动控制的三级控制脉冲宽度计算参数赋值。7.5.5 双极性控制和单极性控制自动控制下的非三级控制脉冲宽度计算参数赋值。7.5.6 脉冲宽度计算依照公式6编写程序即可

33、。7.5.7 自动同步对“仿fb43”的调用不在输出脉冲的第一个或最后两个调用周期中,将进行同步,重新计算脉冲,并在下一个循环中输出一个新的脉冲。7.5.8 正脉冲个数计算同调用周期个数一样,要把实型转化为整型。7.5.9 脉冲输出的控制依照三级控制和二级控制的原理编写输出控制程序。7.5.10 循环让正脉冲个数和调用周期个数递减即可。7.5.11 输入变量的接收接收来自fb41的pid输出lmn,在此程序中是sinvalt14。8 “仿fb43”的功能测试8.1 “仿fb43” pwm 输出效果在三级控制模式(三级控制为true且手动控制为false)下,“仿fb43”的pid等比例输出控制

34、效果:超调了0.75摄氏度。超调在允许范围1摄氏度以内,效果如图18所示。图 13 仿fb43运行效果8.2 “仿fb43”的变量监控正脉冲个数:输出正脉冲的周期宽度ptm/采样周期cycle。程序中的变量名是sizaehlptm,数据类型是int,是静态变量。它是否递减并且与q4.2保持一致是检测能否实现等比例输出考察脉冲宽度输出的关键。如下图所示:当inv=50%时,变量sizaehlptm和q4.2的力控组态实时曲线图15。曲线图的横轴时长为20秒,4个控制周期。相邻的两根竖着的黑实线之间的区域正好代表一个控制周期。由图可知q4.2的为1的蓝线长度大致为50%,这表明仿fb43实现了脉冲

35、宽度输出(等比例时间控制)。而且红线与蓝线的起始时间相符,证明实现了自动同步功能。自动同步功能效果如图19所示。图 14 静态变量监控9“仿fb43”的性能测试 9.1 手动性能测试在手动控制为true时,“仿fb43”在四种输入状态下的输出结果。如图15、16、17、18所示。当正负脉冲输入均为false时,正负脉冲输出都为false。图 15 手动控制1正脉冲输入为true,负脉冲输入为false时,输出正脉冲为为true,输出负脉冲为false。图 16 手动控制2当正脉冲输入为false,负脉冲输出为true时,输出正脉冲为false,输出负脉冲为true。图 17 手动控制3当正负脉

36、冲输入都为true时,输出正负脉冲都为false。图 18 手动控制49.2 “仿fb43”的三级控制性能测试当手动控制为false,三级控制为true时,“仿fb43”处于三级控制状态下,“仿fb43”变量监控如图19所示。图 19 “仿fb43”三级控制fb43的三级控制监控图如图20所示。图 20 fb43三级控制分析:此时输入inv=50,“仿fb43”与fb43的输出q4.2的检测结果是50%为true,50%为false。“仿fb43”与fb43的监控结果一致。“仿fb43”实现了三级控制。9.3 “仿fb43”的双极性控制性能测试当手动输入为false,三级控制为false,二级控制为true时,“仿fb43”处于双极性控制下,如图21所示。图 21“仿fb43”双极性控制fb43的双极性控制检测结果如图22所示。图 22 fb43双极性控制分析:此时输入inv为50,有公式计算结果和图推测结果输出应该75%为true,25%为false。“仿fb43”与fb43

温馨提示

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

评论

0/150

提交评论