помощь с подключением к PLC4x(purelogic)

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
kens
Кандидат
Сообщения: 76
Зарегистрирован: 07 дек 2011, 14:21
Репутация: 16
Контактная информация:

помощь с подключением к PLC4x(purelogic)

Сообщение kens »

Доброе всем! Может кто помочь подключить EMC2 к PLC4x(purelogic) http://purelogic.ru/Netshop/up-shag-dvig/mshagdvig-3/
Судя по прочтеным постам стандартное подключение к трем осям через LPT не так сложно. Сложность возникает у меня при активации 2 выходов одновременно(силовое реле). Например командой М3 мне нужно активировать первый выход, спустя доли секунды второй, командой М5 соответственно все выходы заглушить. В mach3 я редактирую макрос m3:
activatesignal(output1)
sleep(500)
activatesignal(output2)

А как это можно сделать в EMC2?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: помощь с подключением к PLC4x(purelogic)

Сообщение Nick »

А что означают эти выходы? Управление шпинделем? Тогда нужно подключить специальные пины.
Если настраивать через stepconf то в настройке пинов есть пины включения / выключения шпинделя.

Если прописывать вручную, то в hal файле:
управление шпинделем - пин motion.spindle-on OUT bit
TRUE when spindle should rotate
и пин motion.spindle-reverse OUT bit
TRUE when the spindle should rotate backward

т.е. нужно будет добавить что-то вроде
net spindle-on motion.spindle-on parport.0.pin-XX-out

Но лучше настроить через stepconf и оттуда скопировать :).

ЗЫ пинов управления шпинделем больше, чем 2:
управление шпинделем (для просмотра содержимого нажмите на ссылку)
motion.spindle-at-speed IN bit

Motion will pause until this pin is TRUE, under the following conditions: before the first feed move after each spindle start or speed change; before the start of every chain of spindle-synchronized moves; and if in CSS mode, at every rapid->feed transition.

motion.spindle-brake OUT bit

TRUE when the spindle brake should be applied

motion.spindle-forward OUT bit

TRUE when the spindle should rotate forward

motion.spindle-index-enable I/O bit

For correct operation of spindle synchronized moves, this signal must be hooked to the index-enable pin of the spindle encoder.

motion.spindle-on OUT bit

TRUE when spindle should rotate

motion.spindle-reverse OUT bit

TRUE when the spindle should rotate backward

motion.spindle-revs IN float

For correct operation of spindle synchronized moves, this signal must be hooked to the position pin of the spindle encoder.

motion.spindle-speed-in IN float

Actual spindle speed feedback in revolutions per second; used for G96 feed-per-revolution and constant surface speed modes.

motion.spindle-speed-out OUT float

Desired spindle speed in rotations per minute

motion.spindle-speed-out-rps OUT float

Desired spindle speed in rotations per second
kens
Кандидат
Сообщения: 76
Зарегистрирован: 07 дек 2011, 14:21
Репутация: 16
Контактная информация:

Re: помощь с подключением к PLC4x(purelogic)

Сообщение kens »

Nick писал(а): что означают эти выходы? Управление шпинделем?
Несовсем. Первое реле-это опускание пневмоцилиндра и второе поджиг плазмы.
Если уж начинать совсе с азов. Как редактировать этот Hal файл и где он находится ?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: помощь с подключением к PLC4x(purelogic)

Сообщение Nick »

Находится в директории с конфигурацией станка. Там должны быть файлы станок.ini и станок.hal, будут и другие, но эти самые важные.

Если все эти операции происходят по Gкодам M3, M4 и M5, то можно особо не задумываясь подключить из к старт/стопу шпинделя и правому/левому вращениям.
kens
Кандидат
Сообщения: 76
Зарегистрирован: 07 дек 2011, 14:21
Репутация: 16
Контактная информация:

Re: помощь с подключением к PLC4x(purelogic)

Сообщение kens »

Nick писал(а):Находится в директории с конфигурацией станка. Там должны быть файлы станок.ini и станок.hal, будут и другие, но эти самые важные.
Спасибо, обязательно во всем буду сам разбираться. Но хочется решить эту проблему уже сегодня.
У меня 2 CAM программы, одна выдает м3-м5, другая м4-м3 у последней постпроц. даже не редактируется. И все таки не совсем понятно куда, а главное что написать что бы у меня сработали эти реле от одной буковки (мз или м4)
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: помощь с подключением к PLC4x(purelogic)

