PDA

Просмотр полной версии : разные вопросы новичка



Страницы : 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15

melky
12.04.2019, 14:05
Алексеев добавлю. Например SET, короткое нажатие это редактирование переменной - нельзя использовать у себя короткие нажатия, но кто-то запрещает в программе использовать длинное ? То есть сесть и подумать, когда кнопки работают в каком-то режиме, использовать их не можем, а когда их использовать можно - вот вам код кнопки. Например удержание SET - код 0хE1 (пример) а для короткого нажатия кода пользователю нет... ибо занято.

Алексеев
12.04.2019, 14:23
Я согласен . Повторюсь если идет редактирование зачем они разрешают использование кнопок в менеджере экранов это же
не допустимо .Я с этим не сталкивался если бы столкнулся обязательно бы написал что это баг .
Разве можно ли что либо менять в менеджере экранов (переходы между экранами т.д.) в процессе редактирования . Мне не понятно ????????????????????

Ревака Юрий
12.04.2019, 15:05
Наверное я не точно выразился, сейчас проверил вверх/вниз все норм, в режиме редактирования не происходит переходов, но на SEL будет переход.

Алексеев
12.04.2019, 15:36
SEL это допустимо теперь буду знать что использовать кнопку SEL можно будет если на экранах нет переменных для редактирования .
Спасибо .

melky
13.04.2019, 00:18
бьюсь над алгоритмом, получается какая-то фигня скучей таймеров и прочей фигни.
Есть битовая маска управляющих выходов. Если 1, оборудование должно быть включено, 0 - выключено. Есть обратная связь "включилось" и "авария"
Надо. При сигнале включись замкнуть выход, если за некий промежуток не пришол сигнал "включилось", разомкнуть выход, выждать, снова замкнуть выход, ждать сигнала "включилось" и так 3 попытки.

Сигналы "авария" всю битовую маску взыодят в 1, то есть идет команда всключить все, алгоритм, описанный выше действует для каждого выхода.
Если все выходы не не получили сигнала "включилось" сформировать аварию.

petera
13.04.2019, 06:38
бьюсь над алгоритмом, получается какая-то фигня скучей таймеров и прочей фигни.
Есть битовая маска управляющих выходов. Если 1, оборудование должно быть включено, 0 - выключено. Есть обратная связь "включилось" и "авария"
Надо. При сигнале включись замкнуть выход, если за некий промежуток не пришол сигнал "включилось", разомкнуть выход, выждать, снова замкнуть выход, ждать сигнала "включилось" и так 3 попытки.

Сигналы "авария" всю битовую маску взыодят в 1, то есть идет команда всключить все, алгоритм, описанный выше действует для каждого выхода.
Если все выходы не не получили сигнала "включилось" сформировать аварию.

42257

Для управления выходами используется макрос
42258

Промежутки времени ожидания сигнала обратной связи и ожидания между попытками - настройки блинка

Т.к. ничего не сказано про то, что делать с выходом если после третьей попытки нет обратной связи о включении выхода, то сделал два выхода
Вкл-А - если после третьей попытки нет обратной связи, то сигнала нет
Вкл_Б - если после третьей попытки нет обратной связи, то сигнала остается включенным.

ЗЫ.


Сигналы "авария" всю битовую маску взыодят в 1, то есть идет команда всключить все
этот фрагмент не делал
Просто перед UNPAC8 (где маска распаковывается) добавить OR на входы которого
- маска
- через SEL(упр АВАРИЯ) 00hex и FFhex

и в фразе

Если все выходы не не получили сигнала "включилось" сформировать авариюполагаю под словом "все" подразумеваются те, у которых есть запрос на включение

Сергей0308
13.04.2019, 15:57
бьюсь над алгоритмом, получается какая-то фигня скучей таймеров и прочей фигни.
Есть битовая маска управляющих выходов. Если 1, оборудование должно быть включено, 0 - выключено. Есть обратная связь "включилось" и "авария"
Надо. При сигнале включись замкнуть выход, если за некий промежуток не пришол сигнал "включилось", разомкнуть выход, выждать, снова замкнуть выход, ждать сигнала "включилось" и так 3 попытки.

Сигналы "авария" всю битовую маску взыодят в 1, то есть идет команда всключить все, алгоритм, описанный выше действует для каждого выхода.
Если все выходы не не получили сигнала "включилось" сформировать аварию.

Допустим пришёл сигнал "включилось", я так понимаю "выход надо размыкать"(соответствующий бит в битовой маске перевести в "0")?
И я правильно понял, если авария, то "замыкаются все выходы", кроме того на котором авария сработала, или и его ещё кружок прогнать надо?
И если, после успешного запуска, в процессе работы пропал сигнал "включилось", что должно произойти?
Например:
1. Продолжается запуск с оставшимися попытками при запуске.
2. Продолжается запуск, количество попыток запуска сбрасывается командой "включилось".
3. Авария.
Такое впечатление, что Вы сами ещё до конца не придумали!

Виталий_khv
14.04.2019, 06:39
Доброго времени суток.
Создал проект, управляю несколькими устройствами.
Каждому устройству есть ряд настроек, в том числе и возможность активации/деактивации.
Для каждого устройства создал свой экран настроек, в менеджере экранов.

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

2. Можно ли настроить, что если кнопки неактивны в течении установленного периода времени, мы переходим, н.р. на главный экран ?

Ревака Юрий
14.04.2019, 09:29
Не уверен, что получится, можно скрывать пункты меню, если использовать переменные в координатах, и на этом принципе строить переходы.
По 2 пункту, наверное можно использовать таймер который будет запускаться по переменной и после того как отработает, изменит переменную битовую, которую необходимо использовать в переходах.

Виталий_khv
14.04.2019, 10:43
Не уверен, что получится, можно скрывать пункты меню, если использовать переменные в координатах, и на этом принципе строить переходы.
По 2 пункту, наверное можно использовать таймер который будет запускаться по переменной и после того как отработает, изменит переменную битовую, которую необходимо использовать в переходах.

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

Ревака Юрий
14.04.2019, 12:24
- Не совсем понятен принцип строить переходы на переменных в координатах, можно как то раскрыть тему.
- Про таймер думал, тут появляется небольшой казус. К примеру, пользователь переходит по пунктам меню, изучая его, как вдруг его по сработавшему таймеру выкидывает в главное меню :)
И опять же, как определить на каком экране мы находимся на данный момент, если не имеем возможность получать информацию о состоянии кнопок.

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

Виталий_khv
14.04.2019, 16:30
Да, есть сложности, поэтому сильно усложнять меню, я бы не стал. Я не знаю насколько сложный у Вас алгоритм, но пролистать все экраны по кольцу, с выходом из любого по ESC, если не нужно выводить, просто скрыть пункты.

Спасибо, Юрий.
Ответ принял.
Еще уточнение, при переходе на экран по условию изменения переменной, переход будет осуществляться всегда, не зависимо на каком экране находились до этого ?
И если изменения переменной больше не происходят, то тоже остается на данном экране ?
И вообще какой алгоритм по изменению переменной, изменение относительно чего, какого значения ?

Ревака Юрий
14.04.2019, 17:21
Спасибо, Юрий.
Ответ принял.
Еще уточнение, при переходе на экран по условию изменения переменной, переход будет осуществляться всегда, не зависимо на каком экране находились до этого ?


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



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

Если уже перешли, и нет других условий, то да останется, если по этой же переменной будет еще переход на другой экран, перейдем дальше, или вернемся назад, зависит от того что запрограммируем. По переходам и его механизму есть немного с примером в видеоролике https://www.owen.ru/forum/showthread.php?t=28579&p=301942&viewfull=1#post301942, при обрыве связи как раз осуществляется переход на другой экран, при восстановлении возврат обратно, и параллельно можно выйти по ESC. В описании есть исходник, там-же обратите внимание как управлять переменной для перехода, там специфический узел.

melky
14.04.2019, 17:44
Допустим пришёл сигнал "включилось", я так понимаю "выход надо размыкать"(соответствующий бит в битовой маске перевести в "0")?
И я правильно понял, если авария, то "замыкаются все выходы", кроме того на котором авария сработала, или и его ещё кружок прогнать надо?
И если, после успешного запуска, в процессе работы пропал сигнал "включилось", что должно произойти?
Например:
1. Продолжается запуск с оставшимися попытками при запуске.
2. Продолжается запуск, количество попыток запуска сбрасывается командой "включилось".
3. Авария.
Такое впечатление, что Вы сами ещё до конца не придумали!

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

Вариант petera еще не пробовал, но визуально он несколько проще, чем то, что получилось у меня.

Сергей0308
14.04.2019, 18:21
Не, бит размыкать не надо, просто часть программы уже есть давно и менять что либо не хотелось (сложно там с битами играться) из-за алгоритма. Если бы с битами играться надо было либы, я бы макрос ротации насосов AI! использовал бы. Тут немного проще, биты выставляют рабочие устройства, кондюки, но вот способ их включения имеет некоторый свой алгоритм, ну и кондюк в ответ выдает свое состояние о включении. По этому мне и надо бит удерживать включенным. А если есть ошибка, то просто все биты поднимаю в 1 и все. А вот для мониторинга состояния требуется обратная связь, но и немного для аогоритма.

Вариант petera еще не пробовал, но визуально он несколько проще, чем то, что получилось у меня.

У вас допускается в случае аварии взводить не сразу все биты, а по одному? Тем более если всё будет идти без проблем, то займёт это несколько десятков миллисекунд, не заметишь невооружённым глазом! Тогда циклически можно взводить по одному биту и объём программы при 16 битах может сократится до 16 раз, каждый цикл(несколько циклов) меняется только номер взводимого бита!
И насчёт битов не парьтесь, сделайте для дискретного выхода или булевой переменной, это в принципе тоже самое, название только разное!
Здесь в посте 403 есть авария включенных насосов: https://www.owen.ru/forum/showthread.php?t=12691&page=41

42274

Мне кажется на её основе, с небольшими дополнениями, можно сделать аварию для вашего применения!

melky
14.04.2019, 18:30
блин, да биты у меня меняются по кругу, в зависимости от времени (вывод резервного кондюка из работы). Там другое, чтобы кондей запустить надо вот такую комбинацию проделывать по алгоритму. То есть замыкать выход, ждать обратной связи, если не пришла, размыкать и по новой, если за несколько попыток не запустился, то авария...
Смысл при этом дергать биты, которые и тау выставлены как положено ?
А учитывая, что режим N+1 достаточно все биты в 1 поднять и сообщить об аварии. (мало ли, может там автомат выбило), я их не контролирую, только по обратной связи от кондюка косвенно.

Задача банальна, заменить СРК-Д, используя ПР200, так как СРК не умеет больше 3-х кондеев и не умеет блокировать резервный кондей при определенных условиях (например пропажа питания и работа кондеев от ИБП)

Сергей0308
14.04.2019, 18:54
блин, да биты у меня меняются по кругу, в зависимости от времени (вывод резервного кондюка из работы). Там другое, чтобы кондей запустить надо вот такую комбинацию проделывать по алгоритму. То есть замыкать выход, ждать обратной связи, если не пришла, размыкать и по новой, если за несколько попыток не запустился, то авария...
Смысл при этом дергать биты, которые и тау выставлены как положено ?
А учитывая, что режим N+1 достаточно все биты в 1 поднять и сообщить об аварии. (мало ли, может там автомат выбило), я их не контролирую, только по обратной связи от кондюка косвенно.

Задача банальна, заменить СРК-Д, используя ПР200, так как СРК не умеет больше 3-х кондеев и не умеет блокировать резервный кондей при определенных условиях (например пропажа питания и работа кондеев от ИБП)

Это абсолютно не важно как они там должны меняться! Вот Вы наверно часы имеете(имели) с динамической индикацией, для упрощения конструкции одноимённые сегменты(a-h) всех разрядов связаны и одновременно в любой момент времени высвечивается один разряд, но так как это происходит очень быстро, мы видим все разряды! Я нечто подобное хотел предложить, надеюсь понятно объяснил, а какой там алгоритм работы, это дело третье!
Посмотрите проект в посте 511, там 32 уставки, в любой момент времени(в любой цикл программы) обрабатывается одна из уставок, так как это происходит достаточно быстро, кажется что уставки сравниваются паралейно, но это не так они последовательно сравниваются и обрабатываются, в результате кроме самих уставок, всё остальное для них общее, количество элементов сравнения и других блоков сократили во много раз(до 32): https://www.owen.ru/forum/showthread.php?t=12691&page=52
Здесь проект в посте 4559 ещё больше вам подходит: https://www.owen.ru/forum/showthread.php?t=9398&page=456
И, наверно приходится повторятся, рассматривайте биты, как отдельные, не связанные между собой элементы, ну и что что Вы их в одну переменную загоняете, мы тоже вот с США на одной планете находимся, но у нас мало общего! Вы это оцениваете, как я понимаю, как собаку, которую за хвост дёргают!

игорь68
17.04.2019, 08:11
Добрый день. Возник вопрос по переходу между экранами по времени. Как мы знаем у буржуем на многих plc при работе с меню если в течении какова то времени не нажимают кнопки то plc переходит в "Главный экран"меню. Как это сделать у ПР.Например. Я зашёл из "главного"экрана в экран "уставка" и поменял переменную. Сделал "запись" этой переменной. Теперь что бы вернуться в "главный экран" мне нужно перейти туда "ручками нажимая кнопку". Хочу это "упростить". Например если я не трогать кнопки ПР в течении минуты то ПР само сделает переход в "главное меню".

Алексеев
17.04.2019, 08:18
Только по изменению переменной .
А изменять переменную вы можете по любому условию .
Например изменилась переменная или по времени только синхронизировать сложно
допустим с экраном на который вы перешли .Для надежности всегда передаю импульсы
для перехода с не нужного экрана использую Блинк (генератор) .

Van0lik
17.04.2019, 13:22
Добрый день!
К ПР-200 подключен МВ-110, а сам ПР-200 подключено к OwenCloud через шлюз ПЕ-210
Подскажите пожалуйста можно как то вывести значения с входов МВ-110 через ПР-200 в OwenCloud.
Спасибо!

Алексеев
17.04.2019, 14:06
Вы Сами подключали ПР200 к OwenCloud . ??????????????????
Если ДА то организуйте дополнительно сетевые переменные и выводите .
Перебросом через ПР200 . У Вас наверняка МВ-110 подключен к ПР200 через RS485 RTU .
ПР200 мастер ------------ МВ-110 подчиненный . В Пр200 два RS485 .

Van0lik
18.04.2019, 03:31
Спасибо за ответ!
Разобрался, элементарно просто надо было бросить связь между двумя переменными.
Только начинаю осваивать среду программирования OWEN Logic :)

Сергей0308
18.04.2019, 08:18
Спасибо за ответ!
Разобрался, элементарно просто надо было бросить связь между двумя переменными.
Только начинаю осваивать среду программирования OWEN Logic :)

Насколько мне известно, в ПР200 регистры общие для обеих интерфейсов, вот не так давно обсуждали: https://www.owen.ru/forum/showthread.php?t=30600

Алексеев
18.04.2019, 09:58
Иногда удобней разъединить регистры Мастера и Подчиненного если позволяет количество регистров в ПР200

Сергей0308
18.04.2019, 19:04
Иногда удобней разъединить регистры Мастера и Подчиненного если позволяет количество регистров в ПР200

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

Алексеев
18.04.2019, 21:43
Задумка очень простая .Для организации группового считывания регистров в режиме SLAVE .
В OwenCloud групповое считывание доступно . И не только в нем но и в любом МОДБАС ОРС сервере.
Просто необходимо разделять переменные обычные и с плавающей запятой по адресному пространству .
Вы давали ссылку у коллеги не получалось https://www.owen.ru/forum/showthread.php?t=30600 .
Я её смотрел давно и поступил как у него получилось .
Разделил и постоянно разделяю ( но и еще уплотняю с целью их уменьшения в режиме Slave) поскольку хватает адресного пространства для сетевых переменных в ПР200 для моих целей. Если не будет хватать буду совмещать .
Мне так удобней.

