亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? pid_design.m

?? 反饋控制CtrlLAB工具箱-MATLAB-Toolbox
?? M
?? 第 1 頁 / 共 2 頁
字號:
      d0=sqrt(Ti*(Ti-4*Td)); Ti0=Ti; Kp=0.5*(Ti+d0)*Kp/Ti; Ti=0.5*(Ti+d0); Td=Ti0-Ti;
      Gc_Sys=tf(Kp*[Ti,1],[Ti,0]); nH=[(1+Kp/N)*Ti*Td, Kp*(Ti+Td/N), Kp]; 
      dH=Kp*conv([Ti,1],[Td/N,1]); H_Sys=tf(nH,dH);
   end
case 5
   Kp=1.24*(1+0.13*tau/(1-tau))/a; Td=(0.27-0.36*tau)*L/(1-0.87*tau); 
   dd=[Td/N,1]; nn=Kp*[Td*(N+1)/N, 1]; Gc_Sys=tf(nn,dd); H_Sys=[];
end

%-----------------------------------------------------------------------------
%opt_pid is used to design PID controller using the optimal setting algorithm.
%-----------------------------------------------------------------------------
function [Gc_Sys,H_Sys,Kp,Ti,Td]=opt_pid(key,typ,vars)
Ti=0; Td=0; N=vars(4); 
if length(vars)==5, k=vars(1); L=vars(2); T=vars(3); iC=vars(5); tt=0;
else, Kc=vars(1); Tc=vars(2); kappa=(3); tt=1; end
if tt==0
   switch key
   case 2,
      PIDtab=[0.980, 0.712, 0.569, 1.072, 0.786, 0.628;
             -0.892,-0.921,-0.951,-0.560,-0.559,-0.583;
              0.690, 0.968, 1.023, 0.648, 0.883, 1.007;
             -0.155,-0.247,-0.179,-0.114,-0.158,-0.167];
   case 3
      PIDtab=[1.048, 1.042, 0.968, 1.154, 1.142, 1.061; 
             -0.897,-0.897,-0.904,-0.567,-0.579,-0.583;
              1.195, 0.987, 0.977, 1.047, 0.919, 0.892;
             -0.368,-0.238,-0.253,-0.220,-0.172,-0.165;
              0.489, 0.385, 0.316, 0.490, 0.384, 0.315;
              0.888, 0.906, 0.892, 0.708, 0.839, 0.832];
   case 4
      PIDtab=[1.260, 1.053, 0.942, 1.295, 1.120, 1.001;
             -0.887,-0.930,-0.933,-0.619,-0.625,-0.624;
              0.701, 0.736, 0.770, 0.661, 0.720, 0.754;
             -0.147,-0.126,-0.130,-0.110,-0.114,-0.116;
              0.375, 0.349, 0.308, 0.378, 0.350, 0.308;
              0.886, 0.907, 0.897, 0.756, 0.811, 0.813];
   end
   ii=0; if (L/T>1) ii=3; end; tt=L/T; 
   a1=PIDtab(1,ii+iC); b1=PIDtab(2,ii+iC); a2=PIDtab(3,ii+iC); b2=PIDtab(4,ii+iC); 
   Kp=a1/k*tt^b1; Ti=T/(a2+b2*tt); 
   if key==3| key==4, a3=PIDtab(5,ii+iC); b3=PIDtab(6,ii+iC); Td=a3*T*tt^b3; end
else
   switch key
   case 2, Kp=0.361*Kc; Ti=0.083*(1.935*kappa+1)*Tc;   
   case 3, Kp=0.509*Kc; Td=0.125*Tc; Ti=0.051*(3.302*kappa+1)*Tc;
   case 4,
      Kp=(4.437*kappa-1.587)/(8.024*kappa-1.435)*Kc; Ti=0.037*(5.89*kappa+1)*Tc;  Td=0.112*Tc;
   end
end
switch key
case 2, nn=Kp*[Ti,1]; dd=[Ti,0];
case 3
   nn=[Kp*Ti*Td*(N+1)/N, Kp*(Ti+Td/N), Kp];
   dd=Ti*[Td/N,1,0]; Gc_Sys=tf(nn,dd); H_Sys=[];
