PDA

Просмотр полной версии : Секундомер. Подсчет времени реза отрезного станка с помощью ПР200



SuperRobot
21.02.2019, 20:25
Добрый день.
Валяется, пылится и очень жалко выкинуть ПР200. Потому как при заказе не разобрался и выбрал версию с управлением по 220V.
Точнее как, неоднозначно был на сайте описан этот момент, служба поддержки как бы признала, но сослалась что в паспорте есть данные, в общем огорченный положил прибор на полку. Ну суть не в этом.

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

Есть отрезной станок. Управление простое - нажал кнопку, опускается режущий диск и какое то время режет, потом поднимается сам в исходное положение. Тут все работает хорошо, вопрос в другом. Важно знать время, за которое осуществлялся последний рез. Обычно это не более 10 секунд, но в идеале показывать в формате 8.4 (те десятые доли секунды хотелось бы тоже видеть). Эти данные нужны для 1) Отладки реза 2) Сигнализации, если что то идет не так (скажем последний раз часть труб были с более тонкой стенкой, рез был быстрее - такие трубы не пригодны для нашего производства). Признаться честно сейчас оператор станка считает обороты диска отрезного станка (метод продавливания), и это весьма не весело. Было бы отлично ему быстро глянуть на экран и понять в допуске ли время реза или нет.

Собственно вопрос, есть ли возможность реализовать такую задачу с использованием лишь одного управляющего сигнала?
Те включили станок, подалось питание на ПР200 - он включился, на дисплее пусто.
Нажали кнопку реза, подается питание на ПР200 - начинается отсчет времени. По завершению подачи питания отсчет времени прекращается, фиксируется значение.
При последующем подачи питании на этот же управляющий контакт, снова начинается подсчет времени и завершается после прекращения подачи питания.
Последнее значение показывается пока питание поступает в принципе на ПР200, либо пока не начнется новый цикл резки.

Если честно думал у Китайцев какое то готовое решение купить, типо реле таймера, но что то не нашел.
Обидно для такой ерунды использовать весьма мощное устройство, но еще обиднее -что оно лежит без дела.

Теперь к сути.
Мне кажется это программируется элементарно, может кто поможет мне?
Дальше уже буду разбираться. Хоть какой то пример, как это реализуется.

ПС
В самом идеале иметь две уставки, нижний предел времени и верхний. Те нормальный рез считаем от 5 до 8 секунд скажем, если менее или более - подаем питание - и загорается скажем лампа сигнальная (и горит пока либо не отключится питание общее , либо пока следующий рез не будет в пределах нормы). На сколько я понимаю ПР200 позволит эти значения менять прямо в цехе, с кнопок. Правда наверно данные будут в милисекундах.

rovki
21.02.2019, 20:35
По нажатию кнопки запускается пиление и отсчет времени реза в ПР200 (по сигналу на входе) ,а когда останавливать то счет , по отпусканию кнопки (сигнала на входе) или по другому сигналу?

SuperRobot
21.02.2019, 20:43
По нажатию кнопки запускается пиление и отсчет времени реза в ПР200 (по сигналу на входе) ,а когда останавливать то счет , по отпусканию кнопки (сигнала на входе) или по другому сигналу?

наверно нужно было сразу показать видео процесса

https://youtu.be/SO0c3IYwnZ8

По нажатию кнопки через реле 12в идет подача сигнала на управление гидрораспределителем станка, и диск через гидравлику начинает опускаться. Когда диск опускается до определенного положения (труба уже гарантировано разрезана) по микроконцивикам, срабатывает другое реле и гидрораспределитель поднимает диск вверх. Кстати на видео видно, как примотали на вал "метку" по которой приходится считать обороты пока. Не каждый раз конечно, но как выяснилось поставщик может (хоть и редко) подложить свинью, и лучше бы об этом узнать раньше.

Поэтому по появлению напряжения начинается отсчет, и продолжается пока напряжение есть - когда напряжение пропало, отсчет закончился, но данные не стираются, до момента когда начнется новый цикл - те снова не появится напряжение. Это в идеале.

Секундомер конечно (а по сути это секундомер) работает от двух кнопок. Одна из которых обнуляет. Тут не хотелось бы использовать два входных сигнала, потому как нам опять же нужно ставить еще реле, ибо как и писал ПР200 у нас в идиотском исполнении с управлением 220 вольт. А все управление станка у нас на 12в реализовано, что логично.

Ревака Юрий
21.02.2019, 20:47
Добрый день.
Валяется, пылится и очень жалко выкинуть ПР200. Потому как при заказе не разобрался и выбрал версию с управлением по 220V.
Точнее как, неоднозначно был на сайте описан этот момент, служба поддержки как бы признала, но сослалась что в паспорте есть данные, в общем огорченный положил прибор на полку. Ну суть не в этом.

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

Есть отрезной станок. Управление простое - нажал кнопку, опускается режущий диск и какое то время режет, потом поднимается сам в исходное положение. Тут все работает хорошо, вопрос в другом. Важно знать время, за которое осуществлялся последний рез. Обычно это не более 10 секунд, но в идеале показывать в формате 8.4 (те десятые доли секунды хотелось бы тоже видеть). Эти данные нужны для 1) Отладки реза 2) Сигнализации, если что то идет не так (скажем последний раз часть труб были с более тонкой стенкой, рез был быстрее - такие трубы не пригодны для нашего производства). Признаться честно сейчас оператор станка считает обороты диска отрезного станка (метод продавливания), и это весьма не весело. Было бы отлично ему быстро глянуть на экран и понять в допуске ли время реза или нет.

Собственно вопрос, есть ли возможность реализовать такую задачу с использованием лишь одного управляющего сигнала?
Те включили станок, подалось питание на ПР200 - он включился, на дисплее пусто.
Нажали кнопку реза, подается питание на ПР200 - начинается отсчет времени. По завершению подачи питания отсчет времени прекращается, фиксируется значение.
При последующем подачи питании на этот же управляющий контакт, снова начинается подсчет времени и завершается после прекращения подачи питания.
Последнее значение показывается пока питание поступает в принципе на ПР200, либо пока не начнется новый цикл резки.

Если честно думал у Китайцев какое то готовое решение купить, типо реле таймера, но что то не нашел.
Обидно для такой ерунды использовать весьма мощное устройство, но еще обиднее -что оно лежит без дела.

Теперь к сути.
Мне кажется это программируется элементарно, может кто поможет мне?
Дальше уже буду разбираться. Хоть какой то пример, как это реализуется.

ПС
В самом идеале иметь две уставки, нижний предел времени и верхний. Те нормальный рез считаем от 5 до 8 секунд скажем, если менее или более - подаем питание - и загорается скажем лампа сигнальная (и горит пока либо не отключится питание общее , либо пока следующий рез не будет в пределах нормы). На сколько я понимаю ПР200 позволит эти значения менять прямо в цехе, с кнопок. Правда наверно данные будут в милисекундах.

Данные можно менять и в секундах, вопрос в точности такого метода, что-то мне кажется что даже на трубе одного диаметра время реза не будет константа. Как Вы собираетесь точно фиксировать начало реза и окончание?

SuperRobot
21.02.2019, 21:00
Данные можно менять и в секундах, вопрос в точности такого метода, что-то мне кажется что даже на трубе одного диаметра время реза не будет константа. Как Вы собираетесь точно фиксировать начало реза и окончание?

Я выше выложил в ответе видео. Возможно оно поможет для общего понимания.
Безусловно время реза будет плавать. И вобще процесс резки он весьма сложный для данного метода, хотя и имеет свой основной и огромный плюс, даже два - отсутствие дальнейшей обработки кромки и необходимости менять режущий инструмент (даже не разу диск не точили за три года).

Скорость вращения диска постоянное. А регулировка осуществляется давлением в системе гидравлики - те можем отрегулировать (делается в начале новой партии по необходимости) сильнее будет диск давить или слабее. Отсюда идет зависимость - давит сильно, скорость реза возрастает - но также увеличивается завальцовка (что плохо именно для нас), если ослабить давление - скорость реза снижается, завальцовка меньше, но больше тратим время что тоже плохо. Потому в начале партии методом пробных резов (если это требуется, часто не требуется) определяется оптимальное давление для текущей партии труб. Обычно это рез за 7-8 оборотов, те есть определенный разброс и он не критичный. Если рез идет за 4-5 оборотов, это означает что будет проблема - ибо большая завальцовка получается. Если же 10-12 оборотов, это снижение производительности ощутимое.

Потому я и пишу. Что мы сначала привычные нам обороты "переведем" опытным путем во время реза, и отрегулируем на ПР200 уставки сигнализатора (это в идеале опять же). Секунда конечно не точно. А вот десятая доли секунды - уже вполне нам хватит для нашей точности.

А в чем собственно проблема у нас вышла?
Вот вышло так, что в пачке из 188 труб, завод положил 26 труб со стенкой тоньше. Разница всего в 0,15 - 0,2 мм но при этом скорость реза возврасла почти в два раза (4 оборота, за место 7-8). Оператор станка может такое заметить на сразу, потому как работа ужасно муторная и его понять можно.

В общем надоело считать обороты, хотелось бы перейти к понятным секундам.

Ревака Юрий
21.02.2019, 22:38
Я выше выложил в ответе видео. Возможно оно поможет для общего понимания.
Безусловно время реза будет плавать. И вобще процесс резки он весьма сложный для данного метода, хотя и имеет свой основной и огромный плюс, даже два - отсутствие дальнейшей обработки кромки и необходимости менять режущий инструмент (даже не разу диск не точили за три года).