verpup
22.04.2019, 08:25
помогите найти макрос моточасов (времени наработки) для ОЛ пожалуйста.
поиск выдает только для SCADA (

bayk
22.04.2019, 08:43
Да вам его быстрее самому написать. По сути это счётчик (ctn?? Ол под рукой нет)с включенной энергонезависимостью+блинк выдающий импульсы в той временной размерности, в которой вы хотите считать моточасы.

verpup
22.04.2019, 08:56
спасибо, попробую

Сергей0308
22.04.2019, 09:22
помогите найти макрос моточасов (времени наработки) для ОЛ пожалуйста.
поиск выдает только для SCADA (

Наверно, как-то так:

42391


42392

Ревака Юрий
22.04.2019, 09:29
помогите найти макрос моточасов (времени наработки) для ОЛ пожалуйста.
поиск выдает только для SCADA (

В менеджере компонентов есть, Общие->OperTimer.

Newcomer
22.04.2019, 11:18
Потребовалось скорректировать проект для ПР200. Версия ОЛ, в которой делался проект не сохранилась. При открывания проекта во всех более новых версиях ОЛ среда выдает сообщение. Отредактировать проект в новой версии ОЛ не получается.

Ревака Юрий
22.04.2019, 11:29
Потребовалось скорректировать проект для ПР200. Версия ОЛ, в которой делался проект не сохранилась. При открывания проекта во всех более новых версиях ОЛ среда выдает сообщение. Отредактировать проект в новой версии ОЛ не получается.

А если все таки открыть в той версии в которой делался проект, и пересохранить?

Newcomer
22.04.2019, 12:13
А если все таки открыть в той версии в которой делался проект, и пересохранить?

Я же написал, что нет у меня той версии ОЛ и в архиве на сайте ее нет.

Скорректировал проект в новой версии, краснота исчезла.

Ревака Юрий
22.04.2019, 13:12
Я же написал, что нет у меня той версии ОЛ и в архиве на сайте ее нет.

Скорректировал проект в новой версии, краснота исчезла.

Интересно какой номер этой версии? И что изменили? может это поможет впредь избежать подобной ошибки.

zsm7
23.04.2019, 13:06
Здравствуйте. Помогите реализовать логику 2входа 1 выход: вх1-1 вх2-0 вых-0 , при всех остальных состояний входов вых-1.

Сергей0308
23.04.2019, 13:19
Здравствуйте. Помогите реализовать логику 2входа 1 выход: вх1-1 вх2-0 вых-0 , при всех остальных состояний входов вых-1.

Если это не шутка, Вы не своим делом хотите заняться:

42413

melky
23.04.2019, 13:25
zsm7 по маске сделайте, чтобы при 1 на первом входе был ноль, например банально через SEL можно сделать. Только всю таблицу состояний напишите, при 1-0 и 2-0 тоже выход в 1 ?

Ой блин, точно :) только при 1=0 и 2=0 что ?

zsm7
24.04.2019, 04:47
Извиняюсь за неполное изложение задачи. вх1-физический вход, вх2-сетевой бит. При вх1-1 на выход передается состояние вх2, при вх1-0 на выходе-1. При переходе вх1 из 0 в 1 сбрасываем вх2 в 0.42423 Управление по сети и с физического входа с приоритетом физического входа.

Сергей0308
24.04.2019, 08:24
Извиняюсь за неполное изложение задачи. вх1-физический вход, вх2-сетевой бит. При вх1-1 на выход передается состояние вх2, при вх1-0 на выходе-1. При переходе вх1 из 0 в 1 сбрасываем вх2 в 0.42423 Управление по сети и с физического входа с приоритетом физического входа.

Вы хотите изменять булеву переменную с двух мест, есть соответствующий макрос в менеджере макросов!

Сергей0308
24.04.2019, 09:12
Извиняюсь за неполное изложение задачи. вх1-физический вход, вх2-сетевой бит. При вх1-1 на выход передается состояние вх2, при вх1-0 на выходе-1. При переходе вх1 из 0 в 1 сбрасываем вх2 в 0.42423 Управление по сети и с физического входа с приоритетом физического входа.

Может так?

42429

capzap
24.04.2019, 10:18
Может так?

42429

хотелось бы, возможно еще раз,узнать а как с сетевыми переменными?

Сергей0308
24.04.2019, 11:20
хотелось бы, возможно еще раз,узнать а как с сетевыми переменными?

Если он её(сетевую переменную) чем-то и читает и пишет, то я вижу это как-то так:

42439

Ну и в мастере аналогично можно сделать!

melky
24.04.2019, 11:24
Сергей0308 зачем такие сложности ?, ведь есть же макросы изменения переменной внутренней и сетевой и ваш первый вариант до высказывания capzap. Все куда меньше будет.

Сергей0308
24.04.2019, 11:44
Сергей0308 зачем такие сложности ?, ведь есть же макросы изменения переменной внутренней и сетевой и ваш первый вариант до высказывания capzap. Все куда меньше будет.

Случаи и хотелки бывают разные!
Это Вы ещё у капзапа не смотрели!

capzap
24.04.2019, 11:53
придется в третий раз переозвучивать вопрос, почему через макрос не получается обычная линия на выходе. Содержимое макроса не важно впринципе

Сергей0308
24.04.2019, 12:05
придется в третий раз переозвучивать вопрос, почему через макрос не получается обычная линия на выходе. Содержимое макроса не важно впринципе

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

И, если Вы зациклили внутреннюю переменную(линия пожелтела), сделайте эту переменную энергонезависимой и зацикленность(желтизна) пропадает, не понятно, как овен это объясняет!

И ещё: я обычно разделяю сетевую входную и выходную переменные, примерно так:

42443

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

zsm7
25.04.2019, 05:14
Спасибо за идеи. Остановился на таком варианте 42451.

Сергей0308
25.04.2019, 07:00
Спасибо за идеи. Остановился на таком варианте 42451.

И что, Вы хотите сказать, что такая конструкция работает? Во-первых не плохо было бы определиться, сначала Вы логику прописали(функцию), потом сброс по фронту импульса, это разовое действие, теперь вообще трудно понять, что Вы хотите!

zsm7
25.04.2019, 12:41
В симуляторе работает как я хотел. При вх1=1 на выход=вх2(2bit stat), при вх1=0 выход=1. При переходе вх1 из 0 в 1 выход=0, переход в первоначальное состояние. вх1 имеет всегда приоритет.

Сергей0308
25.04.2019, 13:33
В симуляторе работает как я хотел. При вх1=1 на выход=вх2(2bit stat), при вх1=0 выход=1. При переходе вх1 из 0 в 1 выход=0, переход в первоначальное состояние. вх1 имеет всегда приоритет.

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

Yaslaffff
25.04.2019, 18:23
Приветствую всех! Подскажите, может кто сталкивался, не обновляется OWEN Logic, всплывает окно с предложением обновить, нажимаю кнопку "Установить", программа спрашивает хочу ли я установить Обновление, нажимаю "Да", и все, программа закрывается и ни чего не происходит, в чем может быть проблема?

Ревака Юрий
25.04.2019, 19:22
Приветствую всех! Подскажите, может кто сталкивался, не обновляется OWEN Logic, всплывает окно с предложением обновить, нажимаю кнопку "Установить", программа спрашивает хочу ли я установить Обновление, нажимаю "Да", и все, программа закрывается и ни чего не происходит, в чем может быть проблема?

Добрый день. Возможно просто начинается скачивание, и нужно немного подождать. Или скачать OL самостоятельно, и установить вручную. Скачать можно тут http://ftp-ow.owen.ru/softupdate/OWEN%20Logic/infoOf1_13.html

zsm7
26.04.2019, 05:39
Здравствуйте. ПР200 и СМИ2. В настройках период опроса нужен только что бы получить статус СМИ2 ? Запись по изменению, как только изменилась переменная сразу идет запись в СМИ2 ? А если мастер обслуживает 8 устройств когда произойдет запись?

Ревака Юрий
26.04.2019, 09:06
Здравствуйте. ПР200 и СМИ2. В настройках период опроса нужен только что бы получить статус СМИ2 ? Запись по изменению, как только изменилась переменная сразу идет запись в СМИ2 ? А если мастер обслуживает 8 устройств когда произойдет запись?

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

Yaslaffff
26.04.2019, 17:44
Добрый день. Возможно просто начинается скачивание, и нужно немного подождать. Или скачать OL самостоятельно, и установить вручную. Скачать можно тут http://ftp-ow.owen.ru/softupdate/OWEN%20Logic/infoOf1_13.html
Ждал, не помогло, скачал с ftp-сервера и так установил, спасибо!!!

Алексеев
08.05.2019, 08:44
Темы подходящей не нашел решил задать здесь .
Для отладки большого макроса использую переменные . 42602 Но возник вопрос .
Для того чтобы их использовать для симуляции их необходимо сделать энерго независимыми
А с обычными такой номер не проходит .
Я понимаю переменная на вход требует чтобы в неё была запись ( или с экрана ) это логично а энерго независимой всё равно ?????.
Но почему если переменная на запись не ведет себя как переменная обычная энергонезависимая в симуляторе ??????

Не удобно их необходимо делать энергонезависимыми , а потом возвращать и необходимо об этом помнить .

Это специально сделано или это ФИЧ ????????????????????

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

Сергей0308
09.05.2019, 02:23
Темы подходящей не нашел решил задать здесь .
Для отладки большого макроса использую переменные . 42602 Но возник вопрос .
Для того чтобы их использовать для симуляции их необходимо сделать энерго независимыми
А с обычными такой номер не проходит .
Я понимаю переменная на вход требует чтобы в неё была запись ( или с экрана ) это логично а энерго независимой всё равно ?????.
Но почему если переменная на запись не ведет себя как переменная обычная энергонезависимая в симуляторе ??????

Не удобно их необходимо делать энергонезависимыми , а потом возвращать и необходимо об этом помнить .

Это специально сделано или это ФИЧ ????????????????????

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

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

Алексеев
13.05.2019, 19:29
Вопрос к модераторам . Первый Для того чтобы симулировать большой макрос с помощью переменных
необходимо их все перевести в энергонезависимые не могу понять почему ???? Это так задумано ????
Чем отличаются эти два типа переменных в симуляторе?????42684
Второй Энергонезависимой переменной все равно что в неё не происходит запись .
А энерго зависимой не все равно дает ошибку почему?????????

Приходится все переменные переводить в энерго - независимые чтобы симулировать макрос ( Макрос допилен) .
Не удобно . Для симулятора мне кажется все равно .

Алексеев
13.05.2019, 19:34
Вот не разу не сталкивался с подобным! А что мешает макрос доделать, чтобы переменные в воздухе не висели, тем более в макросе почти сколько угодно можно "аналоговых" входов-выходов приделать!

Я Вот столкнулся и не могу понять это ФИЧ или БАГ ???????
Макрос доделан но требуется симуляция для проверки.
Было бы не плохо проводить проверку по желанию или убирать проверку если требуется .

Или городить кучу различных элементов чтобы все работало .
Хотя для программистов ОЛ это элементарно сделать .

Запустил ОЛ галочка стоит по умолчанию на проверку .
Убрал работаешь без проблем .
Запустил снова опять стоит и проверяет т.д.

Ревака Юрий
13.05.2019, 19:37
Вопрос к модераторам . Первый Для того чтобы симулировать большой макрос с помощью переменных
необходимо их все перевести в энергонезависимые не могу понять почему ???? Это так задумано ????
Чем отличаются эти два типа переменных в симуляторе?????42684
Второй Энергонезависимой переменной все равно что в неё не происходит запись .
А энерго зависимой не все равно дает ошибку почему?????????

Приходится все переменные переводить в энерго - независимые чтобы симулировать макрос ( Макрос допилен) .
Не удобно . Для симулятора мне кажется все равно .

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

Алексеев
13.05.2019, 20:22
Ответ первый, макрос можно симулировать открыв его, тогда нет необходимости делать его выходы энергонезависимыми.
Ответ второй, для того что-бы не делать выходы энергонезависимыми, необходимо что-бы выходы были назначены в логике, например на выходы или переменные на экране.

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

Ревака Юрий
13.05.2019, 20:30
Это понятно про макрос . Но проект будет состоять из примерно пяти больших макросов .
Экраны еще не созданы и будут заимствованы из другого проекта около 25 экранов ( чтобы не заниматься дизайном экранов ) .
Вопрос почему переменные в симуляторе ведут себя по разному .
Разве в симуляторе есть ли какая разница между переменными энергонезависимыми и энергозависимыми.
Это основной вопрос который почему то не кто не задает ????.

Разница в том, что если переменная в логике никуда не "привязана", вся эта часть логики в расчетах не участвует, и соответственно не моделируется, установка энерго-сти "фича" которая позволяет это обойти.

Алексеев
13.05.2019, 20:46
Разница в том, что если переменная в логике никуда не "привязана", вся эта часть логики в расчетах не участвует, и соответственно не моделируется, установка энерго-сти "фича" которая позволяет это обойти.

Я это и хотел услышать . Программисты ОЛ стремятся довести OWEN Logic до совершенства ( чтобы можно было создавать
легко большие проекты). Разве сложно им распространить ФИЧУ и на энерго зависимые переменные .
Допустим всегда ОЛ запускается с установленной галочкой на проверку всех переменных энерго зависимых
и энерго независимых на обязательную запись в них и "на не привязку". А пользователь Сам если нужно снимает её
если ему это необходимо.
Это как пожелание . Если не сложно озвучьте это . Заранее благодарен .
Большое спасибо за разъяснение .

Сергей0308
13.05.2019, 21:29
Не знаю к чему они там стремятся, наверно зарплату повысить. В плане "легко создавать большие проекты" ничего не изменилось, как раньше это было практически невозможно, так и осталось! Я много лет назад, как пример вот этот макрос целочисленного мультиплексора приводил и говорил, что надо для этого улучшить! Там и говорить ничего не надо, пусть попробуют его повторить и всё будет яснее и понятнее всяких умных слов! Вот я его около пол месяца делал, просто линии рисовал, исходные макросы уже у меня были:

42688

42689

Сергей0308
13.05.2019, 21:37
Вопрос новичка. Есть ФБ со счетчиком CTU. Уставка PV этого счетчика "5". ФБ будет использоваться в основной программе несколько раз и каждый раз нужна другая уставка. Как это можно реализовать? Создавать новые ФБ, ФБ1, ФБ2,ФБ3... с разными PV?

Тема вроде про ОЛ, как вариант:

42690

Сергей0308
13.05.2019, 23:16
Ваше право у кого спросить, можно и у плотника, мне кажется лучше у спецов по ПЛК спросить в соответствующей теме, сюда они могут и не зайти!

Палыч
07.06.2019, 01:56
Привет форумчанам! Вот, за помощью пришёл.
Неделю как стал изучать Овен Лоджик и не все гладко получается. Никак не могу заставить ПР200 выводить на экран значения временных уставок в "блинкере" с возможностью коррекции их с кнопок. ПР200 для меня вещь совершенно новая как и Овен Лоджик. Может кто делал такие вещи? Мне б одним глазком хотя б взглянуть!

petera
07.06.2019, 02:34
Привет форумчанам! Вот, за помощью пришёл.
Неделю как стал изучать Овен Лоджик и не все гладко получается. Никак не могу заставить ПР200 выводить на экран значения временных уставок в "блинкере" с возможностью коррекции их с кнопок. ПР200 для меня вещь совершенно новая как и Овен Лоджик. Может кто делал такие вещи? Мне б одним глазком хотя б взглянуть!

43082

43083

43084

43085

43086

Палыч
07.06.2019, 05:49
Прям не знаю как Вас и благодарить!!! Были б Вы ближе тыщ на 9 км - примчал бы с коньяком!

Ревака Юрий
07.06.2019, 08:09
Привет форумчанам! Вот, за помощью пришёл.
Неделю как стал изучать Овен Лоджик и не все гладко получается. Никак не могу заставить ПР200 выводить на экран значения временных уставок в "блинкере" с возможностью коррекции их с кнопок. ПР200 для меня вещь совершенно новая как и Овен Лоджик. Может кто делал такие вещи? Мне б одним глазком хотя б взглянуть!

https://www.owen.ru/uploads/158/rp_owen_logic_13.pdf стр.145, там еще много полезного.

Палыч
07.06.2019, 13:03
https://www.owen.ru/uploads/158/rp_owen_logic_13.pdf стр.145, там еще много полезного.

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

Василий Кашуба
07.06.2019, 17:57
https://www.owen.ru/uploads/158/rp_owen_logic_13.pdf стр.145, там еще много полезного.

Юрий, передайте чтобы поправили.43106

urokkkobzev
10.06.2019, 09:32
Добрый день, подскажите как в пр200 менять уставку температуры с экрана. Она меняется но не сохраняется, приходит к изначальному значению после нажатия кнопки ок. Переменная привязана, редактирование разрешено.

Алексеев
10.06.2019, 10:01
Добрый день, подскажите как в пр200 менять уставку температуры с экрана. Она меняется но не сохраняется, приходит к изначальному значению после нажатия кнопки ок. Переменная привязана, редактирование разрешено.

Ты не пробовал её сделать энерго независимой ?????????????????? Она не где не должна записываться ( присваиваться) в схеме кроме как с экрана .

Ревака Юрий
10.06.2019, 10:52
Добрый день, подскажите как в пр200 менять уставку температуры с экрана. Она меняется но не сохраняется, приходит к изначальному значению после нажатия кнопки ок. Переменная привязана, редактирование разрешено.
Покажите логику, если не изменяется после ОК, скорее всего ее перезаписывает другой блок. Если не включена опция энергонезависимой и, меняется будет, не будет сохраняться после отключения питания.
По энергонезависимости посмотрите так же видеопример
https://youtu.be/LrpQqC7F9d4

zamnarzanom
10.06.2019, 12:05
Здравствуйте!
не могу попасть в онлайн базу
43113

zamnarzanom
10.06.2019, 12:06
программа просит чтото установить.

Ревака Юрий
10.06.2019, 20:42
Здравствуйте!
не могу попасть в онлайн базу
43113

Сложно сказать что у Вас на ПК, проще зайти через ftp и скачать необходимые макросы.

zamnarzanom
13.06.2019, 08:37
Здравствуйте!
как реализовать такой алгоритм: подачей импульса на один из дискретных входов устанавливаем некую булевскую переменную в единицу, а через 10с нужно сбросить её же в ноль ?
тоесть получается, что мы хотим объединить два выхода в один.
на ассемблере это сделать очень легко, а тут зашёл в тупик.
Спасибо заранее.

Lukas
13.06.2019, 09:05
Если правильно понял, то например так

zamnarzanom
13.06.2019, 10:30
нет, это Я не правильно объяснил
переменную устанавливаю в 1 с клавиатуры, а через 10с она должна сбросится в ноль

Сергей0308
13.06.2019, 10:34
Здравствуйте!
как реализовать такой алгоритм: подачей импульса на один из дискретных входов устанавливаем некую булевскую переменную в единицу, а через 10с нужно сбросить её же в ноль ?
тоесть получается, что мы хотим объединить два выхода в один.
на ассемблере это сделать очень легко, а тут зашёл в тупик.
Спасибо заранее.

Проблема то в чём? Сбрасывайте себе переменную через 10 секунд! Или она должна сама сбросится? Или нужна блокировка на эти 10 секунд, чтобы её нельзя было сбросить? Или ещё как?

Lukas
13.06.2019, 11:00
нет, это Я не правильно объяснил
переменную устанавливаю в 1 с клавиатуры, а через 10с она должна сбросится в ноль

Вообще запутали. С какой клавиатуры? С кнопок ПР что ли? Объясните толком что хотите.

Алексей Геннадьевич
13.06.2019, 11:36
нет, это Я не правильно объяснил
переменную устанавливаю в 1 с клавиатуры, а через 10с она должна сбросится в ноль


Проблема то в чём? Сбрасывайте себе переменную через 10 секунд! Или она должна сама сбросится? Или нужна блокировка на эти 10 секунд, чтобы её нельзя было сбросить? Или ещё как?


Вообще запутали. С какой клавиатуры? С кнопок ПР что ли? Объясните толком что хотите.

43145
Вот проблему-то нашли...

zamnarzanom
13.06.2019, 11:56
Извините, Я Вас ввёл в заблуждение.
абстрагируйтесь от входов и выходов
у нас есть переменная например var1, с клавиатуры ПР200, оператор, устанавливает её в 1, по прошествии некоторого времени(например 10с) эта же переменная var1 должна стать равной нолю.

Lukas
13.06.2019, 11:59
Так бы сразу

zamnarzanom
13.06.2019, 12:04
https://yadi.sk/d/nlpli_mOBs1igA
вот например
переменную -руч- устанавливаем в 1 с клавиатуры, при этом на экране появляется Режим_Руч
далее она должна через 3 часа сбросится в ноль, и на экране появится надпись Режим_Авто

zamnarzanom
13.06.2019, 12:05
Так бы сразу

От Спасибо!!!

zamnarzanom
13.06.2019, 12:14
а если оператор захочет сбросить переменную не дожидаясь таймера, то у него не получится?

Lukas
13.06.2019, 12:30
а если оператор захочет сбросить переменную не дожидаясь таймера, то у него не получится?
тогда можно так

Lukas
13.06.2019, 12:38
Нет, вот так))