Сообщение Nick »

Ты уже хоть как-от настраивал EMC2? Видел stepconf - "мастер" простой настройки emc2?

Вот тут описано, какие есть пины: http://www.cnc-club.ru/forum/viewtopic. ... figuration
По идее, если назначишь Шпиндель вкл и Шпиндель вперед, то
M3 будет включать первый и второй.
M5 будет оба выключать.
M4 будет выключать только второй.
Хотя, лучше это протестировать.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: помощь с подключением к PLC4x(purelogic)

Сообщение Nick »

Еще можно побаловаться с M62-65 и цифровыми выходами. Или, если нужен дополнительный контроль, с Ladder logic.
M62
Turn on digital output synchronized with motion
M63
Turn off digital output synchronized with motion
M64
Turn on digital output immediately
M65
Turn off digital output immediately
kens
Кандидат
Сообщения: 76
Зарегистрирован: 07 дек 2011, 14:21
Репутация: 16
Контактная информация:

Re: помощь с подключением к PLC4x(purelogic)

Сообщение kens »

Nick писал(а):Ты уже хоть как-от настраивал EMC2? Видел stepconf - "мастер" простой настройки emc2?
Ну да, это базовые настройки. Hal получается только найдя в дериктории можно редактировать.
Nick писал(а):M3 будет включать первый и второй.
M5 будет оба выключать.
Я сужу по мачу-он дублировать команды на разные пины не дает. Надо будет попробывать.
Совсем забыл, нужен sleep между активированием выходов.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: помощь с подключением к PLC4x(purelogic)

Сообщение Nick »

kens писал(а):Hal получается только найдя в дериктории можно редактировать.
Да, причем, если отредактируешь что-то вручную, потом эти настройки через GUI не поменять, более того, gui просто сотрет все правки сделанные вручную!
Поэтому лучше всего со stepconf и pncconf баловаться на отдельной конфигурации!
kens писал(а):Я сужу по мачу-он дублировать команды на разные пины не дает. Надо будет попробывать.
В emc2 все построено на HAL и его пинах. Выглядит, если грубо, так: есть куча пинов, которые можно соединять проводками, как соединишь, так и будет работать :). По ограничениям:
1. Есть пины ввода (в который вводят инфу, например, пин step контроллера) и пины вывода (который что-то выводит, например, пин step emc2 или пин parport.0.pin-01-in).
2. К пинам ввода можно подключить только 1 пин вывода. Т.е. к пину step контроллера можно подключить только один вывов.
3. К пину вывода можно подключить любое количество пинов ввода. Т.е. к пину enable можно подключить все пины enble осей контроллера.
4. Пункт 2. можно обойти использованием компонентов and, or, xor, mux и т.д.
kens писал(а):Совсем забыл, нужна пауза между активированием выходов.
Какая по продолжительности?
kens
Кандидат
Сообщения: 76
Зарегистрирован: 07 дек 2011, 14:21
Репутация: 16
Контактная информация:

Re: помощь с подключением к PLC4x(purelogic)

Сообщение kens »

Nick писал(а): kens писал(а):Совсем забыл, нужна пауза между активированием выходов.


Какая по продолжительности?
0.2-1сек.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: помощь с подключением к PLC4x(purelogic)

Сообщение Nick »

Это лучше через ladder logic. Там есть компонент timer.
А эта пауза не может лимитироваться каким-то датчиком? Есть специальные Gкоды, которые ждут сигнала на пине цифрового ввода.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: помощь с подключением к PLC4x(purelogic)

Сообщение Nick »

Опиши всю схему работы, какие есть управляющие пины и какие есть датчики.
kens
Кандидат
Сообщения: 76
Зарегистрирован: 07 дек 2011, 14:21
Репутация: 16
Контактная информация:

Re: помощь с подключением к PLC4x(purelogic)

Сообщение kens »

