PDA

Просмотр полной версии : Создание экранов в Пр200



jura656
04.03.2016, 15:26
Пришлось в проекте использовать ПР200 раньше только ПР110.Основную программу создать удалось быстро.
Все уперлось в создание экранов из которых нужно вводить разные параметры.
Инструкция по эксплуатации ПР200 отправляет к описанию Овен Лоджик а там об этом молчок..
Обратился в техподдержку Овена обещали создать новую инструкцию только в апреле и то в конце.
Вообще у Овена с документацией полный дурдом. Ошибок полно и в тех приборах которые уже давно выпускаются!
Пытался работать методом "Научного тыка" частично разобрался, но не до конца, жалко времени. Например таблица переменных для созданная в основной программе не признается при создании экранов переменные одни и те же. Просто часть переменных просто игнорируется.
Подскажите где можно посмотреть пример работы по созданию экранов. Нужно то всего вводить некоторые уставки в основную программу.

jura656
09.03.2016, 16:55
Все кажется для кого-то просто но вот ничего не получается. Список переходов между экранами не запоминается. Переменные объявленные в основной программе не привязываются к переменным которые вводятся с экрана. Экраны и программа живут сами по себе. Может есть где-то на форуме пример работы с экранами? При работе с экранами некоторые функции программа не делает, например не задается тип переменной остается по умолчанию. Еще не могу понять как проверить работу в ОЛ с экранами. Вообще может проблемы в самой ОЛ?

rovki
09.03.2016, 17:05
Какая версия ОЛ

Бинкевич Игорь
09.03.2016, 18:18
Проблема заключается в том, что переключение экранов происходит только по изменению привязанных к экранам переменных, я делаю так как на рисунке, может не правильно, но это работает.

jura656
11.03.2016, 11:08
Версия ОЛ 1.8.6 build 117 beta Как начинаешь работать с экранами постоянные глюки или вообще вываливается. Причем это на 2х разных компах с разными операционками. Даже не могу изменить тип переменной. Жаль что у ПР200 закрытая архитектура так бы можно написать в ассемблере я его предпочитаю.

Бинкевич Игорь
11.03.2016, 13:28
Как писалось выше, переключайте экран стробирующим импульсом (DTRIG/FTRIG) по нужному Вам событию, нет никаких проблем…

jura656
13.03.2016, 14:22
Возможно работать с экранами в эмуляторе? Необходимо вводить данные с экранов и считывать данные из программы.

rovki
13.03.2016, 14:36
Нет........

stesel
15.03.2016, 01:53
Вопрос-пожелание к разработчикам:
Есть несколько экранов, на каждом выводится динамический текст, это для того что бы длинное название параметра прокручивалось. Смена динамического текста привязана к переменной - состояния 0,1,2. Допустим находимся на экране 1, и при этом выводится динамический текст в соответствии с состоянием переменной = 1 или 2, переходим на другой экран, а там текст, соответственно, прокручивается не сначала. Версия ОЛ 1.8.6 build 117 beta
Как бы обнулять эту переменную? Ну или переключать текст по изменению переменной, как это сделано для экранов?

flicker581
15.03.2016, 23:51
Вопрос-пожелание к разработчикам:
Есть несколько экранов, на каждом выводится динамический текст, это для того что бы длинное название параметра прокручивалось. Смена динамического текста привязана к переменной - состояния 0,1,2. Допустим находимся на экране 1, и при этом выводится динамический текст в соответствии с состоянием переменной = 1 или 2, переходим на другой экран, а там текст, соответственно, прокручивается не сначала. Версия ОЛ 1.8.6 build 117 beta
Как бы обнулять эту переменную? Ну или переключать текст по изменению переменной, как это сделано для экранов?

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

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

stesel
16.03.2016, 02:52
Не совсем то. С экранами конечно через год всё реализую, но не вариант. Смена экрана есть по изменению булевой переменной, а если бы можно было динамический текст двигать так же по изменению переменной, было бы как надо. Тут у меня сразу вопрос, в элементах управления есть "ComboBox" и есть "Динамический текст" - В чем собственно разница?
Попробую теперь по порядку про свои задачи:
1. Сделал вычисление дня недели, вывожу дату, время и день недели используя "ComboBox" (так же пробовал "Динамический текст").
Здесь всё отлично, всё работает.
2. Теперь дальше, есть куча настроек, хочу описать каждый параметр, соответственно на экране не убирается.
Завел переменную "Х"- изменяется от 0 до 2 раз в 1сек.
В экране на одной строке вывел значение параметра, на второй поставил "Динамический текст", написал несколько строк описания, которые меняются вместе с переменной "Х".
Всё вроде хорошо, но вот только при переходе на экран, "Динамический текст" выводится не с самого начала, а как повезет, в зависимости от состояния переменной "Х".
Вот тут и напрашивается что бы "Динамический текст" работал по изменению булевой переменной, не нужно будет кучу строк забивать, просто вводим длинную строку и двигаем по изменению этой переменной. Хочется сказать, ребята программисты ОЛ, загляните что ли в альтернативные продукты, особенно забугорные.