Сергей0308
13.06.2019, 20:20
https://yadi.sk/d/nlpli_mOBs1igA
вот например
переменную -руч- устанавливаем в 1 с клавиатуры, при этом на экране появляется Режим_Руч
далее она должна через 3 часа сбросится в ноль, и на экране появится надпись Режим_Авто


а если оператор захочет сбросить переменную не дожидаясь таймера, то у него не получится?

Насколько понял, наверно как-то так:

43158

43159

Или так, если не нужна блокировка выключения:

43163

43164

Алексей Геннадьевич
14.06.2019, 08:11
Извините, Я Вас ввёл в заблуждение.
абстрагируйтесь от входов и выходов
у нас есть переменная например var1, с клавиатуры ПР200, оператор, устанавливает её в 1, по прошествии некоторого времени(например 10с) эта же переменная var1 должна стать равной нолю.

Процедуру сброса аварий изобретаете?

zamnarzanom
17.06.2019, 10:53
нет, вспоминаю некоторые свои затупы, при разработке...

JohnV
21.06.2019, 10:24
Здравствуйте, подскажите есть такая задача: при первом включении прибора в переменной "Х" должно быть целочисленное "5". Через 1секунду в эту же переменную нужно уже записывать число из аналогового входа (значение на входе будет перменным).
Как вот организовать данное переключение с одной константы (или переменной даже) на другое через определенное время?
П.С. Разобрался. Обычный SEL + таймер Ton

Ревака Юрий
21.06.2019, 10:38
Здравствуйте, подскажите есть такая задача: при первом включении прибора в переменной "Х" должно быть целочисленное "5". Через 1секунду в эту же переменную нужно уже записывать число из аналогового входа (значение на входе будет перменным).
Как вот организовать данное переключение с одной константы (или переменной даже) на другое через определенное время?

Может это поможет Проект OWENLogic 1.13.184 https://drive.google.com/file/d/1pHn-yHrKVSAJBaNHTWrPQX_KwuR5KD4i/view?usp=sharing

игорь68
25.06.2019, 19:59
Ревако Юрий. Еще раз к вам обращаюсь. Вы давали пример когда при включение ПР на экране одна надпись а через несколько секунд другая. У меня грохнулся архив и пытаюсь восстановить потерю. Нужно сделать типа РЕКЛАМНОГО Экрана с переходом по времени на другой экран.

Ревака Юрий
25.06.2019, 21:12
Ревако Юрий. Еще раз к вам обращаюсь. Вы давали пример когда при включение ПР на экране одна надпись а через несколько секунд другая. У меня грохнулся архив и пытаюсь восстановить потерю. Нужно сделать типа РЕКЛАМНОГО Экрана с переходом по времени на другой экран.

Вспомнить бы, а я как его Вам отправлял, может на почте остался?

игорь68
26.06.2019, 12:35
Вспомнить бы, а я как его Вам отправлял, может на почте остался?

Добрый день Юрий. Вы это ответили на сайте. Но где и как сам не помню.

Ревака Юрий
26.06.2019, 13:48
Добрый день Юрий. Вы это ответили на сайте. Но где и как сам не помню.

https://www.owen.ru/forum/attachment.php?attachmentid=42015&d=1554111060 оно?

nick60
28.06.2019, 17:48
приветы, ребят помогите
подключил ультрозвуковой уровнемер для контроля воды в резервуаре 4..20 мА
на дисплее отображается расстояние от датчика до уровня заполнения, тобиш при наполнении показания уменьшается, мне же над чтоб отображалось на скок заполнен резервуар, показания должны увеличиваться , а не уменьшаться как в моем случае
извините за каламбур....

capzap
28.06.2019, 17:53
от максимума минусовть, не?

nick60
29.06.2019, 06:15
ну есле максимум использовать как глубину резервуара или как некую калибровочную величину редактируемую с борта ПР200 то да, наскок точны будут верны показания...посмотрим в реале.

Lukas
29.06.2019, 15:08
приветы, ребят помогите
подключил ультрозвуковой уровнемер для контроля воды в резервуаре 4..20 мА
на дисплее отображается расстояние от датчика до уровня заполнения, тобиш при наполнении показания уменьшается, мне же над чтоб отображалось на скок заполнен резервуар, показания должны увеличиваться , а не уменьшаться как в моем случае
извините за каламбур....

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