case 4
   nn=Kp*[Ti,1]; dd=[Ti,0]; dH=Kp*conv([Ti,1],[Td/N,1]);
   nH=[(1+Kp/N)*Ti*Td, Kp*(Ti+Td/N), Kp]; Gc_Sys=tf(nn,dd); H_Sys=tf(nH,dH);
end

%--------------------------------------------------------------------------------------
%rziegler_nic is used to design PID controller using the refined Ziegler-Nichols algorithm.
%--------------------------------------------------------------------------------------
function [Gc_Sys,H_Sys,Kp,Ti,Td,beta]=rziegler_nic(vars)
Ti=0; Td=0; K=vars(1); L=vars(2); T=vars(3); N=vars(4); a=K*L/T; 
Kp=1.2/a; Ti=2*L; Td=L/2; Kc=vars(5); Tc=vars(6); kappa=Kc*K; tau=L/T;
if (kappa > 2.25 & kappa<15) | (tau>0.16 & tau<0.57)
   beta=(15-kappa)/(15+kappa);
elseif (kappa<2.25 & kappa>1.5) | (tau<0.96 & tau>0.57)
   mu=4*jappa/9; beta=8*(mu-1)/17; Ti=0.5*mu*Tc;
elseif (kappa>1.2 & kappa<1.5), 
   Kp=5*(12+kappa)/(6*(15+14*kappa));  Ti=0.2*(4*kappa/15+1); beta=1;
end

dH=conv([Ti*beta,1],[Td/N,1]); nH=[Ti*Td*beta*(N+2-beta)/N, Ti+Td/N, 1];
Gc_Sys=tf(Kp*[beta*Ti,1],[Ti,0]); H_Sys=tf(nH,dH);

%---------------------------------------------------------------------------------
%otherpid is used to give an extra dialog box to allow the PID setting using other
%algorithms.
%---------------------------------------------------------------------------------
function otherpid(arg1,arg2)

if nargin==1
   nTask=arg1(1); g_win=findobj('Name','Enter PID Specifications');
   if length(g_win)==0
      g_win=figure('Units','normalized','Position',[0.24875 0.332 0.35 0.167],...
         'NumberTitle','off','Name','Enter PID Specifications','Tag','CtrlLABExtras',...
         'MenuBar','none','Color',0.8*[1,1,1],'Resize','off');
      extra_funs(1);
      switch nTask
      case 9
         [v,d]=version; v1=eval(v(1)); v2=eval(v(3)); v3=eval(v(5));
         if v2==2 & v3==0, strRadio='ToggleButton'; else, strRadio='RadioButton'; end 
         [xL,aText(1)]=display_str(0.05,0.85,'Overshoot Requrements',[0,0,0],'on',9);
         aText(2)=uicontrol('Style',strRadio,'String','No Overshoot (0%)',...
            'Units','normalized','Position',[0.1 0.55 0.45 0.19],...
            'Value',1,'BackgroundColor',0.8*[1,1,1],'Callback','extra_funs(4,1,''Value'',2,3);');
         aText(3)=uicontrol('Style',strRadio,'String','Less than 20%',...
            'Units','normalized','Position',[0.1 0.30 0.45 0.19],...
            'Value',0,'BackgroundColor',0.8*[1,1,1],'Callback','extra_funs(4,1,''Value'',3,2);');
      case 10
         [xL,aText(1)]=display_str(0.05,0.75,'Value of r_b',[0,0,0],'on',9);
         aText(2)=uicontrol('Style','Edit','String','0.45',...
            'Units','normalized','Position',[0.40 0.71 0.25 0.18],...
            'HorizontalAlignment','left','BackgroundColor',[1,1,1]);
         [xL,aText(3)]=display_str(0.05,0.45,'Value of \phi_b',[0,0,0],'on',9);
         aText(4)=uicontrol('Style','Edit','String','45',...
            'Units','normalized','Position',[0.40 0.35 0.25 0.18],...
            'HorizontalAlignment','left','BackgroundColor',[1,1,1]);
      case 11
         [xL,aText(1)]=display_str(0.05,0.75,'Filter Constant T_f',[0,0,0],'on',9);
         aText(2)=uicontrol('Style','Edit','String','10',...
            'Units','normalized','Position',[0.42 0.71 0.2 0.18],...
            'HorizontalAlignment','left','BackgroundColor',[1,1,1]);
      end
      uicontrol('Style','Pushbutton','String','Design',...
         'Units','normalized','Position',[0.76 0.75 0.2 0.2],'Callback','pid_design(6,1);');
      uicontrol('Style','Pushbutton','String','Cancel',...
         'Units','normalized','Position',[0.76 0.45 0.2 0.2],'Callback','delete(gcf);');
      uicontrol('Style','Pushbutton','String','Help',...
         'Units','normalized','Position',[0.76 0.15 0.2 0.2],'Callback','pid_design(6,2);');
      set(gcf,'UserData',{aText,arg1}); 
   else, figure(g_win); end
else
   uu=get(gcf,'UserData'); g_pid=gcf; vars=uu{2}; nTask=vars(1);
   g_main=figure(findobj('Tag','CtrlLABMain'));
   uu0=get(g_main,'UserData'); g1=get(uu0{1}(1),'UserData'); G1=tf(g1{2});
   bFodIdent=extra_funs(5,5,'Checked',29:31); bPIDType=extra_funs(5,5,'Checked',23:26);
   bOvshoot=~get(uu{1}(2),'Value');
   switch arg2
   case 1
      switch nTask
      case 9
         k=vars(2); L=vars(3); T=vars(4); NN=vars(5); 
         [Gc_Sys,H_Sys,Kp,Ti,Td]=chr_pid(bPIDType,1,[k,L,T,NN,bOvshoot]);
      case 10,
         rb=eval(get(uu{1}(2),'String')); phib=eval(get(uu{1}(4),'String'));
         Kc=vars(2); Tc=vars(3); NN=vars(4); 
         [Gc_Sys,H_Sys,Kp,Ti,Td]=ziegler_nic(bPIDType,[Kc,Tc,rb,phib,NN]);
      case 11,
         k=vars(2); L=vars(3); T=vars(4); NN=vars(5); Tf=eval(get(uu{1}(2),'String'));
         [Gc_Sys,H_Sys,Kp,Ti,Td]=imc_pid(bPIDType,[k,L,T,NN,Tf]);
      end;
      close(g_pid);
      proc_pid(Gc_Sys,H_Sys,Kp,Ti,Td,NN);      
   case 2
      switch nTask
      case {9,10,11}, clab_help(14);
      case {2,3,4,5}, clab_help(15);
      end      
   end  
end   

%------------------------------------------------------------------------------
%chr_pid is used to design PID using the Chien-Hoones-Reswick tuning algorithm.
%------------------------------------------------------------------------------
function [Gc_Sys,H_Sys,Kp,Ti,Td]=chr_pid(key,typ,vars)
Ti=0; Td=0; K=vars(1); L=vars(2); T=vars(3); N=vars(4); 
a=K*L/T; ovshoot=vars(5);
if typ==1, TT=T; else TT=L; typ=2;  end
if ovshoot==0, 
   KK=[0.3,0.35,1.2,0.6,1,0.5; 0.3,0.6,4,0.95,2.4,0.42];
else, 
   KK=[0.7,0.6,1,0.95,1.4,0.47; 0.7,0.7,2.3,1.2,2,0.42]; 
end
switch key 
case 1, Kp=KK(typ,1)/a; Gc_Sys=tf(Kp,1); H_Sys=[];
case 2, Kp=KK(typ,2)/a; Ti=KK(typ,3)*TT; Gc_Sys=tf(Kp*[Ti,1],[Ti,0]); H_Sys=[]; 
otherwise
   Kp=KK(typ,4)/a; Ti=KK(typ,5)*TT; Td=KK(typ,6)*L; 
   if key==3
      dd=Ti*[Td/N,1,0]; nn=[Kp*Ti*Td*(N+1)/N, Kp*(Ti+Td/N), Kp]; Gc_Sys=tf(nn,dd); H_Sys=[];
   elseif key==4
      d0=sqrt(Ti*(Ti-4*Td)); Ti0=Ti; Kp=0.5*(Ti+d0)*Kp/Ti; Ti=0.5*(Ti+d0); Td=Ti0-Ti;
      nH=[(1+Kp/N)*Ti*Td, Kp*(Ti+Td/N), Kp]; dH=Kp*conv([Ti,1],[Td/N,1]);
      Gc_Sys=tf(Kp*[Ti,1],[Ti,0]); H_Sys=tf(nH,dH);
   end