flicker581
16.03.2016, 09:25
Тут у меня сразу вопрос, в элементах управления есть "ComboBox" и есть "Динамический текст" - В чем собственно разница?


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

stesel
16.03.2016, 14:09
Разницы, как ни странно, никакой. Но динамический текст только для чтения, а комбо-бокс ещё и для редактирования переменных. В других типах данных то же самое делает галочка "Редактируемо".
Ух ты, так тогда через комбо-бокс всё-таки есть какая-никакая обратная связь, оказывается можно менять переменную в проекте через него. Это совсем неплохо.

Pavel_
18.03.2016, 00:03
Ух ты, так тогда через комбо-бокс всё-таки есть какая-никакая обратная связь, оказывается можно менять переменную в проекте через него.
http://www.owen.ru/forum/showthread.php?t=9398&p=200196&viewfull=1#post200196

Алексей Геннадьевич
22.03.2016, 19:21
Вопрос к разработчикам: когда "заглушки" на условиях перехода поменяете на что-то более приемлемое? Неудобно же.

stesel
22.03.2016, 21:10
Вопрос к разработчикам: когда "заглушки" на условиях перехода поменяете на что-то более приемлемое? Неудобно же.

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

nameless
23.03.2016, 18:03
Скажите, пожалуйста, а есть где более подробно почитать про работу с экранами?

Павел Братковский
24.03.2016, 08:47
как токовой инструкции нет, форум вопросы....

nameless
24.03.2016, 11:34
Жаль. Не хотелось задавать совсем идиотские вопросы, но, похоже придется. Задача пока самая элементарная, как мне кажется. Есть ПР200 (будет, я надеюсь, в апреле :) ). Есть датчик температуры и влажности. Эта связка должна контролировать температуру и влажность. Во-первых, необходимо отображать на экране текущие значения температуры и влажности. Во-вторых, желательно иметь возможность с экрана менять значения уставок температуры и влажности. Программу терморегулятора содрал из Вводного курса по программирвоанию ПР (она аналогична алгоритму в ТРМ1).

Из того, что я понял, потыкавшись по ОЛ, для вывода информации на экран, в программе необходима соответствующая переменная. Значения уставки и сигнала с датчика в моем случае представлены как вещественное число (в примере так было :)). Вещественые переменные, как я понял, на экране может отображать элемент управления экрана int/float. Т.е, получается, что в программе я создаю блок выходной переменной и напрямую соединяю его со входом датчика? Или нужны какие-то дополнительные промежуточные блоки/функции между входом датчика и переменной? Далее, на экране я создаю блок int/float и привязываю его к созданной ранее переменной. Так?

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

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

Павел Братковский
24.03.2016, 13:24
все что вы хотите в принципе делается..........уставку можно менять, сделать входящую сетевую переменную и менять, исходящую менять нельзя.....под простые задачи ни че так экран, под что то по серьезней сырой он еще у ПР200......

nameless
24.03.2016, 14:26
Спасибо за ответ. А по поводу того, как это делается - я прав или нет? Хотя бы насчет отображения текущих значений с датчика?

Алексей Геннадьевич
24.03.2016, 18:11
Спасибо за ответ. А по поводу того, как это делается - я прав или нет? Хотя бы насчет отображения текущих значений с датчика?
Просто скачайте любую программу работающую с ПР200, и посмотрите.
Можете и показания с датчиков, внутренних счётчиков, всего, что запрограмируете. Больше чем на 20-30 экранов замахиваться не стоит...

nameless
24.03.2016, 18:26
Опять вынужден извиняться. Есть где-то склад готовых решений или по форуму искать?

аскар
24.03.2016, 19:38
посмотрите вот такой пример http://www.owen.ru/forum/attachment.php?attachmentid=23197&d=1458272290

