Логика, цепь безопасности
- Войдите на сайт для отправки комментариев
Сб, 14/12/2019 - 23:50
Доброго времени суток уважаемые форумчане.
Прошу помощи перевести логику в код для ардуино
Станок. У оператора две кнопки (дабы занять две руки =) и концевой выключатель на защитном кожухе)
для запуска станка необходимо
Условия:
1. закрыть защитный кожух (замкнуть концевик Enable)
2. одновременно, в течении 0.3 сек. , нажать кнопки и держать до конца цикла (Start L & Start P)
станок запустится, - если отпустить одну из кнопок станок выключиться
если повторно нажать отпущенную кнопку - игнорировать - для запуска необходимо снова выполнить условие 2
У меня на этом станке стоял промышленный контроллер серии ARRAY
вот логика которую я писал для него (цепь безопасности)


Aleks_neofit - если это заказ - пишите в платный раздел. Если хотите чтобы вам помогли разобраться самостоятельно - выкладывайте как вы пробовали написать код.
Да. Только кроме кода тут столько всего вырисовывается и в цеховых условиях. :((
Благодарю Duino A.R. за понимание. Всё именно так, как Вы написали.
Возможно найдётся другое решение.
Благодарю Duino A.R. за понимание. Всё именно так, как Вы написали.
Возможно найдётся другое решение.
конечно найдётся - любой контроллер с механических прессов, изначально были на транзисторах, потом на 511 логике
Доброго вечера,
решил в свободное время написать черновик - упростил концевик, оставил две кнопки (pin 2 и 3) и светодиод (pin 13)
И странно, код срабатывает один раз, - с начала старта МК (после 0,5 сек уже не работает)
Millis стартует с запуском программы, а не по нажатию кнопок...
Подскажите плиз, в чём я ошибаюсь
это точно не правильно -
if
((k = 1) && (t = 1)) {
Спасибо ua6em,
можем написать
...
но сути это не меняет - Millis стартует с запуском программы, а не по нажатию кнопок...
предыдущий оратор говорил про ошибку применения оператора присваивания вместо сравнения, имхо
Спасибо ua6em,
можем написать
...
но сути это не меняет - Millis стартует с запуском программы, а не по нажатию кнопок...
А кто обещал старт миллиса по нажатию кнопки? Я вот сейчас на часы глянул, там 2.12, а не 00.00, как теперь время засечь? Бяда.(((((
в оригинальном блоке управления полностью самодостаточных два канала сделано, один на одну кнопку, другой на вторую и, срабатывание муфты при синхронной отработке (разница в миллисекундах) обоих каналов, если делать, то тогда на двух ардуинах )))
Добрый вечер,
Спасибо за участие,
Тему со станком можно закрыть - купили сразу новый ПЛК ...
код пытаюсь писать для себя, только пока не разобрался, почему работает, не так как задумано
так непонятно, что именно задумано
Чтож не понятного ) ТС хочет, чтобы если обе кнопки удерживаются более пол секунды, то включается лед13, ну и , надо полагать, при отпускании хотя бы одной - выключается. ТС, ищите на форуме работу с кнопками, инфы полно.
Вы неправильно обрабатываете момент нажатия на кнопку и тем паче неправильно запоминаете время этого события. Я уж молчу про то как вы отслеживаете сколько времени после этого события прошло и ошибки в синтаксисе (кстати про которые вам намекают, а вы игнорируете).
Представьте себя на месте МК . Вы поставили курицу в духовку(читай нажали вашу кнопку), у вас на стене висят часы (читай millis ). Вам надо через 40 минут её выключить (читай включить LED13 через полсекунды), какие действия вы будете для этого делать? кроме шуток, опишите подробно про курицу, максимально разбив эту задачу с курицей на переходы.