nick60
29.06.2019, 16:27
начальство экономное ))
SENSUS 10 на 10м
резервуар 5м )) так что жировать не приходится
хотел от этого датчика регулировать обороты частотника, видать не судьба... ((

melky
29.06.2019, 18:22
есть пустой резервуар - значение датчика
есть полный резервуар - значение датчика.

дальше математика, о чем и сказал capzap

Сергей0308
29.06.2019, 20:07
начальство экономное ))
SENSUS 10 на 10м
резервуар 5м )) так что жировать не приходится
хотел от этого датчика регулировать обороты частотника, видать не судьба... ((

А чем датчик избыточного давления не подошёл на 0,06 МПа: https://www.owen.ru/product/pd100i_datchik_davleniya_s_uvelichennim_mezhpovero chnim_intervalom_dlya_teploschetchikov?
Я так понимаю, судя по конструкции вашего датчика, ёмкость под атмосферным давлением!
И дешевле раз в 5 и зависимость прямая, а не обратная, как сейчас и тогда какая же это экономность потратить в 5 раз больше денег, чем было необходимо и в просак попасть!

Dimooon
02.07.2019, 20:10
Здравствуйте. Подскажите пжс, в бибке util есть счетчики ctu, ctd i ctud. Но они все считают в переменную word. А мне надо в real. В минус мне надо. Есть ли такой счетчик и в какой библиотеке, или с этими можно как-то судьбу обмануть. Спасибо

bayk
02.07.2019, 20:57
А чем счёт в минус принципиально отличается от счета в плюс?в чем прикол? Почему бы не считать в плюс, а потом умножать на -1 если вам уж очень нужен мину?

Dimooon
02.07.2019, 22:34
Потому что это движение по координатам. И желательно по ним передвигаться без костылей

Сергей0308
02.07.2019, 22:39
Наверно с реалом как раз костыль и получится, этот тип данных не абсолютной точности в отличии от инта!

rovki
02.07.2019, 22:42
Здравствуйте. Подскажите пжс, в бибке util есть счетчики ctu, ctd i ctud. Но они все считают в переменную word. А мне надо в real. В минус мне надо. Есть ли такой счетчик и в какой библиотеке, или с этими можно как-то судьбу обмануть. Спасибо
Сделайте сами

Dimooon
02.07.2019, 23:05
В который раз меня спасают Ваши веселые картинки. Спасибо большое

Massmeter
08.07.2019, 22:36
Иногда возникает необходимость в пределах одного экрана скопировать и вставить строку. Бывают похожие. Скопировать - возможно. Вставить - не получается. Это невозможно в принципе или я что-то не так делаю?

Ревака Юрий
08.07.2019, 22:44
Иногда возникает необходимость в пределах одного экрана скопировать и вставить строку. Бывают похожие. Скопировать - возможно. Вставить - не получается. Это невозможно в принципе или я что-то не так делаю?

Я постоянно так делаю, я думаю там все вставляется, просто забирать необходимо оттуда откуда происходит копирование.

Aviator_VZh
09.07.2019, 09:50
Ctrl+C - скопировать, Ctrl + V - вставить

Massmeter
09.07.2019, 19:57
Спасибо. опробую.

Ревака Юрий
09.07.2019, 20:02
Ctrl+C - скопировать, Ctrl + V - вставить

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

Massmeter
09.07.2019, 20:20
Спасибо. работает

zsm7
10.07.2019, 06:56
Здравствуйте. Подскажите как пробросить правильно переменную на чтение и запись? Скада(мастер)+ПР200(первая)(1слейв, 2мастер)+ПР200(вторая)(слейв) Во второй ПР200 переменная меняется с экрана и посети, если подключится к ней напрямую. Везде в настройках задано запись по изменению. Как организовать связь в первой ПР200?

Hanse
16.07.2019, 16:15
Прошу прощения, только начинаю въезжать в Owen Logic, применительно к ПР200.

Никак не могу вставить состояние входов или выходов (I1,I2,..,Q1,Q2,...,Q8) в таблицу переменных, без введения в схему дополнительных блоков входных переменных. Вряд ли это правильно, но пути вставить в таблицу переменных состояния входа или выхода, для использования этого состояния на экране, я не нашел.

Вы не смогли бы подсказать как это можно сделать?

Андрей Посохов
16.07.2019, 16:22
Прошу прощения, только начинаю въезжать в Owen Logic, применительно к ПР200.

Никак не могу вставить состояние входов или выходов (I1,I2,..,Q1,Q2,...,Q8) в таблицу переменных, без введения в схему дополнительных блоков входных переменных. Вряд ли это правильно, но пути вставить в таблицу переменных состояния входа или выхода, для использования этого состояния на экране, я не нашел.

Вы не смогли бы подсказать как это можно сделать?

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

Hanse
16.07.2019, 16:28
Добрый день. Вы все правильно сделали. Чтобы вывести что либо на экран, этому нужно задать переменную в таблице переменных.

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

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

Андрей Посохов
16.07.2019, 16:45
это понятно. Но казалось бы, я должен уметь использовать существующие имена входов и выходов в качестве переменных, с их одновременной привязкой к схеме, вместо того, чтобы выносить на схему новые прямоугольнички и делать им привязку к тем же входам и выходам. Это не так?

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

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

miv66_ru
17.07.2019, 08:36
Добрый день! Может кто подскажет, почему в режиме эмуляции в Owen Logic не на всех входах-выходах элементов логики в ПР200 присутствуют значения сигналов?
43656

miv66_ru
17.07.2019, 09:13
Разобрался, чуть не дотянуты линии связи были до элементов...

verpup
24.07.2019, 08:49
здравствуйте, помогите разобраться:
есть макрос для двухпозиционного регулирования температуры, внутри самого макроса, во время сисуляции, все работает ок, при заданных значениях "1" проходит.
Однако при симуляции программы в основной схеме, при тех же вводных, на выходе "0"
Значение переменных должны редактироваться с экрана.
Что может быть не так?
скрины прилагаю

Сергей0308
24.07.2019, 09:13
здравствуйте, помогите разобраться:
есть макрос для двухпозиционного регулирования температуры, внутри самого макроса, во время сисуляции, все работает ок, при заданных значениях "1" проходит.
Однако при симуляции программы в основной схеме, при тех же вводных, на выходе "0"
Значение переменных должны редактироваться с экрана.
Что может быть не так?
скрины прилагаю

У Вас с цифрами проблема, Вы их не различаете, посмотрите номера входов: I1, I2 и I3, несмотря, как Вы их расположите в макросе, на макросе эти входы расположатся по порядку возрастания порядкового номера сверху вниз!

verpup
24.07.2019, 09:22
:) спасибо!!!

titr
26.07.2019, 10:27
Подскажите, от одного выхода нужно провести несколько линий к разным входам других элементов. У меня не получается, Овен логик выдает значек невозможности соединить. Как быть. И еще вопрос, в начальных страницах есть программа по САУ-МП-12, не могу ее скачать.

maximov2009
26.07.2019, 10:35
Добрый день. Обычно соединяется без проблем.
Возможно Вы пытаетесь соединить элементы с разными типами данных. Например флоат с бул. Тогда будет требовать конвертации.
С уважением.

titr
26.07.2019, 11:05
Если к лапам входа элемента уже есть соединение, то не получается еще добавить.

petera
26.07.2019, 11:20
Если к лапам входа элемента уже есть соединение, то не получается еще добавить.

Естественно!
Это же разные вещи
-от одного выхода нужно провести несколько линий к разным входам других элементов - МОЖНО
-к одному входу нужно провести несколько линий от разных выходов других элементов - НЕЛЬЗЯ

titr
26.07.2019, 11:47
Не добавляются ни так ни эдак, если подключение уже есть (одно!).

titr
26.07.2019, 11:54
Если к лапам входа элемента уже есть соединение, то не получается еще добавить.

Алексеев
26.07.2019, 11:58
Если к лапам входа элемента уже есть соединение, то не получается еще добавить.

К входу элемента добавить можно одно соединение не кто не может понять что вы имеете введу .
Если можно скрипт с объяснением вопроса .

titr
26.07.2019, 12:36
Чего непонятного? Соединение могу одно создать от одного элемента к другому, никаких соединений в эти места не могу добавить! От выхода одного к входу второго одна линия соединения и к входу второго не могу подключить от другого выхода. Наверное переустановить программу нужно.

petera
26.07.2019, 12:44
Чего непонятного? Соединение могу одно создать от одного элемента к другому, никаких соединений в эти места не могу добавить! От выхода одного к входу второго одна линия соединения и к входу второго не могу подключить от другого выхода. Наверное переустановить программу нужно.

Еще раз
- от выхода одного элемента к нескольким СВОБОДНЫМИ входам другого (других) элементов - МОЖНО
https://owen.ru/forum/attachment.php?attachmentid=43765&d=1564133675
https://owen.ru/forum/attachment.php?attachmentid=43768&d=1564134693

-от разных выходов к одному входу - НЕЛЬЗЯ!
https://owen.ru/forum/attachment.php?attachmentid=43766&d=1564133751

-если это логические сигналы, то для их объединения используют элемент ИЛИ
https://owen.ru/forum/attachment.php?attachmentid=43767&d=1564133856

titr
26.07.2019, 13:00
Понял, не соединенный вход можно к соединенному выходу подключить. Спасибо!.

FPavel
26.07.2019, 16:31
Читая описания макросов в онлайн базе, обратил внимание на непривычный вариант венгерской нотации.
В документации к CoDeSys была отдельная глава с рекомендациями примерно такого типа
x - входной дискретный сигнал
y - выходной дискретный сигнал
b - логическая (булева) переменная и т.д.

А какой системы придерживаются разработчики примеров?
Например, в
http://ftp-ow.owen.ru/softupdate/OWEN%20Logic/OnlineMacroes/Input/DI_Filt_v1.00.pdf
http://ftp-ow.owen.ru/softupdate/OWEN%20Logic/OnlineComponents/Macros/Vent/ua_Tas_Cor_v1.00.pdf
есть префиксы ub_, ut_, lv_, ua_, ia_...

игорь68
26.07.2019, 20:42
Ну видимо автор смотрел на что то аналогичное но у других производителей. Поэтому и какие сокращения.

CFC-ST
29.07.2019, 11:19
Добрый день!
Нужен таймер с изменяемой уставкой. аналогично таймеру TON, но
чтобы задержка могла меняться от переменной, а не задаваться в свойствах таймера.
Поискал на форуме, попробовал написать - пока не выходит.

Sulfur
29.07.2019, 11:35
ОвенЛоджик>Справка>Примеры проектов>Задание уставок таймеров с экрана.

игорь68
29.07.2019, 13:24
Уважаемый автор а можно было это спросить в теме что ниже вашего вопроса. Потом сами будем долго искать то что нужно.

Вячеслав@
06.10.2019, 10:07
Добрый день. Подскажите, пожалуйста, самый простой способ измерения времени. Например, замерить задержку между срабатываниями двух дискретных входов. Ставить генератор + счётчик? Или есть более простой способ?

Ревака Юрий
06.10.2019, 10:43
Добрый день. Подскажите, пожалуйста, самый простой способ измерения времени. Например, замерить задержку между срабатываниями двух дискретных входов. Ставить генератор + счётчик? Или есть более простой способ?

Добрый день. Точность измерения какая нужна? Можно использовать встроенные часы, измерять получится с точностью до секунды, если точнее то необходимо уже логику задействовать, посмотрите макрос TIME_UD, там время на выходе более точно измеряется.

Вячеслав@
06.10.2019, 11:10
Добрый день. Точность измерения какая нужна? Можно использовать встроенные часы, измерять получится с точностью до секунды, если точнее то необходимо уже логику задействовать, посмотрите макрос TIME_UD, там время на выходе более точно измеряется.

Спасибо за ответ. Секунд не достаточно. Нужно 0,1 секунды.
Хорошо, посмотрю макрос.

Вячеслав@
06.10.2019, 12:00
Добрый день. Точность измерения какая нужна? Можно использовать встроенные часы, измерять получится с точностью до секунды, если точнее то необходимо уже логику задействовать, посмотрите макрос TIME_UD, там время на выходе более точно измеряется.
Да, этот макрос помог. Спасибо, Юрий!

petera
06.10.2019, 22:00
Добрый день. Подскажите, пожалуйста, самый простой способ измерения времени. Например, замерить задержку между срабатываниями двух дискретных входов. Ставить генератор + счётчик? Или есть более простой способ?

Подсчитать количество циклов между фронтами импульсов Стоп и Старт и умножить на длительность одного цикла

Вячеслав@
07.10.2019, 08:12
Подсчитать количество циклов между фронтами импульсов Стоп и Старт и умножить на длительность одного цикла

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

petera
07.10.2019, 10:53
Благодарю. Количество циклов, как я понимаю, можно вычислить просто с помощью переменной, добавляя единицу каждый цикл. А вот время цикла опять таки с помощью макроса из базы овен?
45009
1. количество циклов в переменной Count

2.Макрос подсчета времени цикла использую свой :rolleyes:
45010
В отличии от макроса из базы ОВЕН
- подсчет времени цикла происходит в ЧЕТЫРЕ РАЗА быстрей, всего за 0,5 сек против 2 сек
- используется целочисленная арифметика и время цикла получается АБСОЛЮТНО точным, целым числом!
https://owen.ru/forum/attachment.php?attachmentid=45008&d=1570433353

Вячеслав@
28.10.2019, 10:16
Добрый день. Заблудился в трех соснах, прошу подсказать. Как реализовать изменение значения целочисленной переменной в зависимости от того, какой из трех входов активен. Например при входе I1 значение 0, при I2 - 1, I3 - 2.

dan75
28.10.2019, 10:49
А ежели активны два входа? Или все три? Или ни одного?

Вячеслав@
28.10.2019, 10:52
А ежели активны два входа? Или все три?

Этого не будет. Три входа - три программных типа ошибки, срабатывает только один из них.
Может я не правильно пытаюсь реализовать, объясню задачу. Есть экран с динамическим текстом, управляемый переменной (значения 0,1,2). И есть 3 разных вида ошибок, каждой соответствует программный выход Bool. Задача - в зависимости от ошибки вывести на экран нужный текст.

petera
28.10.2019, 10:58
Этого не будет. Три входа - три программных типа ошибки, срабатывает только один из них.
Может я не правильно пытаюсь реализовать, объясню задачу. Есть экран с динамическим текстом, управляемый переменной (значения 0,1,2). И есть 3 разных вида ошибок, каждой соответствует программный выход Bool. Задача - в зависимости от ошибки вывести на экран нужный текст.

Операция SEL
45330

Только начинать нужно не с 0, а с 1 иначе есть ошибка №1 или нет ни одной - неразличимые состояния
0 - нет ошибок
1- вход 1
2- вход 2
3 -вход 3

45331

Вячеслав@
28.10.2019, 11:07
(BOOL_TO_INT(IN1) + BOOL_TO_INT(IN2) * 2 + BOOL_TO_INT(IN3) * 3) - 1

Спасибо, работает!
45332

dan75
28.10.2019, 11:07
Только начинать нужно не с 0, а с 1 иначе есть ошибка №1 или нет ни одной - неразличимые состояния
Когда ошибок нет, возможно отображается другой экран. Тогда можно начать и с 0.

Вячеслав@
28.10.2019, 11:09
Операция SEL
45330

Только начинать нужно не с 0, а с 1 иначе есть ошибка №1 или нет ни одной - неразличимые состояния
0 - нет ошибок
1- вход 1
2- вход 2
3 -вход 3

45331

Тоже отличная реализация, спасибо за идею!

petera
28.10.2019, 11:33
Когда ошибок нет, возможно отображается другой экран. Тогда можно начать и с 0.

Тогда можно проверку "при входе I1 значение 0" вообще выбросить. Т.к. если ошибки есть, но не I2 и не I3, значит остается только ошибка I1, а это "0" для переменной
И схема упрощается до безобразия
45333

Или с арифметикой
45334

ivydy
06.11.2019, 11:42
Добрый день. Глупый вопрос. В OL есть тип данных как целочисленное. Занимает 1 регистр (16 бит). В руководстве написано, что максимальное число можно записать 4294967295. Но разве максимальное число для 16-битного целого это не 65536? Или в OL не обычный способ кодировки целочисленных? Спасибо

ivydy
06.11.2019, 12:13
где в документации встречаются вместе оба этих предложения?

При работе с сетевыми переменными целочисленное занимает 1 регистр (16 бит) , разве нет? Поставлю вопрос по другому, как мне по модбасу передать большую целочисленную переменную (больше чем 65536)

petera
06.11.2019, 12:16
При работе с сетевыми переменными целочисленное занимает 1 регистр (16 бит) , разве нет? Поставлю вопрос по другому, как мне по модбасу передать большую целочисленную переменную (больше чем 65536)

Да, по этому для передачи по сети целочисленную переменную нужно разбить на две части (старшую и младшую) и поместить в две сетевые переменные с соседними номерами

45487

AAA1
20.11.2019, 23:48
Здравия всем! Как в ОЛ прочитать текущий день недели? Переменной нет в списке сервисных, но в тоже время по модбас она доступна. Разработчики случайно пропустили или так задумано?

petera
21.11.2019, 04:05
Здравия всем! Как в ОЛ прочитать текущий день недели? Переменной нет в списке сервисных, но в тоже время по модбас она доступна. Разработчики случайно пропустили или так задумано?

Макрос от AI!
45729

Bariy
21.11.2019, 11:50
Здравствуйте!

Стало необходимо вывести на экран ПР200 отрицательное целое число, и вот незадача...

Помню еще со времен программирования на ассемблере для ZX Spectrum-а:
- тип int от -32768 до +32768 (Word)
- тип uint от 0 до 65535 (Word)
Везде в языках программирования и в классическом понимании тип int это знаковое целое число.

Почему здесь оно только положительное беззнаковое? При всем том, что в том же OwenCloud есть int16, uint16...

Основной конечно вопрос как вывести на экран ПР200 отрицательное целое число - естественно без дробной части.

petera
21.11.2019, 12:10
Здравствуйте!

Стало необходимо вывести на экран ПР200 отрицательное целое число, и вот незадача...

Помню еще со времен программирования на ассемблере для ZX Spectrum-а:
- тип int от -32768 до +32768 (Word)
- тип uint от 0 до 65535 (Word)
Везде в языках программирования и в классическом понимании тип int это знаковое целое число.

Почему здесь оно только положительное беззнаковое? При всем том, что в том же OwenCloud есть int16, uint16...

Основной конечно вопрос как вывести на экран ПР200 отрицательное целое число - естественно без дробной части.
Для начала определитесь где Вы возьмете это отрицательное целое число
Варианты
а) - в сетевой переменной от внешнего устройства
б) - в результате вычислений

