PDA

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



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

p-nik
13.03.2024, 16:58
нет, без привязки к номеру насоса. только блокировка одновременного запуска.
Появилось условие запуска сразу двух насосов. Сначала запустился один с наименьшей наработкой, через время Т - второй.
на картинке упрощенная программа

Sergej_
13.03.2024, 17:10
Подскажите, в чем может быть ошибка в программе макроса?
переменные P1_start и P2_Start должны запускать c интервалом в 5 сек (задается отдельно), но фактически они запускаются только в разные циклы.

Если исходить из этого, первого Вашего вопроса, то можно так
74325

p-nik
13.03.2024, 17:16
Если исходить из этого, первого Вашего вопроса, то можно так
74325

да, но у Вас очередность запуска фиксированная - 1, потом 2. У меня насосы запускаются по наработки и их может быть больше 2

EFrol
13.03.2024, 17:19
да, но у Вас очередность запуска фиксированная - 1, потом 2. У меня насосы запускаются по наработки и их может быть больше 2

Тогда где счетчики моточасов?

p-nik
13.03.2024, 17:33
Тогда где счетчики моточасов?

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

Sergej_
13.03.2024, 17:38
да, но у Вас очередность запуска фиксированная - 1, потом 2. У меня насосы запускаются по наработки и их может быть больше 2
Ну так Вас и просили изложить все условия, Вы задали вопрос, выложили схему, оказалось вопрос несколько иной, и схема "упрощенная".
Из нее виден только один сигнал пуск, флага приоритета ( или номера разрешенного к пуску) насоса нет. Как и

Тогда где счетчики моточасов?
На форуме очень много тем и обсуждений по ротации насосов, поищите. Наверняка найдете нужное решение.

p-nik
13.03.2024, 17:46
Ну так Вас и просили изложить все условия, Вы задали вопрос, выложили схему, оказалось вопрос несколько иной, и схема "упрощенная".
Из нее виден только один сигнал пуск, флага приоритета ( или номера разрешенного к пуску) насоса нет. Как и

На форуме очень много тем и обсуждений по ротации насосов, поищите. Наверняка найдете нужное решение.

забудьте про ротацию. Конкретно тот пример - почему игнорируется блокировка?
74326

Sergej_
13.03.2024, 17:57
Так Вы выложите эту часть в виде отдельного проекта, или макроса. Или кто то должен вручную рисовать, чтоб проверить?

AlexandrGr
13.03.2024, 17:59
У меня насосы запускаются по наработке
А если насос ставится новый вместо сгоревшего. Что делаете с наработкой?

p-nik
13.03.2024, 18:09
Так Вы выложите эту часть в виде отдельного проекта, или макроса. Или кто то должен вручную рисовать, чтоб проверить?
https://disk.yandex.ru/d/wMALoZHdprK2EA
OWEN Logic v2.6.345.0

p-nik
13.03.2024, 18:11
А если насос ставится новый вместо сгоревшего. Что делаете с наработкой?

Это уже другая тема

1exan
13.03.2024, 18:14
А если насос ставится новый вместо сгоревшего. Что делаете с наработкой?

Как вариант - можно сделать два значения наработки: одно (с возможностью обнуления) - собственно для учёта, другое (редактируемое) - для ротации

p-nik
13.03.2024, 18:19
А если насос ставится новый вместо сгоревшего. Что делаете с наработкой?

Макрос ротации насосов 2 шт.
https://owen.ru/forum/showthread.php?t=30327

Sergej_
13.03.2024, 18:24
https://disk.yandex.ru/d/wMALoZHdprK2EA
OWEN Logic v2.6.345.0

И пожалуйста, чтоб не было непоняток, условия включения-выключения выходов.

p-nik
13.03.2024, 18:35
И пожалуйста, чтоб не было непоняток, условия включения-выключения выходов.

условие - переменная start и невозможность одновременной активации P1_start и P2_start.
Не надо переписывать логику. Мне интересно почему моя программа не работает, что бы в дальнейшем не допускать ошибок. Или тут проблема в компиляторе Logic

EFrol
13.03.2024, 18:38
условие - переменная start и невозможность одновременной активации P1_start и P2_start.
Не надо переписывать логику. Мне интересно почему моя программа не работает, что бы в дальнейшем не допускать ошибок. Или тут проблема в компиляторе Logic

При каких условиях должен работать P1_start?
При каких условиях должен работать P2_start?

p-nik
13.03.2024, 18:45
При каких условиях должен работать P1_start?
При каких условиях должен работать P2_start?

Коллеги, зачем вам условия? Здесь просто "булевская" логика и программа не работает. Может расположение переменных не так, может ещё какие-то нюансы которые я не знаю

EFrol
13.03.2024, 18:48
Коллеги, зачем вам условия? Здесь просто "булевская" логика и программа не работает. Может расположение переменных не так, может ещё какие-то нюансы которые я не знаю

Когда Вы изложите условия или хотя бы "как должна работать программа" по Вашей логике? Тогда мы сможем указать на нюансы.

Dimensy
13.03.2024, 18:50
условие - переменная start и невозможность одновременной активации P1_start и P2_start.
Не надо переписывать логику. Мне интересно почему моя программа не работает, что бы в дальнейшем не допускать ошибок. Или тут проблема в компиляторе Logic

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

Sergej_
13.03.2024, 18:56
Блин, ну как зачем? Вы хотите чтоб одновременно не включались вообще или запуск разрешен, но с задержкой 5 сек., хотите чтоб приоритет был, у какого? Либо при каждом следующем включении попеременно включались? Вкл-выкл в течении менее5 сек. вариантов масса. То что у Вас , и не меняя логики , как Вы хотели, включится второй выход, через 5 сек 1-й. и при каждом включении так же будет . Я уж не спрашиваю про условия пуска. Поставьте л.з. Но этот вариант не будет отличаться от того что раньше рисовал Вам. Только сложнее.
74327

Вероятно Вы хотели что то типа счетчика сделать? N_start? Но это не так делается. Гадать сложно.

p-nik
13.03.2024, 19:19
Проблема в том, что вы все переменные сделали энергонезависимыми. А зачем вы это сделали? Если не менять логику, то у вас включится второй выход и через 5 секунд добавится первый. Так и должно быть?

Да. В данном случае именно это.
Про л.з. попробую уже завтра.
Спасибо!

Сергей0308
13.03.2024, 19:34
На форуме была подобная тема(если правильно понял вашу проблему), в смысле, если включаются одновременно более одного насоса(компрессора), точнее, подаются сигналы на запуск, то первый запускался сразу, а остальные по очереди, с определённым приоритетом и задержкой, чтобы снизить суммарный пусковой ток, Вы такой алгоритм хотите?
Короче, я много разных вариантов предлагал, вот один из них:

74329

FPavel
13.03.2024, 20:38
Здравствуйте. Возник вопрос касательно чтения значения мощности с счетчика WB-MAP3e на ПР205. Видел на форуме, что возникала такая проблема, но она была решалась в Codesys, а не в owen logic. Связь ПР с счетчиком есть, значения напряжения считываются исправно, а вот значения суммарной активной мощности нет. Если кто-нибудь сталкивался, то не могли бы подсказать, как справиться с данной проблемой?

Не могу понять, зачем суммарная активная мощность имеет тип "целое со знаком", оно реально может быть отрицательным?

Если в ПР требуется только вывести на экран, то можно сделать так полученное число умножить на 512 и полученный результат вывести в формате "с фиксированной запятой".

А перестановку байт при необходимости - сделайте самостоятельно. Один из 16 вариантов будет показывать правильно.

Для вывода числа (Reg0x1300 * 0.00512) удобно представить число форматом с "фиксированной запятой" - т.е. в виде двух переменных (целая и дробная части).



function_block TotalP_To_Display_ //имя функционального блока.

// предельные значения результатов для вычисления
// суммарной активной мощности с учётом масштабирования
// (умножения принятого числа на 0,00512)

// (2^32)-1 = 4 294 967 295
// (( (2^32)-1 ) * 512) = 2 199 023 255 040
// (( (2^32)-1 ) * 512) / (10^5) = 21 990 232,55040

// т.е. нужно выделить фиксированную дробную часть,
// а оставшаяся целая часть
// 21 990 232 (10) = 1 01001111 10001011 01011000 (2)
// занимает 25 бит и может уместиться в целой 32 разрядной
// переменной

var_input //объявление входных переменных
Reg0x1300: udint;
end_var

var_output //объявление выходных переменных
Int_8, Frac_5: udint;
end_var

var //объявление локальных переменных
A0, A1, A2: udint; //внутренний формат хранения регистра для вычислений
max_value: udint := 65535;
divizor: udint := 10000;
temp: udint;
end_var

// преобразование входного значения во внутренний формат с учётом умножения на (2^9) = 512
A2 := shr(Reg0x1300, 32-9);
A1 := shr(Reg0x1300, 7) mod (max_value + 1);
A0 := shl(Reg0x1300, 9) mod (max_value + 1);

// получение дробной части путём получения остатка от деления на (10^5)
// при делении на (10^5) возможно переполнение при "A1 := shl(temp, 16) + A1"
// поэтому сначала делится на 10, а затем на (10^4)
temp := A2 mod 10;
A2 := A2 / 10;
A1 := shl(temp, 16) + A1;
temp := A1 mod 10;
A1 := A1 / 10;
A0 := shl(temp, 16) + A0;
temp := A0 mod 10;
A0 := A0 / 10;
Frac_5 := temp;

temp := A2 mod divizor;
A2 := A2 / divizor;
A1 := shl(temp, 16) + A1;
temp := A1 mod divizor;
A1 := A1 / divizor;
A0 := shl(temp, 16) + A0;
temp := A0 mod divizor;
A0 := A0 / divizor;
Frac_5 := temp*10 + Frac_5;

// из A0 и A1 собирается целая часть числа
Int_8 := A0 + shl(A1, 16);

end_function_block

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

p-nik
15.03.2024, 10:41
Блин, ну как зачем? Вы хотите чтоб одновременно не включались вообще или запуск разрешен, но с задержкой 5 сек., хотите чтоб приоритет был, у какого? Либо при каждом следующем включении попеременно включались? Вкл-выкл в течении менее5 сек. вариантов масса. То что у Вас , и не меняя логики , как Вы хотели, включится второй выход, через 5 сек 1-й. и при каждом включении так же будет . Я уж не спрашиваю про условия пуска. Поставьте л.з. Но этот вариант не будет отличаться от того что раньше рисовал Вам. Только сложнее.
74327

Вероятно Вы хотели что то типа счетчика сделать? N_start? Но это не так делается. Гадать сложно.

Всем спасибо! С л.з. всё работает как надо.


На форуме была подобная тема(если правильно понял вашу проблему), в смысле, если включаются одновременно более одного насоса(компрессора), точнее, подаются сигналы на запуск, то первый запускался сразу, а остальные по очереди, с определённым приоритетом и задержкой, чтобы снизить суммарный пусковой ток, Вы такой алгоритм хотите?
Короче, я много разных вариантов предлагал, вот один из них:

74329

Спасибо! Возьму на заметку

Сергей0308
15.03.2024, 11:28
Всем спасибо! С л.з. всё работает как надо.



Спасибо! Возьму на заметку

Если потребуется, настройки периода(задержки) в свойствах макроса и можно легко расширить до 32 входов-выходов!

maintenancekbk24@gmail.com
18.03.2024, 14:24
Добрый день! Уважаемые комрады. Нужна помощь в программировании ПР100. Подскажите пожалуйста каким образом настроить переменную на аналоговый вход в дискретный режим, при котором напряжение логической единицы 4.5в, а логического нуля поставить 2В.

kondor3000
18.03.2024, 14:31
Добрый день! Уважаемые комрады. Нужна помощь в программировании ПР100. Подскажите пожалуйста каким образом настроить переменную на аналоговый вход в дискретный режим, при котором напряжение логической единицы 4.5в, а логического нуля поставить 2В.

Уровни в ПР можно настроить или использовать аналоговый вход в режиме входа по напряжению. Тогда вы сможете выловить любой нужный уровень.
Сделайте сравнение входа <2 и >4.4 и получите логическую единицу или 0.
А по факту достаточно только сравнить >4.4 и будет логическая 1, остальное 0.

Dimensy
18.03.2024, 15:27
Добрый день! Уважаемые комрады. Нужна помощь в программировании ПР100. Подскажите пожалуйста каким образом настроить переменную на аналоговый вход в дискретный режим, при котором напряжение логической единицы 4.5в, а логического нуля поставить 2В.

А так не прокатывает?
74470

shev1975
19.03.2024, 01:23
Простите за глупый вопрос, попытался запустить симуляцию ФБ, и ничего не получил. Вроде все сделал как на видео с ОФ канала на Ютуб. Версия 2.6.346.0
74484

Sergej_
19.03.2024, 04:30
Простите за глупый вопрос, попытался запустить симуляцию ФБ, и ничего не получил. Вроде все сделал как на видео с ОФ канала на Ютуб. Версия 2.6.346.0
74484
Прицепите переменную "результат" к какому нибудь выходу, или сделайте энергонезависимой.

maintenancekbk24@gmail.com
19.03.2024, 07:47
Спасибо за помощь!

Newcomer
21.03.2024, 09:25
Добрый день

Для запуска режима онлайн отладки следует нажать на кнопку (см. картинку). Не вижу такой кнопки на панели инструментов.

kondor3000
21.03.2024, 09:29
Добрый день

Для запуска режима онлайн отладки следует нажать на кнопку (см. картинку). Не вижу такой кнопки на панели инструментов.

Рядом с запуском симулятора, она не активна пока не подключите ПР онлайн 74561

Newcomer
21.03.2024, 09:36
Рядом с запуском симулятора, она не активна пока не подключите ПР онлайн 74561

Спасибо, узрел.

Newcomer
21.03.2024, 09:39
При подключении ПР200 к ПК Windows сама драйвер найдет или его надо устанавливать.

rapuk
22.03.2024, 11:07
Здравствуйте. Подскажите пожалуйста, не получается понять в какую сторону двигаться.
Имеется инкрементальный энкодер, который измеряет длину, подключен на быстрые входы(FI1, FI2) к реле ПР205. К дискретному входу I3 подключена кнопка без фиксации.
Необходимо записать значение количества импульсов энкодера в переменную "Кол-во импульсов №1" при нажатии на кнопку.
При повторном нажатии на кнопку записать новое значение в переменную "Кол-во импульсов №2" и т.д.
Есть ли возможность вывести на экран информацию в виде:

Нажатие 1 — 1267 импульсов
Нажатие 2 — 2430 импульсов
...
Нажатие N — 76395 импульсов

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

Во вложении тестовый файл.

EFrol
22.03.2024, 11:31
Предлагаю реализовать FIFO-буфер:
74598

rapuk
22.03.2024, 11:48
Большое спасибо! Работает

Newcomer
22.03.2024, 13:24
Добрый день

На экране ПР200 создано 6 строк. Какая кнопка используется для перемещения по строкам ?

Cs-Cs
22.03.2024, 14:14
Это вопрос чьего-то теста на знание ОВЕНа?
Вариант ответа с одной кнопкой не подходит.

Newcomer
22.03.2024, 14:25
Это вопрос чьего-то теста на знание ОВЕНа?
Вариант ответа с одной кнопкой не подходит.

И какая это кнопка ?

Newcomer
22.03.2024, 15:03
В режиме отображения для перехода по строкам используются кнопки что на картинке.
Какие кнопки используются для перехода между строками в режиме редактирование в РЭ не написано.

При входе в режим редактирования попадаю в первую строку экрана и дальше не могу никуда перейти.

У меня кнопка Стрелка вниз используется для перехода между экранами. Эта же кнопка штатно предназначена для перехода между строками экрана в режиме отображения.

Cs-Cs
22.03.2024, 15:37
В режиме редактирования по строкам переходы НЕ работают.
Нужно прокрутить экран до нужной строки кнопками Вверх и Вниз, а потом через SEL редактировать.

EFrol
22.03.2024, 15:39
А чтобы продолжить навигацию по строкам надо выйти из режима редактирования (ESC или OK).

Newcomer
22.03.2024, 15:53
В режиме редактирования по строкам переходы НЕ работают.
Нужно прокрутить экран до нужной строки кнопками Вверх и Вниз, а потом через SEL редактировать.

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

rapuk
22.03.2024, 15:53
Подскажите, пожалуйста - можно ли задать максимальное значение "индикатора выполнения" на экране не статично, а равное переменной?
Т.е. есть переменная со значением 10000, индикатор должен отображать значения в пределах 0-10000

EFrol
22.03.2024, 16:02
Подскажите, пожалуйста - можно ли задать максимальное значение "индикатора выполнения" на экране не статично, а равное переменной?
Т.е. есть переменная со значением 10000, индикатор должен отображать значения в пределах 0-10000

Лучше отмасштабировать значение выводимой переменной.

rapuk
22.03.2024, 16:04
Подскажите как

EFrol
22.03.2024, 16:25
Допустим, что у нас индикатор отображает ValShow, у которого минимальное = 0, а максимальное = 100.
Нам известно фактическое максимальное ValMax и значение ValOut, которое надо отмасштабировать в ValShow.
Тогда самый простой способ:
74609

Королев Кирилл
22.03.2024, 16:48
Экран до нужной строки прокручивается в режиме просмотра ? Это сколько же придется переключаться из режима в режим что бы отредактировать все строки.

Если на экране находятся несколько доступных для редактирования элементов, то переходить между ними можно по клавише SEL:
74611
Для пролистывания именно строк нужно использовать стрелки

Newcomer
22.03.2024, 17:31
Если на экране находятся несколько доступных для редактирования элементов, то переходить между ними можно по клавише SEL:
74611



Для пролистывания именно строк нужно использовать стрелки
Пролистывание строк экрана при помощи стрелок возможно только в режиме просмотра.

EFrol
22.03.2024, 17:33
Пролистывание строк при помощи стрелок возможно только в режиме просмотра.

Да. Верно.

Newcomer
22.03.2024, 17:40
Да. Верно.

А как определить в каком режиме находишься, просмотр или редактирование ?

EFrol
22.03.2024, 17:43
А как определить в каком режиме находишься, просмотр или редактирование ?

Кажется, редактируемое значение мигает в режиме редактирования.

rapuk
22.03.2024, 17:48
Предлагаю реализовать FIFO-буфер:
74598

А подскажите - можно ли обнулить эти переменные при поступлении доп. импульса? Все счётчики с входом R работают только с булевыми значениями


Допустим, что у нас индикатор отображает ValShow, у которого минимальное = 0, а максимальное = 100.
Нам известно фактическое максимальное ValMax и значение ValOut, которое надо отмасштабировать в ValShow.
Тогда самый простой способ:
74609
Спасибо

Newcomer
22.03.2024, 18:13
т
Кажется, редактируемое значение мигает в режиме редактирования.

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

EFrol
22.03.2024, 18:13
Можно:
74614

EFrol
22.03.2024, 18:15
Вот человек мучается сейчас. Жмет SEL, заходит в режим редактирования, мигает первый параметр. Отредактировал первый параметр, жмет SEL. Параметр должен сохранится и должен произойти переход к редактированию следующего параметра, а этого не происходит.

Да. Я тоже не сразу привык. Поэтому вторую строчку использую для комментария, чтобы после редактирования нажимать сразу OK и далее листать до следующего параметра. Иногда первая строчка - наименование, вторая - единица измерения и рядом значение.

Newcomer
22.03.2024, 18:23
Да. Я тоже не сразу привык. Поэтому вторую строчку использую для комментария, чтобы после редактирования нажимать сразу OK и далее листать до следующего параметра. Иногда первая строчка - наименование, вторая - единица измерения и рядом значение.

Если после редактирования нажать OK, то произойдет выход из режима редактирования. И зачем это надо ?

EFrol
22.03.2024, 18:38
Если после редактирования нажать OK, то произойдет выход из режима редактирования. И зачем это надо ?

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

Newcomer
22.03.2024, 18:40
Кому должен? Из режимов редактирования традиционно есть 2 выхода - с принятием значения и без. Как бы не понять этого при наличии ESC и OK нужно быть очень отстранённым.

С выходом из режима редактирования проблем нет. Проблема в переходе к редактирования следующего параметра на том же экране.

Newcomer
22.03.2024, 18:55
Какая проблема?

По SEL нет перехода к редактированию следующего параметра.

1exan
22.03.2024, 18:56
т

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

Перейти можно только к следующему редактируемому параметру на отображаемых в данный момент строках (2шт), т.е. от "t предпр" по SEL перейти к "Тпрогр" или "Рразр" точно не получится

Nsft
26.03.2024, 11:50
Здравствуйте. Я только начинаю разбираться в данное среде, потому надеюсь на понимание. У меня возник вопрос касательно сетевых переменных, а именно их сброса. У объекта, с которым я общаюсь по rs485 есть регистры, которые мне нужно перезаписывать. При начале работы логики ПР в регистр записываются нули, так как еще не сработали триггеры на запись значений в регистры, что портит работу алгоритма, а также из-за постоянной перезаписи регистра объект зависает на время от 5 секунд до нескольких минут. Видел в документации, что у сетевых переменных можно делать запись в регистры по команде переменной. Я реализовал данный вариант, но как показала практика, запись все равно происходит, что с моей стороны кажется странным при наличии запрета записи. В связи с этим вопрос, как запретить запись значения в регистр если значение на входе не поменялось или реализовать как-то интервально?

CleanS
26.03.2024, 12:06
Все сетевые переменные энергонезависимые и они сохраняют своё значение при выключении устройства. Соответственно при запуске они (значения) будут восстановлены на те, что были в момент выключения.
После загрузки ПР и запуска прошивки можно по очереди обновить значения переменных, требующих корректировки.

kondor3000
26.03.2024, 12:20
Здравствуйте. Я только начинаю разбираться в данное среде, потому надеюсь на понимание. У меня возник вопрос касательно сетевых переменных, а именно их сброса. У объекта, с которым я общаюсь по rs485 есть регистры, которые мне нужно перезаписывать. При начале работы логики ПР в регистр записываются нули, так как еще не сработали триггеры на запись значений в регистры, что портит работу алгоритма, а также из-за постоянной перезаписи регистра объект зависает на время от 5 секунд до нескольких минут. Видел в документации, что у сетевых переменных можно делать запись в регистры по команде переменной. Я реализовал данный вариант, но как показала практика, запись все равно происходит, что с моей стороны кажется странным при наличии запрета записи. В связи с этим вопрос, как запретить запись значения в регистр если значение на входе не поменялось или реализовать как-то интервально?

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

rapuk
27.03.2024, 17:24
Подскажите, пожалуйста - столкнулся с проблемой определения импульса для записи значений в переменные "Длина"
Импульсы приходят с энкодера, который измеряет длину. Через определенную длину срабатывает автоматика отрезного механизма продолжительностью около 10 секунд.
На тестовых подключениях, где срабатывание автоматики я эмулировал нажатием кнопки без фиксации - все работает замечательно, таким методом(спасибо EFrol'у):
74772
Но, как оказалось - при включении отрезного механизма идёт не один импульс, а целый пакет импульсов общей продолжительностью 10 секунд.
В результате каждый следующий импульс обнуляет показания длины и я не вижу предыдущего значения - всё забивается нулями.
Победить получилось, используя FTRIG вместо RTRIG, т.е. по заднему фронту последнего импульса.
Можно ли как-то зафиксировать только первый импульс из пучка, сохранить в памяти значение длины, а затем подождать 15 секунд и записать значение в переменную?

EFrol
27.03.2024, 18:37
Один пропускает - следующий через 15 сек:
74777

Импульс формируется при паузе между входными импульсами более 1 секунды, т.е. в конце пачки:
74778
Если заменить FTRIG на RTRIG, то наоборот фиксирует начало пачки.

rapuk
27.03.2024, 20:21
Элегантно, спасибо

Сергей0308
27.03.2024, 20:55
Один пропускает - следующий через 15 сек:
74777

Импульс формируется при паузе между входными импульсами более 1 секунды, т.е. в конце пачки:
74778
Если заменить FTRIG на RTRIG, то наоборот фиксирует начало пачки.

Вот здесь, в посте #3526 макрос выкладывал для разруливания одновременного запуска 8 устройств: https://owen.ru/forum/showthread.php?t=26216&page=353
В смысле на выход пропускается первый импульс, последующие импульсы пройдут не ранее минимального периода следования, настраивается в свойствах макроса, вроде, как Вы хотите!
Можно использовать любой вход-выход(с одинаковым номером).

rapuk
28.03.2024, 12:52
Подскажите - можно ли вывести на экран значение активного таймера TOF?
Я задаю с экрана в него значение, например 15000 мс.
Подаю импульс на вход, запускается таймер 100...200...850...мс
Как вывести/записать в переменную это значение (850) на экран?

74800

74801

1exan
28.03.2024, 13:03
Подскажите - можно ли вывести на экран значение активного таймера TOF?
Я задаю с экрана в него значение, например 15000 мс.
Подаю импульс на вход, запускается таймер 100...200...850...мс
Как вывести/записать в переменную это значение (850) на экран?


Со стандартного TOF это значение не взять. Поищите на форуме самописные таймеры

Сергей0308
28.03.2024, 13:36
Здесь таймер выкладывал с паузой, прямым и обратным отсчётом времени: https://owen.ru/forum/showthread.php?t=33720&page=17&highlight=%F2%E0%E9%EC%E5%F0+%E4%EB%FF+%CF%D0200

EFrol
28.03.2024, 13:59
При симуляции Timer будет отставать из-за 100мс цикла - в приборе цикл короче - должен успевать:
74808


function_block Timer

var_input
I : bool;
end_var

var_output
Q : udint;
end_var

var
gen : SYS.BLINK;
rt : SYS.RTRIG;
end_var

gen(I:=I, Th:=T#10ms, Tl:=T#10ms); rt(I:=gen.Q);
if rt.Q then Q := Q + 20; end_if
if not I then Q := 0; end_if

end_function_block


А вот вообще сказка:


function_block Timer

var_input
I : bool;
end_var

var_output
Q : udint;
end_var

var
time_prev : udint;
end_var

if I then
Q := time_to_udint(get_time()) - time_prev;
else
Q := 0; time_prev := time_to_udint(get_time());
end_if

end_function_block

rapuk
28.03.2024, 15:08
Вроде в OWEN Logic всё логично, но есть не логичные моменты.
На экране есть несколько элементов "Ввод/вывод (int/float)" и "динамический текст". Элементы добавлялись в разное время.
При работе прибора и нажатии на экране кнопки "SEL" редактирование элементов производится не по порядку сверху-вниз, а как-то неочевидно:
74812

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

rapuk
28.03.2024, 15:54
При симуляции Timer будет отставать из-за 100мс цикла - в приборе цикл короче - должен успевать:
74808
...
А вот вообще сказка:


function_block Timer

var_input
I : bool;
end_var

var_output
Q : udint;
end_var

var
time_prev : udint;
end_var

if I then
Q := time_to_udint(get_time()) - time_prev;
else
Q := 0; time_prev := time_to_udint(get_time());
end_if

end_function_block


Работает, большое спасибо. А по-поводу порядка элементов на экране не подскажете?

kondor3000
28.03.2024, 16:16
Подскажите - можно ли вывести на экран значение активного таймера TOF?
Я задаю с экрана в него значение, например 15000 мс.
Подаю импульс на вход, запускается таймер 100...200...850...мс
Как вывести/записать в переменную это значение (850) на экран?


Вот таймеры TOF и TOF_P с выходом ET и паузой 74819

Королев Кирилл
28.03.2024, 16:26
Вроде в OWEN Logic всё логично, но есть не логичные моменты.
На экране есть несколько элементов "Ввод/вывод (int/float)" и "динамический текст". Элементы добавлялись в разное время.
При работе прибора и нажатии на экране кнопки "SEL" редактирование элементов производится не по порядку сверху-вниз, а как-то неочевидно:
74812

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

Порядок выбора элементов обусловлен их положением в меню "компоненты экрана". Можно перетаскивать элементы для изменения порядка выбора.
74823
Дополним описание в справке по этому поводу

rapuk
28.03.2024, 16:34
Порядок выбора элементов обусловлен их положением в меню "компоненты экрана". Можно перетаскивать элементы для изменения порядка выбора.
74823
Дополним описание в справке по этому поводу

Спасибо, оказывается порядок этих элементов "снизу вверх" :)

Dimensy
28.03.2024, 19:03
Порядок выбора элементов обусловлен их положением в меню "компоненты экрана". Можно перетаскивать элементы для изменения порядка выбора.

А для ПР200 что-то похожее можно организовать?

1exan
28.03.2024, 19:05
А для ПР200 что-то похожее можно организовать?

Поддерживаю, очень не хватает такого инструмента (копипастом очень неудобно)

Сергей0308
28.03.2024, 19:52
Поддерживаю, очень не хватает такого инструмента (копипастом очень неудобно)

Не понял юмора, в смысле, Вы копипастом как сможете изменить порядок(очерёдность) выбора переменных(элементов) в ПР200?

Dimensy
28.03.2024, 21:03
Не понял юмора, в смысле, Вы копипастом как сможете изменить порядок(очерёдность) выбора переменных(элементов) в ПР200?

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

1exan
29.03.2024, 04:58
Не понял юмора, в смысле, Вы копипастом как сможете изменить порядок(очерёдность) выбора переменных(элементов) в ПР200?

Как я понял, на очередность как раз влияет разница "по высоте в слое" элементов ввода

ProRus
01.04.2024, 13:23
Подскажите как число с плавающей запятой состоящее из 15 цифр разделить на три числа по 5 цифр и превратить в целочисленное?
Например имею число 123456789123456, хочу его разделить на 12345, 67891, 23456.
Такое возможно?
На Python такое получается на раз, в Owen Logic не выходит.
74887
float32 вообще в пр102 32 бита?
Может на ST такой фокус пройдет?

petera
01.04.2024, 13:41
Подскажите как число с плавающей запятой состоящее из 15 цифр разделить на три числа по 5 цифр и превратить в целочисленное?
Например имею число 123456789123456, хочу его разделить на 12345, 67891, 23456.
Такое возможно?
На Python такое получается на раз, в Owen Logic не выходит.
74887
float32 вообще в пр102 32 бита?
Может на ST такой фокус пройдет?
Не дурите голову, в ОЛ используется Float (IEEE754)

О каких 15 знаках может идти речь?
Точность переменной с плавающей точкой IEEE754 (для мантиссы отводится всего 23 бита из 32) всего лишь 7 цифр, даже неважно где будет стоять запятая, т.е.

0.ххххххх
х.хххххх
хх.ххххх
ххх.хххх
хххх.ххх
ххххх.хх
хххххх.х
ххххххх

таким образом всего 9 999 999

EFrol
01.04.2024, 14:09
Подскажите как число с плавающей запятой состоящее из 15 цифр разделить на три числа по 5 цифр и превратить в целочисленное?
Например имею число 123456789123456, хочу его разделить на 12345, 67891, 23456.
Такое возможно?
На Python такое получается на раз, в Owen Logic не выходит.
74887
float32 вообще в пр102 32 бита?
Может на ST такой фокус пройдет?

Да мантисса этого числа займет 46 бит. Если есть желание Вы можете представить это число как два 32-битных, например:
28744 * 232 + 2249167232 = 123456789123456
Далее воспользоваться макросом https://owen.ru/forum/showthread.php?t=26216&p=431974&viewfull=1#post431974

74891

ProRus
01.04.2024, 14:11
в итоге то что, в ОЛ не получилось, где скрин, что выходит вместо нужного

74893
74895

ProRus
01.04.2024, 14:13
Не дурите голову, в ОЛ используется Float (IEEE754)

О каких 15 знаках может идти речь?
Точность переменной с плавающей точкой IEEE754 (для мантиссы отводится всего 23 бита из 32) всего лишь 7 цифр, даже неважно где будет стоять запятая, т.е.

0.ххххххх
х.хххххх
хх.ххххх
ххх.хххх
хххх.ххх
ххххх.хх
хххххх.х
ххххххх

таким образом всего 9 999 999
Понял, пошел изучать мат. часть... :)
Спасибо!

ProRus
01.04.2024, 14:14
Да мантисса этого числа займет 46 бит. Если есть желание Вы можете представить это число как два 32-битных, например:
28744 * 232 + 2249167232 = 123456789123456
Далее воспользоваться макросом https://owen.ru/forum/showthread.php?t=26216&p=431974&viewfull=1#post431974

74891

Спасибо за подсказку!

capzap
01.04.2024, 14:19
74893
74895

а теперь повторите результат в питоне, приведя число действительно к float32 74898

capzap
01.04.2024, 16:15
да там не про float, зачем ProRus его приплел, непонятно

потому что с целочисленными шансов еще меньше 74900, даже не повторить первую часть

Валенок
01.04.2024, 16:19
Да там не 32 бита, а какой-то long
нету ж точки после 2-й шестерки

Traveller
25.04.2024, 19:18
Доброго времени суток коллеги!
Сейчас делаю один проект и отрабатываю один алгоритм, суть состоит в том что мне нужно некую в некотором плане хаотичную последовательность импульсов идущую с частотой порядка 2-5 Гц. разделять на минимальные и максимальные значения этой частоты + выделять среднее значение, в принципе я макрос этот сваял как сумел один макрос взял из базы и он как бы работает, в режиме отладки, т.е. если я руками задаю ему числа, он их селектирует по нужным критериям, но вот если я его вставляю в программу и запускаю ее в режиме симулятора, то на выходах этого макроса значки бесконечности, т.е. макрос не работает, что я делаю не так?
Ну и собственно саму тестовую программку выкладываю
https://owen.ru/forum/attachment.php?attachmentid=75427&stc=1&d=1714061798
https://owen.ru/forum/attachment.php?attachmentid=75428&stc=1&d=1714061809
Сама программка
https://owen.ru/forum/attachment.php?attachmentid=75429&stc=1&d=1714061866

kondor3000
25.04.2024, 19:57
Доброго времени суток коллеги!
Сейчас делаю один проект и отрабатываю один алгоритм, суть состоит в том что мне нужно некую в некотором плане хаотичную последовательность импульсов идущую с частотой порядка 2-5 Гц. разделять на минимальные и максимальные значения этой частоты + выделять среднее значение, в принципе я макрос этот сваял как сумел один макрос взял из базы и он как бы работает, в режиме отладки, т.е. если я руками задаю ему числа, он их селектирует по нужным критериям, но вот если я его вставляю в программу и запускаю ее в режиме симулятора, то на выходах этого макроса значки бесконечности, т.е. макрос не работает, что я делаю не так?


У вас в первом цикле, происходит деление на 0 и в макросе в Max и Avg записывается бесконечность, что логично 75430
Достаточно было включить проект по шагам и всё видно. Сделайте задержку на входе макроса или не делите на 0.

Traveller
25.04.2024, 20:15
У вас в первом цикле, происходит деление на 0 и в макросе в Max и Avg записывается бесконечность, что логично 75430
Достаточно было включить проект по шагам и всё видно.Странно, в режиме отладки самого макроса, такого не было, хотя там тоже ноль присутствовал, ну да ладно, значит нужно устранять эту лажу, что по моему не так сложно... :) Большое спасибо за подсказку!!! :)

Сергей0308
25.04.2024, 20:16
Так какой смысл, велосипед изобретать, тем более если он не получается, в смысле, на форуме много раз выкладывали макросы экстремумов и расчёта среднего значения, например среднее за период или среднее скользящим окном.

Traveller
25.04.2024, 20:24
Так какой смысл, велосипед изобретать, тем более если он не получается, в смысле, на форуме много раз выкладывали макросы экстремумов и расчёта среднего значения, например среднее за период или среднее скользящим окном.Мне легче самому сделать, или вопрос здесь задать, чем перелопачивать весь форум в поисках простого ответа, там более что усреднить данные я и без помощи форума могу...
И вообще у вас по делу есть что сказать, или вы снова тут решили интеллект свой продемонстрировать? :)
И да можете не продолжать задачка уже решена, все Ок!

bayk
25.04.2024, 23:08
Народ! под вечер очень туплю! мне нужен энергонезависимый таймер (счетчик) с обратным отсчетом в минутах. мне надо запустить его по поджатой энергонезависимой переменной, и он должен начать обратный отсчет в минутах до окончания (желательно чтоб показывал сколько осталось) но если пропадет питание, а потом снова появится он должен продолжить считать откуда остановился. а если переменная будет снята - сбросится.

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

RomanKk
25.04.2024, 23:57
Установил последнюю версию ОЛ, в библиотеке макросов нет описания макросов, хотя раньше были. Баг, глюк или описания убрали?

СергейПалехов
26.04.2024, 09:50
Установил последнюю версию ОЛ, в библиотеке макросов нет описания макросов, хотя раньше были. Баг, глюк или описания убрали?

Здравствуйте! Описание макросов можно посмотреть в Онлайн базе менеджера компонентов. В последней версии OwenLogic(2.6.348.0) данная функция доступна.
Рdf-описания макросов из онлайн базы можно скачать и хранить на ПК.
С уважением, старший инженер технической поддержки, Палехов С.А.

novinky
03.05.2024, 11:58
отличие работы ФуНкции и Функционального Блока.
Не могу понять почему функция в коде работает не корректно, передает результат условия наименьшего бита равного 1, прим: i1=1 & i2=1 sum=1. Подскажите пожалуйста.
function fN_bool_TO_int: udint;

var_input
i1 : bool;
i2 : bool;
end_var

var
sum : udint; //сумма
ft1 : bool; //триггер фронта i1
ft2 : bool; //триггер фронта i2
end_var

IF i1 & NOT ft1 THEN
ft1 := i1;
sum := sum + 1;
ELSIF NOT i1 & ft1 THEN
ft1 := i1;
sum := sum - 1;
ELSIF i2 & NOT ft2 THEN
ft2 := i2;
sum := sum + 2;
ELSIF NOT i2 & ft2 THEN
ft2 := i2;
sum := sum - 2;
END_IF

fN_bool_TO_int := sum;

end_function

Практически аналогичный код в ФБ работает без замечаний.
function_block fB_bool_TO_int

var_input
i1 : bool;
i2 : bool;
end_var

var_output
q : udint;
end_var

var
sum : udint; //сумма
ft1 : bool; //триггер фронта i1
ft2 : bool; //триггер фронта i2
end_var

IF i1 & NOT ft1 THEN
ft1 := i1;
sum := sum + 1;
ELSIF NOT i1 & ft1 THEN
ft1 := i1;
sum := sum - 1;
ELSIF i2 & NOT ft2 THEN
ft2 := i2;
sum := sum + 2;
ELSIF NOT i2 & ft2 THEN
ft2 := i2;
sum := sum - 2;
END_IF

q := sum;

end_function_block

EFrol
03.05.2024, 12:03
В ФБ все переменные сохраняют свои значения до следующего вызова,
а в функции нет - инициализируются значениями по-умолчанию!
Свой ФБ Вы можете вызывать без передачи параметров, например (fB_bool_TO_int()),
значение входных останутся теми же, которые были при первом вызове.
А вот функция без параметров - ошибка.
В ФБ если алгоритм не изменил значения внутренних или выходных переменных,
то они тоже сохраняются между вызовами.
По аналогии с ООП ФБ - это объекты со своими полями.

Cs-Cs
03.05.2024, 12:12
novinky Собственно, в этом и отличие по их работе и есть.
Функция НЕ запоминает своё состояние ВООБЩЕ. Поэтому все переменные там НЕ сохраняются никогда и никак. Они обсчитываются только на момент вызова функции.
Это используется, когда надо сделать одни и те же вычисления для разных данных. Функции занимают память один раз: на сам код функции. В программе идёт обращение к одному и тому же коду из разных мест.
Функциональный Блок запоминает состояние всех переменных внутри. Но он будет потреблять больше памяти: на каждый экземпляр функционального блока будет выделяться своя отдельная память, так как разные экземпляры блоков могут иметь разное состояние внутренних переменных.

novinky
03.05.2024, 12:21
классическое объяснение про ПЛК гласит:
- ПЛК опрашивает входа и запоминает их значения,
- выполняет код,
- записывает результат в выхода.

Если i1=1 и i2=1, то согласно учению, ПР должен выдать sum=3

EFrol
03.05.2024, 12:27
классическое объяснение про ПЛК гласит:
- ПЛК опрашивает входа и запоминает их значения,
- выполняет код,
- записывает результат в выхода.

Если i1=1 и i2=1, то согласно учению, ПР должен выдать sum=3

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

novinky
03.05.2024, 12:35
Если i1=1, Затем i2=1, то почему сумму не выдает по последнему вызову?

novinky
03.05.2024, 13:42
Др несоответствие: если i1=1 и i2=1, получается не дойдя до END_IF выдает неверную сумму? Мне думается в др ПЛК результат будет = 3.

Dimensy
03.05.2024, 14:06
отличие работы ФуНкции и Функционального Блока.
Не могу понять почему функция в коде работает не корректно, передает результат условия наименьшего бита равного 1, прим: i1=1 & i2=1 sum=1. Подскажите пожалуйста.


Напишите


fN_bool_TO_int.0 := i1;
fN_bool_TO_int.1 := i2;

и будет вам счастье

novinky
03.05.2024, 15:07
OK спасибо, попробовали через несколько IF, получили желаемый результат через функцию.
Тогда почему:
1 - "сколько раз не вызывайте функцию, ft1 и ft2 будут всегда FALSE, поэтому 3 ни когда не получите, сперва один потом два"все же значение первого сложения не потерялась "внутренняя память" перед вычислением по 2 входу?
2 - в ФБ, "если всё сделано через ELSIF. Сработает только одно условие", по первому совпавшему условию не прекращает перебирать ELSIF и суммировать?

novinky
05.05.2024, 02:27
Напишите


fN_bool_TO_int.0 := i1;
fN_bool_TO_int.1 := i2;

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

Dimensy
05.05.2024, 02:37
Можно больше строк пожалуйста, не понял в каком месте это написать и как связать с остальной частью
Пожалуйста


function fN_bool_TO_int: udint;

var_input
i1 : bool;
i2 : bool;
end_var

fN_bool_TO_int.0 := i1;
fN_bool_TO_int.1 := i2;

end_function

novinky
05.05.2024, 02:39
[CODE]
если бы не потерялось, то было бы 3, но Вы его так и не получили, а получали как раз двойку, потому что 0 + 2 будет 2 По мимо ft1 и ft2, sum тоже всегда равно нулю

IF i1 & NOT ft1 THEN
ft1 := i1;
sum := sum + 1;
ELSIF NOT i1 & ft1 THEN
ft1 := i1;
sum := sum - 1;
ELSIF i2 & NOT ft2 THEN
ft2 := i2;
sum := sum + 2;
ELSIF NOT i2 & ft2 THEN
ft2 := i2;
sum := sum - 2;
END_IF

fN_bool_TO_int := sum;

Почему тогда если ни одно условие не выполняется напр: i2 & ft2 предыдущее значение "2" сохраняется? Почему так же не переинициализируется и fN_bool_TO_int := sum; не возвращает "0"?

Dimensy
05.05.2024, 02:51
IF i1 & NOT ft1 THEN
ft1 := i1;
sum := sum + 1;
ELSIF NOT i1 & ft1 THEN
ft1 := i1;
sum := sum - 1;
ELSIF i2 & NOT ft2 THEN
ft2 := i2;
sum := sum + 2;
ELSIF NOT i2 & ft2 THEN
ft2 := i2;
sum := sum - 2;
END_IF

fN_bool_TO_int := sum;

Почему тогда если ни одно условие не выполняется напр: i2 & ft2 предыдущее значение "2" сохраняется? Почему так же не переинициализируется и fN_bool_TO_int := sum; не возвращает "0"?

Функция при каждом вызове выполняется как в первый раз, с чистого листа. Т.е., при каждом вызове у вас будет и sum и ft1 и ft2 равны нулю

AlexandrGr
05.05.2024, 08:43
sum и ft1 и ft2 равны нулю

Чисто теоретически там может быть что угодно. Что было в памяти то и будет. Другая функция может эту память переписать.

RomanKk
05.05.2024, 11:52
Подскажите реализацию несложного функционала (я в этом новичек, поэтому вопросы возникают даже на несложных задачах).
Есть щит управления и кнопка без фиксации (DO1 на ПР200), также к ПР подключена ESP32 в качестве мастера.
Суть задачи, кнопкой без фиксации запускать систему с задержкой 2с, статус должен отображатся в ESP. Выключить систему можно как той же кнопкой (также задержка 2с), так и с ESP. Если выключить с ESP, то повторное нажатие на кнопку опять запустит систему. То есть это старт/стоп системы как кнопкий на щите, так и с ESP.

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

novinky
05.05.2024, 12:22
Пожалуйста


function fN_bool_TO_int: udint;

var_input
i1 : bool;
i2 : bool;
end_var

fN_bool_TO_int.0 := i1;
fN_bool_TO_int.1 := i2;

end_function


Спасибо, очень Интересно, но не понятно. Могли бы весь код или разъяснить

novinky
05.05.2024, 12:33
чем Вы можете доказать что когда либо выполняется это условие в ФУНКЦИИ? Во второй цикл контроллера, когда i2 равно TRUE, ft2 будет равно FALSE. Эту аксиому Вам неоднократно здесь повторяли разные люди. Вот для наглядности видео
Это мое недопонимание тут разъяснили.

Функция при каждом вызове выполняется как в первый раз, с чистого листа. Т.е., при каждом вызове у вас будет и sum и ft1 и ft2 равны нулю
И я понял, Спасибо.

kondor3000
05.05.2024, 12:57
Подскажите реализацию несложного функционала (я в этом новичек, поэтому вопросы возникают даже на несложных задачах).
Есть щит управления и кнопка без фиксации (DO1 на ПР200), также к ПР подключена ESP32 в качестве мастера.
Суть задачи, кнопкой без фиксации запускать систему с задержкой 2с, статус должен отображатся в ESP. Выключить систему можно как той же кнопкой (также задержка 2с), так и с ESP. Если выключить с ESP, то повторное нажатие на кнопку опять запустит систему. То есть это старт/стоп системы как кнопкий на щите, так и с ESP.

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

Например так 75542

EFrol
05.05.2024, 13:10
Подскажите реализацию несложного функционала (я в этом новичек, поэтому вопросы возникают даже на несложных задачах).
Есть щит управления и кнопка без фиксации (DO1 на ПР200), также к ПР подключена ESP32 в качестве мастера.
Суть задачи, кнопкой без фиксации запускать систему с задержкой 2с, статус должен отображатся в ESP. Выключить систему можно как той же кнопкой (также задержка 2с), так и с ESP. Если выключить с ESP, то повторное нажатие на кнопку опять запустит систему. То есть это старт/стоп системы как кнопкий на щите, так и с ESP.

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

Биты в сетевых переменных можно менять и считывать откуда хочешь:
75543

Dimensy
05.05.2024, 13:19
Спасибо, очень Интересно, но не понятно. Могли бы весь код или разъяснить

Это весь код. Может так будет понятно?
75545

novinky
06.05.2024, 03:27
Это весь код. Может так будет понятно?

Спасибо, эта таб ясна и понятна. Раньше встречал возврат функцией только в одну строку. Думал функция просто возвращает результирующее значение без присваивания самой функции значений. Тем более в нескольких строках fn.0, fn.1, .. ; и происходит как работа с массивом; и bool-ы записываются в функцию "с типом" udint

kondor3000
06.05.2024, 07:48
Спасибо, эта таб ясна и понятна. Раньше встречал возврат функцией только в одну строку. Думал функция просто возвращает результирующее значение без присваивания самой функции значений. Тем более в нескольких строках fn.0, fn.1, .. ; и происходит как работа с массивом; и bool-ы записываются в функцию "с типом" udint

Только не с массивом, это называется упаковка бит в маску, через точку. В регистр упаковывается до 16 бит. Аналогично можно распаковать биты из маски.

Виктор888
07.05.2024, 15:57
Здравствуйте. Есть например макрос, взятый из менеджера компонентов и если его размножить например на 5 штук, отредактировать любой из них, то все изменения переносятся на остальные. Почему так происходит и как этого избежать?

melky
07.05.2024, 16:10
Виктор888 потому что это не 5 макросов а 5 экземпляров одного макроса. Если вам нужна немного другая логика работы макроса, надо сохранить его как новый макрос, дав ему новое имя и чтобы у него поменялся так же ID.

Сергей0308
07.05.2024, 16:12
Здравствуйте. Есть например макрос, взятый из менеджера компонентов и если его размножить например на 5 штук, отредактировать любой из них, то все изменения переносятся на остальные. Почему так происходит и как этого избежать?

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

Евгений Fishing
14.05.2024, 11:44
Подскажите как скачать программу с контроллера овен пр200?

Sergej_
14.05.2024, 11:46
Никак не скачать.

МихаилГл
14.05.2024, 12:15
Подскажите как скачать программу с контроллера овен пр200?

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

Kliper
17.05.2024, 19:31
В инструкциях к ПРкам есть таблицы с описанием регистров Модбас.
Вопрос: сама ПРка (программа) не может к ним обращаться? К часикам например читать/писать?

Сергей0308
17.05.2024, 19:44
В инструкциях к ПРкам есть таблицы с описанием регистров Модбас.
Вопрос: сама ПРка (программа) не может к ним обращаться? К часикам например читать/писать?

Есть сервисные переменные: Секунды, Минуты, Часы, День, Месяц, Год - можно использовать их в программе, зачем там что-то "мудрить", тем более лезть в сетевые переменные?!

75831

Kliper
17.05.2024, 23:32
Спасибо за информацию. А почему бы и не лезть, если надо?
Почитал про "гуляющие" часы, подумал можно ли их корректировать программно. В таблице регистров их увидел,а в лоджике не вижу. Вот и спрашиваю.
Странно. В 205-ой сервисных переменных у меня нет вообще. Но часы то там есть.
Жаль, что нельзя править значения. Тогда "Электронику 55" сделали бы сами.
Еще вопрос: есть ли вообще список по моделям где есть сервисные переменные, а где нет?