Вообщем это станок плазменой резки, слежение шариковыми опорами на пневмоцилиндрах. По команде м3 срабатывает первый выход(опускается пневмоцилиндр) спустя 0,5сек програмируемой паузы, срабатывает второй выход(поджигается дуга) опять пауза 0,3сек и поехала резка. По окончание реза м5-все выходы отключены.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: помощь с подключением к PLC4x(purelogic)

Сообщение Nick »

А у пневмоцилиндра концевика нет?
kens
Кандидат
Сообщения: 76
Зарегистрирован: 07 дек 2011, 14:21
Репутация: 16
Контактная информация:

Re: помощь с подключением к PLC4x(purelogic)

Сообщение kens »

нет, он работает как да или нет
kens
Кандидат
Сообщения: 76
Зарегистрирован: 07 дек 2011, 14:21
Репутация: 16
Контактная информация:

Re: помощь с подключением к PLC4x(purelogic)

Сообщение kens »

Можете взглянуть на этот NC файл, у вас он без проблем пройдет? Я пытаюсь сделать запуск, наткнулся на следующую ошибку-Не могу исполнить программу, если не найдены начала.Это исходная позиция?
Вложения
good_file.txt
(40.64 КБ) 1118 скачиваний
Последний раз редактировалось kens 07 дек 2011, 17:39, всего редактировалось 1 раз.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: помощь с подключением к PLC4x(purelogic)

Сообщение Nick »

Т.е. никаких дополнительных датчиков контроля нет?
Тогда наверное будет лучше все сделать через Ladder Logic.
В ладдер нужно будет завести сигнал
motion.spindle-on
В самом Ladder Logic нужно будет описать всю логику процесса:

Код: Выделить всё

                                                           
                                                               Выход на     
spindle-on                                                   пневмоцилиндр 
----| |-----+-----------------------------------------------------( )-----
            |
            |           %TM0                                   Выход на     
            |        +---------+                           зажигание дуги
            +--------|   TON   |-----+----------------------------( )-----
                     |   0.5   |     |    
                     +---------+     |        %TM0             Выход на 
                                     |     +---------+   motion.spindle-at-speed  
                                     +-----|   TON   |------------( )-----
                                           |   0.3   |
                                           +---------+
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: помощь с подключением к PLC4x(purelogic)

Сообщение Nick »

kens писал(а):Я пытаюсь сделать запуск, наткнулся на следующую ошибку-Не могу исполнить программу, если не найдены начала.Это исходная позиция?
По умолчанию EMC2 не дает выполнять программы пока не найдены начала осей. Это нужно для того, чтобы станок не выскочил за пределы осей. EMC2 следит за реальным положением станка несмотря ни на какие отступы и дополнительные системы координат.
Перед работой нужно выполнить поиск нулей, это если есть концевики на осях. Если их нет, то просто выбираешь по очереди оси и нажимаешь home.

Если концевиков нет и ты понимаешь всю ответственность, то можно отключить необходимость поиска нулей (третий вопрос).
Anonymouss
Новичок
Сообщения: 20
Зарегистрирован: 20 апр 2010, 16:35
Репутация: 6

Re: помощь с подключением к PLC4x(purelogic)

Сообщение Anonymouss »

в порядке бреда:

Можно задавать свои коды M100..M199 закинув исполняемый файл с названием "M100" (итд) в директорию, указанную в файле ini в разделе [DISPLAY] (по умолчанию PROGRAM_PREFIX = ../../nc_files/ ).

Содержимое файла - что нибудь типа:

#!/bin/sh
halcmd setp parport.0.pin-14-out True
sleep 0.2
halcmd setp parport.0.pin-16-out True
exit 0

http://linuxcnc.org/docs/html/gcode_mai ... 00-to-M199:


для того, чтоб M3 автоматически заменялось на M100 (или на "M3 M100" )
можно в том-же ini файле в рубрике [FILTER] написать "ngc = moi_preprocessor.sh"
и положить куда-нибудь к исполняемым файлам файл moi_preprocessor.sh вида

#!/bin/sh
echo "(коменты, лицензия GPL:)"
cat $1 | sed 's/M3/M100/g' | sed 's/M5/M101/g'
exit 0
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: помощь с подключением к PLC4x(purelogic)

Сообщение Nick »

Можно и так, быстро но не тру :). Как быстрый вариант отлично :) !
Ответить

Вернуться в «LinuxCNC»