Страница 9 из 28
Re: Модернизация токарного станка
Добавлено: 03 ноя 2011, 00:50
Dmaster
говорит что хал уже запущен . предлагает halrun -U .. после выполнения всё равно одно и то-же.
В Ladder кстати в списке переменных значение %I1 Изменяется ( пропадает и появляется галка)..
что-ж тогда до завтра..
Во сколько тебя ожидать в сети, чтоб биться над непосильным мне вопросом?
Re: Модернизация токарного станка
Добавлено: 03 ноя 2011, 09:05
Nick
А при этом %Q1 не меняется?
PS В сети появлюсь часа через 2.
Re: Модернизация токарного станка
Добавлено: 03 ноя 2011, 10:42
Dmaster
Разобрался) заработало) С какогото перепугу написанный в ладдере файл оказывался пустым после сохранения проекта. ( когда запускаешь его через PNCCONF) а вот когда --nogui убрали и при запуске ладдер появился. его стопнуть по человечески, нарисовать и сохранить, ТО! после этого всё заработало и сохранилось.
Теперь вопросы по соединению хала. Вот комманды которые относятся к смене инструмента
tool-change iocontrol.0.tool-change
tool-changed iocontrol.0.tool-changed
tool-number iocontrol.0.tool-prep-number
tool-prepare-loopback iocontrol.0.tool-prepare
iocontrol.0.tool-prepared
это все или нет, или есть какие-то еще?
Теперь разберем саму комманду iocontrol.0.tool-change
Что означает нолик команде?
сама эта команда присваивает нужной мне переменной значение требуемого инструмента?
тоесть при "net smenainstr iocontrol.0.tool-change => моя переменная в ладдере " работать будет этот так.
в коде программы идет код T6M6 следовательно "моей переменной в ладдере" будет присвоено значение 6
ТАК?
и как привязать команды в коде программы S1, S2,..... S16 что-б ЕМС их поняла не как 1, 2 ... 16 оборотов в минуту, а просто сигнал на влючение той , или иной передачи?
как вариант.. если трудно заставить S1, S2,..... S16 , то как назначиь М101 м102 итд.
Re: Модернизация токарного станка
Добавлено: 03 ноя 2011, 11:05
Nick
iocontrol.0.tool-change
(Bit, Out) TRUE when a tool change is requested
Т.е. это только запрос на смену инструмента.
iocontrol.0.tool-number
(s32, Out) Current tool number - текущий инструмент
iocontrol.0.tool-prep-number
(s32, Out) The number of the next tool, from the RS274NGC T-word
А вот это как раз номер инструмента который мы хотим забрать. Причем команду на подготовку инструмента лучше давать заранее, чтобы карусель была уже готова. Т.е. команду T1 делаем заранее, а потом уже M6.
iocontrol.0.tool-prep-pocket
(s32, Out) The pocket number (location in tool storage mechanism) of the next tool, as described in the tool table
Это номер ячейки в карусели, в которой находится нужный нам инструмент (ячейки задаются в таблице инструментов).
iocontrol.0.tool-prepare
(Bit, Out) TRUE when a Tn tool prepare is requested
Это команда приготовить инструмент, наверное, появится на код Tхx. Причем это только команда, сам номер инструмента в пине выше.
iocontrol.0.tool-prepared
(Bit, In) Should be driven TRUE when a tool prepare is completed.
Это внутренний пин который будет говорить, что инструмент подготовлен. После него будет команда iocontrol.0.tool-change и после этого должен появиться выход iocontrol.0.tool-changed.
Да, переменная с номером инструмента не бит, а s32, поэтому ее пихать нужно в classicladder.0.s32in-XX.
Кстати, по смене инструмента на токарке на linuxcnc есть пример, но я не особо вчитывался:
http://wiki.linuxcnc.org/emcinfo.pl?Cla ... ool_Turret
По передачам еще гляну.
Re: Модернизация токарного станка
Добавлено: 03 ноя 2011, 11:32
Dmaster
Уже читал))) спасибо)...
Думаю этой информации достаточно по смене инструмента.) именно то что хтелось.
да, и где ты переменные ищешь? так и не нашел их полного собрания с маломальским описанием. вроде integrators manual весь пролистал.
Re: Модернизация токарного станка
Добавлено: 03 ноя 2011, 11:57
Nick
Набери в консоле man iocontrol

