Страница 2 из 2
Re: Токарный + автооператор
Добавлено: 09 янв 2013, 08:42
Remal
Да, привод управляется по +/-10В. Разная скорость нужная для режимов: наладка(f=100мм/мин) и авто(f=2000мм/мин). А pid.N можно настроить только под один из режимов.
Nick писал(а):Что-то не понимаю зачем тебе и in и out к index-enable подключать?
Out что бы выставить TRUE на encoder.N.index-enable, IN знать когда будет реперная точка:)
Re: Токарный + автооператор
Добавлено: 09 янв 2013, 11:30
Nick
Remal писал(а): А pid.N можно настроить только под один из режимов.
Можно сделать ограничение через
pid.N.maxoutput float rw
Output limit. The absolute value of the output will not be permitted to exceed maxoutput, unless maxoutput is zero. When the output is limited, the error integrator will hold instead of integrating, to prevent windup and overshoot.
Заводишь на негои пин с настройкой скорости и все.
Remal писал(а):Out что бы выставить TRUE на encoder.N.index-enable, IN знать когда будет реперная точка:)
Попробуй сделать два сигнала:
Код: Выделить всё
net v-index-in <= encoder.0.index-enable => classicladder.0.in-01
net v-index-out => encoder.0.index-enable <= classicladder.0.out-00
Наверняка, LinuxCNC на это ругнется, и по тексту ошибки будем думать, как сделать праивильно

Re: Токарный + автооператор
Добавлено: 10 янв 2013, 22:15
Remal
Получилось, в симуляторе работает
Код: Выделить всё
net v.cmd pid.v.command classicladder.0.floatout-00
net set.v.ind tristate-bit.0.in classicladder.0.out-01
net v.ind.ena tristate-bit.0.enable classicladder.0.out-00
net v.ind tristate-bit.0.out encoder.0.index-enable edge.1.in
net v.enc.res encoder.0.reset classicladder.0.out-02
setp edge.1.in-edge TRUE
net v.is.home edge.1.out
осталось добавить к pid.N.maxoutput <=> tristate-float.N.out для регулироваия выходной скорости

Re: Токарный + автооператор
Добавлено: 10 янв 2013, 23:25
Nick
Вот ведь завернул
А зачем tristate? Чтобы гасить classicladder.0.out-01?
Re: Токарный + автооператор
Добавлено: 11 янв 2013, 21:31
Remal
Без tristate-bit не получиться привязать пин с out(нужен для выставления 1) к encoder.N.index-enable. т.е. если делать так:
Код: Выделить всё
net v.ind => encoder.0.index-enable
net v.ind <= classicladder.0.out-01
то вылезет ошибка. Это относиться ко всем пинам которые принимают вх/вых: float rw и bit i/o
Схема такая: