外文翻译-可编程逻辑控制器图形软件的开发_第1页
外文翻译-可编程逻辑控制器图形软件的开发_第2页
外文翻译-可编程逻辑控制器图形软件的开发_第3页
外文翻译-可编程逻辑控制器图形软件的开发_第4页
外文翻译-可编程逻辑控制器图形软件的开发_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

英文原文GraphicalDevelopmentofSoftwareforProgrammableLogicControllersAbstractGraphicallanguagesarestandardinthefieldofcomputerprogramming.Complexsoftwaredevelopmentisbesthandledbygraphicallyconnectingpre-built,fullytestedandhighlyspecializedsoftwarecomponents,insteadofwritinganddebuggingthousandsoflinesofcode.Modernprogrammingenvironmentsincludecompletelibrariesofsuchcomponents.InthefieldofProgrammableLogicControllers(PLCs),thisisnotthecase.PLCprogramscanbedevelopedusinggraphicallanguages,asLadderDiagrams(LD)orFunctionBlockDiagrams(FBD),butthestandardlibrariesareverylimited,sotheprogrammermustdevelophisownlibraries,buildingsoftwareobjectsfromscratch.Inthispaper,aframeworkispresentedforautomaticallybuildingcomplexsoftwaremodulesusingbasedontwokeypillars:ontheonehand,usingobjectorientedconceptsasencapsulation,inheritanceandgenericprogramming,and,intheotherone,closelyfollowingthephysicalmodeloftheobjectsusedinbuildingelectricalcontrolcabinets(ECBs).I.INTRODUCTIONThedevelopmentofPLCprogramsisacrucialpointintheconstructionofmodernautomationinstallations.AsPLCOpenorganizationstatesin1,“softwareplaysanever-increasingroleinindustrialautomation.Withthis,theassociatedsoftwarecostsincrease,eventothepointthatitbecomesthehighestpartofthetotalsystem”.Oldprogramminglanguagesgivealimitedsupporttothistask:thecodetendstobeobscure,withlimitedcapabilitiesofflowcontrol,andinternalinterdependenciesmakeanyminormodificationanightmare.Tosolvethisproblem,anewstandardhasbeenestablished,theIEC-61131-3.Itdefineselementsthatcanbeusedasblocksforbuildingnewprograms,suchasFunctionBlocks(FBs),andbringssomeofthebenefitsofOOP,suchasencapsulation,asLewis2orJohnandTiegelkamp3pointout.Nevertheless,othermajorOOPfeatureslikeinheritance,genericprogrammingandpolymorphismarenotsupportedinthestandard.Inspiteofthislimitedsupport,Brendel4developssoftwarecomponentsusingIEC-61131FBmodules.BonfeandFantuzzi5presentanobject-oriented(OO)programforamanufacturingmachine,andHVanderWalH6developsacompleteOOlibraryofmotioncontrolcomponents,asaresultofPLCOpeneffort.OOP,besidesbeingawayfordevelopingwellstructuredPLCprograms,bringsalsoaddedbenefitsasself-explanatoryprograms,Plompetal.7,orgraphicalprogramming,Lewis8.Therearedifferentapproachesforchoosingthesoftwareobjectsthatcanserveasthebuildingblocksforconstructingwellstructured,failure-proofPLCprograms:Mathematicalmethods,whichformalizethestructureofthesoftwarecomponentsandtheirrelationshipfromamathematicalpointofview.Feldmannetal.9,PolicandJezernik10usePetrinetsasthetoolformodelingdiscreteeventsystems(DES).Bridgemethods,whichdevelopthecontrolprogramusinghighlevel,objectorientedprogramlanguagesandtranslatetheresultingcodetoIEC-61131-3FBmodules.PlazaandMedrano11useClanguageasthesource,HeverhagenandTracht12useUnifiedModelingLanguage(UML).JammesandSmith13followinsteadthemodelofWebServices.MIM(ModelIntegratedMechatronics)considerseachobjectasacompleteunitwhichintegratestheelectricalmechanicalandsoftwareaspects.Thramboulidis1415andVyatkin16developsuchMechatroniccomponents.Aninteractive“IntelligentMechatronicTestbed”canbefoundat17.Archimedes18,CORFU19andOONEIDA20aregeneralframeworksbuiltuponthisconcept.TheseapproacheshavedrawbacksfromthepointofviewofthetechnicianthatdevelopsPLCprograms.Mathematicalmethodsareoftentooabstractanddifficulttotrack.RealtimeconstraintsarealientogeneralpurposelanguageprogramssuchasCorJava.AndMechatronicsmodelstendtobefartoocomplex,becausetheytrytomodelallthebehavioralaspectsofaspecificdevice.Whatitisneededisasimple,clear,robustandflexibleOOPmodelthatallowsfortheassemblyofPLCprogramsfollowingthesameprocedureusedtobuildmodernECBs:bycablingpre-built,fullytestedcomponents.Thatswayanewframework,ObjectOrientedFrameworkforPLCSoftwareDevelopment(OOPLC),hasbeendevelopedandispresentedinthispaper.ItsgoalistobuildPLCprogramsbyassemblingpre-built,fullytestedsoftwarecomponentsinasimple,graphicalway,analogtothedrawingofelectricalschemas.Thestructureofthispaperisasfollows:sectionIistheintroduction.SectionIIestablishesthemainOOPLCframeworkfeatures,whicharefullydevelopedinsectionIII.InsectionIVanexampleprogramdevelopedwiththeproposedmethodisshown,andinsectionVtheconclusionsarepresented.II.OOPLCFEATURESOOPLCisfoundedonthephysicalcomponentsusedtobuildECBs.AsFarins21pointsout,eachideamustberelatedwiththeprincipleonamaterialsystem,howeversimpleandprimitiveitmaylook,onwhichavariablesolutioncouldbebased.TheelectionoftheECBasthephysicalmodelalsoguaranteesthatthesystemcanbeeasilyunderstoodbythepersonnelwhowillapplyandmaintainit.WithOOPLC,buildinganewprogramisjustaprocessofinstallingandconnectingpre-built,fullytestedsoftwaremodules,inagraphicalway(thesameasdrawingelectricalcontrolcabinetdiagrams),insteadofwritinganddebugginglinesofcode.Asitissaid,ashortsketchisbetterthanalongreport.ThebasicelementusedforassemblingECBsistherelay.Ithasbeenakeycomponentofindustrialautomationinstallationssinceitsconception.Infact,themostwidelyusedPLCprogramminglanguageistheladderone,builtaroundtherepresentationofrelayscoilsandcontacts,asinFig.1.Modernrelayshaveevolvedfromtheoriginal,electromechanicalone,andnowtheyareelectronicdevicesthatcanperformcomplexcontroltasks.ThereareeveninthemarketsmallPLCsthataresoldas“intelligentrelays”.Therearesomecommonfeaturestoallthisvarietyofrelays:Modulardesign.Modernrelaysarecomposedoftwoparts:the“base”containstheconnectionswiththeinput/outputconductors,andiscommontoalltherelaysfromagivenseries.Theotherpartisthe“body”oftherelay,whichcontainstheelementsthatperformthedesiredfunctionality.Differentbodiescanbeconnectedtothesamebase,whichaddsflexibilitytothedesignandmaintenanceofECBs.Besides,oldelementscanbereplacedwithmoreadvancedoneswithoutmodifyingthecablingofthecabinet.Parallelism.ECBconstructionisspeededusingarraysofrelays,groupedincards,interconnectedwithcablesinsteadofsingleconductors.Theuseofstandardarrayconnectorsallowsforafast,error-freeassemblyofthecabinet.Communicationcapabilities.ECBsarenotisolatedelementsinamodernautomationinstallation.Theymustcommunicatewithexternaldevices,mainlycomputers,fortheset-upoftheiroperationaldeviceparametersandalsoforsupervisingtheoperationoftheinstallation.Modernrelayshavebuilt-incommunicationcapabilities,andareabletocommunicatethroughstandardindustrialbuses.Therearesomemodulesinthemarketthatcanevenactasautonomouswebservers.Toimplementthesefeatures,OOPLCdefinesthreeelements:relay,cardandconnectors,whicharefullydescribedinthenextsections.Besidescloselyresemblingtheirphysicalcounterparts,OOPLCelementsarebuiltusingasimple,error-freeprocedure,basedonthefeaturesofOOP:Encapsulation.Anyobjectintegratesboththedataandthemethodsthatprocessit.Externalinputsandoutputsareaccessibleonlythroughwelldocumentedinterfaces.Inheritance.Newobjectsarederivedfromexistingones,addingnewfeaturestospecializethem.Polymorphism.Differentobjectscanreacttothesameeventsinadifferentway.Templateprogramming.Theuseofgenericobjectsandalgorithmsallowsthegenerationofobjectsfrompredefinedtemplates,withanautomatic,error-freeprocess.ThepresentnormforPLCsoftwaredevelopment,theIEC61131-3,offersalimitedsupportforthesefeatures:TheFBdefinitionestablishesacleardistinctionbetweentheinterface(whichcontainstheexternalinputs,outputs,andtheinternal,hiddenvariablesofthefunction),andthebody,(whichcontainsthealgorithmthatoperatesontheinterfaceelements).OnlyoneprogramcanbedefinedperFB.Thereisalimitedsupportofthepolymorphism.Onlysomeofthestandardfunctionscanprocessparametersoftype“any”(asumfunction,forexample,canaddintegerandrealnumbers).Thereisnosupportforinheritanceortemplateprogramming.InOOPLC,thesecharacteristicsareimplementedandusedtobuildtheobjectsthatintegratetheframework.III.OOPLCELEMENTSA.ModularDesign:theRelayElementTheOOPLCmodelofaphysicalrelayhastwocomponents,asitsphysicalcounterpart:theexternalinterface,orthe“base”,whichiscommontoeveryrelay,anditsinternalcomponents,or“body”,whichisspecifictoeachone.Thebase_relayelementdefinesthecommonsetofconnectionsofeveryrelayinOOPLC.Physicalrelaysareconnectedusingconductors,whichcancarrysignalsofdifferenttypes(digital,analog),evenmixedonesusingtimeorfrequencymultiplexingtechnology.Tomimicthisbehavior,anewdatatypeisdefined:theconductordatatype,showninFig.2,whichcantransportsimultaneouslydataunitsofthemostcommontypes.Thebase_relaycomponentdefinestheconnectionsoftherelay,anditiscommontoeveryspecificrelay.Havingthesameconnector,allofthemareinterchangeable,fromthepointofviewoftheirgraphicalinterconnection.ThedefinitionandgraphicalrepresentationofthiselementareshowninFig.3.Thebodyofthebase_relayisaprogramwhichonlyhasanemptyline(;).Anyotherrelayisderivedfromthisonebyinheritingitsinterface,throughathree-stepprocessthatconstitutestheinheritancemechanisminOOPLC:1)Duplicatethebase_relaycomponentwiththenameofthenewrelay(inheritance)2)Addanynecessaryinternalvariables(dataencapsulation)3)Programthebodyofthenewrelay(methodencapsulation)Thefactthatalltherelayshaveacommoninterfaceguaranteesthatanynewrelayderivedfromthebase_relaycanbesubstitutedbyanotherone,withoutneedingtochangeanyconnections.Fig.4showsatimerrelaywithdelaytotheconnection,whichisgeneratedusingthisalgorithm.ItencapsulatesastandardFBoftheIECnorm,theTONtimer,whichhasbeenconnectedinternallytotheinputandoutputconductorsoftheOOPLCbase_relay.Thereisamajordrawbackwiththismethod:anymodificationtothebase_relayisnotautomaticallypropagatedtotheinheritedrelays,likeafullyOOPlanguageasC+does.Amanual,error-proneworkisrequiredtomodifyalltherelaysofthelibrary(thechildren),ifthereisanymodificationofthebase_relay(theparent).TrueinheritancecouldbeachievedifafutureadditiontotheIEC-61131-3normincorporatesaconstructorforderivinginheritedobjects,withsyntaxsimilartotheonepresentedinFig.5.B.Parallelism:theCardElementParallelismisacommongoalintheconstructionofECBs,duetothehugesavingsoftimeinthetaskofconnectingtheelements.Conductorsaregroupedformingcables,andrelaysaregroupedincards.Arrayconnectorsfastentheconnectionofthecardsbetweenthemandwithexternalinputsandoutputs.AnewelementisusedinOOPLCtorepresentaphysicalcable:thecabledatatype,definedasanarrayoftenconductors,asshowninFig.6.TheOOPLCcardisatemplateelementwhichholdsanarrayoftenbase_relays,whereanyOOPLCrelaycanbepluggedin.Itsalgorithmconnectstheconductorsofeachoftherelaystothecorrespondingconductorsofthecardscables,asshowninFig.7.Toderiveanewcardwithrelaysofagiventype,asxx_relay,justatwostepsprocessisneeded,whichconstitutesthetemplatemechanisminOOPLC:1)Duplicatethetemplate_cardandgiveitanewname.2)Changetheword“base_relay”to“xx_relay”.Asanexampleofthisprocess,inFig.8ithasbeenappliedtogenerateacardthatcontainston_relays.Thetemplatemechanismguaranteesthatanynewcardiserror-free,becausenomodificationsaredonetotheinternalprogramofthetemplatecard.Onlythesymbolbase_relaymustbesubstitutedwiththetypeofthedesiredrelay(inthiscaseaton_relay).Thereisalsoadrawbackinthismethod:anewcardmustbeconstructedforeverytypeofrelay.InrealOOPlanguages,likeC+,thecompilerwhobuildsautomaticallynewcomponentsfromtemplateswhentheyarefirstdeclared.ShouldtheIECnormsupportthisfeature,thedeclarationofanewcard,Card_1,withton_relayswouldbe:Card_1:template_card;C.Communications:theConnectorElementOOPLCobjects,liketheirphysicalcounterparts,mustbeabletocommunicatewith:Eachother,toperformthePLCcontroltasks.Thecontrolledprocess,viainputandoutputsignals.Othercontrolequipment,mostlycomputers,tosuperviseandadjusttheprocessparameters.TheinterconnectionoftheobjectsinsideanOOPLCprogramisachievedeithergraphically,usingthetoolsprovidedbythevendorsofIECcompliantPLCs,orinatextualway,withlanguagesasSTL.OOPLCfacilitatesthisprocessbecause:Allthecardscanbeinterconnectedusingthesamedatatypeelement,thecable.Asacablecontainstenconductors,graphicalschemasaregreatlysimplified,inthesamewaythatunifilarelectricalschemasallowforagreatlysimplifiedrepresentationofelectricalinstallations.Aseverycardobjectinheritsthesameexternalinterface,anygivencardcanbereplacedwithanotheronewithouthavingtomodifyitsconnections.ToconnectanOOPLCcardwiththeprocessinputandoutputsignals,newselementsareneeded:aninputconnector,whichcollecttheinputsandfeedthemthroughcablestothecardobjects,andanoutputone.Theirphysicalcounter-partarethescrewconnectorsusedforcouplinganECBtoamachineorprocess.AcommonpracticeinECBconstructionistogroupsignalsofthesametypeinasingleconnector(forexample,on/offsignalsfromendswitches,oranalogonesfromtemperaturesensors).So,adifferentconnectorisbuiltforeachtypeofthecablesdata:bool,integer,timeandreal.Fig.9showsaninputconnectorforboolsignals.Theseconnectorscanbetailoredtoeachinstallation,byrepresentingonlythephysicallyconnectedpinsandassigningthemmeaningfulnames.Forexample,aninputboolconnectorathree-axismachinewouldbedefinedasinFig.10.TheconnectionofOOPLCobjectswithexternalcontrollersandcomputersismadeusingOPC(OleforProcessControl)technology.OPCserversareprovidedbythevendorsofeverymajorPLCbrandinthemarket.OPCclientscanbeembeddedinmostwindows-basedcomputerprograms,includingSCADAs,Worksheets,DataBases,etc.Nevertheless,OPChassomeconstraintsthathavetobecarefullymatchedtoimprovetheperformanceofdatatransmission:Onlydataofelementarytype(BOOL,INT,REAL,etc.)canbeaccessed.DatamustbelocatedinthePLCglobalmemory.Thedatatransmissionrateishigherwhentransferringmultipleandcontiguousunitsofdatainoneoperationinsteadofexchangingsingleonesrepeatedly,becauseoftheoverheadofthefixedframesthatthesystemuses.Datashouldbeself-explanatory.Iftheusercangetnotonlytheactualvaluesbutalsoadescriptionofthem,thenautomaticpresentationprogramscanbedeveloptoactinteractivelyuponthem.Memoryconnectorsareusedtoconnectthedataofthesearrayswiththeobjectcards.Theyhavetwoinputparameters:anumberforlocatingthearrayelementtobetransferred,andanameforexternalidentificationpurposes.Thenumbermustbeassignedmanuallytotheconnector,whichmeansthatafixedmemorylayoutisneededbeforebuildingtheprogram.Furtherresearchisbeingcarriedouttodevelopamemorymanagerthatcanassignautomaticallymemoryresourcestothecardswhentheyaredeclaredforthefirsttime.Aswiththeexternalconnector,memoryconnectorscanbedefinedeitherasinputconnector,transferringdatafromthememorytothecardinputsforparameterssetting,orasanoutputconnector,movingdatafromthecardtothememoryforsupervisionpurposes.TheactualcodeandthegraphicalrepresentationofaninputmemoryconnectorisshowninFig.11.IV.APPLICATIONOFTHEPROPOSEDMETHODTOIMPLEMENTANEXAMPLEPLCPROGRAMInFig.12,asimpleprogramwhichfiltersoutdigitalsignalswithadurationlessthanapresettimeisshown.Itfiltersthesignalsfromtheendswitchesofathree-axismachine,amustinnoisyenvironments.Asitcanbeobservedinthisfigure,specializedconnectorsareselfexplanatory.Forexample,thephysicalinputsignalcorrespondstotheend_switch(nameoftheconnector)ofaxisnumber2(nameoftheconnectorspin).So,thereisnoneedofworkingwithseparatesymbolliststhatassignanametoeveryprocesssignal.Inthisway,thepossibilitiesofmismatchesandlackofsynchronizationaftertheadditionofnewsignalsaregreatlyreduced.Thecommunicationwithexternalcomputers,forexampletosetthefiltertimeinaSCADAprogram,sachievedthroughtheuseofthememoryconnector,whichassignsafixedglobalmemoryspacetothetentimersoftheton_card,accessiblefromOPCservers.TheexampleprograminFig.12hasbeenbuiltliketheelectricaldrawingofanECB,inagraphicalway.New,complexmodulescanbederivedinthesameway,andtheycanbereusedtodevelopnewprograms,inthesamewayaspre-builtICchipsareusedtobuildhardwareequipment.V.CONCLUSIONSInthispaper,aframeworkforgraphicallydevelopingPLCcontrolprograms,usingobjectorientedtechniques,hasbeenpresented,OOPLC.Thesoftwareobjectsarebuiltwithinthisframeworkfollowingthephysicalmodelofthecomponentsofelectricalcontrolcabinets,withfeaturessuchasmodularity,parallelismandcommunicationcapabilities,bothwiththeprocessandwithexternalcomputers.Toderivenewobjectsfromexistingones,OOtechniquessuchasencapsulation,polymorphism,inheritanceandtemplateshavebeenapplied.LimitedsupportoftheIEC-61131-3normofthesetechniqueshasbeenpointedout,andsuggestionsforfutureextensionstoimplementthemhavebeenpresented.OOPLCenablesthedevelopmentofaPLCprograminagraphicalway,byinterconnectingpre-built,fullytestedsoftwarecomponents,inthesamewaythatmodernECBsaredesignedandbuilt.Asimpleexampleofsuchaprogramhasbeengiveninthispaper,butthisframeworkhasbeenalsosuccessfullyappliedfordevelopingcomplexindustrialprograms。中文翻译可编程逻辑控制器图形软件的开发摘要在计算机编程领域图形语言是标准的。复杂的软件开发靠图形连接预先建立,充分测试和高度专业化的软件组件得到最佳处理,而不是靠编写和调试成千上万行的代码。现代编程环境包含了这些成分的完整库。在可编程逻辑控制器(PLC)领域中,情况并非如此。可编程控制器编程是用图形语言开发的,梯形图(LD)或功能块图(FBD),然而标准库是非常有限的,因此,程序员必须开发自己的库,以构建软件对象。本文提出了一种基于两个重要支柱的自动建立复杂软件模块的构架:一方面,使用面向对象的概念进行封装和通用编程,另外一方面,紧随对象的物理模型以建立电气控制柜(ECBs)。一、导言在现代自动化装置的建设中,PLC编程的发展是一个关键点。正因为PLCOpen的开发1,“软件在工业自动化发挥了越来越多的作用。有了它,相关软件的费用增加,甚至这成为整个系统最高的一部分”。老的编程语言对任务有局限性:代码往往令人费解,因为流量控制的能力很有限,并且内部的相互依存使得不能进行任何轻微修改。为了解决这一问题,一个新的准,IEC-61131-3已经确立。它定义了可以用作编程的模块元素,如功能模块,并给OOP带来了一些好处,比如Lewis2或John和Tiegelkamp3提出的封装。不过,其他主要面向对象的功能,比如继承,通用编程和多态性就不为这个标准所不支持。尽管有这种局限性,Brendel4使用IEC-61131-3功能模块开发了软件组件。由于PLCOpen的作用,Bonfe和Fantuzzi5为生产机器提出了一种面向对象的编程,VanderWal6为运动控制组件开发了一种完整的面向对象库。面向对象,除了是开发PLC合理结构编程的一种方式外,也有程序注释的优势,Plomp等,或图形化编程,Lewis8。对于选择可以作为构建合理结构的PLC程序模块的软件对象,有许多种方法:数学方法,运用数学观点形成软件组件的结构及其相互关系。对于建模离散事件系统,Feldmann9,Polic和Jezernik10利用Petri网作为工具。桥式方法,使用高层次,面向对象的编程语言开发控制程序,并将产生的代码转换到IEC-61131-3功能模块中。Plaza和Medrano11使用C语言作为源程序,Heverhagen和Tracht使用统一建模语言(UML)。Jammes和Smith13用的是网络服务建模。MIM(模型集成机电)将每个对象作为一个完整的单元,集成了电气机械和软件方面的问题。Thramboulidis和Vyatkin研发了这种机电一体化的组成部分。一个互动的“智能机电试验”在17.Archimedes18中提及,CORFU19和OONEIDA20是建立在这一概念上的通用框架。这些方法从开发PLC程序的技术观点来看存在缺点,数学方法往往过于抽象,并且很难跟踪。实时限制与通用语言程序不兼容,如C或Java语言。机电模型往往过于复杂,因为他们要对所有专用设备的行为进行建模。它所需要的是一个允许与构建现代ECBs的程序相同的简单,明确,强有力和灵活的面向对象编程的模式:由布线预先建立,经过全面测试的组成部分。这是一个新的PLC软件开发的面向对象的框架,已经开发并在本文提出。其目标是通过用简单,图形化方式汇集预建立,充分测试软件组件,类似于绘制电气架构。本文的结构如下:第一部分是导言。第二节描述了主要OOPLC框架的功能,这在第三节中将全面介绍。在第四节中举例了一个程序,用的是上文提出的方法。第五节中阐述结论。二、OOPLC特征OOPLC是建立在用来构建ECBs物理成分之上的。正如Farins所指出的那样,每一个想法,必须与本身系统原则相关,不管它看上去如何简单而原始,总会有基于它的不同解决办法。作为物理模型的EBC的选择同样保证,该系统可很容易地被运用它的工作人员所理解。有了OOPLC,建立一个新的程序只是安装和连接预置,充分测试的软件模块的过程,以图形方式(与绘图电器控制柜图表相同),而不是编写和调试代码行。用于组装ECBs的基本要素是继电器。这是一个工业自动化装置的关键组成部分。事实上

温馨提示

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

评论

0/150

提交评论