皮带运输机的PLC控制.pptx

上传人:莉*** 文档编号:87478067 上传时间:2023-04-16 格式:PPTX 页数:54 大小:1.89MB
返回 下载 相关 举报
皮带运输机的PLC控制.pptx_第1页
第1页 / 共54页
皮带运输机的PLC控制.pptx_第2页
第2页 / 共54页
点击查看更多>>
资源描述

《皮带运输机的PLC控制.pptx》由会员分享,可在线阅读,更多相关《皮带运输机的PLC控制.pptx(54页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 同时考虑到原材料运输过程中经常需要启、停处理的情况较多,所以对于设备的控制也有一些特殊的要求。采用PLC实现对原材料运输的控制,可以满足实际工艺要求的各种控制条件。第1页/共54页 原材料从给料器经过A、B、C和D四台皮带运输机送出,由电磁阀YV控制从给料器向皮带A供料,皮带A、B、C、D分别由电动机M1、M2、M3、M4控制,SB1、SB2分别为起动和停止按钮。具体控制要求如下:1)初始状态:给料器、皮带A、B、C、D都处于关闭状态。2)起动操作:起动时为了避免在前段运输皮带上造成物料堆积,要求各皮带机按原材料流动的逆序起动。其操作步骤为:M4延时5sM3延时5sM2延时5sM1延时5s给

2、料器YV。3)停止操作:停止时为了使运输机皮带上不留剩余的物料,要求按原材料流动的方向按一定时间间隔顺序停止。其停止顺序为:给料器YV延时5sM1延时10sM2延时5sM3延时15sM4。本项目的程序设计主要是考虑如何实现启、停过程中的延时控制,对于这个问题可以有很多实现方法。通过对启停控制要求的分析,发现时间间隔的最小公约数是5s,所以可以考虑设计一个周期为5s的脉冲发生器,对脉冲的输出进行计数,通过判断计数值的大小来得到皮带机的触发信号。计数值与脉冲周期的乘积就是经过的延时时间。第2页/共54页 通过上面的分析,已经对皮带运输机的控制程序有了一定的实现思路,运用PLC的定时器、计数器和比较

3、器就可以完成对控制程序的开发。下面首先来学习计数器指令、逻辑控制指令、梯形图方块传送指令和比较器指令。8.2 相关知识计数器指令 S7中的计数器用于对RLO正跳沿计数。计数器是一种复合单元,它由表示当前计数值的字和表示其状态的位组成。S7中有三种计数器,它们分别是:加计数器、减计数器和可逆计数器。1.计数器的存储器区 在S7 CPU中保留一块存储区作为计数器计数值存储区。每个计数器占用一个16位的字和一个二进制位。计数器字用来存放它的当前计数值,第3页/共54页 计数器触点的状态由它的位的状态来决定。用计数器地址(C和计数器号组成,如C1)来存取当前计数值和计数器 位,不同的CPU支持3225

4、6个计数器。计数器字中的第0至11位表示计数值(BCD码),计数范围是0到999。当计数值达到上限999时,停止计数。计数值到达下限0时,停止计数。计数器进行置数(设置初始值)操作时,累加器l低字中的内容改装入计数器字。计数器的计数值,将以此为初值增加或减小。计数器字的计数值为BCD码127时,计数器单元中的各位如图8-2所示。二进制格式的计数值只占用计数器字的09。第4页/共54页第5页/共54页 2.计数器线圈指令和语句表指令 计数器的线圈指令和语句表指令如表8-1所示。只要计数值不为0,则计数器输出就为1(即常开触点闭合)。使用复位指令R可复位计数器。计数器被复位后,其计数值被清0,计数

5、器输出状态也为0(常开触点断开)。计数器的各项操作,应按下列顺序(编程顺序)进行:(1)指出计数器的类型(加计数或减计数);(2)计数器置数;(3)计数器复位;(4)使用计数器输出状态信号;(5)读取当前剩余计数值。图8-3是使用加计数器编程的例子,图8-3(a)是加计数器梯形图,图8-3(b)是与之对应的语句表程序。这个例子用于对输入I0.0的正跳沿计数。每一个正跳沿使计数器C5的计数值加1。输入I 0.1的信号状态从0变为1,则计数器C5被置初始值100,C#表示以BCD码格式输入一个数值。若没有正跳沿,第6页/共54页 计数器C5的计数值保持不变。输入I0.2若为1,计数器被复位。计数器

6、C5的计数值若不等于0,则C5输出状态为1,Q4.0也为1。第7页/共54页3.计数器的梯形图方框指令计数器的梯形图方框指令如表8-2所示。第8页/共54页 图8-4是使用可逆计数器编程的例子,图8-4(a)是可逆计数器的梯形图方框指令,图8-4(b)是与之对应的语句表程序。输入I2.1有正跳沿时,如果计数器值小于999,则计数器C1的计数值加1。当输入I2.2有正跳沿时,如果计数器值大于0,则计数值减1。如果两个计数输入均为正跳沿,两条指令均被执行,计数值保持不变。当I2.3有正跳沿时,初始值3被置入计数器C1。计数器C1的状态用于控制输出Q4.0,计数值大于0时输出信号Q4.0为1;计数值

7、为0时,Q4.0也为0。当I2.4有正跳沿时,C1被复位。第9页/共54页第10页/共54页v比较指令 比较指令用于比较累加器2与累加器1中的数据大小。比较时应确保两个数的数据类型相同,数据类型可以是整数、双整数或实数。若比较的结果为真,则RLO为1,否则为0。比较指令影响状态字位CC1和CC0,详细情况参见表6-3。1.比较两个整数或双整数 使用比较整数指令(16位),可以将累加器2中低字的内容与累加器1中低字的内容进行比较。累加器2和累加器1低字的内容都作为16位整数。使用比较双整数指令(32位),可以将累加器2中的内容与累加器1中的内容进行比较。累加器2和累加器1的内容都作为32位整数。

8、整数和双整数比较指令如表8-3所示。第11页/共54页第12页/共54页 下面的例子比较了存储字MWl0和输入字IW10中整数的大小。如果两个整数相等,则输出Q4.0为1;若MWl0中的数大,则输出Q4.1为1;若IW10中的数大,则输出Q4.2为1。L MW10/第一个待比较的数MW10装入累加器1 L IW10/第二个待比较的数IW10装入累加路1,第一个数 MW10被装入累加器2 =I =Q4.0/若MW10=IW10,则Q4.0为1 I =Q4.1/若MW100IW10,则Q4.1为1 I =Q4.2/若MW10IW10,则Q4.2为12.比较两个实数使用比较浮点数指令(32位),可以

9、将累加器2 第13页/共54页中的内容与累加器1中的内容进行比较。累加器1和累加器2的内容都作为32位浮点数。浮点数比较指令如表8-4所示。下面的例子中,如果存储双字MD24中的实数大于1.0,则输出Q4.1为1;若小于1.0,则输出Q4.2为1。L MD24/装入存储双字 MD24的内容(浮点数)。L +1.00E+00/装入常数+1.00E+00 R =Q4.1/若MD24+1.00E+00,Q4.0为1 R =Q4.2/若MD24-1.00E+00,Q4.2为1第14页/共54页第15页/共54页 3梯形图方框比较指令 梯形图方块比较指令能比较两个同类型的数。被比较的数可以是:两个整数、

10、两个双整数或两个实数。比较方块的数值输入端分别为INl和IN2,比较操作是用INl去和IN2比较。如INl是否大于等于IN2。在方框图输入信号为1时,比较IN1和IN2输入的两个操作数。梯形图方框比较指令如表8-5所示。梯形图方框比较指令在逻辑串中,等效于一个常开触点。如果比较结果为“真”,等效常开触点闭合(电流可流过触点),否则触点断开。图8-5给出了长整数比较指令的用法。与图8-5梯形图方框指令功能对应的语句表程序如下。第16页/共54页 A I0.0 A I0.1 A(L MD0 L MD4 D )A I0.2 S Q4.0第17页/共54页第18页/共54页第19页/共54页v梯形图方

