PDA

Просмотр полной версии : Первые шаги в Owen Logic



sertol64
10.12.2017, 18:22
Здравствуйте волшебники! Я скромно служу в небольшом НИИ, где всё пропитано стабильностью и советской монументальностью. Испытываем щётки эл.машин. Появилось решение запрограммировать некоторые процессы, дабы исключить человеческий фактор. Остановились на ПР200, иБО обещано, что любой электрик с этим может разобраться (это цитата откуда то из форума)Вот и разбираюсь. Просмотрел все возможные видеоуроки, распечатал и прочитал (не один раз) "среда программирования...."вроде да, всё понял. Но не могу связать эти знания на практике. ИМХО - написал первый шаг необходимой нам исполнения в программе, встал вопрос как это повторить (в программе) и перейти на следующий шаг?
В приборе задумано иметь 4 программы - 1 вход одна программа, второй - вторая. Думаю с Вашей помошью разобраться в написании первой, с остальными сам как-нить.
ИТАК: крутим генератор и создаём ему нагрузку первым шагом 90 секунд - 300А, вторым шагои 75 секунд - 150А, 15 секунд - 0А, дальше это всё повторяется, третьим шагом 60секунд - 300А, 45 секунд - 150А, 15 секунд - 0А. Дальше описывать не буду, дабы не запутать. Вот мои верши (во вложении), споткнулся на втором шаге - повторить!
Простите за МНОГО ТЕКСТА, но это мои первые шаги и в программе и знакомства с Вами. Уж не обессудте!

rovki
10.12.2017, 18:46
Например так

sertol64
10.12.2017, 20:09
Спасибо, что не заставили долго ждать. Решение интересное, и я, честно признаться уже над ним думал. Но, после повтора мне нужно выйти на другой режим. Т.е. он повторит тужу самую работу а на третий раз выйдет на другой режим....Как это решить?

sertol64
10.12.2017, 20:17
Да, совсем забыл - думаю это важно! В программе задействован аналоговый выход, так как каждый режим мы крутим на разных скоростях....

sertol64
10.12.2017, 20:43
Вот что то наваял, уж и не знаю ...можно ли связать каждый из этих циклов с аналоговым выходом (каждый режим на разных скоростях генератора)?

sertol64
10.12.2017, 20:43
34579 Ой что то сразу не загрузилось....

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

Василий Кашуба
10.12.2017, 21:59
Вы нашли свой способ и задаете вопросы как сделать то или другое в рамках этого способа .но может быть другой способ ,более красивый и простой.
Например вот такой.

Сергей0308
10.12.2017, 22:58
Я бы наверно как-то так сделал:

34584

С большими перспективами дальнейшего развития!
И я бы вместо констант поставил энергонезависимые переменные, тогда при желании их можно было изменять прямо с экрана, без перезаливки программы!

Василий Кашуба
10.12.2017, 23:36
Я бы наверно как-то так сделал:

34584

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

Сергей0308
10.12.2017, 23:49
Сергей, там первые два цикла одинаковые, а на третьем цикле время интервалов изменяется.

Это легко поправить, я не понял всех тонкостей! Это всего 9 шагов, у меня можно до 16 шагов включительно!
Наверно как-то так:

34586

Здесь для каждого шага можно устанавливать время и значение на выходе, так что проблем вроде не должно быть!

sertol64
11.12.2017, 00:54
Спасибо, ребята. Мне все это надо осмыслить. А полная задача следующая:
1. Раскручиваем генератор (через частотник) до 4000об/мин и крутим его 90 секунд с нагрузкой в 300А.
2. Далее;4000об/мин, 150А 75сек
3. 4000об/мин, 0А , 15 сек
4. 6000об/мин, 300А, 90сек
5. 6000об/мин, 150А, 75сек
6. 6000об/мин, 0А, 15сек
7. 8000об/мин, 300А, 60сек
8. 8000об/мин, 150А, 45сек
9. 8000об/мин, 0А, 15 сек
10. 8000обмин, 300А, 45сек
11. 8000об/мин, 150А, 15сек
12. 9000об/мин, 300А, 45сек
13. 9000об/мин, 0А, 15сек
В итоге получилось 10 минут - дальше всё повторяется без остановки.(должно быть 50мин) Вот и всё. выдал все секреты по испытанию щёток эл.машин....

sertol64
11.12.2017, 01:04
Да, кстати в нагрузке играют свою роль включением 3 реле - 50А, 100А, 300А (Т.е. 3 выхода дискретного)

Сергей0308
11.12.2017, 03:02
Да, кстати в нагрузке играют свою роль включением 3 реле - 50А, 100А, 300А (Т.е. 3 выхода дискретного)

Наверно как-то так, если кнопку без фиксации использовать для запуска, в реальных единицах и с индикацией окончания процесса:

34591

В принципе здесь более чем достаточно и целочисленных мультиплексоров!
Для запуска ПЧ можно использовать двухпроводное управление и включение аналогично F1!

sertol64
11.12.2017, 04:51
Здравствуйте ЧАРОДЕИ! Я в восторге и в панике. Вот что значить ПРОФИ....В режиме симуляции там что то тикает и щёлкает - я в восторге. У меня куча вопросов: 1 Не льзя ли в позиц.№1 поставить таймер на 10 мин? 2. (Стыдно спрашивать)34593Что это за узлы №2? или где про них можно прочитать? Так как мне предстоит самостоятельно (хотябы попробовать разработать) ещё 3 программы, ну....и видимо в дальнейшем ими манипулировать

maximov2009
11.12.2017, 04:58
Добрый день. Вам можно вообще все переменные времени вывести на экран и оттуда их оперативно менять. То есть когда захотите изменить график испытаний, не надо будет перезаливать программу.
Это уже для Вас следующий шаг - работа с панелью ПР200.
С уважением.

Сергей0308
11.12.2017, 06:47
Здравствуйте ЧАРОДЕИ! Я в восторге и в панике. Вот что значить ПРОФИ....В режиме симуляции там что то тикает и щёлкает - я в восторге. У меня куча вопросов: 1 Не льзя ли в позиц.№1 поставить таймер на 10 мин? 2. (Стыдно спрашивать)34593Что это за узлы №2? или где про них можно прочитать? Так как мне предстоит самостоятельно (хотябы попробовать разработать) ещё 3 программы, ну....и видимо в дальнейшем ими манипулировать

Можно 1-ый шаг сделать равный 10 минутам(600 секунд):

34594

Номер входа макроса соответствует номеру шага!
Это макросы, можете в контекстном меню открыть для редактирования и посмотреть "кишки"!

sertol64
11.12.2017, 07:23
Сергей, Вы даже не представляете как я Вам благодарен! Вы мне дали пищу для обдумывания и осознания, а также материал для изучения и, впоследствии, внедрения. УУУх, и дадим же шороху мировой экономике - представляю уже эту очередь японцев у нашего института.
P.S. интересно, а эта программа работает все 50 минут?

Алексей Геннадьевич
11.12.2017, 09:14
Здравствуйте волшебники! Я скромно служу в небольшом НИИ, где всё пропитано стабильностью и советской монументальностью. Испытываем щётки эл.машин. Появилось решение запрограммировать некоторые процессы, дабы исключить человеческий фактор. Остановились на ПР200, иБО обещано, что любой электрик с этим может разобраться (это цитата откуда то из форума)Вот и разбираюсь. Просмотрел все возможные видеоуроки, распечатал и прочитал (не один раз) "среда программирования...."вроде да, всё понял. Но не могу связать эти знания на практике. ИМХО - написал первый шаг необходимой нам исполнения в программе, встал вопрос как это повторить (в программе) и перейти на следующий шаг?
В приборе задумано иметь 4 программы - 1 вход одна программа, второй - вторая. Думаю с Вашей помошью разобраться в написании первой, с остальными сам как-нить.
ИТАК: крутим генератор и создаём ему нагрузку первым шагом 90 секунд - 300А, вторым шагои 75 секунд - 150А, 15 секунд - 0А, дальше это всё повторяется, третьим шагом 60секунд - 300А, 45 секунд - 150А, 15 секунд - 0А. Дальше описывать не буду, дабы не запутать. Вот мои верши (во вложении), споткнулся на втором шаге - повторить!
Простите за МНОГО ТЕКСТА, но это мои первые шаги и в программе и знакомства с Вами. Уж не обессудте!
34597
Вот вам метод чтобы не "плести паутину"
Алгоритм работы хранится в макросах ПЗУ в виде 32х разрядных чисел. В число забиваем всё, что нам нужно: выдержку времени, включение-отключение входов, условие перехода к следующему шагу программы.
Необходимые значения извлекаются специализированным дешифратором - по аналогии с моим напишете свой.
Программы переключаются обычным дешифратором энергонезависимой переменной с экрана ПР200.
При необходимости легко навешиваются защиты.

Сергей0308
11.12.2017, 09:40
Сергей, Вы даже не представляете как я Вам благодарен! Вы мне дали пищу для обдумывания и осознания, а также материал для изучения и, впоследствии, внедрения. УУУх, и дадим же шороху мировой экономике - представляю уже эту очередь японцев у нашего института.
P.S. интересно, а эта программа работает все 50 минут?

50 минут она раньше работала, теперь если первый шаг увеличили с 1,5 до 10 минут будет работать 92,5 минуты((10-1,5)х5+50), если сделать 3 цикла, а не 5 как сейчас, будет работать 55,5 минут:

34599

sertol64
11.12.2017, 09:42
Хорошо! Спасибо, я поработаю. Чувствую мне ещё многому нужно научиться (а это и интересно). Поковыряюсь...

sertol64
11.12.2017, 09:50
Сергей, я заметил, что если первая уставка (на первом шаге) 600сек, то 300А у меня находится во включенном состоянии все 600сек., не переключается на 150А - это отклонение от задуманного....Я склонен к убеждению в 90...Сейчас ковыряюсь (разбираюсь - по культурному) в макросах, в их кишках. Успех переменный - не дают, на работе.

Сергей0308
11.12.2017, 10:19
Сергей, я заметил, что если первая уставка (на первом шаге) 600сек, то 300А у меня находится во включенном состоянии все 600сек., не переключается на 150А - это отклонение от задуманного....Я склонен к убеждению в 90...Сейчас ковыряюсь (разбираюсь - по культурному) в макросах, в их кишках. Успех переменный - не дают, на работе.

Конечно всё время шага(сейчас 10 минут) будет ток установленный для этого шага, можно назад всё вернуть как было или объясните как Вы хотели!
Для настройки ковыряться в кишках макросов не нужно, настройки выведены наружу в крайнем случае в свойствах макросов!

sertol64
11.12.2017, 11:45
Сергей! Нет-нет, всё нормально. Я вернул всё назад и всё....ОК, первый шаг - 90 сек. Даю слово - в макросе не ковыряться, просто пытаюсь читать логику....

sertol64
12.12.2017, 20:53
Доброго вечера, Сергей. Я тут ваяю, ваяю,и....пришло сомнение - а влезит ли программа в прибор ПР200? Я на основе Ваших мультиплексоров сделал четыре программы, из них сделал макросы и засунул в одно... - четыре входа четыре программы.

Сергей0308
12.12.2017, 23:11
Ресурсов должно хватить с большим избытком, я говорил что здесь достаточно целочисленных мультиплексоров, вещественная логика(с плавающей запятой) больше ресурсов отъедает, вот для экономии ресурсов:

34636

Кроме того у нас очень неэффективно используются ресурсы, например для уставки времени 0-90с с шагом 15 с в принципе достаточно три бита переменной, у нас их 32, тоесть используется менее чем на 10%, аналогично и с уставкой тока и оборотов, короче все наши уставки можно загнать в 10 бит переменной, тоесть потребуется один целочисленный мультиплексор на три программы, но увеличится "обвязка" и сэкономит это ресурсы или нет ещё не известно, это более всего относится к использованию энергонезависимой памяти и нам об этом ещё не нужно думать, нет необходимости что-то рационализировать!

sertol64
13.12.2017, 05:54
Сергей, Доброе утро! Сейчас приеду на работу вылажу свои "вирши" они ещё недоработанные, но основная мысль в них уже видна. Интервалы времени растянул по факту (по методике испытаний) - не 90 сек, а 90 мин....

Сергей0308
13.12.2017, 06:58
Сергей, Доброе утро! Сейчас приеду на работу вылажу свои "вирши" они ещё недоработанные, но основная мысль в них уже видна. Интервалы времени растянул по факту (по методике испытаний) - не 90 сек, а 90 мин....

Чтобы превратить секунды в минуты , достаточно множитель увеличить в 60 раз, с 1000 до 60000 и всё, надеюсь Вы так сделали?

sertol64
13.12.2017, 07:50
Честно говоря - нет. Во программа. Судите. Осталось с монитором поработать, но я его пока не изучал...

Алексей Геннадьевич
13.12.2017, 10:05
sertol64
Для решения вашей задачи вам потребуется комбобокс - переключение между задачами с экрана ПР200.

Вот пример:

sertol64
13.12.2017, 12:26
sertol64
Для решения вашей задачи вам потребуется комбобокс - переключение между задачами с экрана ПР200.

Вот пример:

Спасибо за совет. Я попробую это изучить. НО...задумка такая, чтоб оператор (женщина в преклонном возрасте - божий одуванчик) вообще не касалась этого реле. У них (у операторов) есть типа стенда, где они просто переключают режимы простыми пакетниками, и больше никуда не лезли. Сам процесс(режим) идёт 25-50 часов. Хочу только чтоб на мониторе шёл таймер обратного отсчёта, чтоб знать когда процесс закончиться.....но, я пока не изучал этот вопрос, изучу, выложу...

sertol64
13.12.2017, 16:39
Ребят, а есть макрос таймера отсчёта времени?

Ревака Юрий
13.12.2017, 16:43
Ребят, а есть макрос таймера отсчёта времени?

Есть, в онлайн базе, называется TIMER_UD, там же и описание по режимам работы.

sertol64
14.12.2017, 20:13
Здравствуйте Уважаемые волшебники! Обыскался, потерялся - очень мало информации для начинающего по настройке монитора ПР200(экрана). Мне нужно вывести на экран таймер обратного отсчёта времени (час, мин, сек) в зависимости от программы. Видел в онлайн макрос, разобрался только в обратном отсчёте секунд. Где можно что почитать подробно (ссылки, переменные).? видеоролик урок смотрел - масса вопросов, руководство - такое же как видео...Помогите пожалуйста.
У меня 4 дискретных входа, каждый из них запускает программу исполнением на 50 часов и 25 часов, нужно чтоб при запуске соответствующей программы начинался отсчёт обратного времени этой программмы.....

rovki
15.12.2017, 00:04
Для начала сделайте один таймер обратного отчета .А затем показания его выводите на экран .

sertol64
15.12.2017, 05:26
Доброго утра! Ну догадывался.... Вот таймер есть в онлайн макросах, если поработать с константами (я так думаю) можно добиться обратного отсчёта секунд (правда 50 часов )это громоздко.Может есть макрос обратного отсчёта часов и минут. И какой механизм вывода показания на экран, информации очень мало.

Сергей0308
15.12.2017, 06:33
Доброго утра! Ну догадывался.... Вот таймер есть в онлайн макросах, если поработать с константами (я так думаю) можно добиться обратного отсчёта секунд (правда 50 часов )это громоздко.Может есть макрос обратного отсчёта часов и минут. И какой механизм вывода показания на экран, информации очень мало.

Вот мой вариант:

34690

Мне не надо было таких длительных интервалов(максимум 18часов, 12 минут, 15 секунд)! Возьмёте 32 битный счётчик из макроса TIMER_UD, что в онлайн базе макросов и секундные импульсы сейчас можно из программы взять от часов реального времени, потом часы и минуты сводите в одну переменную через "х100" и выводите на СМИ2 или подобное, всё!
Хотя, если без секунд и моего варианта за глаза хватит!

sertol64
15.12.2017, 07:30
Спасибо, Сергей 0308! Попробую разобраться....

sertol64
15.12.2017, 08:03
Сергей, эта программка или макрос. Пытаюсь воспроизвести рисунок в программке - конфликтуют некоторые элементы...

Сергей0308
15.12.2017, 08:22
Сергей, эта программка или макрос. Пытаюсь воспроизвести рисунок в программке - конфликтуют некоторые элементы...

Рисунок, что выложил, это макрос(у ПР не может быть целочисленных входов-выходов) и на форуме где-то выкладывал, сейчас нет под рукой, если что, вечером могу выложить ещё раз! На схеме программы ещё больше возможностей(нет некоторых ограничений для макросов), так что проблем в принципе не должно быть!

Вот, для цикла программы не более 5 мс!

sertol64
16.12.2017, 11:26
Фуууу, поломал голову, расшифровывая логику работу макроса, для моего девственного мозга - труд. Спасибо Сергей, подкинул задачку.... Сделал наконец то свой...34699.
Теперь для меня загадка, как эту хрень вытащить на экран(монитор), да и уставка чтоб включалась при подаче сигнала в программе на I1 или I2. как этот механизм работает?
А вот макрос

Сергей0308
16.12.2017, 16:33
Фуууу, поломал голову, расшифровывая логику работу макроса, для моего девственного мозга - труд. Спасибо Сергей, подкинул задачку.... Сделал наконец то свой...34699.
Теперь для меня загадка, как эту хрень вытащить на экран(монитор), да и уставка чтоб включалась при подаче сигнала в программе на I1 или I2. как этот механизм работает?
А вот макрос

Я бы как-то так сделал:

34701

В чём сложность, просто поменять один счётчик(16 битный) на другой(32 битный)?
И зачем Вы из уставки минуты и секунды убрали, а если они вам завтра понадобятся будете опять макрос переделывать?
Можно же, если они вам не нужны в данный момент, просто их не использовать!

sertol64
16.12.2017, 18:05
Согласен, можно делать уставку на минуту и секунду, но думаю это лишнее - для меня. Программы все "на минутах". А вот информация по часам, минутам и секундам - не лишняя. А теперь то что чему назначать? Я попробовал- хрень какая то выходит непонятная.....

Сергей0308
16.12.2017, 18:48
Согласен, можно делать уставку на минуту и секунду, но думаю это лишнее - для меня. Программы все "на минутах". А вот информация по часам, минутам и секундам - не лишняя. А теперь то что чему назначать? Я попробовал- хрень какая то выходит непонятная.....

Вот вывел на экран уставки и обратный отсчёт времени!
Даже пока не могу представить, какие там могут возникать трудности, у меня почему-то никакие не возникают, все нормально фунциклирует!

34703

sertol64
16.12.2017, 18:55
Совершенно ошарашен. В релактировании макроса все работает как надо, а в составе общей сземы хрень какая то, секунды переключаются каждые пол минуты. Попробовал твою схему, Сергей, так вообще на выходе нет ничего, хотя сам макрос- как часики в симуляторе.....

Сергей0308
16.12.2017, 19:00
Совершенно ошарашен. В релактировании макроса все работает как надо, а в составе общей сземы хрень какая то, секунды переключаются каждые пол минуты. Попробовал твою схему, Сергей, так вообще на выходе нет ничего, хотя сам макрос- как часики в симуляторе.....

Это в симуляторе так бывает(зависит от настроек), Вы лучше на железе проверяйте, я например залил программу в ПР200, всё прекрасно работает, имею ввиду таймер с обратным отсчётом времени!

sertol64
16.12.2017, 19:00
34705 Вот кстати, мож что я не так делаю????

sertol64
16.12.2017, 19:11
Ёжкин кот" а я всё именно так и делаю..... А с железом пока сложности, он в процессе покупки. Ну а как купят, у меня три дня будет внедрить его в установку, вот и ковыряюсь по выходным, готовлюсь к непредсказуемостям.
P.S. ...а японцы уже кучкуются у забора....

Сергей0308
16.12.2017, 19:19
34705 Вот кстати, мож что я не так делаю????

Выхода куда ни будь подключите или сделайте на время эксперимента переменные энергонезависимыми!
Вы же уже всё сделали, остался таймер обратного отсчёта времени, япошкам скажите пусть пять минут покурят, думаю за пять минут успеем сделать!
И что 1 секунда длится 20 секунд не обращайте внимание, в симуляторе так бывает, уже повторяюсь!

sertol64
16.12.2017, 20:00
Ок! Проблему заморожу до пиобретения железа - главное, что я всё понял. Мне осталось выдумать в программе, кое какую безопасность. Проблему вылажу позже - жена уже ворчит, заставляет выполнять свои обязанности мужа - посуду помыть, внука покупать....

sertol64
22.12.2017, 08:18
Уважаемые волшебники, ЗДРАВСТВУЙТЕ!
Думал что сам решу задачку, но видимо не хватает "тямы". Прошу вашей помощи.
Суть: Разработана (не без вашей помощи) программа на ПР200, по раскрутке для испытания генераторов и подачи на них нагрузки от 100А до 600А в разных сочетаниях и в разных временных интервалах - в общем по программе и по разным местным методикам и ГОСТам. При тестировании выявлено, что при нагрузке генератора в 600А, в некоторых случаях происходит перегрев щёток генератора и нужно срочно снизить нагрузку до 400А. (именно до 400А) Подумал, что нужно добавить в программку регистр (выкладываю ввиде макроса)34749
НО...он при поступлении дискретного сигнала (авария) уменьшает мой сигнал вдвое, а нужно, чтоб именно было 400
Выкладываю черновик:

sertol64
22.12.2017, 08:20
Вот, подскажите пожалуйста, как можно укротить этот упрямый регистр. Но чтоб по прекращению аварии всё продолжалось дальше по программе...

Андрей Посохов
22.12.2017, 10:13
Всем добрый день! :)
Пока мы готовим постановку в серийное производство ИП120, наши коллеги из учебного центра не дремлют.
Ребята подготовили очень хороший материал по работе с экраном ИП120 и ПР200, где подробно и пошагово описана процедура добавления переменных на экран.
Подробнее тут: http://edu.owen.ru/2017/12/11/pr200_txt1/


Еще примеры и полезности:
Обучающий видео-курс по Owen Logic: https://www.youtube.com/watch?v=ZMzYj8Zq9HQ&list=PL2EcVEe6E9SCZ_pruKV980b7CfmZTehYe
Подключение ПР200 к облачному сервису Owen Cloud: https://www.youtube.com/watch?v=DM7nmByGj_Y
Шаблоны сетевых устройств для OWEN Logic: http://www.owen.ru/forum/showthread.php?t=25978&highlight=%F8%E0%E1%EB%EE%ED%FB+%EF%F0200
ПО,примеры и инструкции: http://www.owen.ru/catalog/programmiruemoe_rele_pr200/51678300
Сайт учебного центра: http://edu.owen.ru/


Если у вас есть какие то пожелания по созданию новых видео, инструкций или примеров, то с удовольствием выслушаем любые пожелания :)

Relaymen
22.12.2017, 13:13
А вы не думали что использование регистра сдвига это тупиковый путь?? и не лучше ли использовать элемент SEL? Например как то так???
34752

sertol64
22.12.2017, 16:40
А вы не думали что использование регистра сдвига это тупиковый путь?? и не лучше ли использовать элемент SEL? Например как то так???
34752