Скорость вращения диска постоянное. А регулировка осуществляется давлением в системе гидравлики - те можем отрегулировать (делается в начале новой партии по необходимости) сильнее будет диск давить или слабее. Отсюда идет зависимость - давит сильно, скорость реза возрастает - но также увеличивается завальцовка (что плохо именно для нас), если ослабить давление - скорость реза снижается, завальцовка меньше, но больше тратим время что тоже плохо. Потому в начале партии методом пробных резов (если это требуется, часто не требуется) определяется оптимальное давление для текущей партии труб. Обычно это рез за 7-8 оборотов, те есть определенный разброс и он не критичный. Если рез идет за 4-5 оборотов, это означает что будет проблема - ибо большая завальцовка получается. Если же 10-12 оборотов, это снижение производительности ощутимое.

Потому я и пишу. Что мы сначала привычные нам обороты "переведем" опытным путем во время реза, и отрегулируем на ПР200 уставки сигнализатора (это в идеале опять же). Секунда конечно не точно. А вот десятая доли секунды - уже вполне нам хватит для нашей точности.

А в чем собственно проблема у нас вышла?
Вот вышло так, что в пачке из 188 труб, завод положил 26 труб со стенкой тоньше. Разница всего в 0,15 - 0,2 мм но при этом скорость реза возврасла почти в два раза (4 оборота, за место 7-8). Оператор станка может такое заметить на сразу, потому как работа ужасно муторная и его понять можно.

В общем надоело считать обороты, хотелось бы перейти к понятным секундам.

Видео посмотрел, если есть сигналы которые можно завести на дискретные входы, считать секунды с одним знаком после запятой-реально, дальше задаете "коридор" через уставки на экране, если время выходит за диапазон действуем по обстоятельствам (отключение, сигнализация и т.д.). Если пром. реле и вся механика не будет давать большой погрешности по времени срабатывания, все получится.

SuperRobot
21.02.2019, 23:26
Видео посмотрел, если есть сигналы которые можно завести на дискретные входы, считать секунды с одним знаком после запятой-реально, дальше задаете "коридор" через уставки на экране, если время выходит за диапазон действуем по обстоятельствам (отключение, сигнализация и т.д.). Если пром. реле и вся механика не будет давать большой погрешности по времени срабатывания, все получится.

Какой мне компонент подойдет или макрос?

Алексей Геннадьевич
22.02.2019, 07:48
Какой мне компонент подойдет или макрос?
41370
делайте на таком принципе: Подсчёт количества циклов при обработке детали + подсчёт количества циклов за целое количество секунд обработки.
Из полученных данных вычисляете время обработки с точностью ~0,01c

Ревака Юрий
22.02.2019, 08:53
Какой мне компонент подойдет или макрос?

TIME_U/D в менеджере компонентов посмотрите.

Андрей Посохов
22.02.2019, 10:37
Добрый день.
Валяется, пылится и очень жалко выкинуть ПР200. Потому как при заказе не разобрался и выбрал версию с управлением по 220V.
Точнее как, неоднозначно был на сайте описан этот момент, служба поддержки как бы признала, но сослалась что в паспорте есть данные, в общем огорченный положил прибор на полку. Ну суть не в этом.

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

Есть отрезной станок. Управление простое - нажал кнопку, опускается режущий диск и какое то время режет, потом поднимается сам в исходное положение. Тут все работает хорошо, вопрос в другом. Важно знать время, за которое осуществлялся последний рез. Обычно это не более 10 секунд, но в идеале показывать в формате 8.4 (те десятые доли секунды хотелось бы тоже видеть). Эти данные нужны для 1) Отладки реза 2) Сигнализации, если что то идет не так (скажем последний раз часть труб были с более тонкой стенкой, рез был быстрее - такие трубы не пригодны для нашего производства). Признаться честно сейчас оператор станка считает обороты диска отрезного станка (метод продавливания), и это весьма не весело. Было бы отлично ему быстро глянуть на экран и понять в допуске ли время реза или нет.

Собственно вопрос, есть ли возможность реализовать такую задачу с использованием лишь одного управляющего сигнала?
Те включили станок, подалось питание на ПР200 - он включился, на дисплее пусто.
Нажали кнопку реза, подается питание на ПР200 - начинается отсчет времени. По завершению подачи питания отсчет времени прекращается, фиксируется значение.
При последующем подачи питании на этот же управляющий контакт, снова начинается подсчет времени и завершается после прекращения подачи питания.
Последнее значение показывается пока питание поступает в принципе на ПР200, либо пока не начнется новый цикл резки.

Если честно думал у Китайцев какое то готовое решение купить, типо реле таймера, но что то не нашел.
Обидно для такой ерунды использовать весьма мощное устройство, но еще обиднее -что оно лежит без дела.

Теперь к сути.
Мне кажется это программируется элементарно, может кто поможет мне?
Дальше уже буду разбираться. Хоть какой то пример, как это реализуется.

ПС
В самом идеале иметь две уставки, нижний предел времени и верхний. Те нормальный рез считаем от 5 до 8 секунд скажем, если менее или более - подаем питание - и загорается скажем лампа сигнальная (и горит пока либо не отключится питание общее , либо пока следующий рез не будет в пределах нормы). На сколько я понимаю ПР200 позволит эти значения менять прямо в цехе, с кнопок. Правда наверно данные будут в милисекундах.