11、块传送指令 梯形图方块传送指令如表8-6所示。第20页/共54页 梯形图方块传送(MOVE)指令为变量赋值。如果使能输入端EN为l,就执行传送操作,使输出OUT等于输入IN,并使ENO为1;如果EN为0,则不进行传送操作,并使输出ENO为0。ENO总保持与EN相同的信号状态。第21页/共54页 用MOVE方块指令,能传送数据长度为8位、16位或32位的所有基本数据类型(包括常数)。但传送用户自定义的数据类型,如数组或结构,则必须用系统功能(SFC 20)进行复制。图8-6给出了MOVE方块指令的用法,下面是与图8-6的梯形图方块指令完全对应的语句表程序。A I0.0 JNB _001 L MW

12、10 T DBW12 SET /使RLO为1 SAVE /使BR为1 CLR -001:A BR =Q4.0第22页/共54页v逻辑控制指令 逻辑控制指令是指逻辑块内的跳转和循环指令,这些指令中止程序原有的线性逻辑流,跳到另一处执行程序。跳转或循环指令的操作数是地址标号,该地址标号指出程序要跳往何处,标号最多为4个字符,第一个字符必须是字母,其余字符可为字母或数字。跳转标号后跟冒号“:”,并且其后紧接语句。与它相同的标号还必须写在程序跳转的目的地前,称为目标地址标号。在一个逻辑块内,目标地址标号不能重名。在语句表中,目标标号与目标指令用冒号分隔,并且其后紧接语句。在梯形图中目标标号必须在一个网

13、络的开始。在编程器上从梯形逻辑浏览器中选择LABEL(标号),出现空方块。将标号名填入方块中。由于STEP 7的跳转指令只在逻辑块内跳转,所以,在不同逻辑块中的目标标号可以重名。1.无条件跳转指令 无条件跳转指令如表8-7所示。第23页/共54页第24页/共54页 无条件跳转指令(JU)可以中断线性程序扫描,并跳转到一个跳转目的地,与状态字的内容无关,在跳转目的地重新进行线性程序扫描。无条件跳转指令举例如图8-7所示。第25页/共54页 跳转到标号指令(JL)实质上是多路分支跳转语句,跳转目标列表最多有255个入口,从该指令的下一行开始,到该指令地址中参考跳转标号的前一行结束。每一个跳转目的地

14、都由一个无条件跳转指令(JU)组成。跳转目的地的数量(0255)存放在累加器1低字的低字节中。第26页/共54页第27页/共54页 只要累加器的内容小于JL指令和跳转标号之间的跳转目的地的数量,JL指令就跳转到JU指令之一。如果累加器1低字的低字节为“0”,则跳到第一个JU指令。如果累加器1低字的低字节为“1”,则跳到第二个JU指令。如果跳转目的地的标号太大,则JL指令跳转到JL指令中指定的参考标号处。跳转目的地列表必须由位于JL指令地址中参考跳转标号前面的JU指令组成。跳转列表中的任何其它指令都是非法的。JL指令的示例如图8-8。2.条件跳转指令 条件跳转指令如表8-8所示。条件跳转示例如图