вариант а) предполагает диапазон от -32768 до -32767
вариант б) предполагает диапазон от -2147483648 до 2147483647

В обоих случаях отрицательные значения будут представлены в дополнительном коде
в программе определяете знак и модуль(абсолютное значение) числа, для а) нужен макрос для 16 битных чисел, для б) - для 32 битных
На экране - составной элемент битовое поле (+/-) рядом поле для вывода числа (int)

ЗЫ.
Макросы
Абсолютное значение 32битных чисел + знак
45737

Абсолютное значение 16битных чисел + знак
45738

Экран
45740

Результат работы
45739

Bariy
21.11.2019, 13:11
... Большое спасибо!

Честно говоря удивлен такой сложностью при вроде самой простой задаче...

petera
21.11.2019, 13:35
... Большое спасибо!

Честно говоря удивлен такой сложностью при вроде самой простой задаче...
Еще можно преобразовать int в float

Пару элементов к макросам ABS()

16 бит
45742

32 бита
45743

Тогда на экран можно вывести число с плавающей точкой, там "-" автоматический
45745

45744

Результат
45746

Однако на экране нельзя вывести float без точки, минимум один знак после запятой, придется замазывать (по верх накладывать 2 пробела)
Да float имеет ограниченную точность и как следствие меньший диапазон представления целых чисел - максимум 7 знаков.

ЗЫ.

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

AAA1
21.11.2019, 13:46
Макрос от AI!
45729

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

Ollema
23.11.2019, 11:49
Однако на экране нельзя вывести float без точки, минимум один знак после запятой, придется замазывать (по верх накладывать 2 пробела)


Обычно так и делаю.
Может подскажете как лучше вывести на экран редактируемое целое отрицательное цисло? Если выводить float с замазкой, то пользователь, нажимая "SEL", не видит мигающих замазанных знаков после запятой и, соответственно, ничего не понимает :)
Если выводить int и отельно знак, то знак оказывается оторванным от числа, тем дальше оторванным, чем меньше разрядов у числа...

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

Сергей0308
23.11.2019, 16:51
в программе можно посчитать количество разрядов числа и при отображении знака менять переменную оси х для знака.

Может проще отвести на два разряда(знака) меньше, чтобы запятая и десятые доли не отображались?

45768

45769

Ollema
23.11.2019, 18:23
Может проще отвести на два разряда(знака) меньше, чтобы запятая и десятые доли не отображались?

45768

45769

А редактирование с экрана не будет при этом забавным?

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

Спасибо, наверное, единственно правильный способ, хотя и громоздкий и не красивый :) Осталось понять как изменять положение по иксам.

Сергей0308
23.11.2019, 18:31
А редактирование с экрана не будет при этом забавным?

Так это же Вы сами так стараетесь сделать, Вас никто не принуждает! Мне ваши решения кажутся куда более забавными! Вот ответьте на элементарный вопрос: зачем их "замазывать", если можно и проще просто обрезать, как я предложил?

Сергей0308
23.11.2019, 18:44
Спасибо, наверное, единственно правильный способ, хотя и громоздкий и не красивый :) Осталось понять как изменять положение по иксам.

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

Ollema
24.11.2019, 08:14
Да не важно мазать или отрезать, важно, что при нажатии на SEL юзер в ступор впадет - так как мигать ничего не будет, даже если один раз перейти на разряд левее :)

petera
24.11.2019, 10:17
Спасибо, наверное, единственно правильный способ, хотя и громоздкий и не красивый :) Осталось понять как изменять положение по иксам.

Для ТОЛЬКО вывода на экран это не единственный способ

Делаем "бутерброд" из
снизу поле вывода
45774

сверху - динамический текст, со смещением на одну позицию влево
45775
Список, например, для 9-разрядного числа
0 - пусто
1 ________-
2 _______-
3 ______-
4 _____-
5 ____-
6 ___-
7 __-
8 _-
9 -
Динамический текст привязан к переменной в которой - количество разрядов(знаков) в отрицательном числе

Сделал макрос, который вычисляет абсолютное значение и количество разрядов для отрицательного числа
45776

45777

45778

Ollema
24.11.2019, 12:49
Надо будет проверить. Мне кажется верхний слой всегда будет скрывать нижний независимо от знаков в нем. Само то поле остается фиксированного размера.

petera
24.11.2019, 15:05
Надо будет проверить. Мне кажется верхний слой всегда будет скрывать нижний независимо от знаков в нем. Само то поле остается фиксированного размера.

Вы думаете, что я сам не проверил? :rolleyes:
Скрывается, только если в позиции есть символ, пробел, кстати, тоже символ.
А если верхняя стока заканчивается раньше, чем закончилось поле для нее, то оставшиеся знакоместа - прозрачные.

Вячеслав@
28.11.2019, 15:23
Привет. Извиняюсь, если такой вопрос уже был.
Отличается ли прямое соединение элементов схемы от соединения через переменную в смысле скорости работы реле и нагрузки на него?
Два этих примера идентичны для физической работы реле или нет? Если таких связей несколько десятков.
45839

Василий Кашуба
28.11.2019, 17:37
Привет. Извиняюсь, если такой вопрос уже был.
Отличается ли прямое соединение элементов схемы от соединения через переменную в смысле скорости работы реле и нагрузки на него?
Два этих примера идентичны для физической работы реле или нет? Если таких связей несколько десятков.
45839
Оба примера идентичны для работы, но второй вариант, больше памяти кушает, так как это внутренние переменные.

TRISsys
12.12.2019, 21:59
Здравствуйте. есть набор ошибок 0 1 2 3 4 5 6 как их прописать в схеме ? у меня получается только 0 1 4615946160

melky
12.12.2019, 22:05
TRISsys вы из битовой переменной превращаете в целочисленную. Бит может быть либо 0 (false) либо 1 (true).

Сделайте каждый булевый параметр через PUTBIT в нужный бит и сложите.

з.ы. сам искал в базе макрос BitToByte и то ли я слепой, то ли что, пришлось сделать макрос. Ой, соврал, обратного не нашел, а BitToByte есть

В Менеджере есть макрос BOOL_INT, но мне откровенно такие макросы не нравятся. мне вот нужно всего 16 бит, или всего 8 бит, а тут такого монстра ставить ? Оптимально, когда макрос рассчитан на 8 бит и при необходимости просто ставишь 2 или 3 или 4 и все...

TRISsys
12.12.2019, 22:20
не очень понял вас .. там булевые нельзя подциплять к динамическому тексту ... че-то я уже вообще запутался .. сутки уже на этом тексте мучаюсь

TRISsys
12.12.2019, 22:45
TRISsys вы из битовой переменной превращаете в целочисленную. Бит может быть либо 0 (false) либо 1 (true).

Сделайте каждый булевый параметр через PUTBIT в нужный бит и сложите.

з.ы. сам искал в базе макрос BitToByte и то ли я слепой, то ли что, пришлось сделать макрос. Ой, соврал, обратного не нашел, а BitToByte есть

В Менеджере есть макрос BOOL_INT, но мне откровенно такие макросы не нравятся. мне вот нужно всего 16 бит, или всего 8 бит, а тут такого монстра ставить ? Оптимально, когда макрос рассчитан на 8 бит и при необходимости просто ставишь 2 или 3 или 4 и все...

какие бит16 бит 8 ? зачем мне это? или тут нужно выучить что это и скачать макрос что-б вывести ошибку с датчика 5 на ошибку под номером 5 ? тут нельзя попроще?

TRISsys
13.12.2019, 00:02
какие бит16 бит 8 ? зачем мне это? или тут нужно выучить что это и скачать макрос что-б вывести ошибку с датчика 5 на ошибку под номером 5 ? тут нельзя попроще?

решил сам за примерно 32 часа ))) если кому интересно использовал блок константы (Целочисленное) + Тернарная условная операция сравнения SEL 46161 так проще всего вывести датчики на динамический текст экрана

melky
13.12.2019, 06:32
Можно и так. Кто как привык. Просто у вас там шаги, а если будут ошибки и их будет две?

chebo
27.12.2019, 16:27
Всем привет!
И вот вам мой первый тупой вопрос... Вот смотрю я в режиме симулятора работу программы. Она проходит весь цикл и останавливается. Насколько я понял, в реальном устройстве программа после окончания цикла начинает работать с начала. Можно ли в симуляторе смотреть не один цикл, а чтобы она тоже начинала работать с начала, как и в устройстве?

Ревака Юрий
27.12.2019, 16:41
Всем привет!
И вот вам мой первый тупой вопрос... Вот смотрю я в режиме симулятора работу программы. Она проходит весь цикл и останавливается. Насколько я понял, в реальном устройстве программа после окончания цикла начинает работать с начала. Можно ли в симуляторе смотреть не один цикл, а чтобы она тоже начинала работать с начала, как и в устройстве?

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

chebo
27.12.2019, 18:16
Смотрите не по циклам, а в симуляции, тогда программа не будет останавливаться. Два раза нажать на зеленый треугольник.
Ну я так и делаю. Программа доходит до конца и останавливается. А как сделать, чтобы она сама заново начиналась?
Ну или я что-то накосячил в программе, что она останавливается после выполнения...

