PID控制算法的C語言實現(xiàn)(完整版)(總44頁_第1頁
PID控制算法的C語言實現(xiàn)(完整版)(總44頁_第2頁
PID控制算法的C語言實現(xiàn)(完整版)(總44頁_第3頁
PID控制算法的C語言實現(xiàn)(完整版)(總44頁_第4頁
PID控制算法的C語言實現(xiàn)(完整版)(總44頁_第5頁
已閱讀5頁,還剩40頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、PID控制算法的C語言實現(xiàn)一 PID算法原理 最近兩天在考慮一般控制算法的C語言實現(xiàn)問題,發(fā)現(xiàn)網(wǎng)絡(luò)上尚沒有一套完整的比較體系的講解。于是總結(jié)了幾天,整理一套思路分享給大家。 在工業(yè)應(yīng)用中PID及其衍生算法是應(yīng)用最廣泛的算法之一,是當(dāng)之無愧的萬能算法,如果能夠熟練掌握PID算法的設(shè)計與實現(xiàn)過程,對于一般的研發(fā)人員來講,應(yīng)該是足夠應(yīng)對一般研發(fā)問題了,而難能可貴的是,在我所接觸的控制算法當(dāng)中,PID控制算法又是最簡單,最能體現(xiàn)反饋思想的控制算法,可謂經(jīng)典中的經(jīng)典。經(jīng)典的未必是復(fù)雜的,經(jīng)典的東西常常是簡單的,而且是最簡單的,想想牛頓的力學(xué)三大定律吧,想想愛因斯坦的質(zhì)能方程吧,何等的簡單!簡單的不是原始

2、的,簡單的也不是落后的,簡單到了美的程度。先看看PID算法的一般形式: PID的流程簡單到了不能再簡單的程度,通過誤差信號控制被控量,而控制器本身就是比例、積分、微分三個環(huán)節(jié)的加和。這里我們規(guī)定(在t時刻): 1.輸入量為rin(t); 2.輸出量為rout(t); 3.偏差量為err(t)=rin(t)-rout(t); pid的控制規(guī)律為 理解一下這個公式,主要從下面幾個問題著手,為了便于理解,把控制環(huán)境具體一下: 1.規(guī)定這個流程是用來為直流電機調(diào)速的; 2.輸入量rin(t)為電機轉(zhuǎn)速預(yù)定值; 3.輸出量rout(t)為電機轉(zhuǎn)速實際值; 4.執(zhí)行器為直流電機; 5.傳感器為光電碼盤,假

3、設(shè)碼盤為10線; 6.直流電機采用PWM調(diào)速 轉(zhuǎn)速用單位 轉(zhuǎn)/min 表示; 不難看出以下結(jié)論: 1.輸入量rin(t)為電機轉(zhuǎn)速預(yù)定值(轉(zhuǎn)/min); 2. 輸出量rout(t)為電機轉(zhuǎn)速實際值(轉(zhuǎn)/min); 3.偏差量為預(yù)定值和實際值之差(轉(zhuǎn)/min); 那么以下幾個問題需要弄清楚: 1.通過PID環(huán)節(jié)之后的U(t)是什么值呢? 2.控制執(zhí)行器(直流電機)轉(zhuǎn)動轉(zhuǎn)速應(yīng)該為電壓值(也就是PWM占空比)。 3.那么U(t)與PWM之間存在怎樣的聯(lián)系呢?(見附錄1)這篇文章上給出了一種方法,即,每個電壓對應(yīng)一個轉(zhuǎn)速,電壓和轉(zhuǎn)速之間呈現(xiàn)線性關(guān)系。但是我考慮這種方法的前提是把直流電機的特性理解為線性

4、了,而實際情況下,直流電機的特性絕對不是線性的,或者說在局部上是趨于線性的,這就是為什么說PID調(diào)速有個范圍的問題。具體看一下/component/article90249.htm(見附錄2)這篇文章就可以了解了。所以在正式進行調(diào)速設(shè)計之前,需要現(xiàn)有開環(huán)系統(tǒng),測試電機和轉(zhuǎn)速之間的特性曲線(或者查閱電機的資料說明),然后再進行閉環(huán)參數(shù)整定。這篇先寫到這,下一篇說明連續(xù)系統(tǒng)的離散化問題。并根據(jù)離散化后的特點講述位置型PID和增量型PID的用法和C語言實現(xiàn)過程。PID控制算法的C語言實現(xiàn)二 PID算法的離散化 上一節(jié)中,我論述了PID算法的基

5、本形式,并對其控制過程的實現(xiàn)有了一個簡要的說明,通過上一節(jié)的總結(jié),基本已經(jīng)可以明白PID控制的過程。這一節(jié)中先繼續(xù)上一節(jié)內(nèi)容補充說明一下。 1.說明一下反饋控制的原理,通過上一節(jié)的框圖不難看出,PID控制其實是對偏差的控制過程; 2.如果偏差為0,則比例環(huán)節(jié)不起作用,只有存在偏差時,比例環(huán)節(jié)才起作用。 3.積分環(huán)節(jié)主要是用來消除靜差,所謂靜差,就是系統(tǒng)穩(wěn)定后輸出值和設(shè)定值之間的差值,積分環(huán)節(jié)實際上就是偏差累計的過程,把累計的誤差加到原有系統(tǒng)上以抵消系統(tǒng)造成的靜差。 4.而微分信號則反應(yīng)了偏差信號的變化規(guī)律,或者說是變化趨勢,根據(jù)偏差信號的變化趨勢來進行超前調(diào)節(jié),從而增加了系統(tǒng)的快速性。 好了,

6、關(guān)于PID的基本說明就補充到這里,下面將對PID連續(xù)系統(tǒng)離散化,從而方便在處理器上實現(xiàn)。下面把連續(xù)狀態(tài)的公式再貼一下: 假設(shè)采樣間隔為T,則在第K T時刻:偏差err(K)=rin(K)-rout(K);積分環(huán)節(jié)用加和的形式表示,即err(K)+err(K+1)+;微分環(huán)節(jié)用斜率的形式表示,即err(K)-err(K-1)/T;從而形成如下PID離散表示形式:則u(K)可表示成為:至于說Kp、Ki、Kd三個參數(shù)的具體表達(dá)式,我想可以輕松的推出了,這里節(jié)省時間,不再詳細(xì)表示了。其實到這里為止,PID的基本離散表示形式已經(jīng)出來了。目前的這種表述形式屬于位置型PID,另外一種表述方式為增量式PID,

7、由U上述表達(dá)式可以輕易得到:那么:這就是離散化PID的增量式表示方式,由公式可以看出,增量式的表達(dá)結(jié)果和最近三次的偏差有關(guān),這樣就大大提高了系統(tǒng)的穩(wěn)定性。需要注意的是最終的輸出結(jié)果應(yīng)該為u(K)+增量調(diào)節(jié)值;PID的離散化過程基本思路就是這樣,下面是將離散化的公式轉(zhuǎn)換成為C語言,從而實現(xiàn)微控制器的控制作用。PID控制算法的C語言實現(xiàn)三 位置型PID的C語言實現(xiàn) 上一節(jié)中已經(jīng)抽象出了位置性PID和增量型PID的數(shù)學(xué)表達(dá)式,這一節(jié),重點講解C語言代碼的實現(xiàn)過程,算法的C語言實現(xiàn)過程具有一般性,通過PID算法的C語言實現(xiàn),可以以此類推,設(shè)計其它算法的C語言實現(xiàn)。 第一步:定義PID變量結(jié)構(gòu)體,代碼如

8、下:struct _pid float SetSpeed; /定義設(shè)定值 float ActualSpeed; /定義實際值 float err; /定義偏差值 float err_last; /定義上一個偏差值 float Kp,Ki,Kd; /定義比例、積分、微分系數(shù) float voltage; /定義電壓值(控制執(zhí)行器的變量) float integral; /定義積分值pid;控制算法中所需要用到的參數(shù)在一個結(jié)構(gòu)體中統(tǒng)一定義,方便后面的使用。 第二部:初始化變量,代碼如下:void PID_init() printf(PID_init begin n); pid.SetSpeed=0

9、.0; pid.ActualSpeed=0.0; pid.err=0.0; pid.err_last=0.0; pid.voltage=0.0; egral=0.0; pid.Kp=0.2; pid.Ki=0.015; pid.Kd=0.2; printf(PID_init end n);統(tǒng)一初始化變量,尤其是Kp,Ki,Kd三個參數(shù),調(diào)試過程當(dāng)中,對于要求的控制效果,可以通過調(diào)節(jié)這三個量直接進行調(diào)節(jié)。第三步:編寫控制算法,代碼如下:float PID_realize(float speed) pid.SetSpeed=speed; pid.err=pid.SetSpeed-pi

10、d.ActualSpeed; egral+=pid.err; pid.voltage=pid.Kp*pid.err+pid.Ki*egral+pid.Kd*(pid.err-pid.err_last); pid.err_last=pid.err; pid.ActualSpeed=pid.voltage*1.0; return pid.ActualSpeed;注意:這里用了最基本的算法實現(xiàn)形式,沒有考慮死區(qū)問題,沒有設(shè)定上下限,只是對公式的一種直接的實現(xiàn),后面的介紹當(dāng)中還會逐漸的對此改進。 到此為止,PID的基本實現(xiàn)部分就初步完成了。下面是測試代碼:int main(

11、) printf(System begin n); PID_init(); int count=0; while(count1000) float speed=PID_realize(200.0); printf(%fn,speed); count+; return 0;下面是經(jīng)過1000次的調(diào)節(jié)后輸出的1000個數(shù)據(jù)(具體的參數(shù)整定過程就不說明了,網(wǎng)上這種說明非常多):83.00000111.55500059.55967528.17540852.90742138.94415251.89169946.14165153.33905451.50999855.90845055.94463158.97

12、068059.88293662.22500163.53725465.52770767.01105868.81064670.35531872.04204073.59565875.20762076.74544478.30152679.81213681.32192982.80030484.26890985.71310887.14345588.55300589.94696091.32207892.68099694.02223495.34718696.65524297.94718099.222808100.482601101.726572102.955049104.168125105.366066106

13、.549019107.717187108.870756110.009898111.134811112.245652113.342615114.425860115.495564116.551897117.595029118.625116119.642331120.646826121.638767122.618307123.585603124.540813125.484079126.415549127.335383128.243715129.140691130.026459130.901149131.764909132.617870133.460162134.291942135.113308135

14、.924419136.725382137.516332138.297401139.068697139.830352140.582499141.325237142.058701142.782985143.498218144.204509144.901969145.590726146.270843146.942486147.605718148.260674148.907425149.546109150.176794150.799612151.414626152.021959152.621696153.213951153.798781154.376315154.946626155.509812156

15、.065958156.615146157.157471157.693012158.221871158.744097159.259826159.769078160.271991160.768588161.258996161.743264162.221494162.693737163.160075163.620593164.075347164.524422164.967877165.405795165.838235166.265257166.686967167.103377167.514610167.920681168.321682168.717670169.108719169.494862169

16、.876198170.252740170.624605170.991799171.354406171.712487172.066080172.415265172.760077173.100594173.436838173.768895174.096796174.420594174.740352175.056096175.367915175.675818175.979886176.280136176.576656176.869444177.158600177.444121177.726087178.004510178.279458178.550967178.819094179.083860179

17、.345315179.603504179.858466180.110241180.358866180.604388180.846849181.086262181.322699181.556172181.786733182.014396182.239222182.461226182.680475182.896971183.110768183.321881183.530369183.736239183.939545184.140301184.338555184.534321184.727651184.918558185.107080185.293243185.477080185.658625185

18、.837886186.014930186.189745186.362382186.532859186.701207186.867437187.031605187.193713187.353802187.511884187.667997187.822151187.974384188.124700188.273148188.419728188.564488188.707429188.848592188.987995189.125644189.261576189.395801189.528364189.659258189.788528189.916170190.042233190.166702190

19、.289633190.411007190.530867190.649236190.766119190.881544190.995531191.108087191.219243191.329005191.437382191.544428191.650111191.754504191.857565191.959350192.059857192.159119192.257135192.353919192.449511192.543890192.637105192.729137192.820032192.909776192.998410193.085920193.172360193.257700193

20、.341993193.425214193.507408193.588568193.668715193.747847193.826004193.903175193.979391194.054643194.128963194.202349194.274828194.346393194.417073194.486854194.555777194.623820194.691027194.757390194.822919194.887626194.951536195.014633195.076965195.138496195.199273195.259270195.318547195.377060195

21、.434856195.491918195.548283195.603919195.658886195.713145195.766734195.819654195.871912195.923517195.974472196.024791196.074478196.123558196.172016196.219859196.267115196.313778196.359851196.405363196.450296196.494672196.538492196.581753196.624494196.666678196.708363196.749493196.790138196.830267196

22、.869889196.909019196.947656196.985803197.023493197.060701197.097449197.133733197.169558197.204940197.239872197.274378197.308436197.342089197.375309197.408125197.440523197.472520197.504114197.535309197.566127197.596546197.626594197.656258197.685546197.714486197.743047197.771265197.799113197.826629197

23、.853799197.880631197.907131197.933284197.959122197.984629198.009823198.034705198.059275198.083520198.107481198.131129198.154493198.177566198.200349198.222843198.245062198.267001198.288662198.310059198.331178198.352049198.372645198.392982198.413066198.432911198.452499198.471846198.490953198.509819198

24、.528439198.546842198.565003198.582945198.600648198.618147198.635415198.652474198.669313198.685955198.702378198.718611198.734625198.750448198.766067198.781497198.796736198.811776198.826628198.841303198.855788198.870087198.884218198.898162198.911943198.925538198.938970198.952229198.965320198.978257198

25、.991033199.003643199.016092199.028390199.040542199.052536199.064373199.076067199.087617199.099019199.110280199.121407199.132381199.143240199.153940199.164511199.174957199.185270199.195457199.205514199.215440199.225262199.234930199.244503199.253928199.263275199.272468199.281571199.290541199.299421199

26、.308165199.316815199.325345199.333789199.342115199.350336199.358462199.366479199.374396199.382228199.389943199.397586199.405110199.412555199.419891199.427152199.434307199.441389199.448363199.455264199.462073199.468802199.475442199.481995199.488475199.494857199.501183199.507404199.513578199.519639199

27、.525656199.531579199.537437199.543230199.548936199.554583199.560149199.565647199.571073199.576436199.581730199.586961199.592118199.597220199.602260199.607218199.612132199.616974199.621764199.626486199.631156199.635757199.640316199.644808199.649249199.653636199.657959199.662246199.666457199.670635199

28、.674752199.678815199.682833199.686798199.690715199.694583199.698409199.702177199.705905199.709582199.713209199.716788199.720339199.723826199.727276199.730690199.734054199.737378199.740657199.743901199.747111199.750260199.753393199.756474199.759526199.762524199.765490199.768422199.771314199.774169199

29、.776992199.779775199.782527199.785247199.787938199.790590199.793204199.795787199.798338199.800860199.803343199.805802199.808225199.810624199.812986199.815326199.817642199.819915199.822175199.824388199.826587199.828755199.830902199.833006199.835097199.837155199.839194199.841210199.843191199.845168199

30、.847096199.849024199.850905199.852784199.854621199.856449199.858238199.860016199.861757199.863486199.865199199.866879199.868549199.870186199.871813199.873419199.874997199.876563199.878109199.879620199.881136199.882613199.884088199.885527199.886971199.888371199.889783199.891142199.892518199.893845199

31、.895180199.896485199.897783199.899057199.900322199.901562199.902797199.904010199.905222199.906392199.907576199.908720199.909875199.910985199.912108199.913193199.914287199.915352199.916423199.917459199.918505199.919527199.920526199.921513199.922496199.923452199.924415199.925348199.926275199.927198199

32、.928108199.929019199.929903199.930788199.931653199.932509199.933353199.934187199.935002199.935816199.936617199.937420199.938195199.938971199.939733199.940477199.941228199.941961199.942685199.943392199.944111199.944804199.945491199.946181199.946854199.947518199.948165199.948824199.949456199.950083199

33、.950714199.951326199.951930199.952532199.953125199.953714199.954290199.954863199.955424199.955979199.956538199.957073199.957623199.958146199.958671199.959189199.959693199.960203199.960689199.961191199.961665199.962156199.962619199.963098199.963543199.964014199.964448199.964907199.965330199.965772199

34、.966201199.966625199.967046199.967458199.967868199.968263199.968664199.969047199.969437199.969817199.970193199.970565199.970943199.971297199.971668199.972011199.972363199.972712199.973047199.973388199.973726199.974049199.974379199.974699199.975014199.975326199.975645199.975939199.976249199.976546199

35、.976832199.977125199.977414199.977688199.977969199.978247199.978525199.978782199.979061199.979312199.979576199.979825199.980077199.980335199.980569199.980812199.981053199.981300199.981522199.981755199.981984199.982213199.982427199.982648199.982860199.983080199.983298199.983501199.983704199.983914199

36、.984114199.984309199.984500199.984698199.984887199.985079199.985262199.985442199.985623199.985803199.985984199.986170199.986327199.986508199.986668199.986846199.987006199.987169199.987321199.987481199.987633199.987800199.987948199.988094199.988237199.988386199.988526199.988675199.988815199.988965199

37、.989090199.989231199.989359199.989491199.989629199.989757199.989889199.990012199.990133199.990253199.990373199.990493199.990614199.990734199.990854199.990960199.991072199.991180199.991289199.991398199.991507199.991616199.991718199.991837199.991922199.992025199.992123199.992214199.992314199.992412199

38、.992503199.992604199.992701199.992792199.992878199.992967199.993047199.993136199.993216199.993305199.993385199.993474199.993554199.993637199.993726199.993806199.993881199.993952199.994024199.994101199.994170199.994241199.994313199.994391199.994459199.994531199.994602199.994680199.994748199.994805199

39、.994868199.994928199.994989199.995049199.995109199.995175199.995226199.995295199.995346199.995416199.995466199.995536199.995593199.995653199.995713199.995759199.995811199.995859199.995902199.995960199.995999199.996051199.996100199.996148199.996191199.996249199.996288199.996340199.996389199.996438199

40、.996480199.996538199.996578199.996629199.996678199.996712199.996746199.996787199.996824199.996855199.996896199.996927199.996967199.997005199.997036199.997076199.997113199.997145199.997185199.997216199.997256199.997294199.997325199.997365199.997403199.997434199.997474199.997512199.997543199.997583199

41、.997614199.997640199.997669199.997689199.997711199.997740199.997760199.997789199.997809199.997838199.997858199.997880199.997909199.997929199.997958199.997978199.998007199.998027199.998049199.998078199.998098199.998127199.998147199.998170199.998199199.998218199.998247199.998267199.998296199.998316199

42、.998339199.998368199.998387199.998416199.998436199.998459199.998488199.998508199.998537199.998556199.998585199.998590199.998605199.998616199.998634199.998642199.998654199.998665199.998676199.998694199.998702199.998714199.998725199.998743199.998745199.998766199.998774199.998785199.998803199.998805199

43、.998826199.998834199.998845199.998863199.998871199.998883199.998894199.998905199.998923199.998931199.998943199.998954199.998972199.998974199.998995199.999003199.999014199.999032199.999034199.999055199.999063199.999074199.999092199.999094199.999115199.999123199.999135199.999152199.999161199.999172199

44、.999183199.999201199.999203199.999224199.999232199.999243199.999261199.999263199.999284199.999292199.999304199.999321199.999323199.999344199.999352199.999364199.999381199.999390199.999401199.999412199.999430199.999432199.999453199.999461199.999473PID控制算法的C語言實現(xiàn)四 增量型PID的C語言實現(xiàn) 上一節(jié)中介紹了最簡單的位置型PID的實現(xiàn)手段,這一

45、節(jié)主要講解增量式PID的實現(xiàn)方法,位置型和增量型PID的數(shù)學(xué)公式請參見我的系列文PID控制算法的C語言實現(xiàn)二中的講解。實現(xiàn)過程仍然是分為定義變量、初始化變量、實現(xiàn)控制算法函數(shù)、算法測試四個部分,詳細(xì)分類請參加PID控制算法的C語言實現(xiàn)三中的講解,這里直接給出代碼了。#include#includestruct _pid float SetSpeed; /定義設(shè)定值 float ActualSpeed; /定義實際值 float err; /定義偏差值 float err_next; /定義上一個偏差值 float err_last; /定義最上前的偏差值 float Kp,Ki,Kd; /定義

46、比例、積分、微分系數(shù)pid;void PID_init() pid.SetSpeed=0.0; pid.ActualSpeed=0.0; pid.err=0.0; pid.err_last=0.0; pid.err_next=0.0; pid.Kp=0.2; pid.Ki=0.015; pid.Kd=0.2;float PID_realize(float speed) pid.SetSpeed=speed; pid.err=pid.SetSpeed-pid.ActualSpeed; float incrementSpeed=pid.Kp*(pid.err-pid.err_next)+pid.K

47、i*pid.err+pid.Kd*(pid.err-2*pid.err_next+pid.err_last); pid.ActualSpeed+=incrementSpeed; pid.err_last=pid.err_next; pid.err_next=pid.err; return pid.ActualSpeed;int main() PID_init(); int count=0; while(count1000) float speed=PID_realize(200.0); printf(%fn,speed); count+; return 0;運行后的1000個數(shù)據(jù)為:83.00

48、000011.55500059.55967728.17540652.90742538.94414951.89170146.14165553.33905051.51000255.90844755.94463758.97067659.88294262.22499863.53724765.52770267.01104768.81063870.35530972.04202373.59564275.20760376.74543078.30151479.81212681.32191582.80029384.26889885.71309787.14344088.55299489.94694591.32206

49、792.68097794.02222495.34717696.65523597.94717499.222801100.482597101.726562102.955040104.168114105.366058106.549004107.717178108.870743110.009888111.134796112.245636113.342598114.425842115.495552116.551880117.595009118.625099119.642311120.646812121.638756122.618294123.585594124.540794125.484062126.4

50、15535127.335365128.243698129.140671130.026443130.901138131.764893132.617859133.460159134.291931135.113297135.924408136.725372137.516327138.297394139.068695139.830353140.582489141.325226142.058685142.782974143.498199144.204498144.901962145.590714146.270844146.942474147.605713148.260651148.907410149.5

51、46082150.176773150.799576151.414597152.021927152.621674153.213913153.798752154.376282154.946594155.509781156.065918156.615112157.157440157.692993158.221848158.744095159.259811159.769073160.271973160.768585161.258987161.743271162.221481162.693726163.160065163.620575164.075333164.524399164.967865165.4

52、05777165.838226166.265259166.686951167.103378167.514587167.920670168.321671168.717667169.108704169.494858169.876175170.252731170.624588170.991791171.354401171.712479172.066086172.415268172.760086173.100601173.436844173.768890174.096786174.420578174.740326175.056076175.367889175.675797175.979858176.2

53、80121176.576630176.869431177.158569177.444092177.726044178.004471178.279419178.550934178.819046179.083817179.345276179.603470179.858429180.110214180.358841180.604370180.846817181.086243181.322662181.556137181.786682182.014359182.239182182.461197182.680435182.896942183.110733183.321854183.530334183.736206183.939514184.140274184.338531184.534302184.727631184.918533185.107056185.293228185.477066185.658615185.837891186.014923186.189743186.36

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論