15、8-9所示。第28页/共54页第29页/共54页 3.循环指令 使用循环指令(LOOP)可以多次重复执行特定的程序段,重复执行的次数存在累加器1中,即以累加器1为循环计数器。LOOP指令执行时,将累加器1低字中的值减1,如果累加器1不为0,则跳转到所指定的目的地处重新进行线性程序扫描,否则执行LOOP指令后面的指令。向前跳转和向后跳转均可,但只能在一个块内执行跳转,即跳转指令和跳转目的地必须位于同一块内。在该块内跳转目的地址必须是唯一的。由于循环次数不能是负数,所以程序应保证循环计数器中的数为正整数(数值范围:032 767)或字型数据(数值范围:W#16#0000W#16#FFFF)。【例1

16、2-1】用循环指令求10!(10的阶乘)。在本例中,考虑到循环体中要用到累加器l,设置了循环计数暂存器MWl0。第30页/共54页 L L#1/将32位整数常数装入累加器1,置阶乘的初值 T MD20/将累加器1中的内容传送到MD20,保存阶乘的初值 L 10/将循环周期次数装入累加器1低字中 NEXT:T MW10/将累加器1低字中的内容传送到循环计数器 L MD20/取阶乘值送入累加器1 *D/将MW10乘以MD20 T MD20/将阶乘结果传送到存储双字MD20 L MW10/将循环计数器的内容装入累加器1中 LOOP NEXT/先将累加器1低字的内容减1,如果减1后大于 “0”,则跳转

17、到NEXT /如果累加器1低字中的内容减1后等于0,则循环结束,继续进行线性扫描第31页/共54页 4.梯形图中的跳转指令 梯形图中跳转指令只有两条,可用于无条件跳转或条件跳转控制。无条件跳转时对应STL指令JU,不影响状态字;条件跳转指令影响状态字,在梯形图中目的标号只能在梯形网络开始处。梯形图中跳转指令如表8-9所示。第32页/共54页在图8-10和图8-11中给出了梯形图跳转指令的用法及其对应的语句表。第33页/共54页 5.梯形图中的状态位指令 状态位指令是位逻辑指令,以常开或常闭触点的形式出现,这些触点的状态取决于状态位BR、OV、OS、CC1、CC0的状态。与状态位有关的触点指令如

18、表8-10。在梯形图中,状态位触点可以与别的触点串并联。第34页/共54页 在S7中,通过使用状态位的常开常闭触点指令,并与JMP和JMPN跳转指令相配合,即可实现根据运算结果的转移功能。图8-12给出了一个例子。网络1当I0.0为1时执行减法运算,在网络2中对条件码(CCl,CC0)的组合状态检测,若状态表示为大于0则转向地址标号为CASl的地方执行程序。第35页/共54页第36页/共54页v8.3 应用举例v长延时设计 在S7-300中定时器的定时范围最大为9990s,如果这个定时时间不能满足控制要求可以对定时器进行定时范围扩展,即实现多次定时达到扩展的目的。长延时电路的设计方法有多种,下

19、面给出两种控制方案。1.控制方案1-用计数器指令实现 设计一个长延时电路,延时时间为24h,I1.0为系统启动开关,定时时间到输出Q4.0为1。使用计数器指令实现24h的长延时电路梯形图如图8-13所示。网络1和网络2构成振荡电路,振荡时间为4h。在接通延时定时器定时时间到时,T1输出高电平,其上跳沿启动定时器T2,这样T1和T2就可以互相起振。当T2的定时时间到时,T2的常闭触点断开,T1失电,导致T2断电,接着T2的常闭触点闭合,T1重新开始定时,如此循环下去。在网络3中,赋值语句前加正跳沿触发指令,保证计数器初值只赋值一次。用T1的负跳沿触发指令来启动计数器,第37页/共54页 因为在开

20、始2h,T1的输出为0,2h后,延时时间到,T1的输出为1,这样经过4h,T1才能出现负跳沿。如果用T1的正跳沿指令将少2h。当减计数器计数值为0时,定时时间已经到24h。以C1的常闭触点和I1.0启动开关的串联控制输出Q4.0。第38页/共54页第39页/共54页 2.控制方案2-用数据传送指令及比较指令实现 使用数据传送指令和比较指令进行定时器扩展的梯形图如图8-14所示。定时器T0定时时间为2h,C0的计数值最大可以达到999,当计数器计数满时通过比较指令输出有效信号,将该信号输出到下一级的计数器C1作为计数脉冲。计数器C0计满一次,定时时间范围是9992=1998h(约83天)。如果将

21、C1的计数值设置为900,则定时时间最大可以达到83900=74700天。该方法可以将定时范围无限的扩展。v多台电动机的单按钮控制系统第40页/共54页第41页/共54页第42页/共54页 通常一个电路的启动和停止控制分别由两个按钮来完成的,当一个控制系统需要多个启停操作时,将占用很多的I/O资源。一般PLC的I/O点是按3:2的比例配置的,由于大多数被控系统是输入信号多,输出信号少,有时在设计控制系统时,往往面临输入点不足的问题,因此用单按钮实现启停控制是非常有现实意义的。设某设备有两台电动机,要求用PLC实现一个按钮同时对两台电动机的控制。具体要求如下:1)第一次按按钮时只有第一台电动机工

