Просмотр полной версии : ПР200 для испытательного стенда
Всем привет! Вот уже второй день изучаю OWEN Logic и назрел мой второй тупой вопрос (первый задал в теме вопросов от новичков, с ним уже разобрался). Посмотрите, что получилось. Сильно накосячил?
Задача следующая: циклически подавать на нагрузку 3 разных напряжения - 180В, 220В, 265В продолжительностью 19 минут каждое с паузой 1 мин между ними. При этом поддерживать рабочую температуру в районе 50С. В качестве темп. датчика использую ДТСхх4 с PT1000.
В симуляторе вроде все работает. Непонятно только, почему макрос для PT1000 выделяется желтым.
макрос выделяется желтым, потому что внутри в одном месте стоит обычная связь , вместо линии задержки..
На работоспособность макроса это не влияет,( Спасибо его автору)
макрос выделяется желтым, потому что внутри в одном месте стоит обычная связь , вместо линии задержки..
На работоспособность макроса это не влияет,( Спасибо его автору)
О, спасибо, исправил.
Сергей0308
28.12.2019, 22:18
Всем привет! Вот уже второй день изучаю OWEN Logic и назрел мой второй тупой вопрос (первый задал в теме вопросов от новичков, с ним уже разобрался). Посмотрите, что получилось. Сильно накосячил?
Задача следующая: циклически подавать на нагрузку 3 разных напряжения - 180В, 220В, 265В продолжительностью 19 минут каждое с паузой 1 мин между ними. При этом поддерживать рабочую температуру в районе 50С. В качестве темп. датчика использую ДТСхх4 с PT1000.
В симуляторе вроде все работает. Непонятно только, почему макрос для PT1000 выделяется желтым.
Если продолжительность включённого состояния и паузы для всех выходов одинаковая, то можно так:
46457
46458
И зачем его переключать? Не проще и дешевле плавно регулировать с помощью аналогового выхода + соответствующая ТТР?
https://owen.ru/product/hd_xx44va_hd_xx2210u_i_hd_xx25la
И зачем его переключать? Не проще и дешевле плавно регулировать с помощью аналогового выхода + соответствующая ТТР?
Спасибо. Появилось много неизвестных мне элементов :)
Переключение напряжений - это тест на живучесть. Насколько оборудование выдерживает перепады напряжения и отключения.
А как мне на экран вывести напряжение в зависимости от состояния выходов?
Ну то есть если замкнуто реле 1, то чтобы на дисплее была надпись "Uвых=180В", если замкнуто реле 2, чтобы на дисплее "Uвых=220В"... а если все реле разомкнуты (пауза) чтобы было "Uвых=0В"?
Сергей0308
29.12.2019, 02:36
А как мне на экран вывести напряжение в зависимости от состояния выходов?
Ну то есть если замкнуто реле 1, то чтобы на дисплее была надпись "Uвых=180В", если замкнуто реле 2, чтобы на дисплее "Uвых=220В"... а если все реле разомкнуты (пауза) чтобы было "Uвых=0В"?
С вашим вариантом проекта это намного сложней, как-то примерно так:
46459
В моём достаточно создать переменную и вывести на экран, примерно как-то так:
46461
Можно с экрана запускать-останавливать процесс!
по текущему заданию - ни в коем случае нельзя, чтобы два входа были одновременно включены, а в своих проектах я просто делаю блок приоритетов и разруливаю сообщения, чтобы они не пересекались, или неодновременно включались или приоритезирую.
В моём достаточно создать переменную и вывести на экран
Сергей, у вас отличное решение, гораздо изящнее моего "в лоб". Теперь вот пытаюсь разобраться как оно вообще работает. С непривычки тяжело :rolleyes:
по текущему заданию - ни в коем случае нельзя, чтобы два входа были одновременно включены, а в своих проектах я просто делаю блок приоритетов и разруливаю сообщения, чтобы они не пересекались, или неодновременно включались или приоритезирую.
Ээээ... это если подключать дисплей к той схеме, которую я наваял первоначально?
не важно, это ответ для Capzap. а для вас просто к сведению.
не важно, это ответ для Capzap. а для вас просто к сведению.
Capzap перемудрил в данном случае. Вход в схеме используется только для запуска алгоритма, а выходы просто физически не могут быть включенными одновременно.
В моём достаточно создать переменную и вывести на экран, примерно как-то так:
46461
Вот только почему-то первые 19 мин включается не 220В как до этого, а 0В. А потом уже всё правильно крутится.
(и что такое CTM и EXTRACT4? В стандартных блоках и в менеджере компонентов я этого не нашел...)
Вот только почему-то первые 19 мин включается не 220В как до этого, а 0В. А потом уже всё правильно крутится.
(и что такое CTM и EXTRACT4? В стандартных блоках и в менеджере компонентов я этого не нашел...)
Это макросы Сергея, которых у него в запасе великое множество. Вот вам мой вариант на стандартных компонентах. Управляется двумя кнопками. Ежели нужно включать/выключать по-другому, можно переделать.
PS: Время в блоке BLINK конечно нужно заменить на 19 минут и 1 минуту. Сейчас стоит 19 и 1 сек.
Кстати, в установке реально использованы нагреватель и холодильник?
Сергей0308
29.12.2019, 20:13
Вот только почему-то первые 19 мин включается не 220В как до этого, а 0В. А потом уже всё правильно крутится.
(и что такое CTM и EXTRACT4? В стандартных блоках и в менеджере компонентов я этого не нашел...)
Если Вы собираетесь реле постоянно выключать и что бы такого не было(в первый раз после включения ПР долго "включается"), можно так сделать:
46463
PS: Время в блоке BLINK конечно нужно заменить на 19 минут и 1 минуту. Сейчас стоит 19 и 1 сек.
Кстати, в установке реально использованы нагреватель и холодильник?
Спасибо, сейчас посмотрю. Используются греющий кабель и вентилятор.
Если Вы собираетесь реле постоянно выключать и что бы такого не было(в первый раз после включения ПР долго "включается"), можно так сделать:
46463
Вот теперь супер, спасибо! Реле постоянно включать-выключать не планируется. План такой - подаю напряжение на управляющий щит, реле включается и пашет неделю, пока оборудование в термоящике мучается. Через неделю напряжение снимается. Всё.
Сейчас окончательный вариант нарисую и выложу для проверки (с экраном, чтобы уже всё посмотреть).
можно так сделать...
Столкнулся с технической проблемой - элемента CTMR нет в моей библиотеке, поэтому не дает просто скопировать из вашего решения и вставить в мой проект. Предыдущий вариант я делал прямо на вашем листе, поэтому проблем не возникло, а сейчас один элемент поменялся и привет. Как мне его подцепить?
Сергей0308
29.12.2019, 20:54
Столкнулся с технической проблемой - элемента CTMR нет в моей библиотеке, поэтому не дает просто скопировать из вашего решения и вставить в мой проект. Предыдущий вариант я делал прямо на вашем листе, поэтому проблем не возникло, а сейчас один элемент поменялся и привет. Как мне его подцепить?
Открываете макрос для редактирования в моём проекте, подписываете, как Вам удобно и сохраняете(экспорт макроса в файл) в файл в папочку на вашем компе или в облаке! Потом из вашего проекта выбираете в меню импорт макроса из файла и выбираете ту папку и файл, куда только что сохранили макрос, всё!
И, я бы посоветовал, сразу макросы сортировать, ну там создать подпапки: счётчики, мультиплексоры, таймеры, триггеры и т. д., что бы потом не путаться, когда их много станет!
Сергей, ещё раз большое спасибо! Я просто опять сделал на вашем листе, а потом туда перенес всё, что было у меня.
Вот что получилось в конце концов. Посмотрите, пожалуйста. В том числе экран.
Сергей0308
29.12.2019, 21:44
Сергей, ещё раз большое спасибо! Я просто опять сделал на вашем листе, а потом туда перенес всё, что было у меня.
Вот что получилось в конце концов. Посмотрите, пожалуйста. В том числе экран.
Так по мелочам можно придраться: отключил редактирование температуры с экрана и не обязательно впереди ставить текстовую метку, можно это сделать в свойствах переменной! Перенумеровал элементы в ОЛ.
Можно вывести уставки регуляторов на экран, мало ли что, вдруг изменить захочется? И я бы увеличил постоянную времени фильтра для аналоговых входов(я бы как минимум "5" поставил), что бы температура поменьше скакала, впрочем это можно и потом поправить в меню ПР с экрана.
И ошибки в канале измерения температуры можно вывести на экран, аналогично выводу напряжения!
Вот, частично поправил:
46465
Точно, перенумеровать забыл. А про постоянную времени для аналоговых входов я и знать не знал, спасибо, исправил.
"Отключил редактирование температуры с экрана" - вот это я не понял, вроде там у меня только отображается температура?
Про уставки регуляторов на экран - хорошая мысль, может так и сделаю.
Сергей0308
29.12.2019, 22:12
Точно, перенумеровать забыл. А про постоянную времени для аналоговых входов я и знать не знал, спасибо, исправил.
"Отключил редактирование температуры с экрана" - вот это я не понял, вроде там у меня только отображается температура?
Про уставки регуляторов на экран - хорошая мысль, может так и сделаю.
По умолчанию редактирование включено, если Вам надо только отображение, то редактирование лучше отключить!
И если уставки вздумаете выводить на экран для редактирования, то переменную можно сделать энергонезависимой, что бы значения сохранялись при выключении и последующем включении ПР!
если Вам надо только отображение, то редактирование лучше отключить!
А где это отключается? Чего-то не нашел.
Сергей0308
29.12.2019, 23:08
А где это отключается? Чего-то не нашел.
В свойствах элемента, там же можно и текст написать для обозначения переменной:
46468
https://yadi.sk/d/A9ZxaXP2InUzlw
В свойствах элемента, там же можно и текст написать для обозначения переменной
А, ясно, спасибо. А можно значок градуса перед буквой С как-то поставить (кружочек)?
P.s. Всё, нашел как поставить (про кружочек).
Сергей0308
30.12.2019, 00:06
А, ясно, спасибо. А можно значок градуса перед буквой С как-то поставить (кружочек)?
P.s. Всё, нашел как поставить (про кружочек).
Кружочек "°"(знак градуса) к сожалению на экране ПР не отображается, можно написать что-то типа: гр.
Т.е. в OL отображается, а при передаче в ПР на самом ПР уже не отображается?
Сергей0308
30.12.2019, 08:47
Т.е. в OL отображается, а при передаче в ПР на самом ПР уже не отображается?
Так в РЭ на ПР200 наверно приведены символы что ПР200 поддерживает?!
46470
46471
Так я просто спрашиваю... Самого реле еще нет, проверить не на чем. Ну нет, значит нет... :(
Сергей0308
30.12.2019, 10:22
Так я просто спрашиваю... Самого реле еще нет, проверить не на чем. Ну нет, значит нет... :(
Ну, если Вы нигилист или больше нечем себя занять, тогда остаётся только экспериментировать!
А чем ещё себя занять в долгие предновогодние вечера... :)
С наступающим Новым Годом!
:cool:
Сергей0308
19.01.2020, 10:57
Если Вы собираетесь реле постоянно выключать и что бы такого не было(в первый раз после включения ПР долго "включается"), можно так сделать:
46463
А чем ещё себя занять в долгие предновогодние вечера... :)
С наступающим Новым Годом!
:cool:
Получилось чего?
Вот немного поправил:
46725
46727
Получилось чего?
Да, всё получилось отлично. Это пока лабораторный вариант:
46735 46736 46737
Реле с вашей программой работает отлично. Всё переключается как надо.
Единственная загвоздка - очень быстро перегорел этот нагревательный кабель. Он предназначен вообще-то для прогрева бетона (а ничего другого подходящей длины я в наших магазинах не нашел). Поэтому сейчас заказал на али углеволоконный, который может работать на открытом воздухе. Вот жду, пока приедет. И вентилятор тоже должен приехать к тому времени.
P.s. А ваша поправка с чем связана? Вроде и первоначальный вариант работает как надо.
хм, в Леруа продавался кабель нагревательный для антизаморозки например труб воды. Даже в воду можно пихать. 10 метровый кажется стоил в районе 4 тысяч.
зеленого цвета то ли 7 то ли 9 Вт/метр
Сергей0308
20.01.2020, 11:13
Да, всё получилось отлично. Это пока лабораторный вариант:
46735 46736 46737
Реле с вашей программой работает отлично. Всё переключается как надо.
Единственная загвоздка - очень быстро перегорел этот нагревательный кабель. Он предназначен вообще-то для прогрева бетона (а ничего другого подходящей длины я в наших магазинах не нашел). Поэтому сейчас заказал на али углеволоконный, который может работать на открытом воздухе. Вот жду, пока приедет. И вентилятор тоже должен приехать к тому времени.
P.s. А ваша поправка с чем связана? Вроде и первоначальный вариант работает как надо.
Поправка связана с тем, что нет предела совершенства, логику работы она не меняет, просто элементов для её выполнения меньше стало!
хм, в Леруа продавался кабель нагревательный для антизаморозки например труб воды. Даже в воду можно пихать. 10 метровый кажется стоил в районе 4 тысяч.
зеленого цвета то ли 7 то ли 9 Вт/метр
Во-первых, он саморегулирующийся. Мне такой не нужен, он не нагреется до нужной температуры, нужен именно резистивный. Во-вторых, мне не нужно 10 метров. В-третьих, он плоский и жесткий, его в ящике не уложишь нормально. В-четвертых, он просто дорогой. Короче, я над этим долго ломал голову, получается, что наилучший вариант - китайский углеволоконный кабель.
Поправка связана с тем, что нет предела совершенства, логику работы она не меняет, просто элементов для её выполнения меньше стало!
Класс! :o :rolleyes:
chebo смешно, углеволоконный и есть саморегулирующийся. Его принцип простой, стало тепло, меньше греет, холодно, греет сильнее.
Просто есть как круглый так и плоский и к тому же разной длины. Либо сами делаете нужную длину.
chebo смешно, углеволоконный и есть саморегулирующийся. Его принцип простой, стало тепло, меньше греет, холодно, греет сильнее.
Просто есть как круглый так и плоский и к тому же разной длины. Либо сами делаете нужную длину.
Вы ошибаетесь. Есть саморегулирующийся кабель. А есть резистивный углеволоконный, в котором вместо металлической жилы используется углеволокно с постоянным погонным сопротивлением.
Ну я разбирал саморегулирующий кабель. Там две жилы и какой-то полимер. Но кусок перегорел. Притом жили были целые а кабель не грел. PS резали при замене по меткам. Контроллер мерил ток и смотрел что автомат не выбит. Вся автоматика. Но включался если t-улица было больше 0
А не подскажете, как мне вывести на кнопки установку рабочей температуры?
Сейчас эта температура задается программой:
46881
Но, как верно отметил Сергей, нет предела совершенству, и я подумал, а что если эту температуру устанавливать кнопками?
Тут я как-то не очень разобрался, как это сделать. Как кнопки ставить в соответствие переменным?
Ну то есть как я себе это представляю. Во время работы программы нажимаю кнопку вывода параметров ("SEL", я правильно понимаю?). Дальше кнопками вверх/вниз выбираю нужный параметр (у меня пока только один параметр - температура, но хотелось бы разобраться, если их будет несколько), нажимаю "ОК" и кнопками вверх/вниз устанавливаю нужное значение (при этом нужно как-то шаг изменения задавать...), затем опять "ОК" и это значение запоминается.
Дальше из этого значения (например, 50 градусов) формируется три переменных - 50, 49 и 51 и подаются как уставки на элементы схемы.
Вот как это делается?
Сергей0308
27.01.2020, 15:52
А не подскажете, как мне вывести на кнопки установку рабочей температуры?
Сейчас эта температура задается программой:
46881
Но, как верно отметил Сергей, нет предела совершенству, и я подумал, а что если эту температуру устанавливать кнопками?
Тут я как-то не очень разобрался, как это сделать. Как кнопки ставить в соответствие переменным?
Ну то есть как я себе это представляю. Во время работы программы нажимаю кнопку вывода параметров ("SEL", я правильно понимаю?). Дальше кнопками вверх/вниз выбираю нужный параметр (у меня пока только один параметр - температура, но хотелось бы разобраться, если их будет несколько), нажимаю "ОК" и кнопками вверх/вниз устанавливаю нужное значение (при этом нужно как-то шаг изменения задавать...), затем опять "ОК" и это значение запоминается.
Дальше из этого значения (например, 50 градусов) формируется три переменных - 50, 49 и 51 и подаются как уставки на элементы схемы.
Вот как это делается?
Чего там мелочится, выводите на экран все переменные, вместо константы ставите энергонезависимую переменную и выводите на экран с возможностью редактирования, на одном или на разных экранах. Нажатием SEL выбирается нужная переменная для редактирования(начинает мигать значение переменной), стрелками вверх-вниз изменяем значение, ОК - ввод нового значения с окончанием редактирования, SEL - ввод нового значения и переход к редактированию следующей переменной.
Ну так вот я и спрашиваю, как это делать...
Вот так правильно?
46883
Наименование параметра на дисплее будет совпадать с именем переменной? Или можно на дисплее задавать своё и устанавливать связь каким-то образом?
И с каким шагом будет меняться значение с кнопочек? Можно ли этот шаг задавать?
P.s. Что-то пока ничего не получилось. Нажимаю SEL, но ничего не происходит. Видимо надо что-то в менеджере экрана ещё прописать?
Сергей0308
27.01.2020, 20:20
Вот так правильно?
46883
Наименование параметра на дисплее будет совпадать с именем переменной? Или можно на дисплее задавать своё и устанавливать связь каким-то образом?
И с каким шагом будет меняться значение с кнопочек? Можно ли этот шаг задавать?
P.s. Что-то пока ничего не получилось. Нажимаю SEL, но ничего не происходит. Видимо надо что-то в менеджере экрана ещё прописать?
Я как-то так это вижу:
46884
46886
46885
И поймите здесь ясновидящих нет, я конечно могу гипотезы выдвигать, что Вы там натворили, но лучше проект!
Не получалось вызвать на экран параметр кнопкой SEL потому что я сделал два экрана - один для вывода параметров (Экран1), другой для ввода (Экран2). При включении ПР выводится первый экран с выходными значениями. Я думал, что нажимая SEL появится второй экран с изменяемыми параметрами. Но нет, ничего не происходит. SEL работает только если я изменяемый параметр вывожу на первый экран дополнительной строкой.
Вопрос - а как сделать два экрана как я хотел первоначально, один для вывода значений, другой для ввода? Как вообще вызывать на дисплей второй экран?
Сергей0308
28.01.2020, 18:17
Не получалось вызвать на экран параметр кнопкой SEL потому что я сделал два экрана - один для вывода параметров (Экран1), другой для ввода (Экран2). При включении ПР выводится первый экран с выходными значениями. Я думал, что нажимая SEL появится второй экран с изменяемыми параметрами. Но нет, ничего не происходит. SEL работает только если я изменяемый параметр вывожу на первый экран дополнительной строкой.
Вопрос - а как сделать два экрана как я хотел первоначально, один для вывода значений, другой для ввода? Как вообще вызывать на дисплей второй экран?
Надо переход сделать на второй экран, либо нажатием кнопок, либо из программы!
Примерно как-то так:
46902
И обратный переход:
46903
46901
Надо переход сделать на второй экран, либо нажатием кнопок, либо из программы!
Примерно как-то так:
46902
И обратный переход!
46901
Ух ты... спасибо, буду разбираться.
А что такое "Безусловный переход"? Если я от экрана 1 перехожу к экрану 2 кнопкой SEL, могу я обратный переход сделать автоматическим через какое-то время? Это и есть "безусловный переход"?
Сергей0308
28.01.2020, 19:16
А что такое "Безусловный переход"? Если я от экрана 1 перехожу к экрану 2 кнопкой SEL, могу я обратный переход сделать автоматическим через какое-то время? Это и есть "безусловный переход"?
Боюсь так не получится, чтобы сделать обратный переход по времени, надо в программе получить сигнал начала отсчёта времени задержки перехода, по нажатию-отпусканию кнопок этого нельзя сделать, в программе нельзя получить сигнал нажатия кнопок.
Там же десятки разных вариантов, возьмите любой, что можно сделать, зачем там что-то мудрить?!
Боюсь так не получится, чтобы сделать обратный переход по времени, надо в программе получить сигнал начала отсчёта времени задержки перехода, по нажатию-отпусканию кнопок этого нельзя сделать, в программе нельзя получить сигнал нажатия кнопок.
Там же десятки разных вариантов, возьмите любой, что можно сделать, зачем там что-то мудрить?!
Да, действительно. Если выбрать "Безусловный переход" для обратного перехода на первый экран со второго, то второй экран вообще не открывается (а должен открываться по кнопке SEL с первого экрана). Пришлось возврат на первый экран сделать по кнопке ESC.
В инструкции про этот "безусловный переход" как-то не внятно написано:
ПРИМЕЧАНИЕ
Безусловный переход служит для настройки перехода, если ни одно из событий или изменений значения переменной не происходит, например, для перехода на экран аварий.
У меня создалось впечатление, что это автоматический возврат, если никакие кнопки не нажимать.
Ревака Юрий
29.01.2020, 17:41
"безусловный переход" это как просто линия в логике, не очень представляю зачем этот переход нужен.
Сергей0308
29.01.2020, 18:49
Да, действительно. Если выбрать "Безусловный переход" для обратного перехода на первый экран со второго, то второй экран вообще не открывается (а должен открываться по кнопке SEL с первого экрана). Пришлось возврат на первый экран сделать по кнопке ESC.
В инструкции про этот "безусловный переход" как-то не внятно написано:
ПРИМЕЧАНИЕ
Безусловный переход служит для настройки перехода, если ни одно из событий или изменений значения переменной не происходит, например, для перехода на экран аварий.
У меня создалось впечатление, что это автоматический возврат, если никакие кнопки не нажимать.
Непонятно чем Вас например такое не устраивает:
46945
Переходы по удержанию кнопок вниз-вверх!
Можно конечно сделать обратный переход примерно как Вы хотели(насколько смог понять), например: по изменению любой из переменных на втором экране начинает отсчитываться задержка перехода, допустим 30 секунд, по её истечении - обратный переход на 1 экран, если до истечения времени ещё произошло изменение любой переменной на 2 экране, время задержки перехода отсчитывается заново! Здесь главное не забыть, как обратный переход сделать, иначе можно в "капкан" попасть! Если по ошибке зашли и ничего менять не нужно, для выхода меняете переменную туда-сюда и ждём 30 секунд! И в одной из тем обсуждалось как определить равенство-неравенство вещественной переменной, короче, это делается с неким допуском, если сказать кратко!
Да нет, меня всё устраивает. Просто разбираюсь потихонечку.
Отчитываюсь на всякий случай.
Заменил нагревающий кабель на карбоновый, сделал радиаторные панели, чтобы кабель не проплавил термоизоляцию (температура кабеля при максимальной температуре в ящике (+60С) достигает 150С), и теперь всё работает в лучшем виде!
47489
Здравствуйте. Сделал автоматический возврат на главный экран по аналогии с Watch_Dog таймером в прерываниях, как у обычных микросхем микроконтроллеров. Реализовано на Blink генераторе, где каждые 30 секунд происходит запись в переменную и соответственно автовозврат к главному экрану по таймеру при Q=1. Длительность единицы 0.1 секунда, длительность нолика 30 секунд. При Q=0 можно менять уставки с клавиатуры, если это требуется.
Здравствуйте. Сделал автоматический возврат на главный экран по аналогии с Watch_Dog таймером в прерываниях, как у обычных микросхем микроконтроллеров. Реализовано на Blink генераторе, где каждые 30 секунд происходит запись в переменную и соответственно автовозврат к главному экрану по таймеру при Q=1. Длительность единицы 0.1 секунда, длительность нолика 30 секунд. При Q=0 можно менять уставки с клавиатуры, если это требуется.
Вы бы скинули бы программу или скрин, не очень понятно, как реализовали автовозврат, если не нажата ни одна кнопка на ПР200.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot