Модернизация токарного станка
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Модернизация токарного станка
говорит что хал уже запущен . предлагает halrun -U .. после выполнения всё равно одно и то-же.
В Ladder кстати в списке переменных значение %I1 Изменяется ( пропадает и появляется галка)..
что-ж тогда до завтра..
Во сколько тебя ожидать в сети, чтоб биться над непосильным мне вопросом?
В Ladder кстати в списке переменных значение %I1 Изменяется ( пропадает и появляется галка)..
что-ж тогда до завтра..
Во сколько тебя ожидать в сети, чтоб биться над непосильным мне вопросом?
" Linux CNC - наше всё"
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Модернизация токарного станка
А при этом %Q1 не меняется?
PS В сети появлюсь часа через 2.
PS В сети появлюсь часа через 2.
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Модернизация токарного станка
Разобрался) заработало) С какогото перепугу написанный в ладдере файл оказывался пустым после сохранения проекта. ( когда запускаешь его через 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 итд.
Теперь вопросы по соединению хала. Вот комманды которые относятся к смене инструмента
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 итд.
" Linux CNC - наше всё"
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Модернизация токарного станка
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
По передачам еще гляну.
(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
По передачам еще гляну.
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Модернизация токарного станка
Уже читал))) спасибо)...Nick писал(а):: http://wiki.linuxcnc.org/emcinfo.pl?Cla ... ool_Turret
Думаю этой информации достаточно по смене инструмента.) именно то что хтелось.
да, и где ты переменные ищешь? так и не нашел их полного собрания с маломальским описанием. вроде integrators manual весь пролистал.
" Linux CNC - наше всё"
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Модернизация токарного станка
Набери в консоле man iocontrol
. Но обычно ищу тот же ман в сети, т.к. emc2 не везде установлен.
Либо вот тут: http://www.linuxcnc.org/docview/html/
По шестеренкам шпинделя. Можно сделать все автоматически, для этого есть компонент gearchange:
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.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
Либо вот тут: 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) - Минимально разрешенная скорость для диапазона 1gearchange.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
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Модернизация токарного станка
то что доктор прописал)! но вопросы пока не иссякнут)
" Linux CNC - наше всё"
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Модернизация токарного станка
Хотя с этим gearchange не так все просто... на сколько я понимаю, он нужен тупо для вычисления ШИМ после выставления нужных шестерней, но сам вроде как их не выбирает
..... Т.е. выбирать придется отдельным компонентом. Возможно через тот же ladder logic, отслеживаем запрошенную скорость и в случае необходимости меняем шестеренку.
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Модернизация токарного станка
Что через Ladder надо будет делать я вообще не сомневался, но вот как получить сигнал назначения той или иной шестеренки?
" Linux CNC - наше всё"
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Модернизация токарного станка
Наверное также как и с инструментами. Делаем несколько сравнений по числу шестеренок. На входе заданная скорость шпинделя, потом сравниваем с текущим номером если отличаются, меняем.
Re: Модернизация токарного станка
вопрос по classic ladder
как в реализовать включение выключение одной кнопкой? триггер? подскажите пожалуйста
как в реализовать включение выключение одной кнопкой? триггер? подскажите пожалуйста
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Модернизация токарного станка
Попробуй вот так:
Если не выйдет, добавим туда еще и таймер...
Код: Выделить всё
Button a a
-----|/\|-----------| |----(R)---
|
| a a
-----|\|----(S)---
Re: Модернизация токарного станка
спасибо! - лампа освещения работает.Nick писал(а):Попробуй вот так:Если не выйдет, добавим туда еще и таймер...Код: Выделить всё
Button a a -----|/\|-----------| |----(R)--- | | a a -----|\|----(S)---
а есть литература для начинающих? поделитесь.
Последний раз редактировалось roach 18 ноя 2011, 10:52, всего редактировалось 2 раза.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Модернизация токарного станка
Пока только на английском... на LinuxCNC (правда у меня он что-то последнее время глючит).
http://linuxcnc.org/docs/html/ladder_cl ... adder.html
+ Integrators manual
.
Если есть вопросы не стесняйся спрашивай
.
http://linuxcnc.org/docs/html/ladder_cl ... adder.html
+ Integrators manual
Если есть вопросы не стесняйся спрашивай
Re: Модернизация токарного станка
траспортер влево вправо - аналогично,
а как запретить, срабатывание одновременного нажатия влево и вправо?
а как запретить, срабатывание одновременного нажатия влево и вправо?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Модернизация токарного станка
Кнопка одна, или несколько?
Re: Модернизация токарного станка
две - вправо и влевоNick писал(а):Кнопка одна, или несколько?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Модернизация токарного станка
так, а логика какая,
Стоим + нажали вправо = едем вправо
Стоим + нажали влево = едем влево
Едем влево + нажали вправо = ?
...
И едем пока держим кнопку или нажали - поехали, пока не нажали повторно?
Стоим + нажали вправо = едем вправо
Стоим + нажали влево = едем влево
Едем влево + нажали вправо = ?
...
И едем пока держим кнопку или нажали - поехали, пока не нажали повторно?
Re: Модернизация токарного станка
стоим, нажали вправо 1 - едем вправо (нажатие влево не должно срабатывать )- нажали вправо 2 - остановилисьNick писал(а):так, а логика какая,
Стоим + нажали вправо = едем вправо
Стоим + нажали влево = едем влево
Едем влево + нажали вправо = ?
...
И едем пока держим кнопку или нажали - поехали, пока не нажали повторно?
стоим, нажали влево 1 - едем влево (нажатие вправо не должно срабатывать ) - нажали влево 2 - остановились
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Модернизация токарного станка
Ага, все просто, делаем таких две штуки и к каждой добавляем спереди "не другая" т.е., что-то типа такого (R и L - это сигнал вправо и влево):
Код: Выделить всё
LButton R L L
-----|/\|---|\|-------| |----(R)---
|
| L L
----|\|----(S)---
RButton L R R
-----|/\|---|\|-------| |----(R)---
|
| R R
----|\|----(S)---