22、作。2)第二次按按钮时第一台电动机停车,第二台电动机工作。3)第三次按按钮时第二台电动机停车。按控制任务要求,用单按钮对多台电动机进行启停控制有多种实现方案,如用逻辑指令,用定时器和比较指令,用计数器指令等。下面介绍两种实现方案。第43页/共54页 1.控制方案1-用计数器及比较指令实现 要用计数器及比较指令实现两台电动机的单按钮启/停控制,可以用计数器累计按钮操作的次数,然后用比较指令判断计数器的当前值是否为1,2或3。当计数器的当前值为1时,第一台电动机启动;当计数器的当前值为2时,第一台电动机停止,同时第二台电动机启动;当定时器的当前值为3时,第二台电动机停止。控制方案1的梯形图如图8-

23、15所示。2.控制方案2-用定时器指令实现 在此方案中,定时器起到滤波的作用,只要定时器的定时值略大于2个扫描周期,就可以确保一个周期只对KM1和KM2扫描一次,避免重复赋值而导致错误。控制方案2的控制程序如图8-16所示。v计数器扩展设计 在S7-300中,单个的计数器最大计数值为999,如果计数范围超过999就需要对计数器进行扩展。当一个计数器计数到时,下一个计数器接着开始计数,如果n个计数器级联,最大计数值可以达到999n。下面是两个计数器级联实现计数范围扩展的程序。I0.0为计数脉冲输入信号,计数满9992时使能输出信号指示灯Q4.0,梯形图如图8-17所示 第44页/共54页第45页

24、/共54页 网络1给出计数脉冲输入,计数器C1在该脉冲作用下开始计数,直到计数满999。在网络2中使用传送指令MOVE将计数器的当前计数值传送到存储区MW10中。在网络3中将MW10与999进行比较,如果相等则输出位信号M0.0,该信号是网络4中计数器C2计数脉冲输入端,同时该信号也是C1的复位信号,使C1重新开始计数。在网络5和网络6中,将计数器C2的当前计数值与2进行比较,若计数值等于2则输出Q4.0为1。由此将两个计数器级联,将一个计数器的计数值满信号作为另一个计数器的计数脉冲输入信号。v皮带运输机的PLC控制系统设计 按照工艺要求,各单体设备是按照传送材料的逆顺序依次启动的,其启动的时

25、间间隔设为固定的5s,而在停止时,则是按照不同的间隔时间顺序分别停止各个单体设备。通过对系统启停控制要求的分析,发现时间间隔的最小公约数是5s,所以考虑采用5s的脉冲发生器来实现启停时间的计数单元计数输入。启动时,立即启动脉冲发生器,同时对脉冲进行计数。启动信号到来时,先启动电动机M4,计数器值为1时,启动电动机M3;计数值为2时,启动电动机M2;计数值为3时,启动电动机M1;计数值为4时,启动电磁阀YV,同时复位计数器并停止脉冲发生器,完成系统的启动过程。第46页/共54页 停止时,与启动过程实现思路基本相同。得到停车信号后,启动脉冲发生器和计数器。停止信号到来时,先停止上料电磁阀YV;计数

26、值为1时,停止电动机M1;计数值为3时,停止电动机M2;计数值为4时,停止电动机M3;计数值为7时,停止电动机M4,同时复位计数器和脉冲发生器,按照不同的延时时间依次停止各个设备。根据上述分析的系统启停控制方式,通过对定时器和计数器的配合,以及合理使用数据比较指令完成对皮带运输机的PLC控制程序的编写。在程序设计过程中,考虑到启停时间基数可能不一致的情况,所以设计使用两套定时、计数单元来实现控制程序,如果一致,可以简化为一套。1.I/O地址分配 第47页/共54页第48页/共54页 首先来分析一下对输入信号的需求。对于运输带系统来说,由于它的各单体设备需要连续合作工作,所以系统只需要一对启停信