nameless
29.03.2016, 12:21
посмотрите вот такой пример http://www.owen.ru/forum/attachment.php?attachmentid=23197&d=1458272290

Спасибо!

Посмотрел. Долго смотрел в книгу и видел фигу. Ну и до сих пор фигу вижу :) Почему ни один функциональный блок не подключен ни к одному входу, так и не понял... Откуда берутся значения t1, t2, t3 ...? Если где-то есть подробное описание алгоритма работы этого регулятора, то я бы с удовольствием почитал. Если нет, и если Вас не затруднит, то не могли бы вы описать?

Для наглдядности я сваял небольшой пример, как я представляю себе отображение информаци с датчика на экране и изменения значения уставок. На первом экране отображается информация с датчика. Для этого в схеме создаю отдельную выходную переменную - "Значение температуры", тип - с плавающей запятой, соединяю ее напрямую с датчиком. В менеджере экранов выбираю блок int/float. В этом блоке отображаю значение переменной "Значение температуры".

Чтобы менять значения уставок, в схеме создаю блоки входных переменых "Уставка температуры", "Гистерезис температуры". Тип переменных "целочисленное". Преобразовываю их в значения с плавающей запятой и полученное переменные подаю на необходимые функциональные блоки. В менеджере экранов опять выбираю блок int/float, в котором отображаю значения переменных "Уставка температуры" и "Гистерезис температуры". Будет работать?

аскар
29.03.2016, 12:46
t1....t7 берутся из МВ8а модуля ввода аналоговых сигналов, ну а с экраном вы сами разобрались

Pavel_
29.03.2016, 14:50
В менеджере экранов выбираю блок int/float. В этом блоке отображаю значение переменной "Значение температуры".
....
В менеджере экранов опять выбираю блок int/float, в котором отображаю значения переменных "Уставка температуры" и "Гистерезис температуры".
Будет работать?
Только если блоки int/float (а точнее сказать элементы управления) привязаны к соответствующим переменным...
Свойства > Параметры > Переменная (указать нужную).

Простенькие примеры по работе с экранами можно посмотреть в теме "макросы для ПР200. (http://www.owen.ru/forum/showthread.php?t=23201&page=2)"

Алексей Геннадьевич
13.04.2016, 19:26
1)Прошу сделать один метод перехода к определённым пользователем экранам.
Переход осуществляется при установке и удержании переменной в состоянии лог "1" с любого экрана. При установке переменной в лог "0" возвращается на предыдущий экран.
Да, вы всё правильно поняли - экран аварии.

2) Сделать более удобную мнемосхему для работы с экранами, например такую.
23864
А ещё лучше: сделать похожей на это:
https://www.youtube.com/watch?feature=player_embedded&v=bskYLF5kgd8

Netmas
30.06.2017, 16:52
Здравствуйте! Хочу задать разработчикам овен логик, почему при создании экранов и редактировании, немогу копировать экраны и перенести в другой проект, далее не могу найти сетку основной программы где создавать связи, начал с экранов создал их 17 штук и надписи, а теперь не получается ни зайти , ни скопировать! Далее при записи в ПР-200 показывает сообщение и прогу не записывает в ПР-200318993190031901 И вообще может сделать кнопочку вернуть по умолчанию оболочку овен лоджика в номальное состояние, так как иногда что то закроешь и потом открыть сложно нужные окна или вылезут из окон элементы и т.д. Далее была такая ситуация когда при подключении ПР-200 к компу, после выбора порта в моем случае СОМ3 началось интересная фигня то подключиться прибор Пр-200 то выключиться , то опять подключиться , то отключиться от СОМ интерфейса! Вот решил новой линейкой програм. реле заняться и первый блин комом, да и описаний нормальных нет, всё методом тыка! Хоть ROVKI кричать о помощи в утопающем в ошибках и глюках:) Онлайн скрипты тоже не очень удобны, нужно адобе установить , где то нужно скачивать по ссылке и т.д.

Василий Кашуба
01.07.2017, 00:28
Здравствуйте! Хочу задать разработчикам овен логик, почему при создании экранов и редактировании, немогу копировать экраны и перенести в другой проект, далее не могу найти сетку основной программы где создавать связи, начал с экранов создал их 17 штук и надписи, а теперь не получается ни зайти , ни скопировать! Далее при записи в ПР-200 показывает сообщение и прогу не записывает в ПР-20031899 ...
Эта проблема устраняется легко, смените в настройках платформу ПР.
31907