mach3 не держит сигнал enable (ss+plc4xg2)

ШВЕД

Может кто сталкивался с такой проблемой:

Запускаем MACH3, после запуска сначала активен аварийный режим EMERGENCY и кнопка RESET мерцает. После нажатия на кнопку RESET софт должен перейти в боевой режим и подать 5В на 1-pin (сигнал ENABLE).

У меня расклад такой (вся периферия отключена, никаких концевиков нет, все входные линии отключены):

как только я нажимаю RESET то сразу происходит короткая посылка сигнала ENABLE (длительностью на глаз не длиннее 0.1сек) и снова ENABLE пропадает и MACH3 опять в аварийном режиме 😦
В тот короткий момент когда ENABLE подается то плата PLC4xG2 как и положено моргает своими ENABLE светодиодами…

Работоспособность SmoothStepper’а и PLC4xG2 под сомнения не попадает тк если принудительно (аппаратно) включить ENABLE на PLC4xG2 (SW8 = ON) то все работает…

Проблема мне видится как программмная на стороне MACH3.

У кого-то было что-то подобное?
Чем лечить?

PS. Насколько я помню такое поведение было с первого дня покупки PLC4xG2 (все тесты я проводил на принудительном ENABLE тк разбираться с проблемой тогда время не было).

barnaul
ШВЕД:

Проблема мне видится как программмная на стороне MACH3.

если я правильно понял у тебя и E-Stop не подключен, тогда дело просто в том что у тебя PIN на E-Stop активирован, зайди в LPT -PIN - Mach настройки и деактивируй его

ШВЕД

неправильно.
во-1 ESTOP невозможно отключить: даже если снять галку Enabled и сохранить то он все равно автоматически включается. Это видимо встроенная в Mach3 фича.
во-2 ESTOP у меня все-таки подключен. но независимо от его логики Active Low/Hi все равно ничего не работает.

если помониторить порт физически (вольтметром) то при включении платы PLC4xG2 на всех входных пинах 10,11,12,13 и 15 появляется 5В! это также отображается в Plugin Control -> Device Status Monitoring.
Если же плату отключить то на пинах все равно присутствует напруга 1.5В!

Самое любопытное начинается в случае если включить аппаратный принудительный Enable (переключатель SW8 на плате PLC4xG2): в этом случае все пины работают как нужно, никакого паразитного напряжения нигде нет… В общем все становится прекрасно.
Сейчас появились подозрения на брак Purelogic’ов в этой плате…

barnaul
ШВЕД:

даже если снять галку Enabled и сохранить то он все равно автоматически включается

у меня его вообще нет и не включается, т.е. деактивированный

ШВЕД

Mach3 R3.043.066. деактивировать не получается - последующее открывание окна уже содержит включенный ESTOP 😦
на R3.042 то же самое было вроде

fly55

Ну чтобы отключить естоп внешний из покон веков в маче просто ставили номер порта и пина в 0 по этому входу.
Но суть в том что понять внешний естоп у вас срабатывает или нет надо просто посмотреть что пишет мач в статусе при переходе в этот режим если External E-stop triggered то это оно а если что то другое то надо разбираться с этим досконально.

Опять таки что мешает вытащить контроллер из лпт порта и запустить мач - нормально настроенный мач при выключенном внешнем прерывании перейдет в рабочей режим при нажатии кнопки E-stop на экране. Если это так - в помойку контроллер если даже с отключенным контроллером мач ведет себя так же - косяк с настройками или с лпт портом.

Опять таки удалить профиль в маче создать новый по умолчанию проставить пины проверить еще раз.

ШВЕД

похоже я нашел причину проблем: PLC4xG2 оказался не бракованным а просто изначально конструктивно убогим. знал бы раньше - не купил бы…

постараюсь более-менее понятно изложить мои изыскания и результаты.

(1) SmoothStepper подтягивает входные уровни к VCC. очевидно это для борьбы с помехами (подтянутые к VCC уровни гораздо более помехоустойчивы чем подтянутые к земле уровни).

(2) в Mach3 уровень логики легко инвертируется при помощи галки Active Low. таким образом можно настроить уровень “5 вольт = ЕСТЬ СИГНАЛ” или “5 вольт = НЕТ СИГНАЛА”. в общем подстроить под себя можно легко.

/* мне гораздо больше нравятся нормально закрытые датчики (по умолчанию замкнутые) и высокие “нулевые” уровни (когда 5 вольт означают отсутствие сигнала).
в случае срабатывания датчика или выхода его из строя или обрыва линии автоматика сразу отфиксирует эти события и обесточит исполнительные механизмы.
если же датчик нормально открытый то отсутствие сигнала от него может означать как (а) датчик не сработал так и (б) датчик неисправен. и тут будет беда если датчик вышел из строя или оборвана линия… */

(3) теперь переходим к PLC4xG2: у него на борту имеется 6 опторазвязанных входов: IN1…IN6:

