Доброго дня, форумчане.
Поставлена следующая задача:
- реализовать расчет производительности упаковочной машины по датчику на выходе машины в шт\час или упаковок\час.
Исходные данные -
1. рефлекторный датчик на выходе, который считает готовые упаковки
2. частотный преобразователь, частота\обороты в минуту задаются с панели оператора
Как можно рассчитать производительность машины в час?
На аналогичной задаче я считал счётчиком изделия на конвейере периодами по 30 сек, потом пересчитывал в изделия/час.
Соответственно данные о производительности обновлялись на дисплее LOGO! каждые 30 сек. Заказчика устроило.
Цитата(and @ 15.6.2018, 17:10)

На аналогичной задаче я считал счётчиком изделия на конвейере периодами по 30 сек, потом пересчитывал в изделия/час.
Соответственно данные о производительности обновлялись на дисплее LOGO! каждые 30 сек. Заказчика устроило.
Если Вам не составит труда, покажите пример пожалуйста.
Цитата(iteng @ 18.6.2018, 7:03)

Если Вам не составит труда, покажите пример пожалуйста.
Нажмите для просмотра прикрепленного файлаПо другому вставить не получается.
Спасибо! Буду разбираться.
К сожалению с рисунка не понятны параметры блоков и некоторые соединительные линии перекрываются.

Может быть на почту удастся скинуть проект? iteng2011@yandex.ru Спасибо!
Не понятно как соединены блоки - В030, В005
Нажмите для просмотра прикрепленного файла
Программа на другом компе лежит, сейчас не посмотреть. Всё же попробую начать с общего описания по памяти и фотографии...
Заготовки от сварочного аппарата едут по конвейеру к экструдеру. При подходе очередной заготовки к стопору перед экструдером срабатывает датчик Z (I7) и формируется импульс (В009). Через В014 сбрасывается триггер В005, снимается сигнал Q1, стопор закрывается и удерживает заготовку.
При подходе к конвейеру очередной головки экструдера, срабатывает датчик G (I8), формируется импульс (В008), устанавливается В005, выдается команда на открытие стопора (Q1), и конвейер подаёт (одевает) заготовку на головку.
<Соответственно вход set В005 соединён с В003>
Головка с заготовкой уходит к другому конвейеру, а в это время подходит очередная заготовка и встает на стопор.
Скорость подачи головок экструдера регулируется вручную механическим вариатором и от конвейера никак не зависит.
В004 - число поданных заготовок с момента включения (В009).
В006 - число проходов головки экструдера с момента включения <Соответственно В006 соединён с В003>.
В023 - считает секунды расчётного цикла (от В022) и формирует импульс каждые 60 сек.
В029 - считает заготовки (от В009), сбрасывается каждые 60 сек (от В023).
В030 - считает проходы головки (от В003), сбрасывается каждые 60 сек (от В023).
В нижней части схемы - блок расчётов.
В028 - указывает счётный цикл (чётный/нечётный).
В017 и В031 - запоминают из В029 сколько заготовок прошло в чётном и нечётном цикле (скорость подачи заготовок в мин)
В027 - выбирает какой из счётчиков (В017 или В031) сейчас показывать на дисплее (деталей/мин).
В034 - аналогично В027 дает величину скорости подачи головок (гол/мин) для демонстрации на дисплее.
В016 - показывает значения В027, В034, В004 и В006 на дисплее LOGO.
Суть поставленной мне задачи.
До установки LOGO датчик подхода головки напрямую открывал стопор. Если в момент подачи заготовки головка уже стояла напротив конвейера, то открытый стопор пропускал заготовку на головку без остановки.
Если к моменту подачи заготовки головка уже простояла у конвейера какое-то время, то она уходила раньше, чем заготовка полностью наденется на головку, и деталь уходила в брак.
Соответственно задача - победить эту проблему.
Включив LOGO между датчиком головки и управлением стопором, и учитывая при этом момент подачи заготовки задача была решена.
А все расчёты производительности - от наличия у применённого LOGO дисплея и от моего излишнего гонора.
LOGO поставили на уровне колена и я не уверен, что кто-то смотрит на дисплей.
Понятно, спасибо. Вот как мне удалось решить эту задачу, используя Ваш одноминутный таймер.
Нажмите для просмотра прикрепленного файла Считает упаковки в минуту. Обновляется каждую минуту. Еще раз большое Спасибо за помощь!
Вашу схему можно ещё упростить, убрав М8 и В063, и изменив уставки В062 с 00:50 сек на 30:00 сек каждую.
Просто я сначала планировал считать производительность динамически, выполняя деление В058 на В062 (по вашей схеме), но точность получилась плохая.
Цитата(and @ 19.6.2018, 22:29)

скажите, а зачем 4 элемента определения переднего фронта подряд ?
Программа делалась сразу из головы и редактировалась до получения требуемого функционала. При редактировании элементы прошлых версий не убирались, если не мешали функционированию. Предполагалось возможность их использования при дальнейшем редактировании. Работа очередной версии программы заказчика удовлетворила полностью, и редактирование больше не проводилось.
Так что программа содержит дублирующие и просто лишние элементы, её можно при желании оптимизировать (на что вы обратили внимание).
Здесь выложена не как образец правильного написания программы, а как пример работоспособного решения для заданного вопроса о подсчёте производительности.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.