Добрый день.А можете подсказать, где неоднозначно указано, чтобы мы поправили на сайте?

Заранее спасибо

SuperRobot
22.02.2019, 11:58
Добрый день.А можете подсказать, где неоднозначно указано, чтобы мы поправили на сайте?

Заранее спасибо

Я же писал в службу поддержки по этому вопросу уже (1 декабря 2017 года).
И после этого сайт уже ваш смотрю менялся. Потому лишь частично вопрос актуален.

Например смотрите вот:

https://www.owen.ru/product/pr200 страница описание продукта.

Вот цитата:
Встроенный источник питания =24 В для питания датчиков с аналоговым выходом (в модификациях на 230 В и аналоговыми входами).

41380

А потом заказываем модель с 220в, ПР200-220.1.0.0, и в паспорте видим - там нет источника питания на 24в.

На странице куча таблиц и данных, но в них нет упомнимания, что питание строенное 23В есть не у всех.
А есть в одном месте. Вот на схеме устройства. и то - я уже специально ищу, потому увеличил и рассматривал.
41381

Вот скажите, почему в самом начале, где идет упоминание про:
Встроенный источник питания =24 В для питания датчиков с аналоговым выходом (в модификациях на 230 В и аналоговыми входами).

взять и дополнить это предложение, что не для всех моделей в модификации 230В?

ПС
Миниатюры ниже, это то что я отправлял в службу поддержки прошлый раз. На мой взгляд ситуация не изменилась.

SuperRobot
22.02.2019, 12:02
41370
делайте на таком принципе: Подсчёт количества циклов при обработке детали + подсчёт количества циклов за целое количество секунд обработки.
Из полученных данных вычисляете время обработки с точностью ~0,01c


Ого, сложновато. Ладно заберу в начале недели ПР200 из цеха, начну разбираться.

Почему то был уверен, раз реализован механизм реального времени в устройстве, должен быть простой метод подсчета прошедшего времени.

Ревака Юрий
22.02.2019, 12:10
Вот цитата:
Встроенный источник питания =24 В для питания датчиков с аналоговым выходом (в модификациях на 230 В и аналоговыми входами).

41380

А потом заказываем модель с 220в, ПР200-220.1.0.0, и в паспорте видим - там нет источника питания на 24в.



А затем заказываем прибор без аналоговых входов/выходов,:) и удивляемся что блока питания нет. Исходя из Вашей задачи не очень понимаю как бы он помог?

SuperRobot
22.02.2019, 12:17
TIME_U/D в менеджере компонентов посмотрите.

Скачал овен лоджик, новая версия.

Как скачать указанный вами макрос? По умолчанию его я так понял нет.
В видео уроках есть пункт меню , в новой версии не вижу его.
Очевидно что доступ в интернет у меня есть.

41382

уже и описание его нашел
http://ftp-ow.owen.ru/softupdate/OWEN%20Logic/OnlineMacroes/Timer%20and%20counter/TIME_UD.pdf

как его скачать не могу понять

SuperRobot
22.02.2019, 12:27
А затем заказываем прибор без аналоговых входов/выходов,:) и удивляемся что блока питания нет. Исходя из Вашей задачи не очень понимаю как бы он помог?

Саму модель выбрал воспользовавшись системой подбора.
41383

Как и писал было весьма давно, и подробностей не помню
Я безусловно не самый умный человек, но и уж точно не самый глупый.

Скажем ардуино освоил, на нем собрал управление штампом с двумя пневмоцилидрами, все это завязал на работу хода пресса. Не ах конечно, но и какой то уровень у меня есть представления работы похожих устройств.

----
Теперь касаемо аналоговых входов и выходов.
Если все же верно я понимаю их назначение, они мне не нужны. Мне достаточно уровня входящего сигнала 0 или 1, потому дискретных за глаза. У меня нет каких либо датчиков температуры скажем, и не предвиделось. Потому все же считаю, если написано что БП есть для версий 220V, он должен быть. Если есть какие то исключения, про это надо писать сразу. И до сих пор не могу понять - почему это нельзя исправить. Буквально пару слов добавить и все.

Я не отрицаю свою ошибку. Уделил не так много времени при заказе, как нужно было.
Но потом блин для меня было шоком что управление по 220 вольт. Хотя вот сейчас я четко вижу в таблице на странице продукта эту информацию. Как было раньше не помню. Может просто ошибся и только моя вина тут на все 146%.

Ревака Юрий
22.02.2019, 12:33
Скачал овен лоджик, новая версия.

Как скачать указанный вами макрос? По умолчанию его я так понял нет.
В видео уроках есть пункт меню , в новой версии не вижу его.
Очевидно что доступ в интернет у меня есть.

41382