27、号来完成对整个系统的启停控制,但考虑到各单体设备、传动电机等的自我保护,还需要给出各单体设备电控线路的对应正常信号,这些信号可以是电源合闸信号,也可以是过流、过热保护信号等,这里统一视为该设各的工作允许信号。运输系统的输出就是对各单体设备的启停信号。I/O地址分配表如表8-11所示。2.画出PLC的外部电路接线图 皮带运输机的PLC外部接线图如图8-18所示。3.程序设计 下面给出的程序只针对皮带机运输系统中关键的控制问题,也就是启停顺序控制作为实现的主线进行了设计。在实际的生产过程中时,需要对有关的问题加以考虑,添加到控制程序中。皮带运输机的PLC控制梯形图如图8-19所示。4.系统运行调试

28、 在PLC关机状态下,按照PLC外部接线图8-18正确连结输入设备和输出设备。打开PLC电源,方式开关置于STOP状态下,将程序下载到PLC中,然后将方式开关置于RUN状态下,运行程序。按下启动按钮,定时器T1、计数器C1开始工作,同时立即启动电动机M4,以后每隔5s依次启动电动机M3、M2、M1和电磁阀YV,各单体设备都启动结束时停止定时器T1并复位计数器C1。第49页/共54页当按下停止按钮时,定时器T2和计数器C2开始工作,同时立即停止电磁阀YV,5s后停止电动机M1,再过10s后停止电动机M2,再过5s后停止电动机M3,再延时15s后停止电动机M4,同时停止定时器T2并复位计数器C2。

29、第50页/共54页第51页/共54页 项目小结 本项目以皮带运输机的PLC控制系统为例引出了计数器指令、逻辑控制指令、比较指令和梯形图方块传送指令的种类、特点及编程方法。S7-300 PLC中共有三种计数器:加计数器、减计数器和可逆计数器,这三种计数器各有自己的特点,在使用时要进行合理的选择。当输入信号有正跳沿时,计数器的计数值从初值开始作加1操作,计数到999时计数满,停止计数;减计数器的计数值从初值开始作减1操作,计数到0时计数满,停止计数;可逆计数器当加计数端有正跳沿时作加1操作,当减计数端信号有正跳沿时作减1操作,如果加减计数端同时有正跳沿时则计数值保持不变。只要计数值不为0,计数器的

30、输出就为1。比较指令用于比较累加器2与累加器1中的数据大小。比较时应确保两个数的数据类型相同,数据类型可以是整数、双整数或实数。若比较的结果为真,则RLO为1,否则为0。比较指令影响状态字位CC1和CC0。梯形图方块传送指令也称为赋值指令,能传送数据长度为8位、16位或32位的所有基本数据类型(包括常数)。逻辑控制指令结束程序的运行,跳转到别处继续执行,逻辑控制指令只能在逻辑块内跳转。完成了计数器指令、逻辑控制指令、比较指令和梯形图方块传送指令的介绍,接着重点讲述了长延时电路、多台电动机的单按钮控制、计数器扩展和皮带运输机等PLC控制系统的硬件、软件以及系统调试运行。第52页/共54页 习题及

31、思考题 8-1一段小程序,实现如下功能:按钮S1按下3次后,指示灯HL闪烁,闪烁频率为1Hz,当按钮S1按下5次后,指示灯HL以2Hz频率闪烁。按钮S0为复位按钮。8-2用比较指令控制路灯的定时接通和断开,21:00时开灯,06:00时关灯,设计PLC程序。8-3采用定时器和计数器来完成一个长延时电路的设计,要求在I0.0接通以后开始延时,1500s后将Q4.0接通。8-4要求在3个不同的地方控制某台电动机的启动和停止。每个地方都有启动和停止按钮。在任意一个地方按下启动按钮,则电动机启动旋转,按钮弹起,电动机保持旋转;在任意一个地方按下停止按钮,则电动机停止旋转。根据要求,建立I/O变量表,并编制梯形图。8-5用I0.0控制Q4.0、Q4.1和Q4.2,要求:若I0.0闭合3次,则Q4.0亮;再闭合3次,则Q4.1亮;若再闭合3次,则Q4.2亮;之后,I0.0再闭合1次,Q4.0、Q4.1和Q4.2都灭。8-6将皮带运输机的控制程序改为用跳转指令实现。8-7S7-300系列PLC中共有几种形式的计数器?对它们执行复位指令后,它们的当前值和位的状态是什么?第53页/共54页感谢您的观看!第54页/共54页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