end

%-------------------------------------------------------------------------
%imc_pid is used to design PID using the internal model control structure.
%-------------------------------------------------------------------------
function [Gc_Sys,H_Sys,Kp,Ti,Td]=imc_pid(key,vars)
Ti=0; Td=0; K=vars(1); L=vars(2); T=vars(3); N=vars(4); a=K*L/T; Tf=vars(5);
switch key
case 2, 
   Kp=T/(K*(L+Tf)); Ti=T; Gc_Sys=tf(Kp*[Ti,1],[Ti,0]); H_Sys=[]; 
otherwise
   Kp=(L/2+T)/(K*(L+Tf)); Ti=T+L/2; Td=L*T/(L+2*T); 
   if key==3
      dd=Ti*[Td/N,1,0]; nn=[Kp*Ti*Td*(N+1)/N, Kp*(Ti+Td/N), Kp]; Gc_Sys=tf(nn,dd); H_Sys=[];
   elseif key==4
      d0=sqrt(Ti*(Ti-4*Td)); Ti0=Ti; Kp=0.5*(Ti+d0)*Kp/Ti; Ti=0.5*(Ti+d0); Td=Ti0-Ti;
      nH=[(1+Kp/N)*Ti*Td, Kp*(Ti+Td/N), Kp]; dH=Kp*conv([Ti,1],[Td/N,1]);
      Gc_Sys=tf(Kp*[Ti,1],[Ti,0]); H_Sys=tf(nH,dH); 
   end
end

%-----------------------------------------------------------------------------
%display_pid is used to display the designed PID controller in the PID format.
%-----------------------------------------------------------------------------
function display_pid()
g_main=findobj('Tag','CtrlLABMain'); uu=get(g_main,'UserData'); figure(g_main);
bPIDType=extra_funs(5,5,'Checked',23:26); set(uu{4}(26),'Enable','on','Checked','on');
Kp=uu{7}(1); Ti=uu{7}(2); Td=uu{7}(3); N_f=uu{7}(4);
if length(uu{7})==5, beta=uu{7}(5); bPIDType=5; end
%clear information display window to get ready for diaplay
display_str;
%according to PID controller type to display the PID controller
xL=0.1; yL=0.5; display_str(xL,0.75,'PID Controller');
xL=display_str(xL,yL,['G_c(s) = ' display_str(Kp)]);
if bPIDType>1
   %display integral control component
   xL=display_str(xL,yL,' (1+ '); vv=[display_str(Ti) 's']; xx=0.12;
   if length(find(vv=='^'))==0, xx=0.08; end
   xL2=display_str(xL,yL-xx,vv); h=line([xL,xL2],[yL,yL]); set(h,'Color',[0,0,0]);
   display_str(0.5*xL2+0.5*xL,yL+0.065,'1'); xL=xL2; 
   switch bPIDType
   case 2, xL=display_str(xL,yL,' )'); %PI control
   case 3, xL=display_str(xL,yL,[' +' display_str(Td) 's )']); %Normal PID control
   case 4, xL=display_str(xL,yL,['),   F(s)= ', display_str(Td) 's']); %PID control with D in feedback
   case 5, %Refined Ziegler-Nichols structure
      xL=display_str(xL,yL,'),  '); xL=display_str(0.1,yL-0.3,['F(s)=P+I+',display_str(Td) 's']);
      xL=display_str(xL,yL-0.3,[',   \beta=' num2str(beta)]);
   end
end
ctrllab(0,2);

%----------------------------------------------------------------------------------
%get_fod is used to obtain the first-order plus delay approximation of the original 
%model using different algorithms.
%----------------------------------------------------------------------------------
function [K,L,T]=get_fod(G1,method)

