Последний раз редактировалось Вольд; 28.10.2014 в 13:02.
Человек задал конкретный тех вопрос, как сделать.
А делать, или нет прерывания, или достаточно опрашивать в цикле-это уже исходя из поставленного тех. задания
и самой программы(времени цикла например).
Последний раз редактировалось Nts; 28.10.2014 в 13:16.
BETEP это называется, стоит ответить без картинок, как выложил Nts, и тебя тут же обзовут дураком......
О скорости речь не шла сперва и это уже другой вопрос, будет или нет успевать ПЛК...
При прерывании по входу обеспечивается минимальная и стабильная по времени реакция на фронт или спад импульса, не зависящая от времени цикла.
Т.е. пофиг в какой момент обработки цикла сигнал появился.
Без использования прерываний, время реакции на вход будет гулять от ноля до почти двух времён цикла, появилось событие в момент когда обработка входов завершена, реакцию сможем обеспечить только по окончанию следующего цикла.
На многих контроллерах по прерыванию можно обеспечить немедленную реакцию выхода, операцию со скоростным счётчиком, и.т.п.
Завтра запускаю станочег, в который руками вставляют обрезанный лист, он цепляется за энкодер и далее край листа ловится индукционным датчиком. По фронту с датчика энкодер немедленно обнуляется. Лист едет дальше и нужно попасть двумя разными штампами в заданное от края расстояние.
Пихают руками лист на любой скорости.
Посчитайте погрешность при скорости запихивания от 1 м/мин. до 80 м/мин и времени цикла в 10-15 мс.
И ещё будет некая погрешность при остановке под штамп.
Нормальная погрешность для этого изделия 0,5-1 мм, если выше, станок тупо не примут.
Завтрашний заказчик не первый раз берёт такой станочек, претензий к точности попаданий небыло.
Длительность сигнала с датчика несколько секунд, и как понимаете, эта длительность никакого значения не имеет.
ключевые слова выделил жирным.
Последний раз редактировалось BETEP; 28.10.2014 в 20:46.