Спасибо. Есть одно но.... Этот вариант казалось бы отличный. Но .... при отсутствии на I1 сигнала (при сигнале на I2) на выходе есть сигнал ( на Q2). Дело в том что программа состоит из 5 макросов (это разные варианты "кручения" генератора. И "общая" авария подаётся и на макросы не задействованные в работе...Вот скрин...
34757

Pavel_
22.12.2017, 17:32
Спасибо. Есть одно но.... Этот вариант казалось бы отличный. Но .... при отсутствии на I1 сигнала (при сигнале на I2) на выходе есть сигнал ( на Q2).

Я бы тоже через SEL решил задачу, но ТЗ мне абсолютно не понятно.
Хотя-бы таблицу набросали, что-то вроде:
Если I1=0 и I2=1, то Q2 должен быть =0
и т.д.

sertol64
22.12.2017, 17:59
... ну вы правы, скорее всего так будет понятнее:
При I1=0. I2=0 то Q1,Q2,Q3=0
При I1=1 (или целочисленное = 600),I2=0 то Q1=1,Q2,Q3=0
При I1=0, I2=1 то Q1=0,Q2=1, Q3=0

Pavel_
22.12.2017, 18:07
... ну вы правы, скорее всего так будет понятнее:
При I1=0. I2=0 то Q1,Q2,Q3=0
При I1=1 (или целочисленное = 600),I2=0 то Q1=1,Q2,Q3=0
При I1=0, I2=1 то Q1=0,Q2=1, Q3=0
При I1=1 (или целочисленное = 600),I2=0 то Q1=1,Q2=?,Q3=0
И При I1=1, I2=1 то ?

sertol64
22.12.2017, 18:07
.....кстати, по-началу вместо SEL внедрил простую арифметическую операцию вычитания, и при I1=1 (целочисленное 600) вычиталась единица и на "операнд" перескакивал на Q2. Но опять же столкнулся с тем, что при I1=0, а I2=1 появлялся сигнал и на Q1 и Q2....

sertol64
22.12.2017, 18:08
При I1=1 (или целочисленное = 600),I2=0 то Q1=1,Q2=?,Q3=0
И При I1=1, I2=1 то ?

..то Q1=1, Q2=0, Q3=0

Pavel_
22.12.2017, 18:18
..то Q1=1, Q2=0, Q3=0
Если все правильно понял, то должно быть так:
При I1=0, I2=0 то Q1,Q2,Q3=0
При I1=0, I2=1 то Q1=0, Q2=1, Q3=0
При I1=1 (или целочисленное = 600), I2=0 то Q1=1, Q2=0, Q3=0
При I1=1, I2=1 то Q1=1, Q2=0, Q3=0

34758
34759
34760
34761

sertol64
22.12.2017, 18:19
... в любом случае важно ЭТО
При I1=0, I2=1 должно быть Q1=0, Q2=1, Q3=0

Pavel_
22.12.2017, 19:24
... в любом случае важно ЭТО
При I1=0, I2=1 должно быть Q1=0, Q2=1, Q3=0
Так и есть:
34759

sertol64
22.12.2017, 19:40
Надо попробовать. А на вход I1 поочерёдно можно подавать 600 или 300? Режим идёт на 600 и 300 поочерёдно в разных временных рамках, но бывает что при 600 идёт перегрев и нужно во время этого перегрева (аварии) снизить до 400. При пропадании возвратиться на 600. Попробуем, подумаем. ...чуть позже - уже жена ворчит, ждёт к ужину...

sertol64
22.12.2017, 19:42
Вернусь к изначальному скрину - Q3 тоже задействован в работе...
34762

Pavel_
22.12.2017, 20:27
Q3 тоже задействован в работе...
Опишите его работу(при каких условиях он в работе) в таблице истиности, как делали выше.

sertol64
22.12.2017, 21:42
Попробую!
Программа выглядит так
34763
Она состоит из 5 макросов, по функционалу одинаковые, разные только силовые и временные характеристики. Короче - Сигнал на первый дискретный вход - работает первый макрос (своя программа по испытаниям генератора), на второй - второй макрос и т.д. Обведённый макрос МГСи-50 (на 50 часов)- выложенный ниже. Иногда при работе программы, а именно на режиме в 600А происходит перегрев щёток генератора (что фиксируется встроенной термопарой), в этом случае необходимо срочно снизить нагрузку до 400А, через секунду - две, температура снижается и сигнал тревоги пропадает, и испытания (работа) продолжается. Так вот нужно в программе (а по-моему мнению именно в самом макросе) необходимо предусмотреть эту аварию.
Выкладываю обведённый макрос МКС7и-50

sertol64
22.12.2017, 21:45
Часть этого макроса, что должно (по-моему мнению подвергнуться изменениям, выкладываю на скрине...
34765

sertol64
22.12.2017, 21:52
Так же прошу учесть, что видимые дискретные выходы на 50, 100, и прочее ампер, задействованы в других макросах (другие режимы работы). Поэтому ВЫВОД: Если при работе одного макроса происходит авария(перегрев). То аварийный дискретный сигнал поступает на все макросы, и если на тех других (не вработе) макросах где на I1 =0 (нет целочисленного сигнала) поступает аварийный дискретный - получается БИЛИБИРДА!

Сергей0308
22.12.2017, 22:27
У меня нет слов, попробуйте так:

34767

И, если в других макросах авария не используется, зачем её туда заводить и вообще мастерить ненужное, если используется авария, используйте пороги действия(или сравнение на равенство) для каждого макроса и если макрос не задействован в данный момент зачем на него обращать внимание?!

sertol64
22.12.2017, 23:47
Сергей ЗДРАВСТВУЙТЕ! Спасибо Вам, что вмешались. В глубине ДУШИ я ждал этого - Вашего взвешенно-критического взгляда. Попробую объяснить (я уже такого наворочал...) Почти готовая программа (выкладываю ниже).
Испытательная установка, которая раскручивает генератор и даёт нагрузку на щётки генератора на разных режимах и оборотах генератора. Их всего пять (пять режимов) Эти режимы я зашил в макросы. Оператор, взависимости от задания, пакетником переключает нужный ему режим, запускает кнопкой ПУСК. Предусмотрена и кнопка СТОП (если внезапно случится НОВЫЙ ГОД). Во время испытания, уже другими приборами регистрируются и записываются разные параметры (t окружающего воздуха, t продува генератора, частота вращения. U генератора и ...т.д) один из важных регистрирующих параметров - t щёток генератора. Они не должны превышать своего ГОСТовского значения температуры. Но...бывает брак, бывают НЕнормальные климатические условия, влажность и ...БОГ знает что ещё, и как правило при нагрузке в 600А tщётки резко лезет вверх (они начинают гореть) В ручную мы сразу же снижаем нагрузку до400А, и как только t выходит на норму мы возвращаем всё былое и продолжаем испытания, т.к. их останавливать нельзя - щётка не должна остывать. Всё что я намолотил попробую выложить...Попробуйте "посимулируйте. И где там можно внедрить эти самые ПОРОГИ...?

Сергей0308
23.12.2017, 00:09
Сергей ЗДРАВСТВУЙТЕ! Спасибо Вам, что вмешались. В глубине ДУШИ я ждал этого - Вашего взвешенно-критического взгляда. Попробую объяснить (я уже такого наворочал...) Почти готовая программа (выкладываю ниже).
Испытательная установка, которая раскручивает генератор и даёт нагрузку на щётки генератора на разных режимах и оборотах генератора. Их всего пять (пять режимов) Эти режимы я зашил в макросы. Оператор, взависимости от задания, пакетником переключает нужный ему режим, запускает кнопкой ПУСК. Предусмотрена и кнопка СТОП (если внезапно случится НОВЫЙ ГОД). Во время испытания, уже другими приборами регистрируются и записываются разные параметры (t окружающего воздуха, t продува генератора, частота вращения. U генератора и ...т.д) один из важных регистрирующих параметров - t щёток генератора. Они не должны превышать своего ГОСТовского значения температуры. Но...бывает брак, бывают НЕнормальные климатические условия, влажность и ...БОГ знает что ещё, и как правило при нагрузке в 600А tщётки резко лезет вверх (они начинают гореть) В ручную мы сразу же снижаем нагрузку до400А, и как только t выходит на норму мы возвращаем всё былое и продолжаем испытания, т.к. их останавливать нельзя - щётка не должна остывать. Всё что я намолотил попробую выложить...Попробуйте "посимулируйте. И где там можно внедрить эти самые ПОРОГИ...?

Так непонятно, чем Вас не устраивает моё предложение из 70 поста, там ограничение тока при аварии, срабатывает когда ток задания достигает порога действия, например 600 А и если ток задания меньше, ограничения не происходит и ничего дополнительно добавлять не надо:

34769

Вот заменил ваш макрос аварии на модернизированный:

34770

Может Вас устроит и если уставка счётчика с автосбросом = "1", то здесь он не нужен и элемент "исключающее или" я бы заменил на просто "или"!
И для уставок можно использовать не константы, а энергонезависимые переменные, тогда можно их менять без перезаливки программы прямо с экрана! Для уставки ПЧ я бы использовал целочисленные мультиплексоры, вроде уже повторяюсь!
И ещё, Вы например на экране написали Обороты в минуту и далее вывели значение привязав к переменной "ПЧ", очень любопытно какое отношение имеет эта переменная к данной записи:

34772

И для таймера обратного отсчёта времени уставку можно задавать как сумма времени всех шагов Х на количество циклов и таймер запускать при запуске процесса!
С пакетником, мне кажется извращение какое-то, не лучше СМИ2 поставить, если не хотите с экрана ПР выбирать нужный режим и запускать процесс! Кнопками больше-меньше выбираете нужный режим, кнопками пуск-стоп запускаете-останавливаете процесс и на СМИ2 может отображаться и обратный отсчёт времени! После запуска процесса, кнопки выбора режима работы используются для переключения выводимого на индикацию параметра!

И если у вас процесс идёт несколько суток можно не заметить аварию! Вот для фиксирования аварии можно использовать, ранее выкладывал:
http://www.owen.ru/forum/showthread.php?t=26216&page=24
http://www.owen.ru/forum/showthread.php?t=26216&page=25

34773

sertol64
23.12.2017, 06:48
Сергей, ДОБРОГО УТРА! Я бесконечно Вам благодарен - ДА, именно это "аварийное" предложение с 70 поста я пытался сочинить. Больше скажу - оно перспективное для нас и для других марок щёток, т.к. порог аварийный , например (из практики) для марок МГС7 - 400А. Я сначала не разобрался, и из рисунка чуток неправильно её сделал (пытался повторить). Продолжу "Дифирамб". Читая другие темы форума, именно Ваши заметки и поправки мне кажутся более доходчивыми, и признаюсь некоторые Ваши предложения я скидываю себе в библиотеку, дабы позже вернуться к ним разобратся с ними и мож и пригодяться. Поэтому Ваш "контроль состояния" уже мне знаком, но и непонятен, мне надо его ещё пощёлкать, понять как он работает и в какой точке его применить, и ...применить ли его вообще, именно в этом проекте?! Тут вступает в спор сама логика испытаний - нам не важно когда и сколько раз произошло возгорание щёток, нам важно, произошли ли структурные изменения внутри её после возгорания. Как правило в некоторых условиях после возгорании бывает, что щётка разбухает, отстаёт от коллектора, изменяется её токопроводность и, вследствии чего происходит следующее возгорание (уже вместе с самим генератором) уже и при малых токах, ну а если учесть что генераторы Авиационные, то последствия мне Вам не надо объяснять. Не спрашивайте меня, почему мы вообще тогда допускаем возгорание, т.к. последует длинная и нудная лекция об испытаниях в сверхтяжёлых условий эксплуатации и степени не только искрения но и надёжности. Вообщем надо, так надо - ПРОДОЛЖУ...
Константы изменять ни в коем случае нельзя - это и есть сама программа испытаний, которая потом регистрируется и графиками отдаётся военной приёмке (ВП) при приёмке вместе с протоколом испытаний, дабы те проконтролировали - не смухливали ли мы...
На счёт оборотов. Поставил переменную вместо константы 9000 специально и ...временно. Так как будем регулировать обороты асинхронного двигателя, который как Вы знаете больше 3000 обор. не даёт. Поэтому генератор раскручивается через редуктор. На выходном валу редуктора стоит метка(катафот), с помощью которого ВП контролируют точность об/мин согласно программе фототахометром- если по программе оборотов должно быть 4500, то и должно быть 4500 плюс-минус 300. Это тяжело сделать простым расчётным путём. Поэтому при первом запуске, имея в руках фототахометр будем масштабировать цифрами и подгонять под нужное значение, затем поставим константу какая выйдет в итоге.
Про таймер - я не понял, простите, перечитывал Ваше предложение, перечитывал - не понял....видимо для меня это пока сложно!
Про СМИ2 Вы правы, и я тоже об этом "мечтаю" НО...., стенд уже есть и он работает (и не один десяток лет - аж с 91 года), только он на релейных схемах, операторы - пенсионеры, которые ведут процесс вручную согласно заданиям, для них переключатели более понятны. ...авария выведена на "СИРЕНУ". Да и сам пульт придётся новый делать - а это целый стенд, для СМИ там и места то нет (при желании фотку вылажу). ПР200 будет стоять внутри, и крышку буду только я открывать, для своих целей. Да ещё и то что я всего один - буду долго с ним возиться так как и его мне придётся изучать заново. Вот вроде и всё. Ещё раз спасибо СЕргей, ...а вот "контроль состояния" очень интересная идея...буду изучать.
Следующая задача безопасности в программе это исключить работу какого -либо макроса при работе другого. Поясню: Оператор (пенсионер, как я говорил) может по ошибке включить одну программу (макрос) и опомнившись, что он сделал не то, не нажимая кнопки СТОП, переключит и ПУСК на другой программе. Может произойти наложение Ампер и включаться релюшки не только на 600 но и 400, 50 и т.д. А это уже КАТАСТРОФА......

sertol64
23.12.2017, 06:53
...вот я и в общей программе и поставил логическую "XOR", которая хоть как то ограничит...

Алексей Геннадьевич
23.12.2017, 08:28
Константы изменять ни в коем случае нельзя - это и есть сама программа испытаний, которая потом регистрируется и графиками отдаётся военной приёмке (ВП) при приёмке вместе с протоколом испытаний, дабы те проконтролировали - не смухливали ли мы...
На счёт оборотов. Поставил переменную вместо константы 9000 специально и ...временно. Так как будем регулировать обороты асинхронного двигателя, который как Вы знаете больше 3000 обор. не даёт. Поэтому генератор раскручивается через редуктор. На выходном валу редуктора стоит метка(катафот), с помощью которого ВП контролируют точность об/мин согласно программе фототахометром- если по программе оборотов должно быть 4500, то и должно быть 4500 плюс-минус 300. Это тяжело сделать простым расчётным путём. Поэтому при первом запуске, имея в руках фототахометр будем масштабировать цифрами и подгонять под нужное значение, затем поставим константу какая выйдет в итоге.
http://www.owen.ru/catalog/schetchik_impulsov_owen_si8/opisanie Попробуйте вот это в связке с энкодером + ПЧВ http://www.owen.ru/catalog/preobrazovatel_chastoti_oven_pchv1_i_pchv2/opisanie
Будете иметь точное значение оборотов и возможноть гибко настроить под изменившиеся задания.

Про СМИ2 Вы правы, и я тоже об этом "мечтаю" НО...., стенд уже есть и он работает (и не один десяток лет - аж с 91 года), только он на релейных схемах, операторы - пенсионеры, которые ведут процесс вручную согласно заданиям, для них переключатели более понятны. ...авария выведена на "СИРЕНУ". Да и сам пульт придётся новый делать - а это целый стенд, для СМИ там и места то нет (при желании фотку вылажу). ПР200 будет стоять внутри, и крышку буду только я открывать, для своих целей.
Ну не надо про "тупых пенсионеров"... Как мобильником в интернетах лазить и смарт- телевизором пользоваться, так все всё соображают, несмотря на количество инсультов, фимозов головного мозга и прочих "умственных недоеданий".

Вообщем стенд нужно делать из ИП320+ ПР200+ПЧВ1+энкодер 50-100 имп/об (возможно счётчик СИ8, но можно инфу по оборотам и из привода вытянуть)
Что это даст:
гибкость в управлении и возможность расширить круг испытательных задач.
Непосредственно на пульте будет ИП320, кнопка "напряжение вкл/откл" + аварийный стоп, индикатор напряжения, индикатор аварии.
Габариты пульта-меньше, чем коробка из под обуви.

Естественно, эту работу не сделать даже за 1-1,5месяца, не то что за 3 дня.
Это конечно будет стоить дороже, но оно стоит того.
И защит можно навтыкать на любой чих.

Следующая задача безопасности в программе это исключить работу какого -либо макроса при работе другого. Поясню: Оператор (пенсионер, как я говорил) может по ошибке включить одну программу (макрос) и опомнившись, что он сделал не то, не нажимая кнопки СТОП, переключит и ПУСК на другой программе. Может произойти наложение Ампер и включаться релюшки не только на 600 но и 400, 50 и т.д. А это уже КАТАСТРОФА......
RS и D триггера зачем придумали?
По импульсу с кнопки пуск взводите активный RS, активируется 1 макрос.
Попытку поворота - сделать вываливание в аварию, чтобы неповадно было.

sertol64
23.12.2017, 09:47
....Блин как всё это интересно. Чувствую себя школьником. Мне всё это надо переварить...

Сергей0308
23.12.2017, 18:51
Мне кажется что и ПЧ выдаёт достаточно реалистичные результаты частоты вращения, правда специально не проверял! Если уж проверите и окажется что сильно врёт, в чём я очень сомневаюсь, я бы применил тахометр, типа этого:

34779

http://www.owen.ru/catalog/tahometr_oven_th01/opisanie
Он даже может управлять ПЧ в режиме П-регулятора и датчик практически любой подойдёт(можно оставить оптический)!
Я то думал вам важно регистрировать аварии(перегрев), если нет, то и ничего не надо делать!
Вот ещё выкладываю 8-стабильный триггер:

34780

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

Ещё вопрос возник, что у вас здесь за единица измерения времени 0,6 секунды(1/100 минуты), это так и было задумано и не сложно всё пересчитывать:

34782

sertol64
23.12.2017, 23:42
Здравствуйте Сергей, знал, что Вы не выдержите долгого молчания...
По поводу частоты вращения - уже решили, и давно. Это простая ОВЕНовская токовая петля ИТП, которая может масштабироваться, и довольно сносно показывает, а ПЧ ей сигнал шлёт с приветом. А фотодатчик стационарно пробовали устанавливать, и чисто конструктивно - нет стабильности (либо катафот отлетает на частоте более 10000, либо датчик начинает смещаться от влияющих на него Бог знает каких сил), вообщем установления оптического датчика - труднозатратно. А вот ПЧ выдаёт свои миллиамперы исправно.
На счёт 0,6 сек - это я для Вас сделал, чтоб при тестировании программы (симуляции) ждали не очень долго. Нормальное состояние этой константы конечно же будет 60000 единиц.
А вот про 8-ми главый тригер спасибо. Поковыряюсь. Если что непонятно будет - спрошу.....

Сергей0308
24.12.2017, 03:17
Здравствуйте Сергей, знал, что Вы не выдержите долгого молчания...
По поводу частоты вращения - уже решили, и давно. Это простая ОВЕНовская токовая петля ИТП, которая может масштабироваться, и довольно сносно показывает, а ПЧ ей сигнал шлёт с приветом. А фотодатчик стационарно пробовали устанавливать, и чисто конструктивно - нет стабильности (либо катафот отлетает на частоте более 10000, либо датчик начинает смещаться от влияющих на него Бог знает каких сил), вообщем установления оптического датчика - труднозатратно. А вот ПЧ выдаёт свои миллиамперы исправно.
На счёт 0,6 сек - это я для Вас сделал, чтоб при тестировании программы (симуляции) ждали не очень долго. Нормальное состояние этой константы конечно же будет 60000 единиц.
А вот про 8-ми главый тригер спасибо. Поковыряюсь. Если что непонятно будет - спрошу.....

Вот ещё от меня вариант в плане внешней обвязки макросов:

34783

И видели эффект от ваших больших токов, входы отслоились от макроса и внутрь провалились:

34785

И по поводу автоматической уставки для таймера обратного отсчёта времени, я вижу такие варианты:
1. Самый простой и затратный с точки зрения использования ресурсов, поставить сумматоры для всех шагов уставки времени, но если например у Вас 61 шаг, то потребуется 60 сумматоров!
2. Поставить дополнительный мультиплексор и при включении ПР пробежаться по всем шагам(сделать один полный цикл), суммировать время всех шагов, например при помощи стробируемого сумматора!
3. Ввести дополнительный режим работы при старте ПР, также как и в пункте "2" пробегаемся по всем шагам(делаем один полный цикл), суммируем времена всех шагов, дополнительно потребуется только стробируемый сумматор, остальное всё штатное плюс необходимая обвязка!
Для всех вариантов высчитанное полное время цикла надо умножить на количество циклов этого макроса, если оно больше единицы! Уставку счётчика(количество циклов) выуживаем с помощью блока чтения из функционального блока!

sertol64
24.12.2017, 08:16
Сергей Вы "умыли" меня оформлением программы, даже как то стыдно стало - спасибо за урок!
Заметил, что при окончании "цикла" программа не успевает уходить в СТОП (ну или "окончание процесса", и всё дело в этом узле..., можете пояснить зачем он?
34786

Сергей0308
24.12.2017, 08:48
Сергей Вы "умыли" меня оформлением программы, даже как то стыдно стало - спасибо за урок!
Заметил, что при окончании "цикла" программа не успевает уходить в СТОП (ну или "окончание процесса", и всё дело в этом узле..., можете пояснить зачем он?
34786

Здесь счётчики с автосбросом, уставка счётчика соответствует количеству циклов макроса, номер счётчика соответствует номеру макроса:

34787

Если у Вас один цикл, поставьте уставку "1" в соответствующем этому макросу счётчике! Я просто так для примера поставил разные значения!
И макросы у меня все одинаковые, у Вас же они все разные будут! Я просто для примера взял один макрос пять раз чтобы показать, как я бы сделал на данный момент внешнюю обвязку!

Увеличил длительность импульса "Стоп" до одной секунды, теперь всё выключается! В принципе, чтобы импульсы гарантированно воспринимались, длительность импульсов на входах должна быть не менее 16 циклов программы, например при цикле программы = 10 мс, длительность импульсов не менее 160 мс, у меня было 250 мс, но в симуляторе не работало, наверно симулятор тормозит!
И множитель миллисекунд уменьшил в 10000 раз, с 60000 до 6, для проверки(быстрой) в симуляторе, для нормальной работы нужно при заливке программы в ПР вернуть множитель назад, короче как-то так!

Посмотрел время цикла, прилично:

34789

Не удержался, проверил на железе с прежней длительностью импульса "Стоп" в 250 мс, затем ещё уменьшил до 200 мс, в железе всё нормально работает, как я и думал - симулятор тормозит, в симуляторе и при 500 мс не работает!

И ещё мне кажется Вы путаете СМИ2 и СМИ1, СМИ2, что Вам советовали, по размерам и креплению аналогично вашему ИТП-11, можно прямо вместо него поставить и будет вам не только обороты в минуту показывать, но и любой другой параметр и переключать можно выводимые параметры кнопками или как ещё изловчитесь, хоть по времени по кругу гоняйте:

34790

http://www.owen.ru/catalog/svetodiodnij_indikator_smi2/opisanie
Кстати не один аналоговый вход ПР не задействован, можно и обороты получить с ПЧ и ещё что захочется, если ПЧ старинный, если современный типа овеновского там по сети RS485 можно не только получать с ПЧ всю интересующую информацию, но и управлять им без лишних проводов!

sertol64
24.12.2017, 21:39
Ну вроде бы подчистил, выравнял, хоть не стыдно людям показать. И всё таки счётчики я исключил, оставил только в пятом макросе внутри него. Сергей, на счёт аналоговых входов я думал, но ни где не встречал как внутри программы организовать его встречу, встречу с ПЧ....можете примерную ссылочку скинуть, изучить этот материал?

Сергей0308
24.12.2017, 23:06
Ну вроде бы подчистил, выравнял, хоть не стыдно людям показать. И всё таки счётчики я исключил, оставил только в пятом макросе внутри него. Сергей, на счёт аналоговых входов я думал, но ни где не встречал как внутри программы организовать его встречу, встречу с ПЧ....можете примерную ссылочку скинуть, изучить этот материал?

Ну вот, совсем другое дело!
Уставки таймера обратного отсчёта времени сделайте такими:

34796

Иначе будет неверно считать(медленно), у вас цикл программы > 5 мс!
И так по мелочи, необязательно выводить из макросов сигнал(переменную) "Работа", он туда заходит из вне и уже присутствует снаружи макросов, лишняя трата одного выхода макроса!
Аналоговые входы по умолчанию уже сконфигурированы на токовый сигнал, можете посмотреть стр.27-33! Вы главное правильно подключите, а в программе мы его встретим, в бараний рог свернём!

И хотел добавить, у Вас вот эти макросы и переменные полностью дублируют друг друга, оставьте или то или то:

34799

Лучше уберите второе(правое) и ненужный выход макросов можно удалить!

sertol64
25.12.2017, 06:47
[QUOTE=Сергей0308;265828]Ну вот, совсем другое дело!
Уставки таймера обратного отсчёта времени сделайте такими:

34796

Сергей , честно говоря - ничего не понял. Какие критерии по этим временам? Или, может так - какие временные критерии железо воспроизводит адаптивно к человеческим часам?

sertol64
25.12.2017, 07:26
Н

34796


Аналоговые входы по умолчанию уже сконфигурированы на токовый сигнал, можете посмотреть стр.27-33! Вы главное правильно подключите, а в программе мы его встретим, в бараний рог свернём!
34799


А на счёт анал.входов - ума не прилажу, с какого бока подойти. Видимо макрос нужно сделать...? У нас в редукторе стоят две термопары (вых 4-20мА) показывают перегрев редуктора, они заводятся на прибор, который "сиреной" оповещает перегрев редуктора. При перегреве мы должны выключить всё и, продолжить процесс после остывания. Правда это бывает редко, когда кто-нить забудет охлаждающую воду включить, но всёж.... Поискал тут на форуме, нифига ничЁ не нашёл. С чего нужно начинать? Датчик видимо нужно так подключать...
34801

Алексей Геннадьевич
25.12.2017, 08:51
А на счёт анал.входов - ума не прилажу, с какого бока подойти. Видимо макрос нужно сделать...? У нас в редукторе стоят две термопары (вых 4-20мА) показывают перегрев редуктора, они заводятся на прибор, который "сиреной" оповещает перегрев редуктора. При перегреве мы должны выключить всё и, продолжить процесс после остывания. Правда это бывает редко, когда кто-нить забудет охлаждающую воду включить, но всёж.... Поискал тут на форуме, нифига ничЁ не нашёл. С чего нужно начинать? Датчик видимо нужно так подключать...
34801
Вот вам для улучшения понимания. Датчики с внутренним преобразователем 4-20ma.
Резисторы - защита от идиотов. Диоды - для безразрывного контроля мультиметром.
34802
И программа с парой макросов.

sertol64
25.12.2017, 09:41
Вот вам для улучшения понимания. Датчики с внутренним преобразователем 4-20ma.
Резисторы - защита от идиотов. Диоды - для безразрывного контроля мультиметром.
34802

Во...спасибо, поразбераемся.
Ну а схемку я вроде как правильно наваял?! Вот только про 200Ом не указал, голова дырявая. А защита от идиотов, это температурная тонкомпенсация?

Сергей0308
25.12.2017, 09:44
[QUOTE=Сергей0308;265828]Ну вот, совсем другое дело!
Уставки таймера обратного отсчёта времени сделайте такими:

34796

Сергей , честно говоря - ничего не понял. Какие критерии по этим временам? Или, может так - какие временные критерии железо воспроизводит адаптивно к человеческим часам?

Суть понимания в следующем, в программе не может быть времени уставок, менее времени цикла программы, например у нас уставки генератора импульсов: время включённого состояния и время выключенного состояния - 5 мс, но так как время цикла программы - 10 мс, то эти уставки будут - 10 мс! В нашем случае не важно при нажатии кнопки пуск, процесс запустится сразу или спустя секунду и можно с этим не заморачиваться синхронизировав с секундными импульсами часов реального времени, на досуге, если будет время и Вы не против выложу свой вариант макроса для этого случая!

Алексей Геннадьевич
25.12.2017, 14:09
Во...спасибо, поразбераемся.
Ну а схемку я вроде как правильно наваял?!
Да.

Вот только про 200Ом не указал, голова дырявая. А защита от идиотов, это температурная тонкомпенсация?
Нет. Это от совсем клинических случаев.
Например от соединения вместе 109 и 109А проводов при поданном напряжении. Без резисторов 200ом вход ПР200 не выживет от такого варварства.

Серёга Букашкин
25.12.2017, 15:41
Без резисторов 200ом вход ПР200 не выживет от такого варварства.
Эта тема интересна. Вы проверяли, что с 200ом вход выживет? Рассчет показывает, что при закоротке датчика на измерительном сопротивлении входа (с питанием =24В) будет протекать 80мА и рассеиваться на нем будет тогда 0,64Вт. И он выживет?

sertol64
25.12.2017, 17:19
...ёшкин кот, как тут всё сложно. Дешевле да и проще походу другой прибор взять, Термодат или Элемер тот же....

Сергей0308
25.12.2017, 21:42
[QUOTE=sertol64;265836]

Суть понимания в следующем, в программе не может быть времени уставок, менее времени цикла программы, например у нас уставки генератора импульсов: время включённого состояния и время выключенного состояния - 5 мс, но так как время цикла программы - 10 мс, то эти уставки будут - 10 мс! В нашем случае не важно при нажатии кнопки пуск, процесс запустится сразу или спустя секунду и можно с этим не заморачиваться синхронизировав с секундными импульсами часов реального времени, на досуге, если будет время и Вы не против выложу свой вариант макроса для этого случая!

Я вижу как-то так:

34811

sertol64
26.12.2017, 06:30
Интересное решение, Сергей! Значить все временные уставки можно было синхронизировать с часами реального времени? МоЖ сначала надо было работать в этом направлении? интересно, какой вариант часов обратного счёта и в каких случаях применяется?34814

Сергей0308
26.12.2017, 06:50
Интересное решение, Сергей! Значить все временные уставки можно было синхронизировать с часами реального времени? МоЖ сначала надо было работать в этом направлении? интересно, какой вариант часов обратного счёта и в каких случаях применяется?34814

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

Алексей Геннадьевич
26.12.2017, 10:57
Эта тема интересна. Вы проверяли, что с 200ом вход выживет? Рассчет показывает, что при закоротке датчика на измерительном сопротивлении входа (с питанием =24В) будет протекать 80мА и рассеиваться на нем будет тогда 0,64Вт. И он выживет?
4,8Вт и 0,64Вт разница есть.

При 0,64Вт резистор проживёт относительно долго,
достаточное время для отключения реле напряжения питания входов/выходов.
Без аварийного отключения свою схемотехнику не строю.

Ревака Юрий
26.12.2017, 11:08
Эта тема интересна. Вы проверяли, что с 200ом вход выживет? Рассчет показывает, что при закоротке датчика на измерительном сопротивлении входа (с питанием =24В) будет протекать 80мА и рассеиваться на нем будет тогда 0,64Вт. И он выживет?

В данном случае нужно переживать за встроенный резистор 121 Ом внутри ПР200, который SMD 0805.

Алексей Геннадьевич
26.12.2017, 11:33
В данном случае нужно переживать за встроенный резистор 121 Ом внутри ПР200, который SMD 0805.
За 1-2 секунды с ним ничего не случится (0,64вт). Дальше уже +24в отключается по аварии. При подключении напрямую на нём 4,8вт, сгорит мгновенно.

sertol64
26.12.2017, 12:22
Я бы наверно как-то так сделал:

34584

С большими перспективами дальнейшего развития!
И я бы вместо констант поставил энергонезависимые переменные, тогда при желании их можно было изменять прямо с экрана, без перезаливки программы!

Сергей! Ещё раз здравствуйте! Подскажите пожалуйста, можно ли изменить временные периоды в мультиплексорах MUL16FR? Увеличить их до часов.
Суть: Не успели даже ПР купить для редукторного "нашего" стенда, как засобирались покупать их две штуки и, вернуть к жизни запылившуюся установку "камера температуры и влаги" - спецы уже приступили к диагностике парогенератора и электрики. МНя ж попросили подготовить перечень необходимого оборудования (в смысле автоматики). Я подумал и решил выбросить уже стоящий там МПР51 и сделать всё заново - новый ПР200, новые пускатели, новая схема управления. Но пока ничего нет - начал думать над программой. Решил использовать макрос MUL16FR, хочу его укоротить (примерно до 5 циклов) а вот в константе на выходе уж больно длинные цифры получаются. У меня один только шаг идёт 72 часа, потом 168 (в общем 10 суток) и так 10 циклов. Да да именно 100 суток, а в другой программе аЖ 160 дней. Сама программка обещает быть простенькой, попробую сам, потом на анализ и проверку выставлю. Так вот, можно ли увеличить время шагов на ЧАСЫ?

Серёга Букашкин
26.12.2017, 12:35
4,8Вт и 0,64Вт разница есть.

При 0,64Вт резистор проживёт относительно долго, достаточное время для отключения реле напряжения питания входов/выходов. Без аварийного отключения свою схемотехнику не строю.
Пожалуйста, укажите что за "реле напряжения питания входов/выходов" и как детектировать опасную для входа перегрузку если все датчики питаются от одного БП =24В по двухпроводной линии. Это очевидно нереально. А ставить на каждый датчик отдельный канал БП и ещё и с защитой от перегрузки уровня примерно 30ма - это как-то круто, не стоит опасности спалить иногда вход. К тому же отказ критического датчика из-за отказа БП или защитной схемы - бывает ещё страшнее для системы в целом.

Сергей0308
26.12.2017, 12:41
Сергей! Ещё раз здравствуйте! Подскажите пожалуйста, можно ли изменить временные периоды в мультиплексорах MUL16FR? Увеличить их до часов.
Суть: Не успели даже ПР купить для редукторного "нашего" стенда, как засобирались покупать их две штуки и, вернуть к жизни запылившуюся установку "камера температуры и влаги" - спецы уже приступили к диагностике парогенератора и электрики. МНя ж попросили подготовить перечень необходимого оборудования (в смысле автоматики). Я подумал и решил выбросить уже стоящий там МПР51 и сделать всё заново - новый ПР200, новые пускатели, новая схема управления. Но пока ничего нет - начал думать над программой. Решил использовать макрос MUL16FR, хочу его укоротить (примерно до 5 циклов) а вот в константе на выходе уж больно длинные цифры получаются. У меня один только шаг идёт 72 часа, потом 168 (в общем 10 суток) и так 10 циклов. Да да именно 100 суток, а в другой программе аЖ 160 дней. Сама программка обещает быть простенькой, попробую сам, потом на анализ и проверку выставлю. Так вот, можно ли увеличить время шагов на ЧАСЫ?

Если уставка для таймера через блок записи в ФБ в миллисекундах, максимально до 49,71 суток, в часах чуть меньше 1200(1193) часов! А так, если мозгом пошевелить, можно хоть на 5 миллиардов лет уставку времени сделать, больше, в принципе не имеет смысла делать!
И мне кажется мультиплексор здесь ни причём!
В таймере с обратным отсчётом времени - в секундах, это более 136 лет!!!
Вот диапазон значений UDINT:

34824

Ну а диапазон значений Float, что Вы в принципе спрашивали, я вообще затрудняюсь нормально "обозвать", кроме как через х 10 в энной степени:

34825

Алексей Геннадьевич
26.12.2017, 13:58
Пожалуйста, укажите что за "реле напряжения питания входов/выходов" и как детектировать опасную для входа перегрузку если все датчики питаются от одного БП =24В по двухпроводной линии. Это очевидно нереально.
У меня каждый датчик питается по своей 2х проводной линии.
При уходе в аварию датчика или кз на нём, отключается всё.


А ставить на каждый датчик отдельный канал БП и ещё и с защитой от перегрузки уровня примерно 30ма - это как-то круто, не стоит опасности спалить иногда вход.
Это надо по конкретной установке смотреть.

К тому же отказ критического датчика из-за отказа БП или защитной схемы - бывает ещё страшнее для системы в целом.
В таких случаях применяют резервирование.

Серёга Букашкин
26.12.2017, 14:42
У меня каждый датчик питается по своей 2х проводной линии. В таких случаях применяют резервирование.
Решение логичное, но для тех низкобюджетных систем где используются ПР200, такие танцы - перебор. И выходов для таких защит не напасёшься. Простая схемка ограничения тока в цепи уровнем 25-30мА всё решает. Это по моему лучше, ибо не требует выходов и ручного перезапуска. Два транзистора и два резистора в цепи или просто полевик последовательно(КП302А), нашёл схемку.

Алексей Геннадьевич
26.12.2017, 15:00
Решение логичное, но для тех низкобюджетных систем где используются ПР200, такие танцы - перебор. И выходов для таких защит не напасёшься.
Вы будете смеяться, но выход один на всё. Он-же "аварийный останов".

Нет ли на примете простой схемки ограничения тока в цепи уровнем 25-30мА?
Ищите "генератор стабильного тока" - ваяется на 1-2 транзисторах.

Это по моему лучше, ибо не требует выходов и ручного перезапуска.
Не всегда.

Эдуард_Н
26.12.2017, 16:11
Решение логичное, но для тех низкобюджетных систем где используются ПР200, такие танцы - перебор. И выходов для таких защит не напасёшься. Простая схемка ограничения тока в цепи уровнем 25-30мА всё решает. Это по моему лучше, ибо не требует выходов и ручного перезапуска. Два транзистора и два резистора в цепи или просто полевик последовательно(КП302А), нашёл схемку.

Схемку можно глянуть?

Серёга Букашкин
26.12.2017, 20:04
Схемку можно глянуть?
На полевике мне понравилось что очень просто, см статью https://electric-220.ru/news/ogranichiteli_toka/2016-10-04-1079

Эдуард_Н
27.12.2017, 03:06
На полевике мне понравилось что очень просто, см статью https://electric-220.ru/news/ogranichiteli_toka/2016-10-04-1079

Спасибо, мы такое лет 20 назад на светодиоды ставили.

Эдуард_Н
27.12.2017, 10:16
Это означает что такой ограничитель тока плох? И зачем такое светодиодам, у них такой проблемы перегрузки вроде нет, я за 30 лет не встречался с такой потребностью в цепях светодиодов.

Мы их в БП на выходе к светодиодам ставили вместо лампочки для индикации работы. А ограничитель очень даже ничего, просто не думал, что можно его и сюда применить.:)

sertol64
27.12.2017, 12:40
34796

Аналоговые входы по умолчанию уже сконфигурированы на токовый сигнал, можете посмотреть стр.27-33! Вы главное правильно подключите, а в программе мы его встретим, в бараний рог свернём!



34799


Вот выношу на критическую оценку программку по климат камере. Т.У. внутри......

Серёга Букашкин
27.12.2017, 13:23
А ограничитель очень даже ничего, просто не думал, что можно его и сюда применить.:)
Только КП302 без дополнительного балластного резистора нельзя, при питании =24В транзистор не выдержит по рассеиваемой мощности, у него 300мВт. Существует готовая защита -американская микруха
http://www.symmetron.ru/news/maxim-MAX14626.shtml

sertol64
28.12.2017, 22:32
Сергей, ЗДРАВСТВУЙТЕ! Ну и с Наступающим Новым ГОДОМ! УРААА!
Сергей, у меня где то скрылась ошибка, найти её не могу (именно в той программе, которую Вы мне помогали делать) 34878 А именно - я добавил в каждый макрос добавочный "бубновый" вход, ПАУЗА. В симуляторе всё работает ОТЛИЧНО. Но...в общей программе, в симуляторе, а именно в макросах 7и-25 и 7и-50 какие то непонятки - они не реагируют на вход ПАУЗА и продолжают работать. Где я "накосячил, а где не могу понять! МоЖ найдёте времечко до первой рюмочки.....?

sertol64
28.12.2017, 22:37
Сергей, ЗДРАВСТВУЙТЕ! Ну и с Наступающим Новым ГОДОМ! УРААА!
34880МоЖ найдёте времечко до первой рюмочки.....?
.............

Сергей0308
28.12.2017, 23:29
Сергей, ЗДРАВСТВУЙТЕ! Ну и с Наступающим Новым ГОДОМ! УРААА!
Сергей, у меня где то скрылась ошибка, найти её не могу (именно в той программе, которую Вы мне помогали делать) 34878 А именно - я добавил в каждый макрос добавочный "бубновый" вход, ПАУЗА. В симуляторе всё работает ОТЛИЧНО. Но...в общей программе, в симуляторе, а именно в макросах 7и-25 и 7и-50 какие то непонятки - они не реагируют на вход ПАУЗА и продолжают работать. Где я "накосячил, а где не могу понять! МоЖ найдёте времечко до первой рюмочки.....?

Во первых у Вас не пауза произойдёт, а сброс таймера и когда Вы паузу "уберёте" время шага программы начнётся заново, при паузе время должно продолжаться с момента остановки и были соответствующие макросы таймеров с паузой, этот таймер без паузы и как Вы любите везде исключающее ИЛИ лепить, кстати в преведущий раз оно(исключающее ИЛИ) Вам только мешало сделать задуманное, хотя Вы были уверены, что помогает! Короче, ищите макросы таймеров с паузой!
У Вас, я слышал, ужасные выдержки времени - 168 часов, так вот эти 168 часов могут начаться заново!
Лучше рюмочку пропустить без паузы!
С этим таймером для паузы нужно ждать окончание шага! Нажимаете паузу взводите триггер, по завершению шага - пауза, второе нажатие продолжение программы, я пока вижу это как-то так, без замены таймера!
Вот таймер обратного отсчёта времени подошёл бы для частых пауз для пропускания рюмок!

34882

И аварию с паузой путаете:

34884

Короче, вот Вам таймер обратного отсчёта времени с паузой:

34902

34904

Надеюсь, как пользоваться, сообразите!
Можно добавить, что он ещё может быть и энергонезависимым, если в макросе счётчика поставить галочку энергонезависимости переменной, попутать нельзя, там их - всего одна!

Алексей Геннадьевич
29.12.2017, 10:44
sertol64
Вот вам счётчик секунд универсальный, энергонезависимый, 32х разрядный. Вам хватит на 100%.
34888
И для удобства работы- макросы перевода секунд,минут,часов в uint и обратно. (это макросы Unix Time обрезанные)

ЗЫ: ещё смехуёчки есть?:D (http://www.owen.ru/forum/showthread.php?t=27872&page=12&p=266257&viewfull=1#post266257)

Сергей0308
30.12.2017, 22:29
Сергей, ЗДРАВСТВУЙТЕ! Ну и с Наступающим Новым ГОДОМ! УРААА!
Сергей, у меня где то скрылась ошибка, найти её не могу (именно в той программе, которую Вы мне помогали делать) 34878 А именно - я добавил в каждый макрос добавочный "бубновый" вход, ПАУЗА. В симуляторе всё работает ОТЛИЧНО. Но...в общей программе, в симуляторе, а именно в макросах 7и-25 и 7и-50 какие то непонятки - они не реагируют на вход ПАУЗА и продолжают работать. Где я "накосячил, а где не могу понять! МоЖ найдёте времечко до первой рюмочки.....?


.............


Во первых у Вас не пауза произойдёт, а сброс таймера и когда Вы паузу "уберёте" время шага программы начнётся заново, при паузе время должно продолжаться с момента остановки и были соответствующие макросы таймеров с паузой, этот таймер без паузы и как Вы любите везде исключающее ИЛИ лепить, кстати в преведущий раз оно(исключающее ИЛИ) Вам только мешало сделать задуманное, хотя Вы были уверены, что помогает! Короче, ищите макросы таймеров с паузой!
У Вас, я слышал, ужасные выдержки времени - 168 часов, так вот эти 168 часов могут начаться заново!
Лучше рюмочку пропустить без паузы!
С этим таймером для паузы нужно ждать окончание шага! Нажимаете паузу взводите триггер, по завершению шага - пауза, второе нажатие продолжение программы, я пока вижу это как-то так, без замены таймера!
Вот таймер обратного отсчёта времени подошёл бы для частых пауз для пропускания рюмок!

34882

И аварию с паузой путаете:

34884

Короче, вот Вам таймер обратного отсчёта времени с паузой:

34902

34904

Надеюсь, как пользоваться, сообразите!
Можно добавить, что он ещё может быть и энергонезависимым, если в макросе счётчика поставить галочку энергонезависимости переменной, попутать нельзя, там их - всего одна!

Вот Вам для паузы энергонезависимый Т-триггер, вдруг ещё и энергонезависимость захотите присобачить!
Заодно там есть аналоги SR и RS-триггеров, только энергонезависимых, самому часто таких не хватало, приходилось выкручиваться с помощью энергонезависимых счётчиков или как ещё!

Сергей0308
07.01.2018, 09:46
sertol64 чего молчите как "рыба об лёд", сделали вашу "суперхренорезку"?
Вот Вам 32 стабильный энергонезависимый триггер, помните я писал, что тот 8 стабильный триггер я специально не придумывал, а слепил по-быстрому из того, что было в тот момент под рукой, так вот, этот 32 стабильный я специально придумал, логика работы здесь совсем другая, чем в том, но Вы и особых условий не ставили, кроме одного, что одновременно может быть активным только один выход, так этому условию он соответствует, в случае если активны более одного входа, приоритет имеет вход с наименьшим номером и активируется соответствующий ему выход , на том было так, какой вход был последним активирован, такой и соответствующий ему выход был активным, короче как-то так:

34978

Я вот посмотрел на картинку "кишок", никогда бы не подумал, что это триггер!
Да забыл самое главное, старался сделать как можно проще и менее ресурсозатратным!
Для гарантированного восприятия, продолжительность сигнала на входах, должна быть не менее 32 циклов программы!

sertol64
07.01.2018, 23:20
sertol64 чего молчите как "рыба об лёд", сделали вашу "суперхренорезку"?

34978


Сергей, Здравствуйте, ну и с Рождеством Вас от всей Души! Кстати меня Анатолием зовут. Сейчас праздники, и как то дремотно что то. Периодически захожу на форум почитать волшебников, честно говоря мне более из всей "мути" понятны только ВЫ, за что искренне Вам признателен, всё кратко и по делу - "выеб...нов нет, как у многих других чародеев! СейчаЗ выкраиваю "внепраздничное" время, сочиняю эл схему для внедрения всей этой "хренотени".Уже заканчиваю.... вроде вот этой: 3498134982
Я считаю что свою "хренодиковину" я уже закончил, осталось испытать на железе. Конечно остались мелкие вопросы...., кое что непонятно, но я Вам обязательно задам эти непонятки, просто пока сейчас жена надвисает с салатом в руках, но в общем всё ок. 32-стабильник посмотрю, попробую разобраться, если что обязательно спрошу, спасибо Вам!
Вот готовый (я так считаю) проект:

Сергей0308
08.01.2018, 00:23
Сергей, Здравствуйте, ну и с Рождеством Вас от всей Души! Кстати меня Анатолием зовут. Сейчас праздники, и как то дремотно что то. Периодически захожу на форум почитать волшебников, честно говоря мне более из всей "мути" понятны только ВЫ, за что искренне Вам признателен, всё кратко и по делу - "выеб...нов нет, как у многих других чародеев! СейчаЗ выкраиваю "внепраздничное" время, сочиняю эл схему для внедрения всей этой "хренотени".Уже заканчиваю.... вроде вот этой: 3498134982
Я считаю что свою "хренодиковину" я уже закончил, осталось испытать на железе. Конечно остались мелкие вопросы...., кое что непонятно, но я Вам обязательно задам эти непонятки, просто пока сейчас жена надвисает с салатом в руках, но в общем всё ок. 32-стабильник посмотрю, попробую разобраться, если что обязательно спрошу, спасибо Вам!
Вот готовый (я так считаю) проект:

Ничего совершенного я считаю не бывает, всегда можно что-то улучшить!

34984

Этот FSEL(в других макросах ещё и SEL) наверно лучше убрать и так на выходе будет "0" и мультиплексоры лучше заменить на целочисленные, я и пример специально выкладывал по этому поводу!
http://www.owen.ru/forum/showthread.php?t=27872&page=3
У Вас, в данном случае, если на входах SEL мультиплексоров будет значение вне диапазона 1-48(при паузе будет "0"), на выходе будет значение входа IR первого мультиплексора, а там и так "0"! Целочисленные аналоги элементов с плавающей запятой отъедают в несколько раз меньше ресурсов, я уже опять начинаю повторяться!
И, что ранее я говорил о переменной "работа", теперь относится к переменной "пауза", она заходит в макрос извне, зачем её снова выводить из макроса, она уже присутствует вне макроса, короче, зачем переливать из пустого в порожнее, можно занять себя и ресурсы ПР200 чем-то полезным!
И ещё раз(ещё наверно не раз) придётся повторится, ваша пауза, никакая не пауза, а сброс таймера и время шага программы, при окончании паузы, начнётся заново, а не продолжится с момента остановки, как должно быть при паузе! Вроде и макросы все необходимые у Вас есть, осталось камень на камень поставить, точнее кирпич на кирпич, но видно пока не судьба! Короче, для первого раза вполне потянет! Дальше, надеюсь, ещё лучше будет получаться, не сразу Москва строилась!
За то у Вас схемы красивые!
И ещё, что я заметил негативного, у вас ПР на 220В, я бы предпочёл на 24В, тем более у вас уже есть БП на 24В, в самом худшем случае, это взять БП чуть мощнее(+10Вт)! Сравнил овеновские БП на 30 и 60Вт, короче, каждые дополнительные 10Вт обходятся в 216 рублей(просто смешная сумма)! Получаете: гораздо большее быстродействие по дискретным входам, встроенную фильтрацию по дискретным входам, безопасное напряжение, большую надёжность, в ПР с питанием 220В по сообщениям пользователей происходили сбои при скачках питания! Также Вы выбираете пакетным переключателем одну из 5 программ, сейчас вам для этого необходимо 5 дискретных входов, а то хватило бы и 3(до 7 команд с помощью диодных шифраторов), а 5 входов хватит на 31 команду(программу), короче, как-то так, боюсь не все плюсы вспомнил и перечислил!

sertol64
08.01.2018, 05:17
Ничего совершенного я считаю не бывает, всегда можно что-то улучшить!




И ещё, что я заметил негативного, у вас ПР на 220В, я бы предпочёл на 24В, тем более у вас уже есть БП на 24В, в самом худшем случае, это взять БП чуть мощнее(+10Вт)! Получаете: гораздо большее быстродействие по дискретным входам, встроенную фильтрацию по дискретным входам, безопасное напряжение, большую надёжность, в ПР с питанием 220В по сообщениям пользователей происходили сбои при скачках питания! Также Вы выбираете пакетным переключателем одну из 5 программ, сейчас вам для этого необходимо 5 дискретных входов, а то хватило бы и 3(до 7 команд с помощью диодных шифраторов), а 5 входов хватит на 31 команду(программу), короче, как-то так, боюсь не все плюсы вспомнил и перечислил!
Сергей, я выбрал ПР200 на питание 220 не случайно. Дело в том, что наш испытательный стенд стоит на релейной схеме в 28В, т.е. питание всех многочисленных релюшек зависит от генератора который мы крутим. Я считаю это НЕ правильным. Если генератора нет я не могу никакую систему проверить. Заменяю реле на 24В и соответственно блоки питания на 24В. Ввиду многочисленности самих реле (эл.схема не вся - там и автоматика маслонасоса, включение и защита преобр.частоты, автоматика возд.заслонки, продув, вентиляция...вообщем дохрена всего).Ну и чтоб упростить себе в расчётах по мощности самого ПР, решил просто включить его "в разетку", а не усложнять себе жизнь подбором мощностей БП.(да и "Богам" работодателям ещё нужно объяснять причину покупки 4-го блока питания - когда уже всё как бы решено. На переправе коней...сами понимаете)А про шифраторы и дешифраторы - это моё будущее, тема очень интересная, но заморочусь я с ней на втором стенде.
По поводу ПАУЗЫ. Менять тоже не будем. Логика такова. Оператор когда во время шага программы (ну к примеру 6000об/мин при 300А нагрузки, в течении 90 минут)не завершил цикл и выключил (по разным могут быть причины - отключение эл/энергии например, воды, охлаждения, зар.плату в кассе выдают и т.д.), то незавершённые цыклы, шаги - как угодно, в расчёт не идут. Он приходит, начинает цикл заново, чтоб его закончить на 100%. Суть : нас интерисует изменения в щётках именно без остановочных циклах.
Ну а на счёт мультиплексоров - Вы правы. Поменяю их на целочисленные. Так и удобнее будет, и лишние SEL уберуться.

Сергей0308
08.01.2018, 05:39
Сергей, я выбрал ПР200 на питание 220 не случайно. Дело в том, что наш испытательный стенд стоит на релейной схеме в 28В, т.е. питание всех многочисленных релюшек зависит от генератора который мы крутим. Я считаю это НЕ правильным. Если генератора нет я не могу никакую систему проверить. Заменяю реле на 24В и соответственно блоки питания на 24В. Ввиду многочисленности самих реле (эл.схема не вся - там и автоматика маслонасоса, включение и защита преобр.частоты, автоматика возд.заслонки, продув, вентиляция...вообщем дохрена всего).Ну и чтоб упростить себе в расчётах по мощности самого ПР, решил просто включить его "в разетку", а не усложнять себе жизнь подбором мощностей БП.(да и "Богам" работодателям ещё нужно объяснять причину покупки 4-го блока питания - когда уже всё как бы решено. На переправе коней...сами понимаете)А про шифраторы и дешифраторы - это моё будущее, тема очень интересная, но заморочусь я с ней на втором стенде.
По поводу ПАУЗЫ. Менять тоже не будем. Логика такова. Оператор когда во время шага программы (ну к примеру 6000об/мин при 300А нагрузки, в течении 90 минут)не завершил цикл и выключил (по разным могут быть причины - отключение эл/энергии например, воды, охлаждения, зар.плату в кассе выдают и т.д.), то незавершённые цыклы, шаги - как угодно, в расчёт не идут. Он приходит, начинает цикл заново, чтоб его закончить на 100%. Суть : нас интерисует изменения в щётках именно без остановочных циклах.
Ну а на счёт мультиплексоров - Вы правы. Поменяю их на целочисленные. Так и удобнее будет, и лишние SEL уберуться.

Да у вас действительно прикольно, как при СССР, зарплату в кассах выдают, хотя я и не особо любил в очередях стоять! Боюсь скоро, в ближайшие 300 лет и до вас "цивилизация" дойдёт, помните, как в мультике про бабок-ёшек: "А лет через 300, когда повзрослеешь, мы тебя женим"!

sertol64
08.01.2018, 09:15
Да у вас действительно прикольно, как при СССР, зарплату в кассах выдают, хотя я и не особо любил в очередях стоять!

Сергей, да я пошутил, это так - к примеру для доходчивости....

sertol64
08.01.2018, 09:18
Вот Вам для паузы энергонезависимый Т-триггер, вдруг ещё и энергонезависимость захотите присобачить!
Заодно там есть аналоги SR и RS-триггеров, только энергонезависимых, самому часто таких не хватало, приходилось выкручиваться с помощью энергонезависимых счётчиков или как ещё!

Сергей, мне про этот тригер не совсем понятно - почему энергонезависимый?

Сергей0308
08.01.2018, 20:02
Сергей, мне про этот тригер не совсем понятно - почему энергонезависимый?

Вы же убрали у него энергонезависимость, наверно она вам не нужна! Вот что произойдёт с этим триггером если он взведён и например "свет моргнёт"? У вас он сбросится в "0" на выходе! Часто бывает это не желательно и при восстановлении питания состояние элементов(триггеров, счётчиков, таймеров) восстановится, как было на момент до выключения, вот коротко, зачем нужна энергонезависимость! Или Вы там вводите уставку таймера обратного отсчёта времени, без энергонезависимости переменной(переменных), Вам бы приходилось её вводить каждый раз при включении ПР, надеюсь, понятно рассказал!
Если у вас свет моргнёт, то Вы потом конечно можете включить установку, но процесс начнётся сначала, а у вас можно(нужно) начинать сначала не весь процесс, а сначала только шаг процесса, на котором установка находилась на момент выключения(Вы же говорили про паузу, для получения наличности в кассе), надеюсь со временем это усовершенствуете!

sertol64
09.01.2018, 07:38
По этому вопросу понял.
Сергей. в программе что то не то с часами...
34997
Пока на вход R не нажмёш 2 раза - не запустяться. Как Вам этот вариант?
34998
Прилагаю:

Сергей0308
09.01.2018, 08:37
По этому вопросу понял.
Сергей. в программе что то не то с часами...
34997
Пока на вход R не нажмёш 2 раза - не запустяться. Как Вам этот вариант?
34998
Прилагаю:

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

sertol64
09.01.2018, 10:07
Спасибо, Сергей. Для себя я всё таки подчеркнул - не всё ещё потеряно. Просто думал что в моём случае этот макрос уже готов. Вот приделал к нему и вроде бы...
35000
Или всёж идея не в этом?....

Сергей0308
09.01.2018, 10:42
Спасибо, Сергей. Для себя я всё таки подчеркнул - не всё ещё потеряно. Просто думал что в моём случае этот макрос уже готов. Вот приделал к нему и вроде бы...
35000
Или всёж идея не в этом?....

Тогда и "Овен" придётся заругать, что у них универсальный счётчик "недоделанный"!
Если серьёзно, это делается с прямо противоположными целями, чтобы не ограничивать "полёт мыслей свободного художника"! Если какой-то элемент туда воткнуть, нужный в данном применении, например, детектор переднего фронта, то он сразу станет ограниченный в применении, а так, с голым входом, он более универсален!
Вы хотите создавать макросы только для текущего проекта, что, я считаю, несколько недальновидно!

sertol64
09.01.2018, 11:29
Сергей, я не замахиваюсь на ОВЕН ни в коем случае. Это мой первый проект, и естественно МаКрОстная политика ОВЕНа мне не знакома. Про "полёт мысли" Вы правильно сказали, так как и этот доработанный вариант (мною представленный выше)тоже несовершенен, надо ещё подумать, так как в программе присутствуют ещё переменные :"....СТОП, АС" и макрос при их включении ведёт себя не так как хотелось бы....
На счёт недальновидности - Вы правы! Я не знаю что будет завтра, ...и может со мной! Я этот то проект пробил еле-еле, и ещё один пробиваю, а я уже пенсионер....! Хватит ли сил на "пробитие" следующего.....

Сергей0308
09.01.2018, 13:22
Сергей, я не замахиваюсь на ОВЕН ни в коем случае. Это мой первый проект, и естественно МаКрОстная политика ОВЕНа мне не знакома. Про "полёт мысли" Вы правильно сказали, так как и этот доработанный вариант (мною представленный выше)тоже несовершенен, надо ещё подумать, так как в программе присутствуют ещё переменные :"....СТОП, АС" и макрос при их включении ведёт себя не так как хотелось бы....
На счёт недальновидности - Вы правы! Я не знаю что будет завтра, ...и может со мной! Я этот то проект пробил еле-еле, и ещё один пробиваю, а я уже пенсионер....! Хватит ли сил на "пробитие" следующего.....

Для Вашего случая, я думаю как-то так:

35009

Никогда бы не подумал что с этим могут быть проблемы!

sertol64
09.01.2018, 17:16
Спасибо, Сергей. Я б до такого бы все равно бы не догадался. У меня получился вот 35014такой вариант:

Сергей0308
10.01.2018, 06:23
Спасибо, Сергей. Я б до такого бы все равно бы не догадался. У меня получился вот 35014такой вариант:

Вот моё последнее видение макросов программы с учётом изменений(пауз и т. п.):

35025

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

sertol64
10.01.2018, 10:01
Интересно, Сергей, очень интересно. Я подумывал об этом, но не знал как это реализовать - уж больно "напихано" в программе "макрос в макросе"....

Сергей0308
10.01.2018, 11:14
Интересно, Сергей, очень интересно. Я подумывал об этом, но не знал как это реализовать - уж больно "напихано" в программе "макрос в макросе"....

Я думаю, как-то примерно так!
Что меня пока больше всего смущает, это Ваше желание настраивать обороты как-то там, для меня пока непонятно, экспериментальным путём, неужели нельзя всё по-человечьи сделать, без экспериментов!

sertol64
10.01.2018, 12:18
Что меня пока больше всего смущает, это Ваше желание настраивать обороты как-то там, для меня пока непонятно, экспериментальным путём, неужели нельзя всё по-человечьи сделать, без экспериментов!

Попробую ещё раз объяснить, почему?! Вначале так и было сделано - частотник крутит асинхронный дв-ль, а через редуктор крутится генератор. Коэффициент редуктора 1/10. Вот она установка 35037.
Нам нужно учитывать частоту оборотов генератора: брали сигнал (4-20мА) с частотника, масштабировали его и получали нужные обороты.... . Обороты регулировали (и регулируют) потенциометром. Все цифры и параметры (различные температуры, вольты , амперы, напоры воздуха, биение коллектора генератора и т.д.) регистрируются и потом сдаются в военную приёмку (ВП) для отчётности. Самое больное для нас - это обороты генератора. Во-первых они должны быть точны (при 9000об/мин, +-300об/м), контр.органы проверяют с помощью фототахометра. Точность расчётным путём не добиться - только имперически. Во-вторых, иногда нужно, чтоб оборотов было ...ну примерно 8000 а в регистраторе писало 9000, поэтому нужно оперативно изменить некий параметр чтоб крутил по медленней (это бывает когда при 9000 и без нагрузки в "0" Ампер, подшипники редуктора летят в тар-тарары),(или...ну когда попросят...ну чисто по-русски, а не по-человечески).
А вот пульт оператора, где будет скрываться ПР200:
35038
Кстати на данный момент с помощью фототахометра установили в знаменателе 9732 (ну чтоб точнее показывал обороты на ИТП-11). А в регистраторе 9982. Вот они все секреты выкрутасов. И этого бы всего небыло, еслиб оборудование (тот же редуктор) со своими подшипниками, был не 1961 года выпуска, а более свежий, и ассинхронники современные не горели б так часто, в отличии от старых двигунов. Я думаю, что всёж я правильно сделал, что вывел эту переменную на экран, если мастер ко мне подбежит и пожалуется на стук в редукторе, а крутить ещё нужно часов 30, то можно что -нить придумать с этим, чтоб ни чего не "бахнуло".

sertol64
10.01.2018, 16:40
Я думаю, как-то примерно так!


Это шедевр, Сергей! Особливо хочу заметить, что нагрузка на ПЗУ и прочие ОЗУ сократилась в 3 раза. Непоняток много, но я пока разбираюсь. Первое что "ударило" в глаз - это то, что при переводе в режим симуляции счётчик времени (таймер) молчит "как рыба облёд", не активируется, "молчит" системная переменная. Может я ещё чего то не знаю,,,? и надеюсь не возмутить тебя своей тупостью..
35043

Сергей0308
10.01.2018, 18:15
Это шедевр, Сергей! Особливо хочу заметить, что нагрузка на ПЗУ и прочие ОЗУ сократилась в 3 раза. Непоняток много, но я пока разбираюсь. Первое что "ударило" в глаз - это то, что при переводе в режим симуляции счётчик времени (таймер) молчит "как рыба облёд", не активируется, "молчит" системная переменная. Может я ещё чего то не знаю,,,? и надеюсь не возмутить тебя своей тупостью..
35043

Надо с паузы снять и так каждый раз после выключения ПР, специально так сделал, чтобы после того если свет моргнёт, установка сама не запускалась, а на паузу становилась, при снятии с паузы процесс продолжится дальше, только шаг на котором прервалось начнётся сначала, вроде Вы так и хотели при паузе сделать! И аварийный стоп с нормально-замкнутым контактом, если у Вас замыкающийся контакт, просто уберёте инвертор! Сразу не сообразил, лучше аварийный и обычный стоп перенести на 1 и 2 входы 32 стабильного триггера, они имеют приоритет и включение паузы можно увидеть на выходе Q7(пауза). Если хотите чтобы установка сама запустилась после восстановления питания, надо поставить галочку энергонезависимости у Т-триггера и программы я сделал короткими, просто для показа у вас они длиннее и Вы уже можете мультиплексоры "расширять" до любого количества шагов, сколько вам необходимо!
Вот входа поменял местами!
Чуть не забыл, вот ещё время вывел на экран, чтобы в симуляторе таймер обратного отсчёта времени тикал, раньше для демонстрации ставил энергонезависимость этих переменных, но тут она не нужна, поэтому и убрал её и поэтому не симулировалось!
И я уже писал, для работы вход I6(Аварийный стоп), нужно активировать!
В каждом макросе(программе) имеется инкрементный счётчик с автосбросом, уставка которого означает количество циклов программы, у Вас, если не ошибаюсь в одной из 5 программ он стоял, так вот, если количество циклов более одного, надо обязательно сделать счётчик энергонезависимым(поставить галку), если один цикл - не обязательно, да и совсем его тогда можно убрать!

35048

Я его даже выносил наружу из макроса, тогда его легче убрать, если он не нужен, но Вы его опять в макрос запихали, хозяин-барин, делайте как Вы хотите, но я бы конечно вынес из макроса!
И тогда все макросы стали бы одинаковыми, а константы можно в свойства макроса забить(и как угодно подписать), аналогично макросу ПЗУ:

35049

И энергонезависимые переменные "Авар_ток_1-5" и "Порог_1-5", если не собираетесь менять с экрана, можно на константы заменить!

Василий Кашуба
10.01.2018, 23:29
И этого бы всего небыло, еслиб оборудование (тот же редуктор) со своими подшипниками, был не 1961 года выпуска, а более свежий, и ассинхронники современные не горели б так часто, в отличии от старых двигунов. Я думаю, что всёж я правильно сделал, что вывел эту переменную на экран, если мастер ко мне подбежит и пожалуется на стук в редукторе, а крутить ещё нужно часов 30, то можно что -нить придумать с этим, чтоб ни чего не "бахнуло".
Если у вас часто горят ассинхронники, перемотайте в них обмотки на "Славянку", перестанут гореть. https://vk.com/video441696761_456239163

Сергей0308
11.01.2018, 01:55
Попробую ещё раз объяснить, почему?! Вначале так и было сделано - частотник крутит асинхронный дв-ль, а через редуктор крутится генератор. Коэффициент редуктора 1/10. Вот она установка 35037.
Нам нужно учитывать частоту оборотов генератора: брали сигнал (4-20мА) с частотника, масштабировали его и получали нужные обороты.... . Обороты регулировали (и регулируют) потенциометром. Все цифры и параметры (различные температуры, вольты , амперы, напоры воздуха, биение коллектора генератора и т.д.) регистрируются и потом сдаются в военную приёмку (ВП) для отчётности. Самое больное для нас - это обороты генератора. Во-первых они должны быть точны (при 9000об/мин, +-300об/м), контр.органы проверяют с помощью фототахометра. Точность расчётным путём не добиться - только имперически. Во-вторых, иногда нужно, чтоб оборотов было ...ну примерно 8000 а в регистраторе писало 9000, поэтому нужно оперативно изменить некий параметр чтоб крутил по медленней (это бывает когда при 9000 и без нагрузки в "0" Ампер, подшипники редуктора летят в тар-тарары),(или...ну когда попросят...ну чисто по-русски, а не по-человечески).
А вот пульт оператора, где будет скрываться ПР200:
35038
Кстати на данный момент с помощью фототахометра установили в знаменателе 9732 (ну чтоб точнее показывал обороты на ИТП-11). А в регистраторе 9982. Вот они все секреты выкрутасов. И этого бы всего небыло, еслиб оборудование (тот же редуктор) со своими подшипниками, был не 1961 года выпуска, а более свежий, и ассинхронники современные не горели б так часто, в отличии от старых двигунов. Я думаю, что всёж я правильно сделал, что вывел эту переменную на экран, если мастер ко мне подбежит и пожалуется на стук в редукторе, а крутить ещё нужно часов 30, то можно что -нить придумать с этим, чтоб ни чего не "бахнуло".

Так возьмите эти обороты с ПЧ, у Вас 4 аналоговых входа нигде незадействованы и с учётом этого коэффициента поддерживайте необходимые обороты, если позволяет допустимая погрешность! Так вы и сами нагрузку задаёте, наверно лучше корректировать по зависимости скольжения от нагрузки при заданых оборотах, я так думаю!

sertol64
11.01.2018, 04:20
Если у вас часто горят ассинхронники, перемотайте в них обмотки на "Славянку", перестанут гореть.
САРКАЗМ. Это он нашёл ТРЁХ людей в России, которые перематывают на Славянку. Это в начале кадра....дальше не стал смотреть.....

Сергей0308
11.01.2018, 06:25
Да, со славянкой, что-то не понял, это как? Диаметральный шаг обмоток, для увеличения момента? Насколько известно, хоть укороченный шаг обмоток и понижает момент, но он борется с высшими гармониками и синхронным моментом!

sertol64
11.01.2018, 07:09
Так возьмите эти обороты с ПЧ, у Вас 4 аналоговых входа нигде незадействованы и с учётом этого коэффициента поддерживайте необходимые обороты, если позволяет допустимая погрешность! Так вы и сами нагрузку задаёте, наверно лучше корректировать по зависимости скольжения от нагрузки при заданых оборотах, я так думаю!

Пока на аналоговые входы подавать ничего не будем. Я тут то ещё "плаваю", с выходами.
Сергей, за другое (оптимизированное) видение программы я очень благодарен - попробую кое что подделать в этом направлении. К сожалению, Вашу поправку на скачёк напряжения я уберу, т.к. считаю её лишним. У нас в такие защиты стоят...был скачёк 1 раз, два года назад - всё отрубилось (или отрубилО), Одним словом вероятность скачка в наших условиях 1/720 и это думаю можно упустить. вообщем попробую поработать - оптимизировать, как смогу.....

Сергей0308
11.01.2018, 08:52
Пока на аналоговые входы подавать ничего не будем. Я тут то ещё "плаваю", с выходами.
Сергей, за другое (оптимизированное) видение программы я очень благодарен - попробую кое что подделать в этом направлении. К сожалению, Вашу поправку на скачёк напряжения я уберу, т.к. считаю её лишним. У нас в такие защиты стоят...был скачёк 1 раз, два года назад - всё отрубилось (или отрубилО), Одним словом вероятность скачка в наших условиях 1/720 и это думаю можно упустить. вообщем попробую поработать - оптимизировать, как смогу.....

У меня это не требует каких-то дополнительных усилий или логики, как Вам надо, так Вы и можете настроить, убирая или ставя галки энергонезависимости в 32 стабильном и Т-триггерах!

sertol64
11.01.2018, 10:35
У меня это не требует каких-то дополнительных усилий или логики, как Вам надо, так Вы и можете настроить, убирая или ставя галки энергонезависимости в 32 стабильном и Т-триггерах!

Сергей, начал делать и, натолкнулся на проблемку, о которой должен был знать раньше но упустил - забыл видимо, дурья моя башка. Дело именно в пятой программе (щётки Г27). Это одна из замороченных щёток и выпускаются по разным чертежам. Суть: Всё дело в циклах, щётки одного чертежа испытываются 10 часов, другого (и это чаще) 50 часов (т.е.5 циклов), третьего - 100часов (10 циклов).
Вопрос: Можно ли состояние инкрементного счётчика 35059 вывести на экран? Чтоб не перезаливать всю программу заново, а только изменить количество циклов с экрана?

Сергей0308
11.01.2018, 11:18
Сергей, начал делать и, натолкнулся на проблемку, о которой должен был знать раньше но упустил - забыл видимо, дурья моя башка. Дело именно в пятой программе (щётки Г27). Это одна из замороченных щёток и выпускаются по разным чертежам. Суть: Всё дело в циклах, щётки одного чертежа испытываются 10 часов, другого (и это чаще) 50 часов (т.е.5 циклов), третьего - 100часов (10 циклов).
Вопрос: Можно ли состояние инкрементного счётчика 35059 вывести на экран? Чтоб не перезаливать всю программу заново, а только изменить количество циклов с экрана?

Можно легко это сделать, но здесь уже проще вывести непосредственно из макроса выход Q2 счётчика CTZRM, а инкрементный счётчик с автосбросом вне макроса поставить, что я и без этого раньше вам советовал, затем создаёте энергонезависимую переменную редактируемую с экрана, переменную соединяете с блоком записи в функциональный блок и пишите в инкрементный счётчик с автосбросом! Если во всех макросах так сделаете, то сэкономите 4 ФБ импульса включения заданной длительности, короче как-то так! Лучше наверно комбобокс поставить где выбираете из списка нужное количество циклов!

35072

Примерно, как-то так, если для первых 4 макросов не надо, можно(нужно) удалить! Можно и пример(проект) посмотреть, что я раньше выкладывал!
Короче, как-то примерно так:

35073

И я уже писал, что вполне достаточно и одного мультиплексора на всё, про всё, т. к. переменная 32 битная! Можно в одну переменную упаковывать-распаковывать, через сдвиг влево-вправо! Вот пример приводил: http://www.owen.ru/forum/showthread.php?t=27867

sertol64
11.01.2018, 12:15
А-а-а-а-а, точно! Большое спасибо, я ж с этим уже сталкивался в мультиплексорах - вот дурья башка! Инкрементный счётчик у меня стоит только на пятой программе. В других макросах просто увеличил шаги в мультиплексорах - там ка бы не сложно, в один цикл всё проходит....

Сергей0308
11.01.2018, 12:31
А-а-а-а-а, точно! Большое спасибо, я ж с этим уже сталкивался в мультиплексорах - вот дурья башка! Инкрементный счётчик у меня стоит только на пятой программе. В других макросах просто увеличил шаги в мультиплексорах - там ка бы не сложно, в один цикл всё проходит....

Можно и в макросе его оставить, если Вы сильно так хотите, но придётся тогда ещё один целочисленный вход макросу приделывать!
И это очень неправильно, если у Вас значения меняются циклически, вместо назначения количества циклов увеличивать кратно количество шагов!

Василий Кашуба
12.01.2018, 00:03
Это видео ещё 2014 года, дал ту какая быстрее на глаза пополась, сейчас специалистов работающих со "Славянкой", более 200 человек, а двигателей перемотанных на "Славянку" около 100000 штук. https://vk.com/video441696761_456239181?list=abb77b5873899f87e3

Василий Кашуба
12.01.2018, 13:48
Заменил видео.

sertol64
14.01.2018, 10:00
Можно и в макросе его оставить, если Вы сильно так хотите, но придётся тогда ещё один целочисленный вход макросу приделывать!
И это очень неправильно, если у Вас значения меняются циклически, вместо назначения количества циклов увеличивать кратно количество шагов!
Вот вроде б подчистил программу, но непонятки остались - не мог понять (разобраться), Это:
1. Блокировка. Зачем она нужна 35087? Еденица(сигнал) постоянно присутствует в программе. Её роль мне непонятна, я убрал его....
2. Я убрал это разветвления аварийных токов 35088, т.к. знаю точно когда горят щётки - это при 600А и при любой частоте вращения.
3. Видимо в силу своей недогадливости я так и не понял чем лучше 32 от 8 стабильного тригерра. 35089. Вроде выполняют одинаковую задачу. А 8 стабильник как раз подходит под данную программу.
И вот что получилось. Энергозатратность конечно уменьшилачь, но не на много...

Сергей0308
14.01.2018, 11:01
Вот вроде б подчистил программу, но непонятки остались - не мог понять (разобраться), Это:
1. Блокировка. Зачем она нужна 35087? Еденица(сигнал) постоянно присутствует в программе. Её роль мне непонятна, я убрал его....
2. Я убрал это разветвления аварийных токов 35088, т.к. знаю точно когда горят щётки - это при 600А и при любой частоте вращения.
3. Видимо в силу своей недогадливости я так и не понял чем лучше 32 от 8 стабильного тригерра. 35089. Вроде выполняют одинаковую задачу. А 8 стабильник как раз подходит под данную программу.
И вот что получилось. Энергозатратность конечно уменьшилачь, но не на много...

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

Вот одного я не могу никак понять, почему Вам хочется 5 ФБ ставить вместо одного:

35091

Вот эти все TOFы можно выкинуть(ещё 2 в макросах) и поставить один, но уже после объединения по ИЛИ, я чуть ли не в каждом посте об этом говорю!
Я легко могу объяснить, зачем у меня стояла галочка энергонезависимости у 32 стабильного триггера, и почему не стояла у Т-триггера, я уже писал! А у Вас сейчас зачем они везде натыканы(галочки энергонезависимости 32 стабильного и Т-триггера), я не могу понять, боюсь и Вы этому объяснение не найдёте!

И я предполагал использовать выход Q8 для запуска ПЧ:

35092

Интересно, как у вас это будет устроено?

И ещё, на хрена Вам здесь задержка на цикл, наверно надо убрать, смысла никакого в этом нет!

35093

И, что это было???

35094

sertol64
14.01.2018, 13:35
Сергей, у меня мозги кипят. Чтоб я всё это переварил- несколько уточняющих вопросов....Что за галочки энергонезависимости у 32 и Т тригера, ничего я не ставил, покажите на скрине.... уже второй раз слышу про галочку у 32 стабильника а не понимаю где она.
У первой и третей программы вытащить вне блок СТ не знаю как. Пробовал, но там цикличность только два раза и потом идёт другой режим (10+10+5). получается что из одного макроса с одним мультиплексором получатся два.
Уточнить хочу в Вашем вопросе 5ФБ, это функциональных блока? Дык вроде их 3.... Если про них имееие ввиду - попробую объеденить согласно Вашему примеру описанному выше.

Сергей0308
14.01.2018, 13:49
Сергей, у меня мозги кипят. Чтоб я всё это переварил- несколько уточняющих вопросов....Что за галочки энергонезависимости у 32 и Т тригера, ничего я не ставил, покажите на скрине.... уже второй раз слышу про галочку у 32 стабильника а не понимаю где она.
У первой и третей программы вытащить вне блок СТ не знаю как. Пробовал, но там цикличность только два раза и потом идёт другой режим (10+10+5). получается что из одного макроса с одним мультиплексором получатся два.
Уточнить хочу в Вашем вопросе 5ФБ, это функциональных блока? Дык вроде их 3.... Если про них имееие ввиду - попробую объеденить согласно Вашему примеру описанному выше.

Вот Вам галочка у 32 стабильного триггера:

35095

У Т-триггера, аналогично!

И эти таймеры с задержкой выключения, два ещё в макросах, снаружи не видно, их надо не объединять, а убрать все пять штук и поставить один в разрыв, где я крестик поставил, после объединения сигналов по ИЛИ!

Вот это удаляем в 1 и 3 макросах:

35096

Можно же посмотреть, ещё в самом первом варианте, что я выкладывал!

Ладно, это всё мелочи, будем упаковывать все уставки в одну переменную или дождёмся следующего удобного случая? Я намекал уже не раз на это!

sertol64
14.01.2018, 14:22
Мож вот так...

Сергей0308
14.01.2018, 14:31
Мож вот так...

Может оно и так, но зачем же ставить инкрементные счётчики с автосбросом там, где они не нужны, для 1 и 3 макросов? И это посмотрите:

35098

sertol64
14.01.2018, 14:41
1.


35091

И я предполагал использовать выход Q8 для запуска ПЧ:

35092

Интересно, как у вас это будет устроено?

И ещё, на хрена Вам здесь задержка на цикл, наверно надо убрать, смысла никакого в этом нет!

35093

И, что это было???

35094

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

sertol64
14.01.2018, 14:43
Может оно и так, но зачем же ставить инкрементные счётчики с автосбросом там, где они не нужны, для 1 и 3 макросов? И это посмотрите:

35098

Согласен, я тоже думал, нахрена?!
А вот по "задержке цикла" поясните?

Сергей0308
14.01.2018, 14:56
Запуск ПЧ с ПР200 не получиться, т.к. весь стенд уже сделан под автоматический режим и ручной режим. Там сложная система и оператор не включит одно, пока другое не включиться, тут же смотрит на давление продува, давление воды, темпер.возд, короче ньюансы - запуск ПЧ в ручную.
Задержка цыкла? А я лепил это согласно Вашему совету для ввода количествов цикла с экрана.
Ответ на что это было. Так ....украшательство.....

Разве у меня есть задержка на цикл при вводе с экрана:

35099

Так поставьте штатный логический элемент 2ИЛИ и с его выхода подайте сигнал на F2 и Q8, зачем всякая лабуда, ну какой то смысл должен быть, в вашем макросе нет ни какого смысла!

Сергей0308
14.01.2018, 15:24
Согласен, я тоже думал, нахрена?!
А вот по "задержке цикла" поясните?

Зачем же тогда поставили ненужные счётчики? Я ратовал убрать 5 ФБ таймер с задержкой выключения и поставить вместо пяти ФБ один, после объединения сигналов по ИЛИ, про счётчики вообще ни слова не было!
И насчёт задержки на цикл, Вы поставили и у меня хотите спросить, зачем Вы поставили? Я не знаю зачем Вы поставили, там даже никакого смысла в этом нет, я вроде уже об этом писал!

В принципе, на работу это никак не повлияет, так что расстраиваться не стоит!
Для первого раза потянет, единственное, что я непременно изменил, это убрал галку энергонезависимости у 32 стабильного триггера, так как пауза, на мой взгляд, выполнена крайне неудачно, остальное не очень и важно!

sertol64
14.01.2018, 16:09
Вот поправил кое что. Но про задержку времени .... не врублюсь. Не вижу отличия от Вашего варианта., чо т я не догоняю....

sertol64
14.01.2018, 16:12
....может Вы имели ввиду задержку времени в 5 сек в функц блоке ТР, так это я ставил, чтоб в симуляторе видеть конкретный сигнал стоповый, при увеличении скорости цикла (симуляции)

sertol64
14.01.2018, 16:15
...всё врубиля - линия задержки это пунктир. Вот дурья моя башка...

Сергей0308
15.01.2018, 04:49
Вот поправил кое что. Но про задержку времени .... не врублюсь. Не вижу отличия от Вашего варианта., чо т я не догоняю....

Вот, немного поправил:

35101

И насколько понимаю, у вас кнопка "Стоп" с замыкающимися контактами?

sertol64
15.01.2018, 12:50
....кнопка СТОП? Да , я думаю пусть будет НОК(норм.откр.контакт). Так же думаю с этим проектом можно закончить, остались испытания на железе, да и электр.схему нужно доделать, и....ждём железа. Так же надо разобраться ещё с Частотником, чтоб лёгким движением руки переключать управление им с резистора на аналоговый вход......

Сергей0308
15.01.2018, 13:16
....кнопка СТОП? Да , я думаю пусть будет НОК(норм.откр.контакт). Так же думаю с этим проектом можно закончить, остались испытания на железе, да и электр.схему нужно доделать, и....ждём железа. Так же надо разобраться ещё с Частотником, чтоб лёгким движением руки переключать управление им с резистора на аналоговый вход......

Так смотрите талмуд на ПЧ, насколько понимаю, сейчас у вас вход по напряжению, так что смотря какие ПР200 Вы заказали, а то и менять ничего не надо!
И Вы первый пост на эту тему больше месяца назад написали, неужели так долго надо ждать ПР200?

sertol64
15.01.2018, 13:48
Да, Сергей, да. У них говорят новый финансовый год, дальше идёт сплошной текст из труднопереводимых финансовых терминов. Но покупать будут точно, и всё подписано. Покупать будут 2 штуки ПР200 - ещё один проект ждёт. Я к нему ещё не приступал - лениво, да и сам алгоритм работы пока не понял (не разобрался)

sertol64
15.01.2018, 19:02
Так смотрите талмуд на ПЧ, насколько понимаю, сейчас у вас вход по напряжению, так что смотря какие ПР200 Вы заказали, а то и менять ничего не надо!
... Естественно частотник RI200 управляется с аналогового входа 0-10В с помощью резистора. Сергей, а разве программа измениться если в ПР200 джампер переключить на напряжение? Почему то я вздрогнул и насторожился, перекрестясь....а я что то даже не парюсь на этот счет...

Сергей0308
15.01.2018, 19:35
... Естественно частотник RI200 управляется с аналогового входа 0-10В с помощью резистора. Сергей, а разве программа измениться если в ПР200 джампер переключить на напряжение? Почему то я вздрогнул и насторожился, перекрестясь....а я что то даже не парюсь на этот счет...

Вообще-то, джамперы - это настройка входов ПР200, выхода никак не настраиваются, какие закажите, такие и получите, Вы же выходом ПР управляете ПЧ, а не входом!

sertol64
15.01.2018, 20:02
Понял, видимо руководство невнимательно читал - будем принимать меры, ещё не поздно, думаю...

Сергей0308
15.01.2018, 20:10
Понял, видимо руководство невнимательно читал - будем принимать меры, ещё не поздно, думаю...

Так здесь действительно не стоит волноваться, если заказали с выходами напряжения, подключите прямо вместо потенциометра, если с токовыми выходами подключите на токовый вход ПЧ, да и всегда можно нагрузить шунтирующим прецизионным резистором(500 Ом), тогда ток превращается в напряжение 2-10 В!
Главное, чтобы были в наличии аналоговые входы-выходы, а то можно заказать и без них!

35124

sertol64
15.01.2018, 21:11
Да, там есть три аналог.входа, но все либо U, либо I. Вообщем надо подумать, полистать руководство. Задача, чтоб оператор тумблером переключил из ручного в автомат., и не лезть при этом в настройки самого частотника. Вообщем надо полистать, посмотреть настройки.

Сергей0308
15.01.2018, 21:21
Да, там есть три аналог.входа, но все либо U, либо I. Вообщем надо подумать, полистать руководство. Задача, чтоб оператор тумблером переключил из ручного в автомат., и не лезть при этом в настройки самого частотника. Вообщем надо полистать, посмотреть настройки.

Я таких ПЧ не встречал, обычно есть и токовые и входы напряжения или конфигурируются, аналогично входам ПР200, Вы лучше талмуд на ПЧ повнимательней посмотрите, что-то мне не верится "в либо те, либо те"!

sertol64
15.01.2018, 22:32
Хорошо , завтра посмотрим............

Wladislaw
01.02.2018, 14:20
Не могу сообразить. Как на пр200 в режиме мастер в RS485 выдавать данные (2 байта), можно Modbus. Связь полудуплекс

Ревака Юрий
01.02.2018, 14:27
Не могу сообразить. Как на пр200 в режиме мастер в RS485 выдавать данные (2 байта), можно Modbus. Связь полудуплекс

http://www.owen.ru/forum/showthread.php?t=25978 в прикрепленных ссылках разные примеры как для слейва так и мастера.

sertol64
15.02.2018, 01:36
Уважаемые специалисты! подскажите пожалуйста, есть ли решения в ОЛ (или готовый макрос) для плавного возрастания и убывания аналогового сигнала до нужного значения?

sertol64
15.02.2018, 02:01
..Всё простите, вопрос снимаю. Нашёл ответ у Сергея0308Спасибо ему!

T_Alex
17.02.2018, 23:57
Подскажите пожалуйста, как в последней версии Owen Logic 1.10.150.12799 настроить переходы между экранами. В предыдущей версии было понятно. 35655

petera
18.02.2018, 01:42
Подскажите пожалуйста, как в последней версии Owen Logic 1.10.150.12799 настроить переходы между экранами. В предыдущей версии было понятно. 35655

35660
..........................................

Виктор79
20.02.2018, 23:24
Здравствуйте. Помогите пожалуйста прикрутить функцию сравнения количества импульсов . Нужно количество импульсов на выходе со счетчика CTN сравнить с тремя пределами к примеру 200 первый предел , второй 400, третий 600. Если пределы равны каким то из этих значений то записываем эти значения Write to FB на этот же счетчик уставки, тогда после сброса уставка обновится. Пробовал через sel но там приходится вывод подключать к выходу пр-114 и при единице на выходе меняется значение . В sel всего две переменные , как можно решить данную задачу считая импульсы и сравнивая именно по универсальному счетчику? Прилагаю картинку примерно как оно должно быть чтобы иметь лучшее представление. 35750

melky
20.02.2018, 23:34
Виктор79 и как вы двумя Write_To_FB планируете писать в один блок ?

Виктор79
20.02.2018, 23:38
Я понимаю что так не получится, я в поисках решения

melky
20.02.2018, 23:50
сделайте каскад из SEL и простые сравнения на больше для их управления. А вообще задача не совсем понятна. А если надо сбросить опять на 20 или на 0 ?

Pavel_
20.02.2018, 23:55
Здравствуйте. Помогите пожалуйста прикрутить функцию сравнения количества импульсов . Нужно количество импульсов на выходе со счетчика CTN сравнить с тремя пределами к примеру 200 первый предел , второй 400, третий 600. Если пределы равны каким то из этих значений то записываем эти значения Write to FB на этот же счетчик уставки, тогда после сброса уставка обновится. Пробовал через sel но там приходится вывод подключать к выходу пр-114 и при единице на выходе меняется значение . В sel всего две переменные , как можно решить данную задачу считая импульсы и сравнивая именно по универсальному счетчику? Прилагаю картинку примерно как оно должно быть чтобы иметь лучшее представление. 35750

насколько смог понять описание к задаче:
35751
далее думаю уже самостоятельно доработаете как именно вам необходимо.

Виктор79
21.02.2018, 00:14
сделайте каскад из SEL и простые сравнения на больше для их управления. А вообще задача не совсем понятна. А если надо сбросить опять на 20 или на 0 ?

пока происходит работа счетчика идут импульсы от 1 до 30000 и они просто сравниваются, если сравнение равно тем значениям оно записывается в уставку, но уставка обновится только после сброса, сброс будет внешний, к примеру отключением системы и включением. Далее после первого сравнения идет уже второе, третье ..Если отключения за все время работы не было цикл программы заканчивается и сброс уже будет в ноль и далее снова цикл повторяется. Отключаем систему, не успело дойти к первой уставке, тогда при включении сброс ,уставка 0. Если успело дойти до 200 но не дошло до 400 (второй предел) и выключили систему, при включении сброс счетчика и значение уже то до которого дошло количество импульсов (200). Как то так.

melky
21.02.2018, 07:03
как то так то будет немного по другому, нужно еще задействовать энергосберегающую переменную и только из нее уже писать в уставку таймера.

sertol64
28.02.2018, 09:04
Во первых у Вас не пауза произойдёт, а сброс таймера и когда Вы паузу "уберёте" время шага программы начнётся заново, при паузе время должно продолжаться с момента остановки и были соответствующие макросы таймеров с паузой, этот таймер без паузы и как Вы любите везде исключающее ИЛИ лепить, кстати в преведущий раз оно(исключающее ИЛИ) Вам только мешало сделать задуманное, хотя Вы были уверены, что помогает! Короче, ищите макросы таймеров с паузой!

С этим таймером для паузы нужно ждать окончание шага! Нажимаете паузу взводите триггер, по завершению шага - пауза, второе нажатие продолжение программы, я пока вижу это как-то так, без замены таймера!
Вот таймер обратного отсчёта времени подошёл бы для частых пауз для пропускания рюмок!


Ребят, ЗДРАВСТВУЙТЕ! Всех с Прошедшим...!35863
Проблема. Делаю программку на мультиплексорах (на основе предыдущей программы, в этой теме).35858 И всё бы ничего...но не могу реализовать идею ПАУЗы. Пересматриваю тему Сергей0308прав. счётчик обнуляется. Но ввиду огромных временных шагов, я не могу допустить чтоб этот самый шаг начинался заново. Нужно чтоб всё "замерло"...и потом продолжалось с точки останова. Возможно ли это в данном случае?Сергеем0308 (отозвался бы он....)были упомянуты некие макросы, в базе я их чОт не нашёл. Подскажите идейку, пожалуйста....

sertol64
28.02.2018, 09:10
....да кстати забыл выложить саму программку. Не судите строго, она ещё не закончена. Но основная работа её уже реализована: Крутим авиационный преобразователь ПО-1500, на его питание нужно подавать от 24В до 29 вольт. Создаём нагрузку ему от 2,8 до 13 ампер, согласно временным периодам...

Василий Кашуба
28.02.2018, 13:22
....да кстати забыл выложить саму программку. Не судите строго, она ещё не закончена. Но основная работа её уже реализована: Крутим авиационный преобразователь ПО-1500, на его питание нужно подавать от 24В до 29 вольт. Создаём нагрузку ему от 2,8 до 13 ампер, согласно временным периодам...
Ну и задайте вашу паузу на 10 вход первого мультиплексора, или у вас больше шагов цикл?

sertol64
28.02.2018, 14:14
Ну и задайте вашу паузу на 10 вход первого мультиплексора, или у вас больше шагов цикл?

Спасибо! Попробовал, ничего не происходит. TON как считал так и считает....35872

sertol64
28.02.2018, 14:24
.....тут возник вопрос логичный - а TON возможно ли остановить? По-моему он только сбрасывается на "0" и всё. Видимо надо систему полностью менять. Или все эти большие цифры (840, 240 и т.д.) разбивать на более мелкие и увеличивать количество циклов....

Василий Кашуба
28.02.2018, 17:10
Спасибо! Попробовал, ничего не происходит. TON как считал так и считает....35872
На десятый вход нужно время задавать. Время паузы.

sertol64
28.02.2018, 17:40
На десятый вход нужно время задавать. Время паузы.

Логику не понял...? Ну и досчитает он до 10-го входа через 50 часов...смысл?.или как?

Василий Кашуба
28.02.2018, 19:28
Логику не понял...? Ну и досчитает он до 10-го входа через 50 часов...смысл?.или как?
А вы тогда точнее скажите в каком месте и какая пауза нужна.

sertol64
28.02.2018, 19:41
...Пауза нужна в любом месте. Программа рассчитана на 50 часов, процесс идёт. И нужно предусмотреть паузу (ну на непредвиденный случай), чтоб программа остановилась, а потом продолжила работать с места остановки. Эта тема обсуждалась уже в 112 посте. Но я так и не нашёл макрос, и ничего нового не могу придумать - опыта то "0"

melky
28.02.2018, 20:08
надо написать TON с выходом времени, запоминать его и потом стартовать с разницей уставки. вроде были же макросы таймеров с паузой ?
Ну и применять что-то типа EPROM для фиксирования шагов программы.

sertol64
28.02.2018, 21:28
Ладно, простите - я снимаю вопрос. Если бы привели бы пример, ну или пальцем бы ткнули..... Я начал переписывать программу....Но вопрос для меня остаётся открытым, буду следить за форумом, мож кто-нить, когда-нить.....

seego
17.03.2020, 17:38
Первые шаги делаю с ПР200 и с OwenLogic до недавнего времени знаком не был. На ПР200 делаю управление светом в доме.
Для простоты восприятия, допустим у меня 3 кнопки (выключателя) и 5 выходов (лампочек ) + 3 выхода на контакторы силовых линий (розеток). Хочу понять как сделать такое для каждой кнопки :
1. При одном нажатии на кнопку - включается\выключается с лампочка
Тут на основе примеров делаю через RTRIG (детектор переднего фронта)
2. При двойном нажатии включаются выключаются (все остальные лампочки)
Тут на основе СТ (счетчик с автосбросом)
3. При длительном 3с нажатии вкл\выкл мои силовые линии
Тут на основе TON (импульс включения заданной длительности)

То что я сейчас не понимаю концептуально - как повесить различные сценарии на 1 кнопку.

Буду благодарен если мне кто-то поможет визуализировать такой сценарий.

Ревака Юрий
17.03.2020, 18:25
Первые шаги делаю с ПР200 и с OwenLogic до недавнего времени знаком не был. На ПР200 делаю управление светом в доме.
Для простоты восприятия, допустим у меня 3 кнопки (выключателя) и 5 выходов (лампочек ) + 3 выхода на контакторы силовых линий (розеток). Хочу понять как сделать такое для каждой кнопки :
1. При одном нажатии на кнопку - включается\выключается с лампочка
Тут на основе примеров делаю через RTRIG (детектор переднего фронта)
2. При двойном нажатии включаются выключаются (все остальные лампочки)
Тут на основе СТ (счетчик с автосбросом)
3. При длительном 3с нажатии вкл\выкл мои силовые линии
Тут на основе TON (импульс включения заданной длительности)

То что я сейчас не понимаю концептуально - как повесить различные сценарии на 1 кнопку.

Буду благодарен если мне кто-то поможет визуализировать такой сценарий.

Как пример https://youtu.be/-OIIJcl5Hdg, дальше можно развивать под свои задачи, пример в описании, в Менеджере есть еще макрос ON/OFF.

manjey73
17.03.2020, 20:55
seego ловите передний фронт для логики, а управление вешайте на задний фронт, который при двойном и длительном нажатии можно заблокировать.

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

seego
17.03.2020, 22:21
я бы вообще 2-ное нажатие убрал из схемы, .
Кстати, без 2х, 3х и Nx щелчков немного проще получается, ибо действительно не нужно паузу отлавливатью. Буду дальше кумекать.

Сергей0308
22.03.2020, 00:19
Вот, когда-то делал для определения одинарного/двойного нажатия за период:

48028

48029