уже и описание его нашел
http://ftp-ow.owen.ru/softupdate/OWEN%20Logic/OnlineMacroes/Timer%20and%20counter/TIME_UD.pdf

как его скачать не могу понять

Файл->Менеджер компонентов->TIME U/D.

Ревака Юрий
22.02.2019, 12:39
Саму модель выбрал воспользовавшись системой подбора.
41383

Как и писал было весьма давно, и подробностей не помню
Я безусловно не самый умный человек, но и уж точно не самый глупый.

Скажем ардуино освоил, на нем собрал управление штампом с двумя пневмоцилидрами, все это завязал на работу хода пресса. Не ах конечно, но и какой то уровень у меня есть представления работы похожих устройств.

----
Теперь касаемо аналоговых входов и выходов.
Если все же верно я понимаю их назначение, они мне не нужны. Мне достаточно уровня входящего сигнала 0 или 1, потому дискретных за глаза. У меня нет каких либо датчиков температуры скажем, и не предвиделось. Потому все же считаю, если написано что БП есть для версий 220V, он должен быть. Если есть какие то исключения, про это надо писать сразу. И до сих пор не могу понять - почему это нельзя исправить. Буквально пару слов добавить и все.

Я не отрицаю свою ошибку. Уделил не так много времени при заказе, как нужно было.
Но потом блин для меня было шоком что управление по 220 вольт. Хотя вот сейчас я четко вижу в таблице на странице продукта эту информацию. Как было раньше не помню. Может просто ошибся и только моя вина тут на все 146%.

C этим понятно, где-то у нас не достаточно подробно описано, где-то Вы не досмотрели, меня больше интересует как планировалось применять данный БП, если бы он был?

SuperRobot
22.02.2019, 12:42
Файл->Менеджер компонентов->TIME U/D.

Благодарю. Похоже как раз то что мне надо.
Наконец смогу использовать прибор купленный.

SuperRobot
22.02.2019, 12:51
C этим понятно, где-то у нас не достаточно подробно описано, где-то Вы не досмотрели, меня больше интересует как планировалось применять данный БП, если бы он был?

Да моя логика мне казалась тогда нормальной.

Питание от 220 для прибора это удобно, подцепил к сети и он работает, не нужны БП.
У прибора есть на борту блок питания 24 (ну как мне тогда казалось), им будем питать педаль пресса, герконы и считывать дискретными входами данные с них. Дискретные же выходы - будут управлять реле.

Вот такой был план. Как я и писал аналоговых мне не надо было входов.

Потом получил прибор - первое, обнаружил что нет ПБ, но это не очень то и беда, нашел БП. Обанаружил что дискретный вход управляется по 220.
Может сейчас местами смешно. Но в предыдущей версии сайта вот на такую ошибку я попал. Попал бы на нее в новой версии?... Да хз, может просто я такой исключительный идиот =)

Ладно. Будем пробовать второй заход в освоении прибора.

SuperRobot
22.02.2019, 13:39
Файл->Менеджер компонентов->TIME U/D.

Блин всю голову уже сломал. Почему не работает этот макрос в режиме симуляции?
41385

Еще кстати вопрос. Если мне не требуется режим обратного отсчета, обязательно ли задействовать соответвующие элементы макроса связями?
Те я скажем могу констаттой передать 1 макросу и показать что мне нужен только прямой отсчет, в этом случае должен ли я что то передать входу "ust, s" или можно оставить его без внимания, он же как раз для обратного отсчета
41386

Ревака Юрий
22.02.2019, 13:49
Блин всю голову уже сломал. Почему не работает этот макрос в режиме симуляции?
41385


Не вижу назначенной переменной на выходе макроса, и для симуляции сделайте ее энергонезависимой, или сделайте вывод на экран, иначе она никуда не идет и в симуляции участвовать не будет.
так же установите время и период минимальными.




Еще кстати вопрос. Если мне не требуется режим обратного отсчета, обязательно ли задействовать соответвующие элементы макроса связями?
Те я скажем могу констаттой передать 1 макросу и показать что мне нужен только прямой отсчет, в этом случае должен ли я что то передать входу "ust, s" или можно оставить его без внимания, он же как раз для обратного отсчета
41386

Для прямого можно 0 оставить.

SuperRobot
22.02.2019, 14:50
Не вижу назначенной переменной на выходе макроса, и для симуляции сделайте ее энергонезависимой, или сделайте вывод на экран, иначе она никуда не идет и в симуляции участвовать не будет.
так же установите время и период минимальными.
Для прямого можно 0 оставить.


все же я настроен разобраться
после подключения переменной на экран появляется ошибка:
41389

вот блоки:
41390

На работоспосбность это ВРОДЕ? не влияет, режим симуляции запускается.

Но интересный момент.
Если сначала запускаю симуляцию , а потом нажимаю на дискретный вход (чтобы 0 поменять на 1 и запустить таймер), то считает исключительно целыми секундамаи, те 1, 2, 3 ,4 и тд

