. Попов Д.Н. Механика гидро- и пневмоприводов: Учеб. для вузов. - М.: Изд-во МГТУ им. Н.Э. Баумана, 20001. - 320 с., ил.
. Богданович Л.Б. Гидравлические приводы: Учеб. пособие для вузов. - Киев: Вища школа. Головное изв-во, 1980. - 232 с. - 30314. 2702000000.
. Динамика гидропривода. Колл. Авторов. Под. Ред. В.Н. Прокофьева. М., “Машиностроение”, 1972, 292 стр.
. Гидравлика, гидромашины и гидроприводы: Учебник для машиностроительных вузов /Т.М. Башта, С.С. Руднев, Б.Б. Некрасов и др. - 2-е изд., перераб. - М.: Машиностроение, 1982. - 432 с., ил.
. Гейгер В.Г., Дулин В.С., Заря А.Н. Гидравлика и гидропривод: Учеб. для вузов. - 3-е изд., перераб. и доп. - М.: Недра, 1991. - 331 с.: ил.
. Гудилин Н.С., Кривенко Е.М., Махавиков Б.С., Пастоев И.Л. Гидравлика и гидропривод: Учеб. пособие / Под общ. ред. И.Л. Пастоева. - 3-е изд., стер. - М.: Издательство Московского государственного горного университета, 2001. - 520 с.
.
Руднев С.А., Фалдин Н.В. Линеаризвция релейной следящей системы по полезному
сигналу // Изв. РАН. Теория и системы управления. 1998. № 2. - С. 36-43.
Приложение
m-функция “time”
%TIME(CLOCK1,CLOCK2) returns time passed since CLOCK1 to CLOCK2
%CLOCK1, CLOCK2 - are arrays formed by function CLOCK.
%
%For example:
%
%a1=clock;
%...
%statements
%...
%a2=clock;
%t=time(a1,a2);
%
%So, variable "t" is array, containing information about
%duration of realization "statements".time=f(clock1,clock2);=clock2-clock1;=1;and(D(k)==0,k<6)=k+1;D(k)<0=clock1;=clock2;=A;=D*(-1);=0;D(k)==0=0;=1;f==0D(2)<0(2)=D(2)+12;(1)=D(1)-1;D(3)<0=or(clock1(2)==1, clock1(2)==3);=or(clock1(2)==5, clock1(2)==7);=or(clock1(2)==8, clock1(2)==10);=clock1(2)==12;=or(A1,A2);=or(A3,A4);=or(A5,A6);=or(clock1(2)==4, clock1(2)==6);=or(clock1(2)==9, clock1(2)==11);=or(B1,B2);=and(clock1(2)==2,fix(clock1(1)/4)~=(clock1(1)/4));=and(clock1(2)==2, fix(clock1(1)/4)==clock1(1)/4);A_clock3=31;B_clock3=30;C_clock3=28;E_clock3=29(3)=D(3)+max_clock3;(2)=D(2)-1;D(4)<0(4)=D(4)+24;(3)=D(3)-1;D(5)<0(5)=D(5)+60;(4)=D(4)-1; D(6)<0(6)=D(6)+60;(5)=D(5)-1; =D;
end
функция “Equality”
%EQUALITY(X1,X2,M,N) returns 1 if X1=X2 or 0 in all other cases.
%Equality in this fucntion is defined to M by absolute accuracy
%or to Nth decimal place N=1,2,3...
%There are two accuracy parameters. M and N are used as in rule logical OR
%in this function.
%
%Parameters X1, X2, M, N are able to be scalars or row matrixes. X1, X2,
%M, N numbers of dimension should be equal then.
%
%There are some requirements for parametres M and N.
%It should be:
%N>=1 and N - integer; M - positive.
%
%
%Example for scalar X1, X2, M, N:
%
%>> equality(0.1722, 0.1721, 0.000001, 3)
%
%ans =
%
% 1
%
%>>
%
%
%here:
%0.1722, 0.1721 - compared numbers
%0.000001 - absolute accuracy
%3 - number or decimal placesy=f(x1,x2,m,n)=size(x1);=size(x2);=size(m);=size(n);=(s1==s2);=(length(C1)==sum(C1));=(s2==s3);=(length(C2)==sum(C2));=(s3==s4);=(length(C3)==sum(C3));=(s1(1)==1);=(fix(n)==n);=sum(C5);=((s4(1)*s4(2))==sum(C5));=(n>=1);=sum(C6);=((s4(1)*s4(2))==sum(C6));=(m>0);=sum(C7);=((s3(1)*s3(2))==sum(C7));C1&C2&C3&C4&C5&C6&C7i=1:1:s1(2)(x1(i)==x2(i))(i)=1;(x1(i)*x2(i)<=0)&((abs(x1(i)-x2(i)))<m(i))(i)=1;(x1(i)*x2(i)<=0)&((abs(x1(i)-x2(i)))>=m(i))(i)=0;(i)=((abs((x1(i)-x2(i))/(x1(i)+x2(i))))<(1/(10^n(i))))|((abs(x1(i)-x2(i)))<m(i));=C;('\n')('Error:\n')('Incorrect parameters X1, X2, M, N or its numbers\n')('of dimension aren''t equal, in function EQUALITY(X1,X2,M,N)\n')
y=NaN;
функция “PH_point”
%PH_point=f(mn,A,T,sv,pc,m,n,min_pn,min_mtd,max_rtd,df,pf)
%
%mn - model name (name of model you're working at.)
%A - amplitude of input Meander-line signal you're giving to system.
%T - period of input Meander-line signal you're giving to system.
%st - state vector (state vector of system.)
%pc - phase coordinate (vector phase coordinate you're taking up.)
%m - absolute accuracy
%n - accuracy by decimal places n=1,2,3...
%min_pn - minimum period number.
%min_mtd - minimum model time duration.
%max_rtd - maximum real time duration.
%df - duration flag.
%pf - printing flag.
%
%returns X*(T) vector of Simlulink system 'model name'
%
%Property:
%All parameters should be a variable of Workspace, so it can be defined
%in a session or m - script file of MATLAB before begining work.PH_point=f(mn,A,T,sv,pc,m,n,min_pn,min_mtd,max_rtd,df,pf)A sv pc=(fix(n)==n)&(n>=1);=(m>0)&(max_rtd>0)&((df==0)|(df==1))&((pf==0)|(pf==1));=(A>0)&(min_mtd>0)&(min_pn>=2)&(fix(min_pn)==min_pn);(mn,1/Inf);=size(m);=size(n);=(s1(1)==1);=(s2(1)==1);=(length(pc)==length(m))&(length(m)==length(n));=B1&B2&B3&B4&B5&B6;B=0;=clock;(mn,T/2);_min1=pc;=-A;(mn,T/2);
k=1; _pl1=pc;pf==1
fprintf('\n')(' Using PH_point for T=%g',T)(' c')(' (Phase coordinate number is%g',length(pc))(')\n')('\n')index=1:1:length(x_pl1)(' %g',x_pl1(index))('\n')=-A;(mn,T/2);_min2=pc;=-A;(mn,T/2);=k+1;
x_pl2=pc;pf==1
for index=1:1:length(x_pl2)(' %g',x_pl2(index))('\n')=clock;c1==c2=0;=time(c1,c2);=c(1)*31104000+c(2)*2592000+c(3)*86400+c(4)*3600+c(5)*60+c(6)*1;((t>=max_rtd)&(k>=min_pn)&(k*T>=min_mtd))=1;((sum(equality(x_pl2,x_pl1,m,n))~=length(equality(x_pl2,x_pl1,m,n)))|...
(sum(equality(x_min2,x_min1,m,n))~=length(equality(x_min2,x_min1,m,n))))&(F==0)_min1=x_min2;_pl1=x_pl2;=-A;(mn,T/2);_min2=pc;=-A;(mn,T/2);=k+1;
x_pl2=pc;pf==1
for index=1:1:length(x_pl2)('
%g',x_pl2(index))('\n')=clock;c1==c2=0;=time(c1,c2);=c(1)*31104000+c(2)*2592000+c(3)*86400+c(4)*3600+c(5)*60+c(6)*1;
if ((t>=max_rtd)&(k>=min_pn)&(k*T>=min_mtd))=1;=-A;F==0pf==1 ('\n')('Phase hodograph point is defined successfully\n')('Passed period number is%g',k)('\n')('Passed model time is%g',T*k)(' s\n')('Passed real time is%g',t)(' s\n')=(x_pl2+x_min2)./2;
x_pl2=x_pl2-d;_pl2(length(x_pl2)+1)=T;_pl2(length(x_pl2)+1)=1;
if pf==1 ('\n') ('Warning:\n')('Function PH_point=f(mn,A,T,sv,pc,m,n,min_pn,min_mtd,max_rtd,df,pf)\n')('failed to find R-characteristic in period T=%g',T)(' s\n')('You should increase max_rtd and parameters "Relative tolerance"\n') ('and "Absolute tolerance" in Simulation parametres to get correct\n')('result here. ')('Also don''t set m and n too much.\n')('\n')('Passed period number is%g',k)('\n')('Passed model time is%g',T*k)(' s\n')('Passed real time is%g',t)(' s\n')
df==1_pl2=(x_pl1+x_pl2)./2;_min2=(x_min1+x_min2)./2;=(x_pl2+x_min2)./2;_pl2=x_pl2-d; _pl2(length(x_pl2)+1)=T;_pl2(length(x_pl2)+1)=2;_pl2=x_pl2.*NaN;_pl2(length(x_pl2)+1)=T;_pl2(length(x_pl2)+1)=3;
_point=x_pl2;
else('\n')
fprintf('Error:\n')('Incorrect parameters in function \n')('PH_point=f(mn,A,T,sv,pc,m,n,min_pn,min_mtd,max_rtd,df,pf)\n')_point=NaN;
-функция “Script”
% Script.m m-файл для определения всего фазового
годографа
global A sv pc('off', 'all');('ph_point.txt')on;='hydraulic_drive';=27;=5;=2.99;=0.01;=Ts;=[0 0 0 0 0 0 0 0 0 0];=0;=[1e-6 1e-2 1e-12 1e-8 1e-6 1e-9 1 1e-2 1e-3 1e-9 1e-5 1e-15];=[5 5 5 5 5 5 5 5 5 5 5 5];_pn=5;_mtd=6;_rtd=10;=1;=1;=1;T>=Tf=PH_point(mn,A,T,sv,pc,m,n,min_pn,min_mtd,max_rtd,df,pf);j=1:1:length(a)(i,j)=a(j);=T-dT;=i+1;