ВУЗ:
Составители:
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
- …
- следующая ›
- последняя »