Если же до запуска (но в режиме симуляции) я нажимаю на дискретный вход, и сразу 1 передаю ему, а потом нажимаю на Пуск - то отсчет идет с отображением десятой части секунды - что мне и надо.

Как будет время отображаться на самом приборе? Почему такая особенность?
---

И все же, если есть возможность, подскажите - как мне уйти от использования двух дискретных входов тут. Уверен что логически можно блоками сделать так, чтобы на сброс посылать кратковременную 1, без использования второго входа. Те по первому основному запускаем отсчет времени передав 1, когда же значение снова станет 0, отсчет времени прекращается (но сброс еще не происходит). При следующем появлении 1 , происходит кратковременный сброс секундомера, и начинается новый отсчет и тд. Я могу ошибаться - мне кажется это не сложно логически блоками собрать, но опыта нет - потому для меня , нереальная задача просто кажется.

Алексеев
22.02.2019, 15:37
Юрий почему вы не замените циклические связи во всех макросах на линии задержки ?????????????
У пользователей возникают всегда вопросы , а если не возникают ( работать можно и так ) экран
с элементами желтого цвета не совсем приятен .

Давно хотел задать этот вопрос .

Ревака Юрий
22.02.2019, 15:45
все же я настроен разобраться
после подключения переменной на экран появляется ошибка:
41389

вот блоки:
41390

На работоспосбность это ВРОДЕ? не влияет, режим симуляции запускается.

Но интересный момент.
Если сначала запускаю симуляцию , а потом нажимаю на дискретный вход (чтобы 0 поменять на 1 и запустить таймер), то считает исключительно целыми секундамаи, те 1, 2, 3 ,4 и тд

Если же до запуска (но в режиме симуляции) я нажимаю на дискретный вход, и сразу 1 передаю ему, а потом нажимаю на Пуск - то отсчет идет с отображением десятой части секунды - что мне и надо.

Как будет время отображаться на самом приборе? Почему такая особенность?
---

И все же, если есть возможность, подскажите - как мне уйти от использования двух дискретных входов тут. Уверен что логически можно блоками сделать так, чтобы на сброс посылать кратковременную 1, без использования второго входа. Те по первому основному запускаем отсчет времени передав 1, когда же значение снова станет 0, отсчет времени прекращается (но сброс еще не происходит). При следующем появлении 1 , происходит кратковременный сброс секундомера, и начинается новый отсчет и тд. Я могу ошибаться - мне кажется это не сложно логически блоками собрать, но опыта нет - потому для меня , нереальная задача просто кажется.

Первое это не ошибка, а предупреждение. Можно открыть на редактирование и изменить на линию задержки подсвеченные линии.
По особенностям симуляции: в данном блоке идет расчет времени цикла, для принятия решения с какой точностью выводить время, если время цикла большое, то нет смысла выводить 2 знака после запятой, из-за этого в режиме симуляции иногда возникают ситуации, когда значение на выходе не соответствуют ожидаемым, необходимо или дождаться 500 ms от начала симуляции, или делать отладку в железе.

Два дискретных входа использовать не обязательно, можно делать сброс по снятию Enable с задержкой или по заднему фронту, это подбирается уже по алгоритму.

SuperRobot
22.02.2019, 15:49
Пока дошел до такого, кстати вот видно что считает как секундами , там и с десятыми долями (выше написал когда как):

41391

и

41392

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

Буду признателен за помощь.

Ревака Юрий
22.02.2019, 15:50
Юрий почему вы не замените циклические связи во всех макросах на линии задержки ?????????????
У пользователей возникают всегда вопросы , а если не возникают ( работать можно и так ) экран
с элементами желтого цвета не совсем приятен .

Давно хотел задать этот вопрос .

Ну во-первых: это задача не на 5 мин. Во-вторых теряется универсальность, в старых версиях будут ошибки и вопросов может быть еще больше.

Алексеев
22.02.2019, 15:53
Ну во-первых: это задача не на 5 мин. Во-вторых теряется универсальность, в старых версиях будут ошибки и вопросов может быть еще больше.

Теперь понятно . Спасибо за разъяснения .

SuperRobot
22.02.2019, 15:54
Первое это не ошибка, а предупреждение. Можно открыть на редактирование и изменить на линию задержки подсвеченные линии.
По особенностям симуляции: в данном блоке идет расчет времени цикла, для принятия решения с какой точностью выводить время, если время цикла большое, то нет смысла выводить 2 знака после запятой, из-за этого в режиме симуляции иногда возникают ситуации, когда значение на выходе не соответствуют ожидаемым, необходимо или дождаться 500 ms от начала симуляции, или делать отладку в железе.

Два дискретных входа использовать не обязательно, можно делать сброс по снятию Enable с задержкой или по заднему фронту, это подбирается уже по алгоритму.


Правильно ли я понял. В реальности на приборе будет отображаться с десятой долей секунды да? Или тоже будет иногда целые секунды показывать, а иногда с долями?