kondor3000
18.05.2024, 09:33
Спасибо за информацию. А почему бы и не лезть, если надо?
Почитал про "гуляющие" часы, подумал можно ли их корректировать программно. В таблице регистров их увидел,а в лоджике не вижу. Вот и спрашиваю.
Странно. В 205-ой сервисных переменных у меня нет вообще. Но часы то там есть.
Жаль, что нельзя править значения. Тогда "Электронику 55" сделали бы сами.
Еще вопрос: есть ли вообще список по моделям где есть сервисные переменные, а где нет?

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

Kliper
18.05.2024, 13:21
Так а корректировать-то их нельзя?

АРТ.Кар 64
18.05.2024, 13:36
«Жизнь невозможно повернуть назад,
И время ни на миг не остановишь.

Как можно "корректировать" время ? На то оно и время.
"Корректировать" нельзя. А вот "остановить" можно.
Вспомните Шляпника и Мартовского Зайца. Чем "остановка "времени для них обернулась.
Насколько помнится Время можно только синхронизировать.
Что касается точности...На ПР 200-24 у меня "отставание" примерно 1-2 сек в сутки

https://disk.yandex.ru/d/8FAkMy6OqU0MWQ

Если вот на таком оборудовании "Время" и "Дату" поменять можно легко,то на ПР- ках ....Сложно сказать..
Впрочем еслм переменные "Секунды",минуты" ,"часы" и т.д. являются "редактируемыми"-то попробовать можно.

mac056
24.05.2024, 09:58
Добрый день. Прошу помощи, несколько дней уже ломаю голову, не пойму как решить проблему.
Описание: Управление осуществляется с помощью одного входа на который заведен gsm-модуль и дублирующая кнопка (по месту). Необходимо при первом нажатии активировать выход Q1, при втором, выход Q2. И так поочередно. Т.е. если сигнал поступил, всегда активен только один выход, если не вышло время и не сработал концевик. Задан интервал времени 40сек, на работу выходов, за это время должны сработать один из датчиков (концевики) и сбросить сигнал, повторным нажатием на кнопку возможно активировать только тот выход, на который не сработал датчик.
Сделал первый вариант, вроде бы все работало, но увеличил скорость работы двигателя и заготовка пролетела концевик, не сбросив цикл, а таймер еще не вышел, в общем последствия не очень!
76000
Переключение выходов сделал в макросе через D триггер с отрицанием одного из выхода. Второй вариант сделал так же через D триггер на каждый выход и вроде бы все хорошо. выхода переключаются, концевики сбрасывают цикл и таймеры. Но, при активации выхода Q1 и входа I2 происходит переключение на выход Q2 и ни как не могу это победить, концевики должны делать полный сброс с выходов
76001

EFrol
24.05.2024, 11:41
А если во время пуска оба датчика не активны?

Dimensy
24.05.2024, 11:42
Добрый день. Прошу помощи, несколько дней уже ломаю голову, не пойму как решить проблему.
Описание: Управление осуществляется с помощью одного входа на который заведен gsm-модуль и дублирующая кнопка (по месту). Необходимо при первом нажатии активировать выход Q1, при втором, выход Q2. И так поочередно. Т.е. если сигнал поступил, всегда активен только один выход, если не вышло время и не сработал концевик. Задан интервал времени 40сек, на работу выходов, за это время должны сработать один из датчиков (концевики) и сбросить сигнал, повторным нажатием на кнопку возможно активировать только тот выход, на который не сработал датчик.
Сделал первый вариант, вроде бы все работало, но увеличил скорость работы двигателя и заготовка пролетела концевик, не сбросив цикл, а таймер еще не вышел, в общем последствия не очень!
Переключение выходов сделал в макросе через D триггер с отрицанием одного из выхода. Второй вариант сделал так же через D триггер на каждый выход и вроде бы все хорошо. выхода переключаются, концевики сбрасывают цикл и таймеры. Но, при активации выхода Q1 и входа I2 происходит переключение на выход Q2 и ни как не могу это победить, концевики должны делать полный сброс с выходов


А если так сделать?

76011

Вот еще аварийный стоп добавил

76012

Сергей0308
24.05.2024, 12:11
А если так сделать?

76011

Вот еще аварийный стоп добавил

76012

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

Dimensy
24.05.2024, 12:20
Для счётного входа Д-триггера не нужен детектор переднего фронта, он и так работает по фронту сигнала!
И, обычно для сигналов стоп и аварийный стоп используют размыкающиеся(нормально-замкнутые) контакты кнопки.

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

Сергей0308
24.05.2024, 12:30
Без RTRIG запуск будет при отпускании кнопки
Аварийный стоп сделан на размыкание кнопки
Можно, конечно, еще поковыряться в алгоритме, можно и на ST написать.

Речь о работе Д-триггера, в смысле, если Вы уберёте детектор переднего фронта на счётном входе - разницы в его работе не будет!
По аварийному стопу, виноват, не заметил инвертор.

mac056
24.05.2024, 12:38
Вроде победил, немного переделал в макросе Д-триггер.
76013
Dimensy спасибо за два варианта, единственное что обратил внимание, если движение идет в одну сторону, например Q1 и срабатывает его концевик и если заготовка случайно его проскочит, то при повторном запуске, он опять начнет с него же., т.е. будет активен опять Q1.
Финальный вид. Добавил вход для оптического датчика присутствия, для включения звукового индикатора и останова работы на закрытие и вывод индикации на лампы при работе.
76014

Dimensy
24.05.2024, 12:53
Вроде победил, немного переделал в макросе Д-триггер.
Dimensy спасибо за два варианта, единственное что обратил внимание, если движение идет в одну сторону, например Q1 и срабатывает его концевик и если заготовка случайно его проскочит, то при повторном запуске, он опять начнет с него же., т.е. будет активен опять Q1.
Финальный вид. Добавил вход для оптического датчика присутствия, для включения звукового индикатора и останова работы на закрытие и вывод индикации на лампы при работе.


Что же это за концевик такой, что его проскочить можно?
Ладно, вот поправил

mac056
24.05.2024, 13:02
В качестве концевиков использовал индуктивные датчики бд-сенсор вби, пластины-актуаторы сделал около 5см шириной, но тяжелая заготовка на скорости примерно 10км/ч, инерции может хватить пролететь его, хотя и сделал динамическое торможение. Но лишний раз рисковать не охото. Еще раз спасибо за помощь!

meta11ist87
03.06.2024, 09:19
Почему иногда переменные вставляются в холст таким вот образом?(рисунок)
Место свободного вагон и меленькая тележка на холсте.
На рисунке я просто перетянул с левой панельки переменную на холст в то место где она изображена.
Дико раздражает.
76209

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


Для экономии места, бывает всё свободное место забито очень плотно. Если вам нужно полное имя переменной, можете её растянуть или сжать стрелочками клавы, удерживая Ctrl

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

Traveller
03.06.2024, 11:01
deleted message

meta11ist87
04.06.2024, 06:51
Если вам нужно полное имя переменной, можете её растянуть или сжать стрелочками клавы, удерживая Ctrl


За этот совет лучи благодарности и +100 в репу.

Ollema
04.06.2024, 09:45
Подскажите, что дает:
"Защита пользовательского проекта с помощью файл-ключа была доступна для наших приборов ПР100, ПР102, ПР200 и ИПП120. Теперь функционал стал доступен для ПР103 и ПР205. Если проект с файл-ключом записать в прибор с помощью мастера тиражирования (файл .exe), то программа на приборе запустится только при совпадении ключей".

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

МихаилГл
04.06.2024, 09:50
Подскажите, что дает:
"Защита пользовательского проекта с помощью файл-ключа была доступна для наших приборов ПР100, ПР102, ПР200 и ИПП120. Теперь функционал стал доступен для ПР103 и ПР205. Если проект с файл-ключом записать в прибор с помощью мастера тиражирования (файл .exe), то программа на приборе запустится только при совпадении ключей".

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

Судя по комментариям вы давно не новичек...

3.2.1 Защита проекта ключом
Создание файла с ключом
Для создания файла с ключом следует:

Руководство откройте хоть раз...

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

Ollema
04.06.2024, 09:57
В данном случае - новичок, потому что сам ни разу не применял проект с ключом. Поэтому не представляю для чего может понадобиться. Разве что держать на компе проект для тиражирования, а ключ с собой в кармане носить, чтобы посторонние не могли воспользоваться. Но тогда проще просто сам файл проекта носить с собой :)

МихаилГл
04.06.2024, 10:03
В данном случае - новичок, потому что сам ни разу не применял проект с ключом. Поэтому не представляю для чего может понадобиться. Разве что держать на компе проект для тиражирования, а ключ с собой в кармане носить, чтобы посторонние не могли воспользоваться. Но тогда проще просто сам файл проекта носить с собой :)

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

Ollema
04.06.2024, 10:04
Сейчас все уважающие себя заказчики обязательно указывают передачу исходников в договоре. И это скорее не для каких то манипуляций с кодом, а для будущих техперевооружений и замены оборудования, чтоб новые интеграторы посмотрели что было, плюнули на криворукость прежнего разработчика и написали свое. По идее маленький объект проще сделать с нуля самому, чем разбираться в коде другого... А для крупного объекта никто новое писать не будет, там правят в исходном коде. Поэтому смысла паролить что-то не вижу.
Тем более сегодня вы есть, завтра уволились, интегратору вы все равно исходники оставите, так как это ваше рабочее место и все что написали принадлежит ему...

Какое отношение это выше написанное имеет к существу моего вопроса?

МихаилГл
04.06.2024, 10:08
Какое отношение это выше написанное имеет к существу моего вопроса?

В том смысле, что зачем что-то паролить и защищать файл-ключом?

1exan
04.06.2024, 13:42
Подскажите, что дает:
"Защита пользовательского проекта с помощью файл-ключа была доступна для наших приборов ПР100, ПР102, ПР200 и ИПП120. Теперь функционал стал доступен для ПР103 и ПР205. Если проект с файл-ключом записать в прибор с помощью мастера тиражирования (файл .exe), то программа на приборе запустится только при совпадении ключей".

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

Данный функционал используется для возможности обновления существующей программы в ПР.
Загрузить файл, созданный при помощи мастера тиражирования можно только в тот прибор,
в который была загружена посредством OWEN LOGIC программа с ключом.
Аналогичная система используется для специализированных контроллеров ОВЕН на базе ПР200

Ollema
04.06.2024, 14:58
Вот это интересно, спасибо!

товарищ
06.06.2024, 13:39
Для экономии места, бывает всё свободное место забито очень плотно. Если вам нужно полное имя переменной, можете её растянуть или сжать стрелочками клавы, удерживая Ctrl

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

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

товарищ
06.06.2024, 14:00
Здравствуйте. Первый раз применяю ПР205. До этого были проекты только на ПР200. Дайте наводку, как в ПР205 сделать список аварий, в ПР200 список без пропуска строк делается через назначение переменной для вывода текста в строку, следующую за уже используемой, а как это делать в ПР205, там же не задать координаты начала строки?

kondor3000
06.06.2024, 15:19
Здравствуйте. Первый раз применяю ПР205. До этого были проекты только на ПР200. Дайте наводку, как в ПР205 сделать список аварий, в ПР200 список без пропуска строк делается через назначение переменной для вывода текста в строку, следующую за уже используемой, а как это делать в ПР205, там же не задать координаты начала строки?

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

товарищ
06.06.2024, 16:17
Как вариант, Используйте список текстов и в зависимости от числа или бита, выводите аварию. Строки можно добавлять по ПКМ мыши.

Вы имеете ввиду элемент экрана "динамический текст"?. Если его, то для 18 аварий громоздко получается, легче, наверно, подсвечивать красным параметр на экране общего представления системы, т.е. экране с таблицей, куда свести все отслеживаемые параметры. У меня задача сделать систему теплоснабжения с четырьмя контурами. Там только по температурам 10 аварий, а ещё давление. Хотел еще отслеживать питание насосов, т.к. остаются свободные дискретные входы.

Dimensy
06.06.2024, 16:29
Здравствуйте. Первый раз применяю ПР205. До этого были проекты только на ПР200. Дайте наводку, как в ПР205 сделать список аварий, в ПР200 список без пропуска строк делается через назначение переменной для вывода текста в строку, следующую за уже используемой, а как это делать в ПР205, там же не задать координаты начала строки?

Вот здесь концепт экрана аварий для ПР205 приводил https://owen.ru/forum/showthread.php?t=31113&p=427508&viewfull=1#post427508

товарищ
06.06.2024, 19:49
Вот здесь концепт экрана аварий для ПР205 приводил https://owen.ru/forum/showthread.php?t=31113&p=427508&viewfull=1#post427508

