Strona 1 z 1

Prędkość niższa od zadanej

: 31 sie 2015, 06:49
autor: szary11
Potrzebuję sygnału na wyjściu w Linuxcnc, że prędkość (najczęściej w narożach) spadła poniżej zadanej. Sygnał potrzebny do THC w plaźmie. Pomożecie?

: 31 sie 2015, 11:38
autor: GumiRobot
motion.current-vel - (float, out) The current tool velocity in user units per second.

motion.requested-vel - (float, out) The current requested velocity in user units per second from the F=n setting in the G Code file. No feed overrides or any other adjustments are applied to this pin.

Dopisz własny/wykorzystaj istniejący komponent HAL porównujący obie wartości wystaw sygnał dla THC.

: 31 sie 2015, 13:36
autor: szary11
Podstawiam w halu, ale cały czas się wykrzacza, na pewno dopisuje w złym miejscu i nie poprawnie
Nie znam angielskiego, a i cierpliwość już nie ta co dawniej :smile:
Chętnie zlece komuś ogarnięcie tego , bo nie chce się przesiadać na MACHA.

: 12 wrz 2015, 22:01
autor: mcsimek
Hej,

GumiRobot, utworzyliśmy nowy component:

Kod: Zaznacz cały

component disable_component;
pin out bit poziom;
pin in float aktualny;
pin in float zadany;
function _;
license "GPL"; // indicates GPL v2 or later
;;
#include <rtapi_math.h>
FUNCTION(_) { 
	bool temp_ = (aktualny - zadany); 
	poziom = temp_;
}
Skompilowany został przez:
# halcompile --install disable_component.comp.

Konfiguracja w hal'u:

Kod: Zaznacz cały

loadrt disable_component count=1
addf disable_component.0 servo-thread
net my-sigin1 disable_component.0.aktualny <= motion.current-vel
net my-sigin1 disable_component.0.zadany <= motion.requested-vel
net both-on parport.0.pin-16-out  <=disable_component.0.poziom 
Jednak jest wciąz problem z załadowaniem tej funkcji do konfiguracji:
HAL: ERROR: function 'disable_component.0' not found
Jak powinno wyglądać poprawne załadowanie i użycie takiego componentu?

Pozdrawiam,
Paweł

________________________________
Jednak lepiej było skorzystać z gotowego komponentu, a nie tworzyć własny. :smile:
Konfiguracja HAL z sygnałem wyjściowym, gdy prędkość aktualna różni się od zadanej:

Kod: Zaznacz cały

loadrt near
addf near.0 servo-thread
net vel-cmd <= motion.current-vel
net vel-cmd => near.0.in1
net vel-req <= motion.requested-vel
net vel-req => near.0.in2
setp near.0.scale 0.01
net out-signal <= near.0.out
setp parport.0.pin-16-out-invert 1
net out-signal => parport.0.pin-16-out
Po problemie.

Dzięki GumiRobot za parametry!

Pozdrawiam!