Ревака Юрий
22.02.2019, 15:54
Пока дошел до такого, кстати вот видно что считает как секундами , там и с десятыми долями (выше написал когда как):

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

Буду признателен за помощь.

Я и написал, что сброс можно делать с задержкой, а проверять, если есть ПР, лучше загрузить код и подать дискретный сигнал в живую, так будет проще.

Алексей Геннадьевич
25.02.2019, 08:58
Ого, сложновато. Ладно заберу в начале недели ПР200 из цеха, начну разбираться.
Тут только самое ядро показано, к которому обвеску делать нужно.


Почему то был уверен, раз реализован механизм реального времени в устройстве, должен быть простой метод подсчета прошедшего времени.

Механизм реального времени - вы часы имеете ввиду?
А так - ФБ для расчёта времени выполнения не помешает.

SuperRobot
26.02.2019, 09:13
Ну что, в целом я освоил на простом уровне программирование ПР200.
Для тренировки повторил логику трубогибочного станка нашего:
41428

И позже все же смог добиться работы программу озвученной в начале темы:
41429

Правда у меня получилось только при использовании двух счетчиков, те считая каждый новый цикл с чередованием. И результат вывожу по очереди на верхнюю и нижнюю строчку ПР200, обнуляя предыдущие значение. По другому просто не смог. Потому что собственно как не пробовал, моих знаний не хватило сделать так - что бы результат предыдущего измерения времени не стирался до того момента пока не начинается новое измерение.

Привез ПР200 с работы, загрузил программу - все работает корректно.

И вот теперь хотелось бы получить уже 100% пользы. Пока лишь полу мера.
Речь о сигнализации, если время реза последнее меньше установленного значения или больше.

Потому ВОПРОС:

Как вызвать сравнение уставок с переменной времени не каждый цикл программы, а лишь в определенный момент?
Когда у меня заканчивается отсчет времени цикла реза.

Вот похоже этого принципа работы овен лоджик я еще и не понял.

Ревака Юрий
26.02.2019, 11:20
Ну что, в целом я освоил на простом уровне программирование ПР200.
Для тренировки повторил логику трубогибочного станка нашего:
41428

И позже все же смог добиться работы программу озвученной в начале темы:
41429

Правда у меня получилось только при использовании двух счетчиков, те считая каждый новый цикл с чередованием. И результат вывожу по очереди на верхнюю и нижнюю строчку ПР200, обнуляя предыдущие значение. По другому просто не смог. Потому что собственно как не пробовал, моих знаний не хватило сделать так - что бы результат предыдущего измерения времени не стирался до того момента пока не начинается новое измерение.

Привез ПР200 с работы, загрузил программу - все работает корректно.

И вот теперь хотелось бы получить уже 100% пользы. Пока лишь полу мера.
Речь о сигнализации, если время реза последнее меньше установленного значения или больше.

Потому ВОПРОС:

Как вызвать сравнение уставок с переменной времени не каждый цикл программы, а лишь в определенный момент?
Когда у меня заканчивается отсчет времени цикла реза.

Вот похоже этого принципа работы овен лоджик я еще и не понял.

Можно ваш проект в "живую" посмотреть?

SuperRobot
26.02.2019, 12:06
Можно ваш проект в "живую" посмотреть?

вот код подгрузил

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

уверен можно красивее сделать, но работает вроде и так

вот правда как теперь сравнение делать результата замера времени, все еще вопрос.

SuperRobot
26.02.2019, 12:37
Я на всякий случай попробую уточнить суть вопроса.

Считать время цикла реза я научился. Пусть по переменно, пусть в две разные строки данные выношу, и переменный две - меня это устраивает.

Теперь стоит вопрос, чтобы время реза укладывалось в определенные рамки. Те если рез менее чем 5 секунд и более чем 8 это нештатная ситуация, включаем аварийную лампу. Те очевидно нам надо переменную времени просто сравнивать со значениями уставок нижнего предела и верхнего.

Но если я размещаю блок сравнения просто на холст, он будет выполняться каждый цикл программы. Это как то глупо - более того, это усложняет все. Ведь переменная времени тоже каждый цикл (когда идет рез) будет увеличиваться, те меняться. А как делать проверку не каждый цикл программы, а только в определенный момент (когда цикл реза завершен) я не знаю.

Ревака Юрий
26.02.2019, 12:55
Я на всякий случай попробую уточнить суть вопроса.

Считать время цикла реза я научился. Пусть по переменно, пусть в две разные строки данные выношу, и переменный две - меня это устраивает.

Теперь стоит вопрос, чтобы время реза укладывалось в определенные рамки. Те если рез менее чем 5 секунд и более чем 8 это нештатная ситуация, включаем аварийную лампу. Те очевидно нам надо переменную времени просто сравнивать со значениями уставок нижнего предела и верхнего.

Но если я размещаю блок сравнения просто на холст, он будет выполняться каждый цикл программы. Это как то глупо - более того, это усложняет все. Ведь переменная времени тоже каждый цикл (когда идет рез) будет увеличиваться, те меняться. А как делать проверку не каждый цикл программы, а только в определенный момент (когда цикл реза завершен) я не знаю.