K=real(dcgain(G1));
if nargin==1
   [Kc,Pm,wc,wcp]=margin(G1); ikey=0; L=1.6*pi/(3*wc); T=0.5*Kc*K*L; 
   if isfinite(Kc), 
       x0=[L;T]; 
       while ikey==0, 
          ww1=wc*x0(1); ww2=wc*x0(2);
          FF=[K*Kc*(cos(ww1)-ww2*sin(ww1))+1+ww2^2; sin(ww1)+ww2*cos(ww1)];
          J=[-K*Kc*wc*sin(ww1)-K*Kc*wc*ww2*cos(ww1),-K*Kc*wc*sin(ww1)+2*wc*ww2;
              wc*cos(ww1)-wc*ww2*sin(ww1), wc*cos(ww1)]; 
          x1=x0-inv(J)*FF; 
          if norm(x1-x0)<1e-8, ikey=1; else, x0=x1; end
       end
       L=x0(1); T=x0(2);
   end
elseif nargin==2 & method==1
   [nn,dd]=tfdata(G1,'v'); [n1,d1]=tf_derv(nn,dd); [n2,d2]=tf_derv(n1,d1);
   K1=n1(end)/d1(end); K2=n2(end)/d2(end); Tar=-K1/K; T=sqrt(K2/K-Tar^2); L=Tar-T;
end
L=real(L); T=real(T);