Ревака Юрий
27.12.2019, 21:28
Ну я так и делаю. Программа доходит до конца и останавливается. А как сделать, чтобы она сама заново начиналась?
Ну или я что-то накосячил в программе, что она останавливается после выполнения...

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

chebo
27.12.2019, 23:00
сама программа крутится по кольцу, возможно алгоритм так построен, что прекращает работу
Да, так и есть. Кольца не было. Но вроде разобрался. Если упростить, то алгоритм предполагался такой: при включении питания должна отсчитываться определенная задержка, потом должно замыкаться реле 1 тоже на какое-то время, потом оно размыкается, и цикл должен повторяться.
Сначала я не мог понять как вообще запускать программу при включении питания, если у меня никакие входы вообще не используются. Потом дошло, что при подаче питания все входы находятся в состоянии 0, и если к какому-то входу подключить элемент НЕ, то на его выходе появится положительный перепад, который и будет запускать программу. А закольцованности не получалось, потому что не учел, что этот НЕ в дальнейшем на выходе дает постоянную 1 и нет положительного перепада, поэтому всё останавливалось. А я-то думал, что всё само должно повторяться как при включении питания. Ну, в общем, теперь понятно.

Ревака Юрий
28.12.2019, 10:28
Да, так и есть. Кольца не было. Но вроде разобрался. Если упростить, то алгоритм предполагался такой: при включении питания должна отсчитываться определенная задержка, потом должно замыкаться реле 1 тоже на какое-то время, потом оно размыкается, и цикл должен повторяться.
Сначала я не мог понять как вообще запускать программу при включении питания, если у меня никакие входы вообще не используются. Потом дошло, что при подаче питания все входы находятся в состоянии 0, и если к какому-то входу подключить элемент НЕ, то на его выходе появится положительный перепад, который и будет запускать программу. А закольцованности не получалось, потому что не учел, что этот НЕ в дальнейшем на выходе дает постоянную 1 и нет положительного перепада, поэтому всё останавливалось. А я-то думал, что всё само должно повторяться как при включении питания. Ну, в общем, теперь понятно.

Можно взять Blink, задать время вкл/выкл и выдать на реле, как раз то что нужно, а запустить его или с экрана или как через НЕ.

chebo
29.12.2019, 15:59
При пересечении линий без контакта можно ли их как-то изгибать, чтобы было видно, что контакта нет, как на некоторых электрических схемах рисуют (где-то здесь на скриншотах программы я такое видел)?

Серёга Букашкин
29.12.2019, 16:31
где-то здесь на скриншотах программы я такое видел
Это было в ОЛ до 2016, я застал. И правильно что отказались от арок. И они сильно затрачивали время на прорисовку. Когда от них отказались ОЛ заработал быстрее.

chebo
29.12.2019, 18:13
Это было в ОЛ до 2016, я застал. И правильно что отказались от арок. И они сильно затрачивали время на прорисовку. Когда от них отказались ОЛ заработал быстрее.

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

dan75
29.12.2019, 18:14
Это было в ОЛ до 2016, я застал. И правильно что отказались от арок. И они сильно затрачивали время на прорисовку. Когда от них отказались ОЛ заработал быстрее.

Понятно. Не от хорошей жизни, как говорится, отказались. Да, отловить пересечения стало намного неудобнее. Ну, раз арок нет, может просто ставить точку там, где соединение есть? Может, внести предложение, пока 16я версия тестится?

игорь68
30.12.2019, 08:03
По секрету. Основные силы брошенны на новый ОЛ для нового ПР с экраном и графикой. С точкой я поступаю проще. Максимум переменных. Так меньше "паутины" на холсте.

rovki
30.12.2019, 08:51
Сразу видно не электронщики - провода (связи) им мешают , так расставьте их нормально ,что бы не сливались разные провода (от разных выходов) и наоборот сливайте провода в шины от одних выходов ...Вообще не использую переменные для связей , потому что это не FBD получается ,в том смысле ,что нужно читать ,как в текстовых языках переменные по всему полю схемы и искать ответную переменную ...Мешают провода - делайте макросы и соединяйте связями (линиями)...

bayk
30.12.2019, 09:52
Максимум переменных. Так меньше "паутины" на холсте.
золотые слова!
я связи оставляю только на самых коротких участках, все что длиннее только переменные.
было бы конечно неплохо, если бы можно было переменные группировать - создавать несколько вкладок, как разделены локальные и сетевые переменные. тогда бы вообще кайф!

dan75
31.12.2019, 10:21
Сразу видно не электронщики - провода (связи) им мешают , так расставьте их нормально ,что бы не сливались разные провода (от разных выходов) и наоборот сливайте провода в шины от одних выходов ...Вообще не использую переменные для связей , потому что это не FBD получается ,в том смысле ,что нужно читать ,как в текстовых языках переменные по всему полю схемы и искать ответную переменную ...Мешают провода - делайте макросы и соединяйте связями (линиями)...

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

rovki
31.12.2019, 10:26
Насчёт электронщиков, кста, не очень понял.Ну и зачем?
Для правильного восприятия мозга ,для тех кто десятки лет читал(и писал) схемы . Да в альбомах были "переменные" перехода сигнала на другой лист ,но не более . В пределах листа только линии .

stanislau
31.12.2019, 12:16
Далеко не всегда есть возможность избежать пересечения, как ни старайся. Поэтому можно сделать обозначение точкой, ручное, типа как вставка текста, только вставка точки. Как это сделано в Splan. Максимально просто, без автоматической установки, привязки и т.д.

melky
31.12.2019, 13:17
да, да, и чтобы от этой точки можно было бы тянуть связи на другие FBD :)

игорь68
31.12.2019, 21:55
Да как инструмент точка это не плохо. Но поставив точку мы автоматом будем запускать процедуру проверки схемы(на ошибку подключения элементов и обратную связь.) А это значить возрастает время обработки схемы.

Юрий Н
01.01.2020, 13:59
Доброго дня. Всех с праздником.
Подскажите пожалуйста. Почему периодически блокируется курсор на холсте?
К примеру, тяну связь между элементами, если они не совпадают то появляется красный кружок запрета. Иногда связь отменяется, иногда он просто остается навсегда. При чем курсор может работать в поле программы и в кнопках меню и быть заблокированным в открытом для редактирования макросе.
Спасает только сохранение документа и запуск программы заново.
Иногда это, мягко говоря, причиняет неудобство.

игорь68
01.01.2020, 15:43
Юрий.Н с новым годом Вас. Вам поможет кнопка "эскейп". Если при прокладки связи у вас выскочила ошибка и "курсор заблокировали" просто нажмите "эскейп" и производит отмена Вашей неправильной связи.

Андрей 77
01.01.2020, 18:19
Подскажите пожалуйста запустил первый раз среду разработки OWEN Logic изучаю функции и не могу понять почему когда использую блок вычитания целочисленные значения если от меньшего отнимать большего у меня получается большое число.И для чего используются блоки вычитания для того что бы корректировать значения датчиков давления и температур?46495

Filini
01.01.2020, 18:31
Подскажите пожалуйста запустил первый раз среду разработки OWEN Logic изучаю функции и не могу понять почему когда использую блок вычитания целочисленные значения если от меньшего отнимать большего у меня получается большое число.И для чего используются блоки вычитания для того что бы корректировать значения датчиков давления и температур?46495

Еще например для корректировки времени, много где можно применить.

Filini
01.01.2020, 18:34
Подскажите пожалуйста запустил первый раз среду разработки OWEN Logic изучаю функции и не могу понять почему когда использую блок вычитания целочисленные значения если от меньшего отнимать большего у меня получается большое число.И для чего используются блоки вычитания для того что бы корректировать значения датчиков давления и температур?46495

у вас получилось -22, что не так????)))))

Андрей 77
01.01.2020, 18:40
у вас получилось -22, что не так????)))))

А где вы видите 22?По иде да должно получится 22 но на скрине число начинается в 429 и так далее.Почему не отображается число 22?

Filini
01.01.2020, 18:48
А где вы видите 22?По иде да должно получится 22 но на скрине число начинается в 429 и так далее.Почему не отображается число 22?

по идеи МИНУС 22, он и есть в ответе. вот это число это и есть минус 22

Андрей 77
01.01.2020, 18:52
по идеи МИНУС 22, он и есть в ответе. вот это число это и есть минус 22

Интересно.Еще хотел спросить 46498Побитовый логический сдвиг влево (SHL) как получается значение на выходе переменной?И где они используются в программирование?

chebo
01.01.2020, 20:24
А есть ли макрос управления нагревом/охлаждением не просто по превышению указанного порога, а учитывая еще и скорость изменения температуры (т.е. учитывая не только значение от датчика температуры, но и производную)?

chebo
01.01.2020, 21:10
ПИД регулятор. Меняя знак у коэффициента пропорциональности получается и нагрев и охладитель

А он на дискретный выход работает?

bayk
01.01.2020, 22:19
К чему вы выход регулятора пристроете, с тем и будет работать. Для этого вам нужно найти макрос ШИМ управления по сигналу пид. Ищите в теме про управление трехходовым клапаном.

Сергей0308
01.01.2020, 23:07
ШИМ бывает и встроенная, например на ПР114, ПР200 с транзисторными выходами(пятой модификации), ну и для электрического нагревателя можно и ТТР взять с ФИМ, типа таких: https://owen.ru/product/hd_xx44va_hd_xx2210u_i_hd_xx25la
И такое и для вашего холодильника подойдёт, насколько понял у вас электрический нагреватель(кабель) и холодильник(вентилятор).
Как-то так можно:

46501

https://owen.ru/forum/showthread.php?t=32153&page=6

chebo
01.01.2020, 23:31
ШИМ бывает и встроенная, например на ПР114, ПР200 с транзисторными выходами(пятой модификации), ну и для электрического нагревателя можно и ТТР взять с ФИМ, типа таких: https://owen.ru/product/hd_xx44va_hd_xx2210u_i_hd_xx25la
И такое и для вашего холодильника подойдёт, насколько понял у вас электрический нагреватель(кабель) и холодильник(вентилятор).
Так зачем же мне ТТР, если уже есть ПР200? Мне бы в нем просто добавить макрос ПИД регулятора (вроде есть штатный) и к нему макрос ШИМ, как тут подсказали. Вот этот ШИМ я что-то не нахожу...

Сергей0308
01.01.2020, 23:39
Так зачем же мне ТТР, если уже есть ПР200? Мне бы в нем просто добавить макрос ПИД регулятора (вроде есть штатный) и к нему макрос ШИМ, как тут подсказали. Вот этот ШИМ я что-то не нахожу...

Если коротко, чтобы все жили долго и счастливо! Вот какой период ШИМ Вы планируете, а то очень быстро выходное реле ушатаете и оно как бы на большую нагрузку и не рассчитано.
И ещё ПР и ТТР это как бы разные вещи и ПР никак не может заменить ТТР!

Андрей 77
02.01.2020, 00:33
Ребят подскажите пожалуйста как правильно произвести расчет при подключения датчика давления 4-20мА к реле пр 200.Где 4мА=0 а 20мА=16мПа. Как правильно отмасштабировать?Я понимаю что нужно использовать арифметические блоки.Но как правиль посчитать что бы на выходе было 0мПа а при подаче давления оно изменялось.Прошу извинить за дилетантство я только изучаю эту тему.

Сергей0308
02.01.2020, 02:24
Ребят подскажите пожалуйста как правильно произвести расчет при подключения датчика давления 4-20мА к реле пр 200.Где 4мА=0 а 20мА=16мПа. Как правильно отмасштабировать?Я понимаю что нужно использовать арифметические блоки.Но как правиль посчитать что бы на выходе было 0мПа а при подаче давления оно изменялось.Прошу извинить за дилетантство я только изучаю эту тему.