В железе проверить не могу, но идея примерно такая, дальше развить по месту, в зависимости от частоты срабатывания входа 1 откорректировать таймер TON, который будет сбрасывать накопленное время перед новым стартом, накопленное будет сравниваться с уставкой задаваемой с экрана, у меня только в сторону превышения.

SuperRobot
26.02.2019, 13:15
В железе проверить не могу, но идея примерно такая, дальше развить по месту, в зависимости от частоты срабатывания входа 1 откорректировать таймер TON, который будет сбрасывать накопленное время перед новым стартом, накопленное будет сравниваться с уставкой задаваемой с экрана, у меня только в сторону превышения.

Вау отлично. Я так и думал, что можно проще.
Спасибо. Думаю теперь этих знаний мне должно хватить для моих потребностей.

SuperRobot
26.02.2019, 15:05
Спасибо Юрию за помощь.
Остановился на такой версии:41445

Сделал два экрана, основной рабочий - второй для настройки установок с помощью кнопок ПР200.

САН12
27.02.2019, 12:47
Добрый день.
Мне не удается собрать секундомер с точностью 0.01с (10 мс). Я понимаю что все зависит от размера программы и времени цикла, но даже в пустом проекте ФБ TIME CYCLE показывает 100 мс., форум перечитал но так и не понял как сделать секундомер с точностью 10 мс. Подскажите?

Ревака Юрий
27.02.2019, 13:26
Добрый день.
Мне не удается собрать секундомер с точностью 0.01с (10 мс). Я понимаю что все зависит от размера программы и времени цикла, но даже в пустом проекте ФБ TIME CYCLE показывает 100 мс., форум перечитал но так и не понял как сделать секундомер с точностью 10 мс. Подскажите?

Добрый день. А как проверяете, в железе или в симуляторе?

САН12
27.02.2019, 15:24
В симуляторе. Перечитал еще раз эту тему, прозевал пост где советуют проверять в железе. смогу проверить не раньше ближайших выходных.
Есть еще вопрос. Перезапись в энергонезависимую память по паспорту на ПР200 75000 раз, т.е. если обновлять каждую секунду (допустим счетчики) то как организовать сохранение информации при пропадании питания.

rovki
27.02.2019, 15:31
Перезапись в энергонезависмую память идет только при выключении питания ,остальное время все крутится в ОЗУ.

Ревака Юрий
27.02.2019, 15:50
В симуляторе. Перечитал еще раз эту тему, прозевал пост где советуют проверять в железе. смогу проверить не раньше ближайших выходных.


В симуляторе проверить тоже возможно, но необходимо настраивать время цикла и период, в случае больших временных интервалов, это может занять длительное время. Как раз 100 ms это то значение которое выставлено по умолчанию, оно позволяет быстрее симулировать процессы, но и оно же изменяет точность вывода на таймере.

САН12
27.02.2019, 16:13
"необходимо настраивать время цикла и период", но как это сделать в ОЛ 41455 минимальное что можно выставить на панели период-50мс, цикл- 100мс.
А про энергонезависмую память спасибо, как я понял ПР выдержит 75000 выключений.

САН12
27.02.2019, 16:24
Забыл, ожидаемое время импульса длительность которого нужно измерить 5-12 секунд с желательно с точностью 0.01с

Василий Кашуба
27.02.2019, 16:43
Забыл, ожидаемое время импульса длительность которого нужно измерить 5-12 секунд с желательно с точностью 0.01с
Время цикла, также можно задавать с клавиатуры. Например 5 мск.

SuperRobot
01.03.2019, 14:00
Сегодня смонтировал все на станок.

41483

41484

Правда я отчего то решил, что ПР200 подаст мне на выход напряжение (собственное которое использует для работы) и я просто на него повесил лампу светодиодную. Понятное дело она не светится. Небольшого сечения провода в цехе не нашлось чтобы на лампу подать напряжение, при следующем визите исправлю ситуацию.

Всем спасибо за участие.

игорь68
01.03.2019, 16:28
Сегодня смонтировал все на станок.

41483

41484

Правда я отчего то решил, что ПР200 подаст мне на выход напряжение (собственное которое использует для работы) и я просто на него повесил лампу светодиодную. Понятное дело она не светится. Небольшого сечения провода в цехе не нашлось чтобы на лампу подать напряжение, при следующем визите исправлю ситуацию.

Всем спасибо за участие.

Модель бокса где стоит ПР? Ссылочку можно.

SuperRobot
01.03.2019, 16:36
Модель бокса где стоит ПР? Ссылочку можно.

Весьма удачный за такие деньги кстати - как раз ПР200+один автомат.
"Бокс 5-8 модулей с крышкой бел. LUXEL"
артикул производителя LX40008PWHD

так еще внутри как родной расположился (разъемы же выпирают зеленые)
41494

41495