Спасибо. Завтра буду пробовать. Жаль внутри макроса всё запоролено. На сколько сейчас понимаю, время в ПР205 можно взять из системного меню прибора, сразу в требуемом формате. Маску аварий растаскивают на биты с помощью EXTRACT. Каждая авария находится на отдельном экране. Переменная ua_size отвечает за количество экранов аварий.
Отдельное спасибо за лаконичную защиту от переполнения в макросе Screen.

товарищ
10.06.2024, 10:48
Вот здесь концепт экрана аварий для ПР205 приводил https://owen.ru/forum/showthread.php?t=31113&p=427508&viewfull=1#post427508

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

Dimensy
10.06.2024, 12:19
Не могу разобраться, почему изменение переменных из программы работает, а точно такое же изменение переменных с привязанными к ним кнопками нет. Посмотрите пожалуйста, второй день уже бьюсь впустую.

Проблема вот в этой настройке
76420

Еще, нажатие кнопок можно реализовать таким макаром
76421
А в настройках экрана указать для кнопки "инвертировать значение"

товарищ
10.06.2024, 13:23
Проблема вот в этой настройке
76420

Еще, нажатие кнопок можно реализовать таким макаром
76421
А в настройках экрана указать для кнопки "инвертировать значение"

Спасибо, я не обращал внимания на эту настройку.

Traveller
10.06.2024, 14:55
Доброго времени суток!
Столкнулся с такой проблемой:
Есть некий проект и под этот проект были заказаны ПР100-24.1208.03.1, заказывал у дилера по информации для заказа на сайте Овена (https://owen.ru/product/pr100/modifications), ну заказал и заказал, пока суть да дело, релюхи в оплате, в производстве и доставке, решил времени не терять и накатал под нее программулину, сейчас начинаю заливать это в реле, а OwenLogic ругается что не та модификация, я даже понятия не имел что там еще (М02) будет приписано, хотя в форме заказа вообще такого не было :)
Собсно вопрос, это можно как нибудь конвертнуть под актуальную версию, каким либо штатным способом без лишних заморочек или это возможно делать только копи-пастом с восстановлением соединений к входам и выходам и перенастройке настроек самого реле?

kondor3000
10.06.2024, 15:05
Доброго времени суток!
Столкнулся с такой проблемой:
Есть некий проект и под этот проект были заказаны ПР100-24.1208.03.1, заказывал у дилера по информации для заказа на сайте Овена (https://owen.ru/product/pr100/modifications), ну заказал и заказал, пока суть да дело, релюхи в оплате, в производстве и доставке, решил времени не терять и накатал под нее программулину, сейчас начинаю заливать это в реле, а OwenLogic ругается что не та модификация, я даже понятия не имел что там еще (М02) будет приписано, хотя в форме заказа вообще такого не было :)
Собсно вопрос, это можно как нибудь конвертнуть под актуальную версию, каким либо штатным способом без лишних заморочек или это возможно делать только копи-пастом с восстановлением соединений к входам и выходам и перенастройке настроек самого реле?

Проект между разными ПР100 поддерживает смену платформы на (М02).
Быстрее проверить, чем писать.

Traveller
10.06.2024, 15:13
Проект между разными ПР100 поддерживает смену платформы на (М02).
Быстрее проверить, чем писать.И как это сделать, если при при попытке загрузить, я вижу вот это:
https://owen.ru/forum/attachment.php?attachmentid=76439&stc=1&d=1718021550
???

petera
10.06.2024, 15:17
И как это сделать, если при при попытке загрузить, я вижу вот это:
https://owen.ru/forum/attachment.php?attachmentid=76439&stc=1&d=1718021550
???

Меню Файл --> Смена целевой платформы

Traveller
10.06.2024, 15:20
Меню Файл --> Смена целевой платформы
Ок! Спасибо! Помогло! :)

Traveller
11.06.2024, 10:13
Еще один вопрос возник!
Собственно все на снимке видно:
https://owen.ru/forum/attachment.php?attachmentid=76467&stc=1&d=1718089875
Показывает пустые значения, хотя там абсолютно статичные булевые уровни, хочется понять от чего это зависит?

Королев Кирилл
11.06.2024, 10:30
Еще один вопрос возник!
Собственно все на снимке видно:
https://owen.ru/forum/attachment.php?attachmentid=76467&stc=1&d=1718089875
Показывает пустые значения, хотя там абсолютно статичные булевые уровни, хочется понять от чего это зависит?

Добрый день.
76469

Traveller
11.06.2024, 11:41
Добрый день.
76469
Нда... Очень узкое поле зрения получается :(

ai16russs
18.06.2024, 22:41
Доброго времени суток. Новичок в плане очень, очень интересно но пока нечего не понятно.

Ситуация, сделали объект по электромонтажу, освещение изначально собирали для импульсных реле РИО1М, конечный результат, заказчик просит собрать чтобы так же были кнопочные выключатели , но так же можно было управлять Алисой. Сейчас голову ломаю, если этот контроллер можно будет реализовать для освещения имея фазу (220В) для управления? Рассматриваю контроллер ПР-102-230

EFrol
18.06.2024, 23:02
И правда! Ничего не понятно! Для чего Вам ПР102?

Cs-Cs
19.06.2024, 08:51
ai16russs Я занимаюсь этой темой. Комменты такие:
* Кнопки со встроенными подсветками (если надо) с ПРкой работать НЕ будут. ПРке будет казаться, что все входы активны всегда.
Если нужны кнопки со штатными подсветками на 230V, то их надо развязывать через реле вот так, как у меня написано: https://cs-cs.net/knopki-dlya-plk-logo-razvyazka-vxodov
Может быть, стоит кнопки перевести на 24V DC, если там подсветок не надо (когда я перешёл на ПРки, я стал так и делать)
* Выходы ПРки НЕ потянут управление светом напрямую. Даже слабым. Потому что стартовые токи светодиодных ламп могут сварить контакты реле в ПРке: https://cs-cs.net/ostorozhno-svetodiody-pitanie-led-lamp
Поэтому обязательно нужны внешние реле (лучше на 16А шириной в 1 DIN-модуль) для управления светом. Тем более что на ПРках выходы часто сгруппированы по две штуки с общим проводом, а в щитах иногда это вредит, и надо чтобы один из выходов защищался своим автоматом (условно, какой-нибудь свет кладовки).
То есть, щит для перехода на ПРку надо будет увечилисть раза в два.
* Алису лично я не делал, а управление из Облака ОВЕН делал. Суть была в том, что из ПРки считывается состояние чего-то (например, лампы), а если в программе ПРки оно изменилось (когда извне в ПРку записали) - то программа на это реагирует.
Возможно, понадобится что-то типа HomeAssistant, а его уже к Алисе подключить.

* Вообще, я делал даже диммирование и защиту от протечек. Вот пример крутого щита на ПРке с Облаком ОВЕН: 4 про щит Родственникам): https://cs-cs.net/sh-pr200-avtomatizaciya-kavrtir-upravleniye-svetom-vodoy#4

На ПРке ещё можно накрутить то, что делаю я: гашение всего света по длинному нажатию на Мастер-Кнопку и восстановление как было по двойному нажатию на неё же.

ai16russs
19.06.2024, 20:32
Ну чтобы вы объяснили как обвязать , или не можете ?

ai16russs
19.06.2024, 20:35
Так, понимание уже есть. Весь свет не получится перевести на 24В , если была бы возможность перенести на 24В , проще было бы собрать это на других компонентах , а именно вайренг борг, так же обвязать через Алису. Я думал об этом, но это уже увеселение модуль место, это порядка 16 контакторов, и так же сам ПР102, соответственно порядка 24 модулей я уже съедаю. Из 54. А так же порядка 3-4 автоматов. Ну других вариантов нет, придется так же через РИО и просто поставить башку. Спасибо большое.

Cs-Cs
19.06.2024, 21:03
Да, пожалуйста.

Cs-Cs
19.06.2024, 21:37
Камрады! Теперь у меня вопрос по поводу того, как в ПР200 впихнуть в устройство Colis и Input регистры.
Я Coils не люблю, но датчики климата от WirenBoard с ними работают. Вот карта регистров: https://wirenboard.com/wiki/WB-MSWv_4_registers
Она же вложением (кусочек): 76730

Вопросы:
1. Как запихать Coils на запись? Почему указывается не номер Coils, а Регистр и Бит?
2. Как рассчитать Регистр и Бит для Coils 10 и 11?
3. Раз у нас появился Регистр и Бит - будет ли это конфликтовать с регистрами? Как правильно сделать?

Dimensy
20.06.2024, 06:02
Камрады! Теперь у меня вопрос по поводу того, как в ПР200 впихнуть в устройство Colis и Input регистры.
Я Coils не люблю, но датчики климата от WirenBoard с ними работают. Вот карта регистров: https://wirenboard.com/wiki/WB-MSWv_4_registers
Она же вложением (кусочек): 76730

Вопросы:
1. Как запихать Coils на запись? Почему указывается не номер Coils, а Регистр и Бит?
2. Как рассчитать Регистр и Бит для Coils 10 и 11?
3. Раз у нас появился Регистр и Бит - будет ли это конфликтовать с регистрами? Как правильно сделать?

Если мне не изменяет память, то регистр = coil / 16, бит = coil mod 16

1exan
20.06.2024, 06:20
Камрады! Теперь у меня вопрос по поводу того, как в ПР200 впихнуть в устройство Colis и Input регистры.
Я Coils не люблю, но датчики климата от WirenBoard с ними работают. Вот карта регистров: https://wirenboard.com/wiki/WB-MSWv_4_registers
Она же вложением (кусочек):

Вопросы:
1. Как запихать Coils на запись? Почему указывается не номер Coils, а Регистр и Бит?
2. Как рассчитать Регистр и Бит для Coils 10 и 11?
3. Раз у нас появился Регистр и Бит - будет ли это конфликтовать с регистрами? Как правильно сделать?

Выглядит конечно всё очень странно.
Тут наверно либо тренироваться самому (если есть кошки), либо обращаться в техподдержку за разъяснениями

Cs-Cs
01.07.2024, 23:18
Камрады! Теперь у меня вопрос по поводу того, как в ПР200 впихнуть в устройство Colis и Input регистры.
Я Coils не люблю, но датчики климата от WirenBoard с ними работают. Вот карта регистров: https://wirenboard.com/wiki/WB-MSWv_4_registers
Она же вложением (кусочек): 76730

Вопросы:
1. Как запихать Coils на запись? Почему указывается не номер Coils, а Регистр и Бит?
2. Как рассчитать Регистр и Бит для Coils 10 и 11?
3. Раз у нас появился Регистр и Бит - будет ли это конфликтовать с регистрами? Как правильно сделать?

ДОКЛАДЫВАЮ! Сегодня тестировал всё это!
76983 76984
Итак, ДА! Область памяти Coils и Регистров в ПРке пересекаются, а у WirenBoard - НЕТ!
* У них в карте есть Coil 0, 10, 11, которые управляют пищалкой и светодиодами на датчике.
* Эти Coils внутри ПРки накладываются на Регистр с номером 0 (потому что Coils от 0 до 15ти - это регистр в 16 бит)
* Из-за этого наложения НЕ удаётся добавить в ПРку Регистр 0, в котором хранится температура с датчика
* Хорошо, что у WirenBoard в карте есть значени температуры в регистре 4. Тогда это прокатывает.

Я сделал простой пример, который получает с датчика все параметры. Сорри, делал на старом OWL: у меня есть старая ПРка для тестов.

Dimensy
02.07.2024, 05:54
ДОКЛАДЫВАЮ! Сегодня тестировал всё это!
76983 76984
Итак, ДА! Область памяти Coils и Регистров в ПРке пересекаются, а у WirenBoard - НЕТ!
* У них в карте есть Coil 0, 10, 11, которые управляют пищалкой и светодиодами на датчике.
* Эти Coils внутри ПРки накладываются на Регистр с номером 0 (потому что Coils от 0 до 15ти - это регистр в 16 бит)
* Из-за этого наложения НЕ удаётся добавить в ПРку Регистр 0, в котором хранится температура с датчика
* Хорошо, что у WirenBoard в карте есть значени температуры в регистре 4. Тогда это прокатывает.

Я сделал простой пример, который получает с датчика все параметры. Сорри, делал на старом OWL: у меня есть старая ПРка для тестов.

А если чуть повысить версию Лоджика?
76986

А еще, это очень на косяк старого Лоджика похоже

76987

76988

Cs-Cs
02.07.2024, 08:32
Признаю. Я - лох! Да, это так глючит только на старом OWL, с которого мне иногда удобно разные мелочи тестировать.
Большое спасибо! А то я бы так, пока тестировал, и не знал бы!

На новом можно пересекать адресные пространства.
Единственное, что я пока не могу проверить - это то, будут ли конфликтовать Coils и Регистры, если писать в Coil для включения, например, светодиодов, и читать из региистра 0 температуру.
Наверное я всё же это проверять и не буду, а сделаю так, как сейчас сделал. Тем более что в регистрах 3 и 4 значения температуры и влажности даны с двумя знаками после запятой!

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

biz00m
03.07.2024, 12:34
Добрый день, помогите пожалуйста с элементом. Имеется один вход и два выхода. Требуется элемент с одним входом и двумя выходами. Логика работы такая: подается 1 на вход включается насос 1, со входа снимаем 1 и насос 1 выключается. При следующей подачи 1 на вход включается 2 насос. И так по кругу, логика чтоб работали два насоса по очереди.

Dimensy
03.07.2024, 12:50
Добрый день, помогите пожалуйста с элементом. Имеется один вход и два выхода. Требуется элемент с одним входом и двумя выходами. Логика работы такая: подается 1 на вход включается насос 1, со входа снимаем 1 и насос 1 выключается. При следующей подачи 1 на вход включается 2 насос. И так по кругу, логика чтоб работали два насоса по очереди.

Как вариант
77017

Сергей0308
03.07.2024, 12:55
Добрый день, помогите пожалуйста с элементом. Имеется один вход и два выхода. Требуется элемент с одним входом и двумя выходами. Логика работы такая: подается 1 на вход включается насос 1, со входа снимаем 1 и насос 1 выключается. При следующей подачи 1 на вход включается 2 насос. И так по кругу, логика чтоб работали два насоса по очереди.

Много раз подобное обсуждалось, вот мой вариант:

77018

77019

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

biz00m
03.07.2024, 13:00
Спасибо большое, только осваиваю.. В старом мануале по codesys видел этот готовый элемент но в owenlogic не нашел.

FPavel
03.07.2024, 19:58
Думаю, что тут, скорее, нужен чуть более сложный RST триггер - для принудительного сброса или установки T-триггера при одном неисправном (или выведенном из работы) насосе.
Т.е. это тот же T, но дополненный входами R и S и соответствующей логикой.

77024

77025

Сергей0308
03.07.2024, 21:54
Так у товарища вероятно какая-то теоретическая задача, для практической должно быть предусмотрено выключение, например на ремонт и ручное управление, например насос толкнуть после набивки сальников, типа переключателя режимов работы: "Включён" - "Выключен" - "Автоматический режим". В режим "Выключен" насос должен переходить и по аварии, например срабатыванию тепловой защиты или УЗД при этом в работе останется один насос и переключений не должно быть на неисправный или выключенный из работы насос.
Здесь подобное обсуждали: https://owen.ru/forum/showthread.php?t=36564
В смысле, может что-то пригодится, хотя бы сам подход!

biz00m
04.07.2024, 09:41
Суть ПР100 в данном решении выдавать сухие контакты на два силовых шкафа. В каждом шкафу стоит переключатель ручное управление и автоматическое. Схему вчера всю собрал программу на реле залил. Во всех режимах погонял все работает. Питание несколько раз скидывал, все загружалось и работало. Сегодня с утра, отказалась запускаться горит красная лампочка у треугольника. Не понял в чем проблема. Зашил еще раз, все работает. Питание скидывал. Все загружается. По паспорту причины могут быть такими:сбой программы, ошибка retain, системная ошибка. А как понять в чем причина я не знаю

AlexCrane
04.07.2024, 12:58
Покупали две гидравлические тележки с подъемником, где мозгом был ПР100 на 24В, так на первой ПР100 отказал через месяц, на второй через три (горит красная лампочка у треугольника). По гарантии заменили на контроллеры собственного производства, видимо производитель тележек разочаровался в них (задолбался менять по гарантии). Видимо слабенькая защита у них от помех.

Ollema
04.07.2024, 17:24
Проблема в качестве комплектующих. Слышал, что подобный дефект выявлен и сервисные центры способны заменить дефектные компоненты.

Sergelectro
09.07.2024, 12:20
Добрый день.
Подскажите, может кто пробовал подружить ПР200 и считыватель RFID меток?
Требуется тупо получить номер метки ключа77154.
Может подскажете какой считываеть подойдет и какие нужны настройки ПР200

Cs-Cs
09.07.2024, 13:07
Как поставлен вопрос, такой и будет ответ. Без издевательств.
Суть в том, что ПР200 НЕ умеет работать со строками. Только с числами, которые передаются по протоколу Modbus. Большинство считывателей будут отдавать данные ключа в виде строки. И они не подходят.
Правильным будет сделать так: взять какой-то контроллер доступа со считываетелем (Z-5R + Считыватель, или Matrix-IIk) и его выход, который открывает замок (он показывает, что ключ считан и верный) завести на вход ПРки.

АРТ.Кар 64
09.07.2024, 13:07
Брелок работает по Теч мемори. ПР 200 по Модбасу.
Нужно что-то "преобразующее" Не пробовал,но как вариант...
С2000-КДЛ-М(от Болида) Записать сначала в него,потом по Модбас передать в ПР 200.
Не пробовал. Если заинтересует такой вариант-то всё-таки сначала "свяжитесь" с ТП "Болида".
Если есть другие варианты-то мне тоже интересно. Присоединяюсь к вопросу.
Но ПР 200 явно не для СКУД-а и считки "идентификаторов".77156

А с другой стороны..Видимо всё-таки решение есть.

Sergelectro
09.07.2024, 16:45
Спасибо, попробоую.
Еще вариант нашел: Считыватель IronLogic Matrix-III (мод. RD_All)

У меня около 20 различных испытательных установок (электрические испытания трансформаторов тока и напряжения). Каждая управляется с ПР200. А ПР в свою очередь управляются с компьютеров из БД.
Вот на местах поверки трансформаторов необходимо организовать вход в ПО по ключу.
Дело для меня новое, пока еще не понимаю с какой стороны подойти. Вариант через ПР по протоколоу Modbus рассматриваю.

Sergelectro
09.07.2024, 16:46
Судя по картинке, решение есть.

Aviator_VZh
20.07.2024, 19:36
Друзья, подскажите, к какому сетевому регистру привязано состояние дискретных входов у ПР200? В документации не нашёл.

1exan
20.07.2024, 19:39
Друзья, подскажите, к какому сетевому регистру привязано состояние дискретных входов у ПР200? В документации не нашёл.

Прямо в начале таблицы (https://docs.owen.ru/product/pr200/80/88401#topic-88415)

Aviator_VZh
20.07.2024, 19:53
Прямо в начале таблицы (https://docs.owen.ru/product/pr200/80/88401#topic-88415)

Плохо искал ) Спасибо!

Eldarbl4
05.08.2024, 14:59
Доброго времени суток! Подскажите знающие! К примеру имеются весы, на них есть тара, вывожу на СП300 данные Float со знаком пока тара есть все хорошо, как убираю тару появляется знак минус как от него избавится в ПР200!? Задача стоит, чтобы просто показывало нули без каких либо значений и знаков!

Василий Кашуба
05.08.2024, 15:34
Доброго времени суток! Подскажите знающие! К примеру имеются весы, на них есть тара, вывожу на СП300 данные Float со знаком пока тара есть все хорошо, как убираю тару появляется знак минус как от него избавится в ПР200!? Задача стоит, чтобы просто показывало нули без каких либо значений и знаков!
Поставьте макрос Limit, который будет ограничивать показания весов снизу.

МихаилГл
05.08.2024, 15:41
Доброго времени суток! Подскажите знающие! К примеру имеются весы, на них есть тара, вывожу на СП300 данные Float со знаком пока тара есть все хорошо, как убираю тару появляется знак минус как от него избавится в ПР200!? Задача стоит, чтобы просто показывало нули без каких либо значений и знаков!

Это похоже на махинации. Для правильной работы нужно не обрезать, а кнопку "тарировка" нарисовать с соответствующей командой обнуления показаний.

kondor3000
05.08.2024, 15:48
Доброго времени суток! Подскажите знающие! К примеру имеются весы, на них есть тара, вывожу на СП300 данные Float со знаком пока тара есть все хорошо, как убираю тару появляется знак минус как от него избавится в ПР200!? Задача стоит, чтобы просто показывало нули без каких либо значений и знаков!

Для этого есть вес Нетто и Брутто, Нетто это чистый вес без тары, Брутто -вес с тарой.
Сначала взвешиваете тару, потом измеряете вес Брутто, а чистый вес Нетто, вычисляете Брутто - Тара = Нетто
И кнопку - обнуление Тары.
И не будет никаких минусов у вас.

Сергей0308
05.08.2024, 15:52
Для этого есть вес Нетто и Брутто, Нетто это чистый вес без тары, Брутто -вес с тарой.
Сначала взвешиваете тару, потом измеряете вес Брутто, а чистый вес Нетто, вычисляете Брутто - Тара = Нетто
И не будет никаких минусов у вас.

Не до конца понял, Вы предлагаете ещё две кнопки добавить, в смысле, нетто и брутто?

kondor3000
05.08.2024, 20:18
Не до конца понял, Вы предлагаете ещё две кнопки добавить, в смысле, нетто и брутто?

Нетто и Брутто это дисплеи веса, есть ещё вес тары, с записью, а кнопка только одна - обнуление.
Это просто описание процесса, как будет делать ТС, не знаю.

Eldarbl4
06.08.2024, 04:40
Благодарю! Макрос limit помог! Переделал его под float все поехало! Махинаций никаких нет! Весы к примеру привел, стоят 200кН s- образные датчики и к ним мощные троса, раздражали заказчика обратные значения введенные погрешностью датчиков плюс тары которая то так ляжет то сяк, и от температуры разной возникали погрешности!)

Eldarbl4
06.08.2024, 04:42
Без нетто и брутто сделал, просто верхний лимит 20т поставил а нижний 0т.

Dimensy
06.08.2024, 09:42
Без нетто и брутто сделал, просто верхний лимит 20т поставил а нижний 0т.

А брехать они из-за этого теперь не будут?

Eldarbl4
06.08.2024, 10:09
Да нет, все хорошо работает! Минус не показывает!)

