ВУЗ:
Составители:
35
τ – такт;
F – скорость подачи, мм/ мин;
d = h – дискретность системы ЧПУ, мм;
у
н
, х
н
– начальная точка;
у
к
, х
к
– конечная точка.
CIR: if TAKT > 1 then go to CYCLE
read x
н
, у
н
, х
к
,у
к
, I, J, ±F
r = sqr((x
н
– I)
2
+ (у
н
- J)
2
)
x = x
н
; y = у
н
; codx = x; cody = y; f = 0
U= int(F*τ/(60*d));
if x
н
= I and у
н
> J then α
н
= π/2
if x
н
= I and у
н
< J then α
н
= 3*π/2
if x
н
> I then α
н
= atn((у
н
– J)/( x
н
– I))
if x
н
< I then α
н
= π + atn((у
н
– J)/( x
н
– I))
if x
к
= I and у
к
> J then α
к
= π/2
if x
к
= I and у
к
< J then α
к
= 3*π/2
if x
к
> I then α
к
= atn((у
к
– J)/( x
к
– I))
if x
к
< I then α
к
= π + atn((у
к
– J)/( x
к
– I))
if sgn(α
н
- α
к
) = sgn(U) then ∆α = abs(α
н
- α
к
)
else ∆α = 2π - abs(α
н
- α
к
)
L = 4 * r * ∆α/π ; l = 0
CYCLE: X = x – I; Y = y – J;
if abs(X) >= abs(Y) and sgn(f*sgn(X)*sgn(Y)) = sgn(U)
then(y = y – U*sgn(X); f = f – 2*Y*sgn(X) + U; go to END);
if abs(X) < abs(Y) and sgn(f*sgn(X)*sgn(Y) < > sgn(U)
then (X = X + U*sgn(Y); f = f + 2*X*sgn(Y) + U; go to END);
x = x + U*sgn(Y); y = y – U*sgn(X);
f = + 2*(abs(X) – abs(Y))*sgn(Y) + 2*U;
END: l = l + abs(X – codx) + abs(y – cody);
у
у
н
J
I х
н
х
к
у
к
R
х
τ – такт; F – скорость подачи, мм/ мин; d = h – дискретность системы ЧПУ, мм; ун, хн – начальная точка; ук, хк – конечная точка. у ун R ук J хн I хк х CIR: if TAKT > 1 then go to CYCLE read xн , ун , хк ,ук , I, J, ±F r = sqr((xн – I)2 + (ун - J)2) x = xн ; y = ун ; codx = x; cody = y; f = 0 U= int(F*τ/(60*d)); if xн = I and ун > J then αн = π/2 if xн = I and ун < J then αн = 3*π/2 if xн > I then αн = atn((ун – J)/( xн – I)) if xн < I then αн = π + atn((ун – J)/( xн – I)) if xк = I and ук > J then αк = π/2 if xк = I and ук < J then αк = 3*π/2 if xк > I then αк = atn((ук – J)/( xк – I)) if xк < I then αк = π + atn((ук – J)/( xк – I)) if sgn(αн - αк) = sgn(U) then ∆α = abs(αн - αк) else ∆α = 2π - abs(αн - αк) L = 4 * r * ∆α/π ; l = 0 CYCLE: X = x – I; Y = y – J; if abs(X) >= abs(Y) and sgn(f*sgn(X)*sgn(Y)) = sgn(U) then(y = y – U*sgn(X); f = f – 2*Y*sgn(X) + U; go to END); if abs(X) < abs(Y) and sgn(f*sgn(X)*sgn(Y) < > sgn(U) then (X = X + U*sgn(Y); f = f + 2*X*sgn(Y) + U; go to END); x = x + U*sgn(Y); y = y – U*sgn(X); f = + 2*(abs(X) – abs(Y))*sgn(Y) + 2*U; END: l = l + abs(X – codx) + abs(y – cody); 35
Страницы
- « первая
- ‹ предыдущая
- …
- 33
- 34
- 35
- 36
- 37
- …
- следующая ›
- последняя »