Есть настройки в свойствах входа:

46502

46503

chebo
02.01.2020, 10:06
Если коротко, чтобы все жили долго и счастливо! Вот какой период ШИМ Вы планируете, а то очень быстро выходное реле ушатаете и оно как бы на большую нагрузку и не рассчитано.
И ещё ПР и ТТР это как бы разные вещи и ПР никак не может заменить ТТР!

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

Сергей0308
02.01.2020, 10:46
У меня ПР200 управляет нагрузкой не напрямую, а через промежуточные модульные реле. К тому же эти ТТР выдают не синусоиду - греющему кабелю это пофигу, а вот вентилятор, боюсь, не обрадуется. Период да, надо взять побольше. Минут 30...

Посмотрел ТТР серии MD пригодных для ШИМ, цена составляет от 330 до 402 рублей: https://owen.ru/product/md_xx44zd3/price
или такие, помощнее: https://owen.ru/product/hd_xx44zd3_i_hd_xx44za2
Боюсь ваше модульное реле дороже стоит и вообще у вас всё поставлено с ног на голову, сначала выбирается метод управления, потом железо под него подбирается!
Я ничего не исключаю, можно сделать вопреки здравому смыслу(хуже и дороже), вопрос: зачем так делать?
И слышали может чего про УПП, там как раз ФИМ применяется!

chebo
02.01.2020, 11:06
Боюсь ваше модульное реле дороже стоит и вообще у вас всё поставлено с ног на голову, сначала выбирается метод управления, потом железо под него подбирается!
Ну про ПИД и ШИМ подумалось уже после, исключительно по причине внутреннего перфекционизма... на самом-то деле и без них всё должно работать нормально.

Сергей0308
02.01.2020, 11:57
Ну про ПИД и ШИМ подумалось уже после, исключительно по причине внутреннего перфекционизма... на самом-то деле и без них всё должно работать нормально.

Тогда и остановитесь на двухпозиционном регуляторе, а на будущее имейте ввиду, что можно применить ПР с аналоговыми(или транзисторными) выходами + соответствующее ТТР и ПИД-регулятор!

Андрей 77
02.01.2020, 14:50
Есть настройки в свойствах входа:

46502

46503

Спасибо за ответ.А какая методика расчета существуют что бы давление в мА перевести и обратно.

Сергей0308
02.01.2020, 15:17
Спасибо за ответ.А какая методика расчета существуют что бы давление в мА перевести и обратно.

Никаких там расчётов не надо, ставите соответствие; 4 мА - 0 МРа; 20 мА - 16 МРа, всё!
А где у вас такое высокое давление?

Андрей 77
02.01.2020, 15:46
Никаких там расчётов не надо, ставите соответствие; 4 мА - 0 МРа; 20 мА - 16 МРа, всё!
А где у вас такое высокое давление?

На насосах сетевых там до 10 МПа просто пытаюсь разобраться с алгоритмами написания по .Что то получается что нет поэтому вопросы.Так сказать первые шаги.Читаю документацию к реле.

Андрей 77
02.01.2020, 15:47
Никаких там расчётов не надо, ставите соответствие; 4 мА - 0 МРа; 20 мА - 16 МРа, всё!
А где у вас такое высокое давление?

А что у вас за программа для чего написана?Вы всегда макросы используете в построение ПО?

Сергей0308
02.01.2020, 22:50
На насосах сетевых там до 10 МПа просто пытаюсь разобраться с алгоритмами написания по .Что то получается что нет поэтому вопросы.Так сказать первые шаги.Читаю документацию к реле.


А что у вас за программа для чего написана?Вы всегда макросы используете в построение ПО?

Я даже не вникал, взял первые попавшиеся картинки с открытой вкладкой свойства входа!
Так у вас круче чем АЭС, может какая экспериментальная термоядерная электростанция?
Насколько мне известно в первом контуре реакторов типа РБМК-1000(Чернобыльского типа) около 7 МПа, ВВЭР-1000 - 16 МПа.
Про макросы говорил, что если не хотите в каждом новом проекте всё начинать сначала, делать, что ранее уже делали, например счётчики с прямым, обратным отсчётом времени с паузой, мультиплексоры, матрицы памяти и т. д. и т. п., то, боюсь без макросов не обойтись! Разумеется, если планируете более одного проекта, если нет, то макросы не нужны!
Просто интересно, где такое высокое давление применяют, если Вы не путаете МПа с Бар.

Андрей 77
03.01.2020, 15:41
Я даже не вникал, взял первые попавшиеся картинки с открытой вкладкой свойства входа!
Так у вас круче чем АЭС, может какая экспериментальная термоядерная электростанция?
Насколько мне известно в первом контуре реакторов типа РБМК-1000(Чернобыльского типа) около 7 МПа, ВВЭР-1000 - 16 МПа.
Про макросы говорил, что если не хотите в каждом новом проекте всё начинать сначала, делать, что ранее уже делали, например счётчики с прямым, обратным отсчётом времени с паузой, мультиплексоры, матрицы памяти и т. д. и т. п., то, боюсь без макросов не обойтись! Разумеется, если планируете более одного проекта, если нет, то макросы не нужны!
Просто интересно, где такое высокое давление применяют, если Вы не путаете МПа с Бар.

Если интересует я вам после праздников фото скину где у нас на входе в котел с обратки 0.7 МПа на экме.Про 16МПа опечатка 1.6МПа.Хотел бы еще спросить смотрел видео по переменное переключение насосов, почему используется блок умножения?46527

Юрий Н
03.01.2020, 16:13
Это простой логический элемент "И".

Андрей 77
03.01.2020, 16:36
Это простой логический элемент "И".

Спасибо за ответ.Я просто не внимателен.А можно интервальный таймер (CLOCK1) с него создать макрос только на вкл или на выкл?В даном таймере сразу две функции и на вкл и на выкл а хотелось бы их по отдельности создать.Что бы интервал вкл и выкл задавать 60 дней и более.

Юрий Н
03.01.2020, 17:18
Андрей, я еще сам начинающий. Так что извините, не помогу.

Андрей 77
03.01.2020, 17:31
Андрей, я еще сам начинающий. Так что извините, не помогу.

Спасибо.Будем ждать может кто подскажет)

Андрей 77
03.01.2020, 17:51
[QUOTE=capzap;322547]вроде все просто, и чтоб блинк был выключен и разрешающий сигнал приходил, тогда наступает условие включение второго объекта.[/QUOT
Я бы их хотел разделить по отдельности, что бы я поставил нужное время отключения.А так как там второй таймер есть на вкл то он включится в установленное время.Поэтому хотел один таймер создать есть инструкция с каких блоков его написать.Как создавать макрос я знаю какие блоки туда вкл?Наверно умножение и таймеры TOF?Как тогда задавать нужное время?Какие еще блоки вкл в макрос?

Андрей 77
03.01.2020, 17:54
вроде все просто, и чтоб блинк был выключен и разрешающий сигнал приходил, тогда наступает условие включение второго объекта.

У блинка макс значение 49 дней а мне нужно допустим 60 дней и более.Поэтому использую (CLOCK1)

Андрей 77
03.01.2020, 18:23
Если у Вас есть желание усложнить схему более чем предложено, то Вам подсказки не нужны, делайте сами и гарантировано получиться как нужно

У меня последний к вам вопрос.На видео организован алгоритм переключения насосов но мне кажется немного не правильно.Так как во время вкл кнопки пуск должен сразу вкл насос и идти отсчет указанного времени а потом переключится на второй насос сразу и вкл на указанное время.Так как допустим если нужно вкл насос в интервале на 1ч и запустить нужно срочно насос то оператору придется ждать 1ч что бы таймер отсчитал 1ч и вкл насос и работал по алгоритму которое показано на видео.+ 1ч придется ждать пока вкл второй насос.Может я не прав в описание логики поправьте меня.46528

Андрей 77
03.01.2020, 18:34
Я просто показал что имею ввиду.Проект я набросал все работает так как на ютубе показано автором.Но мне кажется там не точность поэтому решил спросить у вас как у более опытного коллеги.

Андрей 77
03.01.2020, 18:48
ну и про какое ожидание оператором тогда речь? Если стоит задача включать какой то конкретный насос в любой момент времени, так Вы хотя бы пишите насос один или насос два. Для этого эта схема ни каким образом не подходит чтоб говорить что она неправильно работает

Видео указано переключение насосов по переменно.Ожидания я имею ввиду при включение первого насоса то есть нужно при кнопки пуск мгновенно вкл 1й насос с интервалом времени 1ч потом переключить на второй насос мгновенно с тем же интервалом времени.А на видео получается что сначала мы нажали кнопку пуск ждем 3с потом вкл насос первый потом 3с переключается на второй насос но там стоит 3с а если нужно что бы через час вкл первый потом второй если написать так программу как на видео то получается оператор нажмет на кнопку пуск и будет ждать 1ч что бы вкл первый двигатель.На видео указано два по переменно вкл насоса.Я не утверждал что она не правильно работает я сомневаюсь может она и правильна .Но если задать 1ч по переменной работы с мгновенным вкл двигателя.То тогда она не подходит.

Андрей 77
03.01.2020, 20:44
хотите сказать что когда в симуляции в своем проекте после старта замыкаете вход, ни один из насосов не включается?
У меня работает


ЗЫ
посмотрел видео с 1:37 по 1:55 открытым текстом говориться что при включении будет активирован один из насосов, в конкретном случае номер два


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

Андрей 77
03.01.2020, 21:26
Еще раз, какой насос? Первый сверху, как в проекте во вложении?

Спасибо разобрался.У меня перемычка не стояла между 3и4 входом сейчас все работает насос вкл вместе с отсчетом времени.Спасибо за объяснения, извиняюсь за свою не компетентность.

chebo
04.01.2020, 18:09
А нельзя ли в режиме симулятора выводить в отдельном окошечке дисплей? Чтобы было видно как меняется информация на дисплее в процессе выполнения программы?
(ещё лучше бы выводить всю морду реле с кнопками, чтобы можно было проверять и как кнопки работают...)

verpup
05.01.2020, 05:28
здравствуйте, всех с новым годом! В пограмме ОЛ установлены моточасы, считающие время наработки насоса, данные через переменную выводятся на экран. При перезагрузке ПР200 эти данные сбрасываются в значения переменной по умолчанию, и весь учет обнуляется. Подскажите, как сохранить данные счетчика во время перезагрузки ПР 200 от обнулений.

Сергей0308
05.01.2020, 06:09
здравствуйте, всех с новым годом! В пограмме ОЛ установлены моточасы, считающие время наработки насоса, данные через переменную выводятся на экран. При перезагрузке ПР200 эти данные сбрасываются в значения переменной по умолчанию, и весь учет обнуляется. Подскажите, как сохранить данные счетчика во время перезагрузки ПР 200 от обнулений.

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

melky
05.01.2020, 09:59
Вероятно отключение питания и последующее включение. з.ы. переменные должны быть энергонезависимыми и правильно сохраняться. Либо сам счетчик должен сохраняться.

dan75
05.01.2020, 13:19
А нельзя ли в режиме симулятора выводить в отдельном окошечке дисплей? Чтобы было видно как меняется информация на дисплее в процессе выполнения программы?
(ещё лучше бы выводить всю морду реле с кнопками, чтобы можно было проверять и как кнопки работают...)

давно пора

verpup
07.01.2020, 19:54
Спасибо, решилось галочкой сохранения в счктчике