(а) входы IN1…IN5 транслируются на выход.
я подключил к 4 из них нормально закрытые концевики -т.е. при срабатывании сигнальная линия падает в ноль. с Mach3 это отлично сочетается.

(б) вход IN6 - это средство аппаратного аварийного отключения ENABLE: при поступлении высокого сигнала (5В) на вход оптопары происходит отрубание ENABLE на всех драйверах. разработчики видимо свято верят в то что подключать сюда нужно исключительно нормально открытые датчики… и никакой настройки с инверсией тут не предусмотрено.

(4) моя попытка решения:

  • IN6 (ESTOP) оставляем как есть. в его линию врезаем оптопару сигнал с которой я инвертирую (к561ла7) и подаю на IN5. таким образом IN5 и IN6 получают аппаратную инверсию.

далее я настраиваю Mach что IN5 = estop (active low). т.е. появление низкого уровня mach3 интерпретирует как аварию.

в теории все замечательно но практика споткнулась об этот идиотский PLC4xG2 😦

при нажатии на кнопку ESTOP происходит аппаратный сброс ENABLE на плате PLC4xG2, IN5 переходит как и положено в низкий уровень но ни SmoothStepper ни Mach3 уже этого не видят!
при этом если не трогать IN6 а отдельно ручками сбросить IN5 в низкий уровень то все работает отлично.
но как только PLC аппаратно сбрасывает у себя ENABLE он видимо еще и блокирует как-то выходы… в общем не плата а беспонтовое дерьмо…

вот щас думаю либо пойти во все тяжкие и со всей злостью свою плату вытравить и спаять или дальше с бубном плясать с пурелоджиковскими поделками как-то. причем единственный бубен который я вижу - это отказаться от IN6 вообще и подавать сигнал на Mach3 и уже чтобы он программно сбрасывал ENABLE… конечно аппаратный сброс был бы в разы кошернее…

// PS. следующий станок (если будет) однозначно будет построен без единой электронной части от пуриков… что сами ни сделают - все через одно место 😦(( все БЕЗ исключение что у них покупал все было с косяками (и брак, и недочеты итд итп)…

9 days later
Xes

Ну вот приехали, всем форумом нахваливают Geko-драйв, а по факту берем Пурилогик )

26 days later
purelogic
ШВЕД:

похоже я нашел причину проблем: PLC4xG2 оказался не бракованным а просто изначально конструктивно убогим. знал бы раньше - не купил бы…

постараюсь более-менее понятно изложить мои изыскания и результаты.

Добрый день!
Входе детального рассмотрения описанной Вами проблемы вокруг платы коммутации PLC4x-G2 стоит уточнить ряд моментов, с целью нахождения оптимального решения.
По состоянию на настоящий момент функционал платы коммутации предполагает только один вариант активации входа IN6 — это подача уровня логической единицы на вход. После того, как на вход IN6 поступил сигнал, электроника платы «снимает» сигнал Enable со всех драйверов, блокирует сигналы Step, Dir, идущие на драйвера, все выходы и входы порта LPT блокируются и устанавливаются в состояние логического нуля. При необходимости применения в качестве неактивного состояния входа высокого уровня сигнала (поскольку при таком подключении появляется возможность визуально оценить состояние проводки станка, еще до начала работы, поскольку обрыв линии сразу окажется на виду) возникают сложности согласования работы входов IN1-IN5 и входа IN6.

Из Вашего описания следует, что в поиске решения, была собрана схема, структурно изображенная на рисунке. Если проследить состояние входов вдоль всей цепочки, очевидно, что при данном включении сигнал на входе IN6 всегда будет блокировать трансляцию сигнала в LPT порт. В качестве временного решения предлагаем модернизировать схему следующим образом:

При таком включении инвертора (транзистор, оптрон) срабатывание входа IN6 не помешает сигналу от IN5 транслироваться в mach3. Ввиду появившейся востребованности, добавим в плату возможность инверсии сигнала входа IN6. Поскольку функционал устройства PLC4x-g2 позволяет провести расширение возможностей, без внесения изменений в конструктив, путем изменения «прошивки», Вы можете отправить плату к нам, для обновления последней.
Просьба, с целью получения своевременной поддержки, обо всех проблемах, связанных с функционалом наших устройств, сообщать на нашем форуме или по электронной почте.

ШВЕД

добрый день, purelogic,

то что вы самостоятельно отыскали мой пост и уделили время изучению проблемы и предложению решения (равно как и готовность перепрошить плату) - - это безусловно вам в плюс!

я полагаю если вы свяжетесь со всеми вашими покупателями по email (наверняка база имеется) и напишите некий “appnote” где выскажете готовность всех перепрошить то тогда многие вероятно найдут это полезным и поставят вам “плюсик в карму”. лично мне неудобно сейчас демонтировать плату из корпуса и перепрошивать. я решил в этот раз обойтись без аппаратного сброса IN6 и ограничиться программным ESTOP через mach3 в угоду экономии собственного времени.