. Но обычно ищу тот же ман в сети, т.к. emc2 не везде установлен.
Либо вот тут:
http://www.linuxcnc.org/docview/html/
По шестеренкам шпинделя. Можно сделать все автоматически, для этого есть компонент gearchange:
Gearchange
gearchange − Выбор из нескольких диапазонов скоростей Select from one two speed ranges
Описание
Вывод будет значением уменьшенным в соответствии с выбранной шестерней, и обрезанный до значений min/max для этой передачи. Размерность 1 шестерни считается 1. Размер второй шестеренки определяется относительно первой, т.е. если вторая шестеренка крутит шпиндель в 2.5 раза быстрее первой, то ее scale должен быть равен 2.5.
Функции
gearchange.N (требует поток с поддержкой floating-point)
Пины
gearchange.N.sel bit in - Ввод на выбор шестеренки
gearchange.N.speed-in float in - Ввод желаемой скорости
gearchange.N.speed-out float out - Команда скорости, вывод на ЦАП/ШИМ
gearchange.N.dir-in bit in - Ввод заданного направления
gearchange.N.dir-out bit out - Вывод направления, возможно инвертированный для второй шестерни
Параметры
gearchange.N.min1 float rw (default: 0) - Минимально разрешенная скорость для диапазона 1
gearchange.N.max1 float rw (default: 100000) - Максимально разрешенная скорость для диапазона 1
gearchange.N.min2 float rw (default: 0) - Минимально разрешенная скорость для диапазона 2
gearchange.N.max2 float rw (default: 100000) - Максимально разрешенная скорость для диапазона 2
gearchange.N.scale2 float rw (default: 1.0) Относительный размер шестеренки 2 от шестеренки 1, Т.к. подразумевается, что шестеренка 2 это "повышенная передача", то scale2 должен быть больше 1, и будет сброшен на 1 если установлен меньше.
gearchange.N.reverse bit rw (default: 0) - Установите в 1 для изменения направления вращения шпинделя на второй шестерне.
http://www.linuxcnc.org/docview/html//m ... nge.9.html
Re: Модернизация токарного станка
Добавлено: 03 ноя 2011, 12:16
Dmaster
то что доктор прописал)! но вопросы пока не иссякнут)
Re: Модернизация токарного станка
Добавлено: 03 ноя 2011, 12:23
Nick
Хотя с этим gearchange не так все просто... на сколько я понимаю, он нужен тупо для вычисления ШИМ после выставления нужных шестерней, но сам вроде как их не выбирает

..... Т.е. выбирать придется отдельным компонентом. Возможно через тот же ladder logic, отслеживаем запрошенную скорость и в случае необходимости меняем шестеренку.
Re: Модернизация токарного станка
Добавлено: 03 ноя 2011, 22:46
Dmaster
Что через Ladder надо будет делать я вообще не сомневался, но вот как получить сигнал назначения той или иной шестеренки?
Re: Модернизация токарного станка
Добавлено: 03 ноя 2011, 23:44
Nick
Наверное также как и с инструментами. Делаем несколько сравнений по числу шестеренок. На входе заданная скорость шпинделя, потом сравниваем с текущим номером если отличаются, меняем.
Re: Модернизация токарного станка
Добавлено: 18 ноя 2011, 05:35
roach
вопрос по classic ladder
как в реализовать включение выключение одной кнопкой? триггер? подскажите пожалуйста
Re: Модернизация токарного станка
Добавлено: 18 ноя 2011, 09:49
Nick
Попробуй вот так:
Код: Выделить всё
Button a a
-----|/\|-----------| |----(R)---
|
| a a
-----|\|----(S)---
Если не выйдет, добавим туда еще и таймер...
Re: Модернизация токарного станка
Добавлено: 18 ноя 2011, 10:41
roach
Nick писал(а):Попробуй вот так:
Код: Выделить всё
Button a a
-----|/\|-----------| |----(R)---
|
| a a
-----|\|----(S)---
Если не выйдет, добавим туда еще и таймер...
спасибо! - лампа освещения работает.
а есть литература для начинающих? поделитесь.
Re: Модернизация токарного станка
Добавлено: 18 ноя 2011, 10:44
Nick
Пока только на английском... на LinuxCNC (правда у меня он что-то последнее время глючит).
http://linuxcnc.org/docs/html/ladder_cl ... adder.html
+ Integrators manual

.
Если есть вопросы не стесняйся спрашивай

.
Re: Модернизация токарного станка
Добавлено: 18 ноя 2011, 10:53
roach
траспортер влево вправо - аналогично,
а как запретить, срабатывание одновременного нажатия влево и вправо?
Re: Модернизация токарного станка
Добавлено: 18 ноя 2011, 11:24
Nick
Кнопка одна, или несколько?
Re: Модернизация токарного станка
Добавлено: 18 ноя 2011, 11:46
roach
Nick писал(а):Кнопка одна, или несколько?
две - вправо и влево
Re: Модернизация токарного станка
Добавлено: 18 ноя 2011, 11:52
Nick
так, а логика какая,
Стоим + нажали вправо = едем вправо
Стоим + нажали влево = едем влево
Едем влево + нажали вправо = ?
...
И едем пока держим кнопку или нажали - поехали, пока не нажали повторно?
Re: Модернизация токарного станка
Добавлено: 18 ноя 2011, 12:07
roach
Nick писал(а):так, а логика какая,
Стоим + нажали вправо = едем вправо
Стоим + нажали влево = едем влево
Едем влево + нажали вправо = ?
...
И едем пока держим кнопку или нажали - поехали, пока не нажали повторно?
стоим, нажали вправо 1 - едем вправо (нажатие влево не должно срабатывать )- нажали вправо 2 - остановились
стоим, нажали влево 1 - едем влево (нажатие вправо не должно срабатывать ) - нажали влево 2 - остановились
Re: Модернизация токарного станка
Добавлено: 18 ноя 2011, 12:32
Nick
Ага, все просто, делаем таких две штуки и к каждой добавляем спереди "не другая" т.е., что-то типа такого (R и L - это сигнал вправо и влево):
Код: Выделить всё
LButton R L L
-----|/\|---|\|-------| |----(R)---
|
| L L
----|\|----(S)---
RButton L R R
-----|/\|---|\|-------| |----(R)---
|
| R R
----|\|----(S)---