Dimensy
06.08.2024, 11:03
Да нет, все хорошо работает! Минус не показывает!)

Да, понятно, что не показывает. Но, допустим, система у вас в минус на 50 кг ушла. Панелька ноль показывает - все нормально, но когда грузить будете, то из-за этого вы на 50 кг больше загрузите. Если это допустимо, то ладно.
Теперь по ограничению сверху. Вы ведь и 21 тонну, и 25 тонн можете загрузить (тензодатчик можно перегрузить), но панелька опять же будет показывать 20 тонн

МихаилГл
06.08.2024, 11:17
Да, понятно, что не показывает. Но, допустим, система у вас в минус на 50 кг ушла. Панелька ноль показывает - все нормально, но когда грузить будете, то из-за этого вы на 50 кг больше загрузите. Если это допустимо, то ладно.
Теперь по ограничению сверху. Вы ведь и 21 тонну, и 25 тонн можете загрузить (тензодатчик можно перегрузить), но панелька опять же будет показывать 20 тонн

Если заказчика устраивает, то пусть так оставляет. Меня бы за такое на металлургическом комбинате в ковше с металлом утопили... Как терминатора.

Eldarbl4
06.08.2024, 15:43
Система в минус не уходит, так как всегда остается от веса тары на датчиках по 200 кг, остальное отправил в тару. Ограничение все равно 18т на beep сигнал панели выходит.

Traveller
26.08.2024, 09:42
Доброго времени суток!
Собственно искал здесь на форуме ответ на свой вопрос, но тут какая то упоротая система поиска, выдает результат в виде тем, а не сообщений где это упоминается, а перечитывать сотни страниц, времени нет! Может у других норм, но у меня так!
В общем вопрос! Есть такая штука как "защита проекта ключём", да есть описание как это сделать и я это сделал, но все равно не понимаю как это работает, файл как открывался, так и продолжает открываться, с ключем просто открывается, без ключа, открывается и "краснеет", я не понимаю а в чем прикол? ну я так понимаю, он не должен вообще без ключа открываться или я что то не так понимаю? Как это работает, ни где не описано, я не нашел... :)

capzap
26.08.2024, 09:49
выдает результат в виде тем, а не сообщений где это упоминается

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

Traveller
26.08.2024, 10:02
Я уже все пробовал! И скажу так, что у меня "9-й вагон после восьмого, а не перед десятым", там где поиск организован нормально, проблем не возникает и это почти все форумы, где мне приходилось быть, а у вас это работает как то не так! Это мягко говоря...:)
https://owen.ru/forum/attachment.php?attachmentid=78205&stc=1&d=1724655634
Так вот, на то что обведено, я переключиться не могу, не переключается, если вы её имели ввиду, а по другому я не знаю еще как сделать так что бы высвечивались сообщения, а не темы по 400 страниц...
Собствено результат поиска:
https://owen.ru/forum/attachment.php?attachmentid=78207&stc=1&d=1724655888

capzap
26.08.2024, 10:06
Я уже все пробовал! И скажу так, что у меня "9-й вагон после восьмого, а не перед десятым", там где поиск организован нормально, проблем не возникает и это почти все форумы, где мне приходилось быть, а у вас это работает как то не так! Это мягко говоря...:)
https://owen.ru/forum/attachment.php?attachmentid=78205&stc=1&d=1724655634
Так вот, на то что обведено, я переключиться не могу, не переключается, а по другому я не знаю еще как сделать так что бы высвечивались сообщения, а не темы по 400 страниц...

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

Dimensy
26.08.2024, 10:13
Доброго времени суток!
Собственно искал здесь на форуме ответ на свой вопрос, но тут какая то упоротая система поиска, выдает результат в виде тем, а не сообщений где это упоминается, а перечитывать сотни страниц, времени нет! Может у других норм, но у меня так!
В общем вопрос! Есть такая штука как "защита проекта ключём", да есть описание как это сделать и я это сделал, но все равно не понимаю как это работает, файл как открывался, так и продолжает открываться, с ключем просто открывается, без ключа, открывается и "краснеет", я не понимаю а в чем прикол? ну я так понимаю, он не должен вообще без ключа открываться или я что то не так понимаю? Как это работает, ни где не описано, я не нашел... :)

78210

78211

https://owen.ru/forum/showthread.php?t=26216&p=438687&viewfull=1#post438687

Traveller
26.08.2024, 10:13
не переключается потому что Вы на ней и находитесь, ереключится надо на поиск по одному типу78209
Ну дык, то что у вас обведено внизу, у меня вообще нет!
https://owen.ru/forum/attachment.php?attachmentid=78212&stc=1&d=1724656406

capzap
26.08.2024, 10:23
Ну дык, то что у вас обведено внизу, у меня вообще нет!
https://owen.ru/forum/attachment.php?attachmentid=78212&stc=1&d=1724656406

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

Traveller
26.08.2024, 10:24
вот я и пишу уже третий раз перейти на вкладку с поиском по одному типу содержимого
А я уже в четвертый раз вам пишу и даже картинки привожу, что я на ней и нахожусь!!!

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

capzap
26.08.2024, 10:26
А я уже в четвертый раз вам пишу и даже картинки привожу, что я на ней и нахожусь!!!

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

зеленый с синим не различаете?
7821478215 разница видна?

melky
26.08.2024, 10:27
Traveller точно дальтоник, вы на второй вкладке находитесь, надо на первую... :)

Traveller
26.08.2024, 10:32
Я различаю, но все равно как то через жопу, блеклый цвет активный, а яркий пассивный, первый раз такое вижу!!!
И да чет по умолчанию почему то открывается вторая вкладка, у вас точно девятый вагон перед десятым! :)

melky
26.08.2024, 10:33
ага, на активность цвета тоже обратил внимание. Ну вот такие они программисты :)

Traveller
26.08.2024, 10:35
И тем не менее вопрос остаётся открытым, что такое защита ключём и как это работает, описывать как это сделать, не нужно, это понятно, но как это работает и от кого защищает, ни слова не нашел, это что касается среды Owen logic

capzap
26.08.2024, 10:41
Я различаю, но все равно как то через жопу, блеклый цвет активный, а яркий пассивный, первый раз такое вижу!!!

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

Traveller
26.08.2024, 10:43
ну вот в вейнтековской панели стандарные формы на кнопки такие же, получается второй раз уже столкнетесь 7821678217
Первый раз такое вижу и это нужно развидеть, яркий цвет всегда обозначал активность, а блеклый пассивность, но у вас похоже какие то свои представления о прекрасном...:)
Вы на основной вопрос может ответите? :)
Или будете здесь продолжать воду лить о правильности цветового выделения? :)

Dimensy
26.08.2024, 10:46
И тем не менее вопрос остаётся открытым, что такое защита ключём и как это работает, описывать как это сделать, не нужно, это понятно, но как это работает и от кого защищает, ни слова не нашел, это что касается среды Owen logic

А справку по Лоджику почитать?

78218

Traveller
26.08.2024, 10:54
А справку по Лоджику почитать?

78218
Это я тоже читал, но чет не вижу разницы при создании файла, для тиражирования, что с ключем создает, что без ключа, тоже создает... И в чем подвох?
Что дает этот ключь?

Например в среде Zelio Logic, просто ставишь пароль и все, без пароля хрен откроешь, а тут чего? :)

Dimensy
26.08.2024, 11:01
Это я тоже читал, но чет не вижу разницы при создании файла, для тиражирования, что с ключем создает, что без ключа, тоже создает... И в чем подвох?
Что дает этот ключь?

Например в среде Zelio Logic, просто ставишь пароль и все, без пароля хрен откроешь, а тут чего? :)

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

melky
26.08.2024, 11:04
я правильно понимаю, что вы просто открываете программу, на которую наложили ключ, и она открывается?
Разве тиражирование выполняется файлом проекта?

не пользовался ни разу, не могу понять о чем речь вообще?

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

melky
26.08.2024, 11:34
Traveller в ОЛ нет защиты проекта, как в понимании Zelio Logic и других. Вроде можно только паролить макросы.

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

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

В общем все зависит от типа защиты, которую вы хотите применить.

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

Traveller
26.08.2024, 16:04
Traveller в ОЛ нет защиты проекта, как в понимании Zelio Logic и других. Вроде можно только паролить макросы.

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

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

В общем все зависит от типа защиты, которую вы хотите применить.

Вы бы описали что хотите получить в итоге, тогда народ бы подсказал что можно а что нельзя сделать с ОЛ. Откровенно считаю, что ОЛ бьет всех конкурентов ПР по математике, но вот возможности подобного рода и сама графическая среда разработки в ОЛ страдает очень сильно.Да я как бы изучаю варианты, и чет с этим все как то сложно, на мой взгляд ибо я все равно ничего не понял, вернее понял, что можно паролить макросы, а с этим ключем можно записать программу в конкретное ПР, хотя с другой стороны если программу из ПР считать нельзя, то какой смысл паролить макросы, ну скажем я взял и просто компилировал программу в экзешник, безо всяких ключей, ее разве можно декомпилировать?, тогда какой смысл в этом ключе, что записать можно только в одну релюху, а не в 10, если я приправило понимаю :)

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

kondor3000
26.08.2024, 16:08
Вы попробуйте запароленный проект, открыть не на своём, а на другом компе.
Или перезагрузите комп и попробуйте на своём, без пароля не откроется ничего. А уже после ввода пароля, будет как вы описываете.

Traveller
26.08.2024, 16:19
Вы попробуйте запароленный проект, открыть не на своём, а на другом компе.
Или перезагрузите комп и попробуйте на своём, без пароля не откроется ничего. А уже после ввода пароля, будет как вы описываете.так опции пароля там нет, если это не относится к макросам, я пытаюсь понять что это за ключь и нахрена он нужен, но развернутого ответа так еще и не получил
Т.е. ключь, нужен для того, что бы проект можно было открыть только на компе на котором он был создан, по моему какой то бред, а если комп "в пожаре сгорит", а сам проект на корпоративном NAS или в облаке лежит, то все кранты?, все равно не откроешь? :)

melky
26.08.2024, 16:20
Traveller ну а если вам кирпич на голову? то и прямые мозги и руки не помогут в оставленном вами. Ситуации как бы разные бывают.

Traveller
26.08.2024, 18:42
Traveller ну а если вам кирпич на голову? то и прямые мозги и руки не помогут в оставленном вами. Ситуации как бы разные бывают.
Ситуации бывают разные, это да, но только есть информация как это сделать, а что это, для чего это нужно информации НОЛЬ!!!
Вы абстрагируйтесь от мысли что мне это нужно кровь износу, мне это не особо нужно, но поскольку я это детально изучаю, то мне это было бы интересно и мы тут уже какую страницу это перемалываем, но я так ничего и не понял, т.е. я делаю вывод, что даже вы этого не знаете как следует, а представитель разработчика вообще слился, только сказал мне что я сам дурак и не умею пользоваться поиском на этом форуме, хотя даже правильный поиск ответа не дал...
Резюмируя, вы можете простыми словами достаточно внятно объяснить нахрена нужен этот ключ!? Что он дает? Или так: какая будет разница, если этот ключ применять и если не применять!? Я сделал и так и так, но разницы не увидел, кроме смены цвета, вот и задрало любопытство...
Или кому эти вопросы задавать, как не здесь? :)

1exan
26.08.2024, 18:50
так опции пароля там нет, если это не относится к макросам, я пытаюсь понять что это за ключь и нахрена он нужен, но развернутого ответа так еще и не получил
Т.е. ключь, нужен для того, что бы проект можно было открыть только на компе на котором он был создан, по моему какой то бред, а если комп "в пожаре сгорит", а сам проект на корпоративном NAS или в облаке лежит, то все кранты?, все равно не откроешь? :)

Наличие или отсутствие в проекте (который с расширением .owle) ключа никак не сказывается на функциональности этого проекта или возможности доступа к нему.
Ключ применяется для возможности перепрошивки файлом из под мастера тиражирования ТОЛЬКО КОНКРЕТНЫХ экземпляров ПР (тех, которые были прошиты изначально при помощи OL и с использованием ключа).
На ДРУГИХ экземплярах ПР программа работать не будет

melky
26.08.2024, 19:52
https://owen.ru/forum/showthread.php?t=26216&p=444392&viewfull=1#post444392

Про ключ было недостаточно внятно?

Traveller
27.08.2024, 09:42
Я правильно понимаю, что если в ПР-ке программа с ключом, то и залить туда что то измененное можно только с этим же ключом иначе не зальется?
И если это так, то каков в этом смысл? ПР это же не автомагнитола, к которой должна подходить только эта конкретная панель на предмет кражи, это же просто средство пром.автоматики или ПР-ки как автомагнитолы ворують...? :)
Или смысл в том что бы ту программу не залили в не то реле или наоборот, типа защита от дурака, когда их много?
Откровенно говоря ни когда бы не подумал... могли бы и описать смысл данного функционала... :)

И тут возникает еще один вопрос, а этот ключ вообще можно сбросить, ну например, стоит ПР с ключом на объекте "А", который в данный момент не используется, а на объекте "Б" случился "пожар" и там стоит такое же ПР, такой же модификации, и типа нужно подменить, снять с объекта "А" и поставить на объект "Б", есть возможность перезаписать программу сбросив при этом ключ? Я это не просто так спрашиваю, это весьма распространенная ситуация в некоторых сферах деятельности... :)

melky
27.08.2024, 09:54
Traveller защита от дублирования. Например вы производите некий станок, где мозгами выступает ПР с вашей программой. И по требованию договора обязаны передать прошивку на случай ремонта.

Хотя плохой подход, так как если само ПР сдохнет, все равно придут к вам. Правильнее защищенный проект и функционал защиты при загрузке в новое ПР

meta11ist87
27.08.2024, 10:09
Не могу понять, можно ли в ПР205 переменным задать значения, чтоб они прошились в ПР для первого запуска. А после этого чтоб пользователь изменил нужные значения при необходимости и они записались в энергонезависимую память?В настройках переменных, если задаёшь значение по умолчанию, то переменная не отображается в визуализации(

melky
27.08.2024, 10:12
используйте макросы SelChgF(I, B) для этого. Других вариантов вроде нет, после рождения этих костылей в некой версии ОЛ.

kondor3000
27.08.2024, 10:15
Не могу понять, можно ли в ПР205 переменным задать значения, чтоб они прошились в ПР для первого запуска. А после этого чтоб пользователь изменил нужные значения при необходимости и они записались в энергонезависимую память?В настройках переменных, если задаёшь значение по умолчанию, то переменная не отображается в визуализации(

Инициализация при включении делается так https://owen.ru/forum/showthread.php?t=37840&page=54&p=431676#post431676

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

Traveller
27.08.2024, 10:42
Traveller защита от дублирования. Например вы производите некий станок, где мозгами выступает ПР с вашей программой. И по требованию договора обязаны передать прошивку на случай ремонта.

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

meta11ist87
27.08.2024, 10:53
используйте макросы SelChgF(I, B) для этого. Других вариантов вроде нет, после рождения этих костылей в некой версии ОЛ.
Спасибо, думал об этом, но подумал что настолько некрасивое решение мог изобрести только я.
То есть если у меня температурный график из 30 точек, то надо создать 120 точек(30 значений по оси х, 30 по оси у, на каждое значение переменная "по умолчанию", переменная "запись руками")
Пахнет дикими костылями((