%----------------------------------------------------------------------------
%tf_derv is used to obtain the first derivative of a given transfer function.
%----------------------------------------------------------------------------
function [e,f]=tf_derv(b,a)
f=conv(a,a);
e1=conv((length(b)-1:-1:1).*b(1:end-1),a); e2=conv((length(a)-1:-1:1).*a(1:end-1),b);
L0=length(e1)-length(e2); e=[zeros(1,-L0) e1]-[zeros(1,L0) e2];

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩av电影天堂| 视频一区在线视频| 欧美裸体一区二区三区| 激情图片小说一区| 午夜精品国产更新| 欧美大胆一级视频| 国产成人av电影在线播放| 久久久.com| 亚洲欧美另类小说视频| 欧洲人成人精品| 捆绑变态av一区二区三区| 国产调教视频一区| 国产成人啪午夜精品网站男同| 久久久精品蜜桃| 在线看日本不卡| 亚洲一级不卡视频| 精品国产乱码久久久久久图片 | 日韩午夜在线影院| 成人午夜视频免费看| 亚洲免费观看高清完整版在线观看熊| 欧美卡1卡2卡| 92国产精品观看| 天天综合网天天综合色| 久久精品人人做人人综合| 欧美午夜精品一区| 国产成人av一区二区| 国产日产亚洲精品系列| 5月丁香婷婷综合| 成人在线综合网| 日韩成人精品在线观看| 中文字幕视频一区二区三区久| 欧美一区二区视频在线观看| 成人综合激情网| 成人性生交大片免费看中文网站| 午夜电影一区二区三区| 尤物在线观看一区| 911国产精品| 欧美日韩国产高清一区| 高清不卡在线观看| 一区二区三区国产| 亚洲欧美视频在线观看视频| 久久免费偷拍视频| 91精品国产手机| 777色狠狠一区二区三区| 欧美少妇性性性| 国产精品18久久久久久久网站| 日韩av中文字幕一区二区| 亚洲影院久久精品| 午夜一区二区三区视频| 秋霞电影网一区二区| 久久99精品国产| 午夜久久久久久电影| 日韩精品成人一区二区三区 | 中文字幕永久在线不卡| 国产亚洲综合在线| 欧美日韩国产电影| 精品免费国产二区三区| 国产精品少妇自拍| 亚洲九九爱视频| 日韩av电影天堂| 国产成人免费av在线| 色综合视频在线观看| 欧美日韩国产中文| 亚洲欧洲性图库| 亚洲一区二区欧美激情| 精品无人区卡一卡二卡三乱码免费卡| 欧美日韩免费不卡视频一区二区三区 | 国产露脸91国语对白| 国产精品18久久久久久久久久久久 | 制服.丝袜.亚洲.另类.中文| 亚洲精品一线二线三线| 亚洲美女精品一区| 午夜精品免费在线| 成人av影视在线观看| 欧美日韩电影在线播放| 久久精品人人爽人人爽| 久久久噜噜噜久久人人看 | 99久久久国产精品免费蜜臀| 91精品国产综合久久久蜜臀图片| 国产精品人人做人人爽人人添| 狠狠网亚洲精品| 久久九九久久九九| 成人综合激情网| 亚洲女人小视频在线观看| 成人一区二区三区在线观看| 国产精品天干天干在线综合| 不卡免费追剧大全电视剧网站| 中文一区二区在线观看| 成人午夜激情片| 一区二区三区在线视频观看| 91农村精品一区二区在线| 一区二区三区视频在线看| 欧美视频日韩视频在线观看| 男人操女人的视频在线观看欧美| 欧美精品免费视频| 激情六月婷婷久久| 中文字幕亚洲一区二区va在线| 色婷婷久久久久swag精品| 午夜视频一区二区| 精品1区2区在线观看| a亚洲天堂av| 日本不卡视频在线| 成人免费在线视频| 欧美专区亚洲专区| 日本人妖一区二区| 国产女同互慰高潮91漫画| 欧美制服丝袜第一页| 国产一区 二区 三区一级| 一区二区在线观看av| 欧美日韩情趣电影| 成人av电影在线| 另类人妖一区二区av| 伊人色综合久久天天| 国产亚洲欧美日韩日本| 精品视频在线视频| bt7086福利一区国产| 理论电影国产精品| 日日夜夜精品视频免费| 欧美精彩视频一区二区三区| 欧美丰满少妇xxxxx高潮对白| 综合色中文字幕| 91福利在线看| 国产乱码精品一区二区三区五月婷| 一区二区三区四区五区视频在线观看| 国产日产欧美一区| 日韩精品一区二区三区四区视频 | 国产成人精品免费网站| 亚洲国产毛片aaaaa无费看| 91精品婷婷国产综合久久性色| 一区二区三区在线视频观看| 国产黄色成人av| 6080国产精品一区二区| 日韩一区二区三区视频在线| 一区二区三区欧美日韩| 成人免费观看av| 国产精品麻豆网站| 成人综合激情网| 国产精品久久久久久亚洲毛片| 综合欧美一区二区三区| 玉足女爽爽91| 日韩美女视频一区二区| 欧美一二三四区在线| 9久草视频在线视频精品| 蜜桃av一区二区| 26uuu欧美| 色综合天天在线| 国产成人精品网址| 免费xxxx性欧美18vr| 亚洲成人激情av| 欧美激情一区二区三区全黄| 久久一区二区三区四区| 欧美视频在线一区| 在线观看日韩电影| 在线视频国内自拍亚洲视频| 欧美婷婷六月丁香综合色| 欧美偷拍一区二区| 欧美日韩精品高清| 欧美精品一区二区三区蜜桃视频 | 色婷婷精品久久二区二区蜜臀av| 欧美色倩网站大全免费| 欧美视频一区在线观看| 欧美videos大乳护士334| 欧美在线免费观看亚洲| 精品欧美一区二区在线观看| 亚洲欧洲日产国产综合网| 午夜精品福利视频网站| 久久久久99精品国产片| 亚洲毛片av在线| 亚洲国产日产av| 石原莉奈一区二区三区在线观看| 一区二区三区中文在线| 337p粉嫩大胆噜噜噜噜噜91av| 国产乱色国产精品免费视频| 色先锋久久av资源部| 欧美精品一区二区三区高清aⅴ| 亚洲一区二区三区激情| 久草热8精品视频在线观看| 91麻豆精品国产91久久久资源速度| 亚洲欧美成aⅴ人在线观看| 国产大片一区二区| 国产清纯白嫩初高生在线观看91| 亚洲电影在线免费观看| 狠狠色丁香久久婷婷综合_中| 欧美日韩中字一区| 午夜一区二区三区在线观看| 色综合咪咪久久| 亚洲国产日韩精品| 日本伦理一区二区| 日欧美一区二区| 日韩手机在线导航| 久久69国产一区二区蜜臀| 国产成人精品免费| 精品乱人伦小说| 国产一区二区不卡老阿姨| 精品国产乱码久久久久久1区2区 | 成人黄色大片在线观看| 国产精品成人一区二区三区夜夜夜| 国产中文字幕精品| 亚洲图片有声小说| 欧美日韩亚洲国产综合|