PDA

Просмотр полной версии : Экспресс вопрос (ответ)



Страницы : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [31]

Александр Б.К
13.01.2024, 15:19
Переписал ещё раз и все заработало, возможно что упустил и с сетевой работает и к выходу подключаешь работает, спасибо большое

kondor3000
13.01.2024, 15:32
А в чем собственно сложность?
72909
где


Только считает не правильно, где то ошибка. Основание логарифма должно быть положительным и не равным 1.

По онлайн калькулятору логарифм от числа 1.03 по основанию 1.03, должен быть равен 1
логарифм от числа 100 по основанию 1.03, должен быть равен 155.796914
Онлайн-калькулятор логарифмов https://skysmart.ru/articles/mathematic/logarifmy

Александр Б.К
13.01.2024, 15:40
Балин а сразу не проверил, и правда, что-то не то считает...

EFrol
13.01.2024, 15:49
Тоесть то что A=(x+10) / 10, Вы уже в расчет не берете, или Вы о точности вычисления?
72914
72915

Александр Б.К
13.01.2024, 15:53
А если функцию вывернуть "наизнанку" и как то обяснить пр-ке чтобы вычислял чтобы задавая x находить у
1.03у=(x+10)/10

Александр Б.К
13.01.2024, 15:57
Я взял именно такую согласно графику через графический канкулятор

EFrol
13.01.2024, 16:02
Ну и! У меня строго по графику.

Александр Б.К
13.01.2024, 16:13
А к меня почему-то нет? При задании 60 дожно быть немного больше 65...
У вас при задании 60 верный результат?

kondor3000
13.01.2024, 16:22
Тоесть то что A=(x+10) / 10, Вы уже в расчет не берете, или Вы о точности вычисления?

У меня получилось так, где функция fLb(x); отсюда https://owen.ru/forum/showthread.php?t=37203 72921


function fLog: Real; // Логарифм по основанию 1.03
var_input
X:real;
end_var

//PRG
fLog:=23.45178102*fLb(x); //вызов функции "fLb"
end_function

EFrol
13.01.2024, 16:24
На графике при f(60) = чуть больше 65
У меня 65.8
72918
при f(70) почти ровно 70
72919
я надеюсь, что все понимают, что E+01 - это * 10

EFrol
13.01.2024, 16:37
У меня получилось так, где функция fLb(x); отсюда https://owen.ru/forum/showthread.php?t=37203 72921


function fLog: Real; // Логарифм по основанию 1.03
var_input
X:real;
end_var

//PRG
fLog:=23.45178102*fLb(x); //вызов функции "fLb"
end_function


Да. Я здесь с Вами совершенно согласен. Но у Вас y = log1.03X. А здесь y=log1.03((X+10)/10)
Вы используете приближенную функцию (ряд Тейлора), а я метод бисекций (https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%B1%D0%B8%D1%81% D0%B5%D0%BA%D1%86%D0%B8%D0%B8)

Александр Б.К
13.01.2024, 16:50
Все работает, я накосячил спасибо большое

Александр Б.К
14.01.2024, 08:50
Подскажите пожалуйста ещё, у меня в формуле логарифма нужно будет сделать основание меньше единицы, пробовал в вам коде заменить, но почему-то либо ввход не работает либо симулятор пишет что блок ушёл в бесконечный цикл.

EFrol
14.01.2024, 09:26
При основании меньше единицы, функция станет убывающей.
Поэтому в коде нужно сменить условие :


if y - A < 0 then

kondor3000
14.01.2024, 10:42
Подскажите пожалуйста ещё, у меня в формуле логарифма нужно будет сделать основание меньше единицы, пробовал в вам коде заменить, но почему-то либо ввход не работает либо симулятор пишет что блок ушёл в бесконечный цикл.
Доработал функцию y=logB(A), теперь можно поменять основание B 72933
А в теле функции, можно поменять и саму функцию A=((X+10)/10) или заменить на X, теперь она стала универсальная.

Добавил на всякий случай логарифмы на ST и FBD, версия OWEN Logic2.5.342
Lg - десятичный, Ln - натуральный, Log - универсальный, все логарифмы на ST рассчитываются через Lb - двоичный ( он тоже должен быть добавлен в проект).
В примерах он уже добавлен https://owen.ru/forum/showthread.php?t=37203
https://owen.ru/forum/showthread.php?t=24165&page=8&highlight=%E2%FB%F7%E8%F1%EB%E5%ED%E8%E5+%CB%EE%E3 %E0%F0%E8%F4%EC%E0#72

Александр Б.К
14.01.2024, 11:01
Огромное спасибо

l120l
16.01.2024, 14:33
Добрый день!
Подскажите, есть у ОВЕН контроллер, который поддерживает интерфейс RS232c?
Возможно ли, что все контроллеры, у которых есть поддержка RS232. также могут работать с его улучшенной версией - RS232c?

EFrol
17.01.2024, 11:31
Когда-то был https://owen.ru/product/plk304

kondor3000
17.01.2024, 14:49
Добрый день!
Подскажите, есть у ОВЕН контроллер, который поддерживает интерфейс RS232c?
Возможно ли, что все контроллеры, у которых есть поддержка RS232. также могут работать с его улучшенной версией - RS232c?

Старый RS-232C, это и есть RS-232 в последней редакции ещё 80 годов http://forum.easyelectronics.ru/viewtopic.php?f=9&t=30080

Распайка RS-232C (25 пин и 9 пин) и RS-232 (9 пин) https://cxem.net/comp/comp47.php

Все ПЛК работают по стандарту RS-232 ещё с 1983 года.

Александр Б.К
18.01.2024, 07:25
Товарищи приветствую всех, у меня трагедия, что-то случилось с пр-кой (пр200. 24.4), при записи кода, не работают DI входа, думал косячный код, хотя в стимуляции все работает исправно, залил один логический элемент, и всеровно тишина, на камеру не сильно видно, но в онлайн отладке сам вход неподсвечивается, т.е как будто отключён, что могло случится?,возможно это исправить?, программное обеспечение на пр-ке обновлял, ранее в неё заливался код логарифма, которы мне здесь ранее подсказали, для проверки и в все...

Sergej_
18.01.2024, 07:31
Товарищи приветствую всех, у меня трагедия, что-то случилось с пр-кой (пр200. 24.4), при записи кода, не работают DI входа, думал косячный код, хотя в стимуляции все работает исправно, залил один логический элемент, и всеровно тишина, на камеру не сильно видно, но в онлайн отладке сам вход неподсвечивается, т.е как будто отключён, что могло случится?,возможно это исправить?, программное обеспечение на пр-ке обновлял, ранее в неё заливался код логарифма, которы мне здесь ранее подсказали, для проверки и в все...
Как подключены входа? Сжечь не могли?

Александр Б.К
18.01.2024, 07:45
Подключены как обычно, сжечь все одновременно? Которые даже не подключались никогда?, сильно сомневаюсь...

Sergej_
18.01.2024, 08:12
Как обычно, это как? Всё говорит о том , что дело или в неверном подключении , или в неисправности. Можно конечно попробовать обновить прошивку, но скорее всего дело не в ней.

1exan
18.01.2024, 08:14
Подключены как обычно, сжечь все одновременно? Которые даже не подключались никогда?, сильно сомневаюсь...

Как обычно - это случайно не путём замыкания COM с DI ?

Александр Б.К
18.01.2024, 08:28
Нет конечно, первый раз чтоль, com на - di +

EFrol
18.01.2024, 08:30
Фотку бы ... подключенной ПР-ки.

Александр Б.К
18.01.2024, 08:58
Да дело не в подключение совсем, програмно входа кто отключены или что-то ещё в этом роде, даже если совсем ничего не подключать кроме питания, в в режиме отлайн отладки, не выставляются переменные которые задаются с экрана.

Sergej_
18.01.2024, 09:02
Да дело не в подключение совсем, програмно входа кто отключены или что-то ещё в этом роде, даже если совсем ничего не подключать кроме питания, в в режиме отлайн отладки, не выставляются переменные которые задаются с экрана.

Если не ошибаюсь, в онлайн отладке ,они выставляются на ВХОДАХ элементов (в конце связей) холста. А не на выходах связей.
В отличии от симулятора.

CleanS
18.01.2024, 09:25
На вашем фото справа, при подключении online- отладки пусто? Это не говорит о том, что входы не работают. Увеличьте масштаб и все значения будут отображаться.

Александр Б.К
18.01.2024, 10:06
На вашем фото справа, при подключении online- отладки пусто? Это не говорит о том, что входы не работают. Увеличьте масштаб и все значения будут отображаться. а как быть с таким моментом? А входа подсвечиваются серым, как будто не куда не подключено или не активно, такой-же эфект происходит когда функцию или блок никуда не подключать.

Sergej_
18.01.2024, 10:23
а как быть с таким моментом? А входа подсвечиваются серым, как будто не куда не подключено или не активно, такой-же эфект происходит когда функцию или блок никуда не подключать.

Я же Вам выше писал про это.В симуляторе, да можно поменять на входе (макроса или осн.холста), так скажем. А в он лайн отладке, можно только на конце этой связи, т.е. на входе в следующий элемент.
В Вашем случае, на фото, на входе and зафиксировать значение только можно. Так и должно быть, это нормально

kuz_ser_home
18.01.2024, 11:12
Добрый всем день.
Я один не могу загрузить обновление до 2.5.343 ? Или оно пока недоступно ?

Королев Кирилл
18.01.2024, 11:41
Добрый всем день.
Я один не могу загрузить обновление до 2.5.343 ? Или оно пока недоступно ?

Добрый день!

Обновление 2.5.343 было отозвано. Ориентировочно, новая версия Owen Logic с указанными изменениями выйдет в середине следующей недели.

kuz_ser_home
19.01.2024, 02:57
Чудненько (( теперь я не могу открыть проекты, сохраненные в 2,5,343.

kuz_ser_home
19.01.2024, 07:22
И такое бывает ...
Она была в доступе, ОЛ сам предложил. Сохранил проекты в ней. Переустановил Виндовс. Начал устанавливать ОЛ, а тут ОПА ! Нету.
Теперь вот сижу. Жду.

ПавелП
19.01.2024, 12:39
И такое бывает ...
Она была в доступе, ОЛ сам предложил. Сохранил проекты в ней. Переустановил Виндовс. Начал устанавливать ОЛ, а тут ОПА ! Нету.
Теперь вот сижу. Жду.

Отправил личным сообщением.

romapalexov@gmail.com
23.01.2024, 10:35
Здравствуйте. Есть ПР103 и панель EKF pro screen 7. Задача вывести значение давления и температур на экран. Соединил устройства по rs485. Связь установилась, но панель получает только значение первого адреса. Остальные будто не видит. Сетевых переменных 4, это числа с плавающей точкой. Адреса у них с 16384 до 16391. В чём может быть проблема?

kondor3000
23.01.2024, 10:41
Здравствуйте. Есть ПР103 и панель EKF pro screen 7. Задача вывести значение давления и температур на экран. Соединил устройства по rs485. Связь установилась, но панель получает только значение первого адреса. Остальные будто не видит. Сетевых переменных 4, это числа с плавающей точкой. Адреса у них с 16384 до 16391. В чём может быть проблема?

Что то не так настроили, Float поставить забыли (2 регистра). В панели Мастере адреса смещены +1 от адресов ПР. Можно сделать адреса как есть, по ссылке https://owen.ru/forum/showthread.php?t=37145#8

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

romapalexov@gmail.com
23.01.2024, 12:18
Float стоит там и там. В папке на фото видно что панель читает первые два регистра, а что с остальными мне не понятно. Мастер адрес 0. https://disk.yandex.ru/d/KaI57yLl0_Zqcw
P.S. Думал на порядок следования, но при его изменении вместо значения первых двух регистров звёздочки

iAlien
23.01.2024, 12:43
Выходная переменная функции ST, в ПР200, обнуляется в каждом цикле?

Dimensy
23.01.2024, 13:13
Выходная переменная функции ST, в ПР200, обнуляется в каждом цикле?

Она не обнуляется, а заново рассчитывается в каждом цикле

iAlien
23.01.2024, 13:44
Понятно. Хотел снизить нагрузку на проц и считать необходимую величину раз в 10 минут, но потерпел фиаско.

melky
23.01.2024, 13:56
iAlien ну так и напишите таким образом функцию, если не требуется пересчет, отправлять на выход предыдущее значение.

kondor3000
23.01.2024, 13:57
Float стоит там и там. В папке на фото видно что панель читает первые два регистра, а что с остальными мне не понятно. Мастер адрес 0. https://disk.yandex.ru/d/KaI57yLl0_Zqcw
P.S. Думал на порядок следования, но при его изменении вместо значения первых двух регистров звёздочки

Панель Мастер жёстко тормозит, если есть хоть один нерабочий (не правильный) адрес регистра. 73057
В вашем случае обращение к несуществующему адресу, Ток фаза 1 стоит обращение к ПР, адрес 16 регистр 1
Аккуратней с добавлением новых модулей и их адресов.
Новые модули, их экраны и регистры добавляйте после отладки предыдущих, иначе замучаетесь искать причину потом.

Dimensy
23.01.2024, 13:58
Понятно. Хотел снизить нагрузку на проц и считать необходимую величину раз в 10 минут, но потерпел фиаско.

Ну вы же не биткоины считаете, фигли процессору будет

romapalexov@gmail.com
23.01.2024, 14:08
Попробовал записывать переменные с панели на ПРку. Float записываются. Буду искать проблему в самих индикаторах

romapalexov@gmail.com
23.01.2024, 14:14
Удалил всё кроме 4 индикаторов. Проблема сохранилась. Буду искать дальше

kondor3000
23.01.2024, 14:20
Удалил всё кроме 4 индикаторов. Проблема сохранилась. Буду искать дальше

Проще сделать новый проект и скопировать 4 дисплея, у вас и тренды и ещё куча всего добавлена.
Экраны потом переносите по одному, копипастом.

romapalexov@gmail.com
23.01.2024, 14:21
Проблема была в них. Большое спасибо за содействие

iAlien
23.01.2024, 19:48
отправлять на выход предыдущее значение.
И как, если функция каждый цикл инициализирует переменные, а выходная переменная одна?

kondor3000
23.01.2024, 22:58
И как, если функция каждый цикл инициализирует переменные, а выходная переменная одна?

Чтобы функция "как бы запоминала, что на выходе", надо её выход завести на вход, с задержкой на цикл. 73061

Когда ещё не было ФБ в Лоджике, писали всё на функциях с "запоминанием", даже шаговые автоматы, таймеры, триггеры и счётчики. Ниже примеры
Здесь шаговый автомат на функциях и на ФБ https://owen.ru/forum/showthread.php?t=38239&page=11#105

ПавелП
24.01.2024, 17:53
>> Облако работает, формируются отчёты как настроено.
>> Но.
>> Прочитал инструкцию по облаку, и не нашёл как отправлять данные по событию.
>> Некие нагромождения в формировании отчётов не понятны.
>> И с архивом ПР205 так же - только по времени.

>> В ПР205 и там, и там только по таймеру.
>> Получается громадный мусорный избыток данных.

Решено:
1. Ввёл переменную в "Подключение к OwenCloud" - CloudOF.
Включаю через каждые 5 мин на 30 сек. В отчёте всё красиво.
Т.е. можно включать по надобности.
Облако сразу подхватывает данные.

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

Переменная: "Статус подключение к OwenCloud" - CloudYES.
Годится только как флаг подключения, но не говорит от том,
что произошла передача данных, и они "усвоены" облаком.

Флаг "падает" через 10 сек после отключения связи.


>> И "Код параметра" как убрать из отчёта в Excel?
Обещано: Уберут в следующих версиях.

>> Каким макаром отправлять и в архив, и в облако данные,
>> когда это надо, и получить подтверждение о приёме???

Похоже делать. Растягивать время!!! :)



2. Необходимо вывести семизначный номер.
до 65535 нормально, ввожу более сегмента: 1234567, получаю 54919

Редактирование Modbus параметра\Формат данных\ uint16
необходимо вывести uint32 не получается... Ошибка формата.

- разбивать 4 байта целочисленного на две части?
- как соединить при выводе в отчёт?

Решено:
>> 2. Необходимо вывести семизначный номер.
Раскладываете 32 битную целочисленную переменную на 2 регистра и передаёте как 2 соседних 16 битных регистра, а принимаете целочисленную DWORD.

Разложил на ST и собралось в облаке! :)

iAlien
25.01.2024, 13:47
kondor3000
Спасибо. Попробую.

Павел Крупенко
26.01.2024, 09:31
Всем добрый день!
Подскажите пожалуйста. можно ли таблицу переменных перенести из проекта созданного для ПР 100 в новый проект для ПР 103.
В новом проекте не хватает входов и выходов ПР100, а с ПРМ оно не стыкуется.

kondor3000
26.01.2024, 09:37
Всем добрый день!
Подскажите пожалуйста. можно ли таблицу переменных перенести из проекта созданного для ПР 100 в новый проект для ПР 103.
В новом проекте не хватает входов и выходов ПР100, а с ПРМ оно не стыкуется.

Просто так нельзя, можно скопировать весь проект вместе с переменными и копипастом перенести в новый проект.
ФБ на ST можно перенести копипастом текста или экспортом, импортом ФБ.

Павел Крупенко
26.01.2024, 09:48
Понял. значит придется ручками вбивать все переменные, в том числе сетевые

rovki
01.02.2024, 05:28
Друзья, у кого ПК под рукой поделитесь ссылкой на схему входов пр200, знакомые интересуются. С мобильника поиск не даёт, спасибо.

МихаилГл
01.02.2024, 05:56
Друзья, у кого ПК под рукой поделитесь ссылкой на схему входов пр200, знакомые интересуются. С мобильника поиск не даёт, спасибо.

https://owen.ru/product/pr200/ddm

yach
01.02.2024, 06:54
Добрый день.
С первого внешнего устройства (master) отправляю в ПР200 (slave) значение переменной, надо его обработать и передать на второе внешнее устройство через второй интерфейс RS485 (ПР200 master). При этом первое внешнее устройство передает значение два раза с интервалом примерно 100 мс. Мне надо, чтобы запись во второе устройство была только по изменению переменной. В настройках сетевой переменной, связанной со вторым устройством, ставлю галку "Запись по изменению" (функция записи 0x10, чтение отключено). Но после изменения переменной ПР200 начинает отправлять запрос на запись в бесконечном цикле. Если снимаю галку - запрос вообще не отправляется. Что я делаю не так?

МихаилГл
01.02.2024, 07:43
Добрый день.
С первого внешнего устройства (master) отправляю в ПР200 (slave) значение переменной, надо его обработать и передать на второе внешнее устройство через второй интерфейс RS485 (ПР200 master). При этом первое внешнее устройство передает значение два раза с интервалом примерно 100 мс. Мне надо, чтобы запись во второе устройство была только по изменению переменной. В настройках сетевой переменной, связанной со вторым устройством, ставлю галку "Запись по изменению" (функция записи 0x10, чтение отключено). Но после изменения переменной ПР200 начинает отправлять запрос на запись в бесконечном цикле. Если снимаю галку - запрос вообще не отправляется. Что я делаю не так?

В программе точно регистр не изменяется нигде?

Можно попробовать через бит "Запуск записи"...

rovki
01.02.2024, 07:43
https://owen.ru/product/pr200/ddm

Спасибо, но вопрос был не в том как подключаться к входам, а о внутренней схеме дискретных входов ( желательно на 24 и 220в) ПР200

МихаилГл
01.02.2024, 07:47
Спасибо, но вопрос был не в том как подключаться к входам, а о внутренней схеме дискретных входов ( желательно на 24 и 220в) ПР200

Ну что я могу тут сказать... Каков вопрос, таков ответ...

Dimensy
01.02.2024, 07:56
Добрый день.
С первого внешнего устройства (master) отправляю в ПР200 (slave) значение переменной, надо его обработать и передать на второе внешнее устройство через второй интерфейс RS485 (ПР200 master). При этом первое внешнее устройство передает значение два раза с интервалом примерно 100 мс. Мне надо, чтобы запись во второе устройство была только по изменению переменной. В настройках сетевой переменной, связанной со вторым устройством, ставлю галку "Запись по изменению" (функция записи 0x10, чтение отключено). Но после изменения переменной ПР200 начинает отправлять запрос на запись в бесконечном цикле. Если снимаю галку - запрос вообще не отправляется. Что я делаю не так?

Переменная вещественная?

ПавелП
01.02.2024, 10:06
Спасибо, но вопрос был не в том как подключаться к входам, а о внутренней схеме дискретных входов ( желательно на 24 и 220в) ПР200

Вам дали ссылку, там есть всё, надо только порыться малость.

petera
01.02.2024, 10:31
Спасибо, но вопрос был не в том как подключаться к входам, а о внутренней схеме дискретных входов ( желательно на 24 и 220в) ПР200
Такую нашёл
73233

документ называется - "re_pr200_2801.pdf" (ПР200 Руководство по эксплуатации. Версия 2801)

rovki
01.02.2024, 12:14
Вам дали ссылку, там есть всё, надо только порыться малость.

Когда +33 в тени не очень много возможностей порыться;). Разве что в песке с головой.

rovki
01.02.2024, 12:20
Такую нашёл
73233

документ называется - "re_pr200_2801.pdf" (ПР200 Руководство по эксплуатации. Версия 2801)
Спасибо ,это уже ближе . Несколько раз были схемы на форуме . Сам я без них обхожусь ( своя схемотехника)
, товарищи хотели глянуть ...А я в отпуске...выручаю. А с мобильника поиск какой-то кривой ,даёт только темы ,а не сообщения.

rovki
01.02.2024, 12:29
там же две вкладки, по умолчанию темы показывает
поиск по одному типу содержимого надо
Всяко пробовал... На ПК у меня в кеш сохранено, а с мобильника задаю поиск по
А он мне десятка два тем , с 1000 ми сообщениями. Вечерком ещё попробую...

yach
01.02.2024, 12:32
Нет, целочисленная.
Устройство slave принимало запрос и записывало значение в регистр, но не отправляло стандартный ответ на запрос с функцией 0x10. После устранения этой проблемы ПР200 вроде бы начало работать нормально, т.е. запрос уходит, значение в регистр записывается, после этого, судя по индикации устройства slave, обмен прекращается.
Причина могла быть в этом?

rovki
01.02.2024, 12:39
скинте как запрос должен выглядеть

на запрос схема дискретных входов выдал такой результат https://owen.ru/forum/showthread.php?t=17153&p=260780&highlight=%F1%F5%E5%EC%E0+%E4%E8%F1%EA%F0%E5%F2%ED %FB%F5+%E2%F5%EE%E4%EE%E2#post260780
Схема входов ПР200, схема входов ПР114, схема дискретных входов...в разделе Программируемое реле

rovki
01.02.2024, 12:42
По-моему они да же были в старых редакциях pdf...

rovki
01.02.2024, 12:44
Можно конечно за пару минут прозвонить плату, но люди хотят визуально увидеть, заценить. Тем более они были на форуме. хотя там все по классике..

ПавелП
01.02.2024, 12:49
Когда +33 в тени не очень много возможностей порыться;). Разве что в песке с головой.

Ого... Кондишин + СБ = комфорт. :)

rovki
01.02.2024, 13:06
https://owen.ru/forum/showthread.php?t=17153&p=386366&viewfull=1#post386366

Спасибо всем, с меня манго :o С товарищей кружка холодненького.

rovki
01.02.2024, 13:09
Ого... Кондишин + СБ = комфорт. :)

Отбываю срок :cool: на каторге , без ПК. Голова отключилась, давление упало Эх , снежка б.

romapalexov@gmail.com
08.02.2024, 10:03
Здравствуйте. Подключил два ПД100 к ПР103 по схеме из руководства Плюс БП на 1 контакт датчика, 2 контакт на аналоговый вход. COM на минус БП. Показания датчика 9999999. Проблема в датчике или перепроверять схему подключения? 7342573426

kondor3000
08.02.2024, 10:43
Здравствуйте. Подключил два ПД100 к ПР103 по схеме из руководства Плюс БП на 1 контакт датчика, 2 контакт на аналоговый вход. COM на минус БП. Показания датчика 9999999. Проблема в датчике или перепроверять схему подключения?

Диапазон датчика какой? Вы забили в МПа а он показывает в Па, похоже

romapalexov@gmail.com
08.02.2024, 10:51
Диапазон датчика от 0,1 до 10 МПа. Я хочу получить результат в кг,см^2

kondor3000
08.02.2024, 11:00
Диапазон датчика от 0,1 до 10 МПа. Я хочу получить результат в кг,см^2

Ну правильно, датчик показывает 9999999 Па=10 Мпа = 102 кг,см^2
Просто забивать надо диапазон датчика, а потом конвертировать. У вас диапазон забит не верно.

romapalexov@gmail.com
08.02.2024, 11:05
Давление в системе 1,7 кг. На 102 уже бы всё разорвало.

melky
08.02.2024, 11:29
romapalexov@gmail.com так от неправильной настройки показывать будет ого-го, а по факту что у вас там есть.

romapalexov@gmail.com
08.02.2024, 11:36
Подскажите как правильно настроить. Датчик ПД100 тип 4-20 мА верхний предел 10 МПа нижний 0,1 МПа

kondor3000
08.02.2024, 11:43
Подскажите как правильно настроить. Датчик ПД100 тип 4-20 мА верхний предел 10 МПа нижний 0,1 МПа

Попробуйте перевести в Па и забить так диапазон, что покажет?

romapalexov@gmail.com
08.02.2024, 11:51
Тоже самое. Я не могу понять проблема в настройке или в датчике. В руководстве не указано про максимальное значение.7343973440

Cs-Cs
08.02.2024, 12:04
romapalexov@gmail.com А почему нижний предел 0,1 МПа, а не 0?
Настраивать надо в том, в чём хочется измерять. Если МПа - то задать от 0 до 10 и так и работать.

romapalexov@gmail.com
08.02.2024, 12:13
Указал так как указано на датчике. При 0 10 результат тот же. В идеале измерять в кг/см2. Может в подключении проблема. От руки нарисовал схему 73441

petera
08.02.2024, 12:40
Указал так как указано на датчике. При 0 10 результат тот же. В идеале измерять в кг/см2. Может в подключении проблема. От руки нарисовал схему 73441

Где номера клемм на ПРке?
Вы точно на вход "I" подключили, а не на вход "U" ?
73442

melky
08.02.2024, 12:49
А ПР103 не требует резистора? например ПРМ-3 требует, в ПР200 встроен.

romapalexov@gmail.com
08.02.2024, 12:53
Поскольку выход с датчика в виде тока я его к I и подключил

romapalexov@gmail.com
08.02.2024, 12:53
В пр103 тоже встроен. Сейчас уточню

UPD из руководсnва по ПР103 4.2.1.1 Работа универсального входа в аналоговом режиме
Для измерения токового сигнала 4...20 мА в прибор встроен шунтирующий резистор с номинальным
сопротивлением 121 Ом для каждого канала. В приборе масштабируются шкалы измерения для
сигналов «0…10 В» и «4…20 мА», после чего контролируемые физические величины отображаются
непосредственно в единицах их измерения (атмосферах (кг/см 2 ), кПа и т. д.).

kondor3000
08.02.2024, 13:35
В пр103 тоже встроен. Сейчас уточню

UPD из руководсnва по ПР103 4.2.1.1 Работа универсального входа в аналоговом режиме
Для измерения токового сигнала 4...20 мА в прибор встроен шунтирующий резистор с номинальным
сопротивлением 121 Ом для каждого канала. В приборе масштабируются шкалы измерения для
сигналов «0…10 В» и «4…20 мА», после чего контролируемые физические величины отображаются
непосредственно в единицах их измерения (атмосферах (кг/см 2 ), кПа и т. д.).

Всё у вас правильно и схема и настройки, остаётся проверить питание на датчике (что не перепутано) и на самой ПР103.
Можно взять тестер и проверить какой ток идёт на вход I1 ( включать в разрыв)

romapalexov@gmail.com
08.02.2024, 14:06
Хоршо. Как найду мультиметр с измерением тока 20 мА проверю и отпишусь

romapalexov@gmail.com
10.02.2024, 12:26
Замерил ток на датчике. Получил что при измерении 20м значение зашкаливает. При измерении 200м получил значение 22 мА

1exan
10.02.2024, 12:49
Подскажите как правильно настроить. Датчик ПД100 тип 4-20 мА верхний предел 10 МПа нижний 0,1 МПа

Да, на сайте так и написано:

"Верхний предел измерений – от 0,1 до 10,0 МПа."

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

kondor3000
10.02.2024, 13:17
Замерил ток на датчике. Получил что при измерении 20м значение зашкаливает. При измерении 200м получил значение 22 мА

Значит у вас при давлении 1,7 кг/см 2 датчик зашкаливает, либо включён не правильно.
Проверяйте подключение, смотрите по паспорту или на датчике диапазон датчика, снимите давление и проверьте показания при 0.

LTM
12.02.2024, 20:32
Здравствуйте.
Просьба подсказать, можно ли в OweLogic написать программу полностью на ST. Например, вся программа будет реализована как бы в одном функциональном блоке?

kondor3000
12.02.2024, 20:58
Здравствуйте.
Просьба подсказать, можно ли в OweLogic написать программу полностью на ST. Например, вся программа будет реализована как бы в одном функциональном блоке?

Можно, это будет ФБ, только с виду как макрос, типа такого, ну может 1 ФБ и 1 макрос выйдет.
Вот пример, макрос для расчёта цикла ПР, вложить пока не получиться. Хотя при желании ( заменить таймеры) можно всё в один ФБ запихать.
Пример программы на ST в среде Codesys 2.3 и в Лоджике. https://owen.ru/forum/showthread.php?t=38453&page=10#93

LTM
12.02.2024, 21:17
Спасибо, будем пробовать.

askaev
13.02.2024, 14:12
Доработал функцию y=logB(A), теперь можно поменять основание B 72933
А в теле функции, можно поменять и A=((X+10)/10), теперь она стала универсальная.

Добавил на всякий случай логарифмы на ST и FBD, версия OWEN Logic2.5.342
Lg - десятичный, Ln - натуральный, Log - универсальный, все логарифмы на ST рассчитываются через Lb - двоичный ( он тоже должен быть добавлен в проект).
В примерах он уже добавлен https://owen.ru/forum/showthread.php?t=37203
https://owen.ru/forum/showthread.php?t=24165&page=8&highlight=%E2%FB%F7%E8%F1%EB%E5%ED%E8%E5+%CB%EE%E3 %E0%F0%E8%F4%EC%E0#72

Мне кажется, здесь логарифмы неправильно считаются. На пример в Экселе формула =LOG(2;10) даёт результат 0,30103 (если округлить). Тоже самое даёт калькулятор, встроенный в Windows. В скачанном "Логарифмы _log(x) Изменяемое основание.owle" при Х=2 и основание=10 (fLOG(2,10)) в результате получается 7,92E-02 (т.е 0,0792). :confused:
ЗЫ: Использую ОЛ вер. 2.5.344.0

kondor3000
13.02.2024, 14:25
Мне кажется, здесь логарифмы неправильно считаются. На пример в Экселе формула =LOG(2;10) даёт результат 0,30103 (если округлить). Тоже самое даёт калькулятор, встроенный в Windows. В скачанном "Логарифмы _log(x) Изменяемое основание.owle" при Х=2, основание=10, в результате получается 7,92E-02 (т.е 0,0792). :confused:
ЗЫ: Использую ОЛ вер. 2.5.344.0

Вы просто не заменили A=((X+10)/10) на Х в самой функции. Хотя вам написал заменить. 73551 У меня получилось 0,30102822
Поэтому и считает не правильно. Выложил ещё отдельно Логарифмы, там же скачайте и проверьте.
https://owen.ru/forum/showthread.php?t=9398&page=752#7515

Универсальным логарифмом от функции, ещё и пользоваться надо уметь))) А вот что я написал

Если функция А не нужна, замените её на X в теле функции.


https://owen.ru/forum/showthread.php?t=37203&page=9&p=429065#post429065

askaev
13.02.2024, 14:50
Да, я думал, что "((X+10)/10)" в fLOG так должно быть. Заменил выражение на просто "X" и всё заработало как надо. Спасибо за подсказку! :)

romapalexov@gmail.com
15.02.2024, 10:37
Здравствуйте. Есть ДСТ035Л-PT100.B3.50 и ПР103. Показания с термопреобразователя могут разнится градусов на 10 от реальной температуры. Уже прочитал про то, что они не дружат и необходим нормирующий преобразователь, но дорого. Как можно добится стабильности значений и точности хотя бы 3 градуса?

kondor3000
15.02.2024, 10:47
Здравствуйте. Есть ДСТ035Л-PT100.B3.50 и ПР103. Показания с термопреобразователя могут разнится градусов на 10 от реальной температуры. Уже прочитал про то, что они не дружат и необходим нормирующий преобразователь, но дорого. Как можно добится стабильности значений и точности хотя бы 3 градуса?

Поставьте Pt1000, это один из лучших вариантов и относительно не дорого. Этим вы ещё и компенсируете 2-проводную схему подключения ( Для ТСП должна быть 3- проводная как минимум). Еще вариант ПРМ-3, но дороже или МВ110-8A, если много ТСП.

1exan
15.02.2024, 10:51
Здравствуйте. Есть ДСТ035Л-PT100.B3.50 и ПР103. Показания с термопреобразователя могут разнится градусов на 10 от реальной температуры. Уже прочитал про то, что они не дружат и необходим нормирующий преобразователь, но дорого. Как можно добится стабильности значений и точности хотя бы 3 градуса?

Отвечает производитель (https://owen.ru/forum/showthread.php?t=39112&p=429348&viewfull=1#post429348)
Если погрешность имеет статический характер - можно попробовать компенсировать её в программе или откалибровать датчик по нескольким точкам и сделать блок линейной интерполяции на основе этих точек.
Если делаете себе, можете поискать китайский токовый нормирующий преобразователь

Сергей0308
15.02.2024, 10:54
Здравствуйте. Есть ДСТ035Л-PT100.B3.50 и ПР103. Показания с термопреобразователя могут разнится градусов на 10 от реальной температуры. Уже прочитал про то, что они не дружат и необходим нормирующий преобразователь, но дорого. Как можно добится стабильности значений и точности хотя бы 3 градуса?

Боюсь, другие варианты, ещё дороже:

https://owen.ru/product/2trm0

ПРМ-3: https://owen.ru/product/prm

МВ110-224.2(8)А: https://owen.ru/product/moduli_analogovogo_vvoda_s_universal_nimi_vhodami_ s_interfejsom_rs_485

Евгений Гриценко
16.02.2024, 08:49
Добрый день. Почему при разработке проекта для ПР103 или ПР205 в Owen Logic в меню файл недоступен пункт "смена целевой платформы"?

kondor3000
16.02.2024, 08:56
Добрый день. Почему при разработке проекта для ПР103 или ПР205 в Owen Logic в меню файл недоступен пункт "смена целевой платформы"?

Ещё не сделали, переносите копипастом или через экспорт, импорт блоков.
ФБ на ST переносится текстом или через экспорт, импорт блоков

Пётр Поросёнков
21.02.2024, 14:41
Добрый день, впервые столкнулся с ПР200, стоит задача читать состояние n-переменных из тела программы. По примеру создал переменные, но они расцениваются только как входные, не могу понять как прокинуть в них нужную внутреннюю переменную.73764

kondor3000
21.02.2024, 14:47
Добрый день, впервые столкнулся с ПР200, стоит задача читать состояние n-переменных из тела программы. По примеру создал переменные, но они расцениваются только как входные, не могу понять как прокинуть в них нужную внутреннюю переменную.73764

Зачем вам их из тела программы переносить? Сетевые переменные можно прямо на холсте присваивать, 73766
никаких промежуточных не надо вообще и перемычек тоже.
У них даже другая полукруглая форма на холсте, вход и выход в разные стороны направлены. На скрине выходы.

Пётр Поросёнков
21.02.2024, 14:55
Извиняюсь за непонимание, просто как пример в delta wpl есть регистры D, брал например, статус выхода, и когда он 1 или 0 закидывал соответствующую переменную в этот регистр, потом его читал. А здесь вот пытаюсь скундепать подобное, но не могу понять, видимо, суть процесса от слова совсем. Спасибо за ответ!

Пётр Поросёнков
21.02.2024, 15:27
Зачем вам их из тела программы переносить? Сетевые переменные можно прямо на холсте присваивать, 73766
никаких промежуточных не надо вообще и перемычек тоже.
У них даже другая полукруглая форма на холсте, вход и выход в разные стороны направлены. На скрине выходы.

Я имею ввиду, имеется ли возможность прочитать, к примеру, вот эти переменные и если да, то как это сделать?73770

kondor3000
21.02.2024, 15:34
Я имею ввиду, имеется ли возможность прочитать, к примеру, вот эти переменные и если да, то как это сделать?

Можно просто заменить эти обычные переменные на сетевые, если они вам не нужны. Если обычные тоже нужны, можно запараллелить выход на обычную и сетевую одновременно.
Вам бы не мешало сделать простую программу без макросов и разобраться сначала с обменом по сети, просто задавая числа.
Проверить чтение и запись.
Кроме того разобраться с упаковкой, распаковкой булевых переменных в Маски и передачи их до 16 шт. (с 0 по 15 бит) в одном регистре.73775
Пример передачи и приёма 3 шт. бит через маски на скрине. Делаете сколько надо бит и упаковываете в макрос.

Cs-Cs
21.02.2024, 16:55
Добрый день, впервые столкнулся с ПР200, стоит задача читать состояние n-переменных из тела программы. По примеру создал переменные, но они расцениваются только как входные, не могу понять как прокинуть в них нужную внутреннюю переменную.73764
В ПРках и ОВЕНе нет возможности извне читать всю память программы. Такое есть в других контроллерах (когда можно обратиться к любой внутренней области памяти по Modbus или как-то ещё). В ОВЕНе такого нет.
Поэтому чтобы прочитать или записать какие-то переменные в программе, их надо создавать руками в программе через Modbus Slave.

Пётр Поросёнков
22.02.2024, 08:47
Можно просто заменить эти обычные переменные на сетевые, если они вам не нужны. Если обычные тоже нужны, можно запараллелить выход на обычную и сетевую одновременно.
Вам бы не мешало сделать простую программу без макросов и разобраться сначала с обменом по сети, просто задавая числа.
Проверить чтение и запись.
Кроме того разобраться с упаковкой, распаковкой булевых переменных в Маски и передачи их до 16 шт. (с 0 по 15 бит) в одном регистре.73775
Пример передачи и приёма 3 шт. бит через маски на скрине. Делаете сколько надо бит и упаковываете в макрос.

Спасибо, будем разбираться и пробовать!!

Пётр Поросёнков
22.02.2024, 08:48
В ПРках и ОВЕНе нет возможности извне читать всю память программы. Такое есть в других контроллерах (когда можно обратиться к любой внутренней области памяти по Modbus или как-то ещё). В ОВЕНе такого нет.
Поэтому чтобы прочитать или записать какие-то переменные в программе, их надо создавать руками в программе через Modbus Slave.

Спасибо за информацию. Вроде всё понял!

игорь68
22.02.2024, 10:28
Коллеги. Надыюсь появилась нужда подключить к ОЛ ПР103. Скачал драйвер. При установке пишет что это от ПР100.
В устройствах есть неизвестные СОМ. А ОЛ не видит реле. Хотя ПР200, ИП120 видит и всё работает.
Куда копать.
Винда 7. Ол сегодня обнавилась. Но ПР103 так и не видно.

kondor3000
22.02.2024, 10:37
Коллеги. Надыюсь появилась нужда подключить к ОЛ ПР103. Скачал драйвер. При установке пишет что это от ПР100.
В устройствах есть неизвестные СОМ. А ОЛ не видит реле. Хотя ПР200, ИП120 видит и всё работает.
Куда копать.
Винда 7. Ол сегодня обнавилась. Но ПР103 так и не видно.

На ПР103 другой драйвер, скачайте на сайте. Сначала должно определиться неизвестное устройство, на него и драйвер ставьте.

игорь68
22.02.2024, 11:09
Так я же написал. Скачал со страниц ПР103 драйвер. При установке драйвера пишет это драйвер ПР100.
Так какой драйвер откуда скачать? Со страниц ПР100?

Newcomer
24.02.2024, 13:34
Добрый день

Почему в режиме эмуляции не меняется текст на Экране 1 ?

kondor3000
24.02.2024, 13:43
Добрый день

Почему в режиме эмуляции не меняется текст на Экране 1 ?

У ПР200 не работает эмуляция экрана, проверяйте в эмуляторе на ПР205.
Удивительно, что вы не знаете, она никогда с ПР200 не работала.

Newcomer
24.02.2024, 13:50
У ПР200 не работает эмуляция экрана, проверяйте в эмуляторе на ПР205.
Удивительно, что вы не знаете, она никогда с ПР200 не работала.

В РЭ про это ничего не сказано.

Максим*
26.02.2024, 13:15
Здравствуйте!
попытался загрузить проект в реле ПР 110-220.12ДФ.8Р
получил следующее сообщение:
Данная версия внутреннего программного обеспечения подключенного прибора "ПР110-220.12ДФ.8Р" не поддерживается! Необходимо обновить программное обеспечение прибора до версии 2.83.
На ОФ сайте не нашел ПО 2.83.
Ткните носом.где искать!!!

melky
26.02.2024, 13:20
Максим* предположу, что нужна 1-я версия Овен Лоджик из последних.

petera
26.02.2024, 13:25
Здравствуйте!
попытался загрузить проект в реле ПР 110-220.12ДФ.8Р
получил следующее сообщение:
Данная версия внутреннего программного обеспечения подключенного прибора "ПР110-220.12ДФ.8Р" не поддерживается! Необходимо обновить программное обеспечение прибора до версии 2.83.
На ОФ сайте не нашел ПО 2.83.
Ткните носом.где искать!!!

Ничего искать дополнительно не надо.
Вы просто не все сообщение привели
Ведь дальше, в сообщении "Данная версия внутреннего программного обеспечения подключенного прибора "ПР110-220.12ДФ.8Р" не поддерживается! Необходимо обновить программное обеспечение прибора до версии 2.83."
Написано "Хотите запустить процесс смены прошивки..."
Нажимаете "ДА" и ВСЕ.
ОЛ сам запишет в прку это самое ПО 2.83.
Файлы с прошивками лежат в папках ОЛ.
73902

Максим*
26.02.2024, 14:00
Спасибо.все получилось:) !!!

zamnarzanom
28.02.2024, 11:15
Здравствуйте!
не знаю, поднимался ли такой вопрос ранее.
Есть какая нибудь команда или макрос для пр200 , чтобы его полностью сбросить, как по включению питания?
Подал напряжение на вход и он сбросился.
Спасибо

Dimensy
28.02.2024, 11:18
Здравствуйте!
не знаю, поднимался ли такой вопрос ранее.
Есть какая нибудь команда или макрос для пр200 , чтобы его полностью сбросить, как по включению питания?
Подал напряжение на вход и он сбросился.
Спасибо

что именно сбросилось?

zamnarzanom
28.02.2024, 11:46
как по включению питания

Сергей0308
28.02.2024, 12:13
как по включению питания

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

CleanS
28.02.2024, 12:43
Здравствуйте!
не знаю, поднимался ли такой вопрос ранее.
Есть какая нибудь команда или макрос для пр200 , чтобы его полностью сбросить, как по включению питания?
Подал напряжение на вход и он сбросился.
Спасибо

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

73955

Для примера, пока нет сигнала на входе I5, в "Переменную" записывается значение счётчика CTN1. По сигналу с входа I5 идёт запись из энергонезависимой переменной "Значение 1". Можно использовать блок константы.

zamnarzanom
29.02.2024, 08:45
2 CleanS
Спасибо, принял!!!

fanton
29.02.2024, 11:56
Owen Logic Версия 2.6.345.0 - при создании нового проекта в меню "выбор модели прибора" не вижу ПР205 вообще никаких.

1exan
29.02.2024, 12:07
Owen Logic Версия 2.6.345.0 - при создании нового проекта в меню "выбор модели прибора" не вижу ПР205 вообще никаких.

В конце списка, 4 модификации.
Ищите проблему у себя

Королев Кирилл
29.02.2024, 12:38
Owen Logic Версия 2.6.345.0 - при создании нового проекта в меню "выбор модели прибора" не вижу ПР205 вообще никаких.

https://owen.ru/product/sreda_programmirovaniya_owen_logic/faq

Kip_silver
14.03.2024, 07:13
ПР200-24.2.2, при подключении в аналоговый вход сигнал 4-20мА, сразу отображает максимальный масштабированный уровень, подскажите в чем может быть дело?

МихаилГл
14.03.2024, 07:23
ПР200-24.2.2, при подключении в аналоговый вход сигнал 4-20мА, сразу отображает максимальный масштабированный уровень, подскажите в чем может быть дело?

При любом сигнале?

Можете приложить программу?

Kip_silver
14.03.2024, 07:28
Дело видимо в "железе", на другом ПР200 все работает как положено, при том же залитом проекте

Kip_silver
14.03.2024, 07:35
Может такое случится, что при подключении в аналог.вход 4-20мА мы перепутали "+" и "-" датчика давления Овен ПД100,
из-за этого на входе ПР что-то перегорело?
Питание датчика от отдельного БП-24В, 10А

EFrol
14.03.2024, 07:35
Меня терзают смутные сомнения:
74332

Kip_silver
14.03.2024, 07:44
Меня терзают смутные сомнения:
74332

Перемычки-джамперы все в правильных положениях

kondor3000
14.03.2024, 07:49
Может такое случится, что при подключении в аналог.вход 4-20мА мы перепутали "+" и "-" датчика давления Овен ПД100,
из-за этого на входе ПР что-то перегорело?
Питание датчика от отдельного БП-24В, 10А

Если перепутали + и -, то перегорело низкоомное сопротивления на входе, замерьте на всех входах сопротивление.

Сергей0308
14.03.2024, 08:46
Если перепутали + и -, то перегорело низкоомное сопротивления на входе, замерьте на всех входах сопротивление.

Можно внешний шунт поставить, кстати, на ПР114 так и было всегда!

Sergej_
14.03.2024, 12:26
Может такое случится, что при подключении в аналог.вход 4-20мА мы перепутали "+" и "-" датчика давления Овен ПД100,
из-за этого на входе ПР что-то перегорело?
Питание датчика от отдельного БП-24В, 10А

Шунтирующее сопротивление 121 Ом. В ПР200. Сгорел шунтирующий резистор из за , внедренной Овном инновации в датчике давления. Вместо последовательно включенного диода защиты от переполюсовки, вкак это обычно принято, впялили параллельно выходам tvs диод, мотивировав что это типа узип. Поэтому при переполюсовке питания ТП ток, через этот диод , спокойно себе течет. Шунтирующий резистор очень малой мощности, если не ошибаюсь 0,125вт. всего. Сгорает вмиг.

Cs-Cs
14.03.2024, 16:38
Камрады, у меня снова замороченный вопрос. Я ещё так никогда в OWL не делал и хочу спросить вашего совета.
Мне надо из ПР200 поуправлять выходами 0..10V модуля МУ110-224.6У.
В его карте регистров значения на выходах - это регистры, которые идут подряд и начинаются сразу с 0 (выходы 1..6 соответствуют регистрам 0-5). Запись в регистры идёт функцией 0x10.
Так как наши ПРки не имеют групповых запросов, то для ускорения опроса модуля могу ли я из ПРки записывать значения регистров как 32-битную переменную?
То есть, выставить значения так:
* Тип переменной = Целочисленная
* Адрес регистра = 0
* Функция записи = 0x10
* Количество регистров = 2
....а в OWL собрать в эту переменную сразу два значения как Старшее и Младшее слова?
Прокатит такой вариант с точки зрения OWL? Всё будет хорошо?

1exan
14.03.2024, 18:58
Камрады, у меня снова замороченный вопрос. Я ещё так никогда в OWL не делал и хочу спросить вашего совета.
Мне надо из ПР200 поуправлять выходами 0..10V модуля МУ110-224.6У.
В его карте регистров значения на выходах - это регистры, которые идут подряд и начинаются сразу с 0 (выходы 1..6 соответствуют регистрам 0-5). Запись в регистры идёт функцией 0x10.
Так как наши ПРки не имеют групповых запросов, то для ускорения опроса модуля могу ли я из ПРки записывать значения регистров как 32-битную переменную?
То есть, выставить значения так:
* Тип переменной = Целочисленная
* Адрес регистра = 0
* Функция записи = 0x10
* Количество регистров = 2
....а в OWL собрать в эту переменную сразу два значения как Старшее и Младшее слова?
Прокатит такой вариант с точки зрения OWL? Всё будет хорошо?

Скорее всего нормально всё будет

AAA1
14.03.2024, 19:03
Камрады, у меня снова замороченный вопрос. Я ещё так никогда в OWL не делал и хочу спросить вашего совета.
Мне надо из ПР200 поуправлять выходами 0..10V модуля МУ110-224.6У.
В его карте регистров значения на выходах - это регистры, которые идут подряд и начинаются сразу с 0 (выходы 1..6 соответствуют регистрам 0-5). Запись в регистры идёт функцией 0x10.
Так как наши ПРки не имеют групповых запросов, то для ускорения опроса модуля могу ли я из ПРки записывать значения регистров как 32-битную переменную?
То есть, выставить значения так:
* Тип переменной = Целочисленная
* Адрес регистра = 0
* Функция записи = 0x10
* Количество регистров = 2
....а в OWL собрать в эту переменную сразу два значения как Старшее и Младшее слова?
Прокатит такой вариант с точки зрения OWL? Всё будет хорошо?

Интересный момент. Лоджик нормально переваривает, надо в железе пробовать.74352

Cs-Cs
14.03.2024, 19:15
1exan, AAA1 Спасибо за поддержку. Попробую я это через примерно месяц, как щит дособеру. В OWL да, всё норм - так можно записывать. В железе надо проверять =)

AAA1
14.03.2024, 19:29
1exan, AAA1 Спасибо за поддержку. Попробую я это через примерно месяц, как щит дособеру. В OWL да, всё норм - так можно записывать. В железе надо проверять =)

Заинтриговал. Я три раза в неделю бываю на объекте где такая тема, скрин выше с лоджика действующего щита взял. Пару недель назад взял бы и попробовал, а сейчас, что-то глаз дёргается. На неделе при внесении маленькой правки и записи в ПР200 всё колом встало, ПР200 ни чего не видит, не отвечает и установка встала которая с 2016 года работала, а тут влез блин! Взял из ЗиПа другую. За пару дней до этого у коллеги ПР103 - умерло при попытке записи программы, симптомы как тут: https://owen.ru/forum/showthread.php?t=39258 . Так, что пока опыты ставить страшно на действующих щитах, а сегодня лоджик включаю - там обновиться просит. Вот и обновляйся, вроде ставишь, чтобы ошибки старые исключались, а там новые.

Сергей0308
14.03.2024, 19:31
Мне кажется для достижения максимального быстродействия нужно поставить "запись по изменению"! Тогда будут писаться только те регистры, где значения меняются, а писать те же значения, это загружать трафик ненужной информацией, в смысле на ровном месте тормоза создавать, мне так кажется!
И, у ПР200 два сетевых интерфейса, один из них использовать только для модуля аналогового вывода! Если он в сети не один!

AAA1
14.03.2024, 19:40
Мне кажется для достижения максимального быстродействия нужно поставить "запись по изменению"! Тогда будут писаться только те регистры, где значения меняются, а писать те же значения, это загружать трафик ненужной информацией, в смысле на ровном месте тормоза создавать, мне так кажется!

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

Сергей0308
14.03.2024, 19:52
Посмотрите на мой скрин выше, так и есть, но в любом случае из-за большого количества устройств\регистров подтормаживает, в данном случае приемлемо, но если будет быстрее - лучше.

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

Cs-Cs
14.03.2024, 21:13
Сергей0308 У меня этот проект маленький, и там будет всего лишь вот столько запросов по Modbus
* Чтение битовой маски с модуля Входов
* Запись битовой маски на модуль Выходов
* Запись 6 регистров на модуль Аналоговых Выходов: 6 или 3 запроса
Тут нет диммирования или быстрого управления аналоговыми выходами. На этот раз задача тупая: держать фиксированный заранее заданный уровень света.
Я хотел просто сократить количество запросов, а запись всё же оставить постоянную: так привычнее.

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

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

1exan
15.03.2024, 08:38
Сергей0308 У меня этот проект маленький, и там будет всего лишь вот столько запросов по Modbus
* Чтение битовой маски с модуля Входов
* Запись битовой маски на модуль Выходов
* Запись 6 регистров на модуль Аналоговых Выходов: 6 или 3 запроса
Тут нет диммирования или быстрого управления аналоговыми выходами. На этот раз задача тупая: держать фиксированный заранее заданный уровень света.
Я хотел просто сократить количество запросов, а запись всё же оставить постоянную: так привычнее.

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

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

Работает
Сопротивления кстати не понадобились, замерить выход и без них можно

Cs-Cs
15.03.2024, 09:01
Работает
Сопротивления кстати не понадобились, замерить выход и без них можно ОБАЛДЕННО! Ура-ура! =)
Все берите на вооружение: кое-как аналоги групповых запросов можно сделать!

Kip_silver
15.03.2024, 10:37
Шунтирующее сопротивление 121 Ом. В ПР200. Сгорел шунтирующий резистор из за , внедренной Овном инновации в датчике давления. Вместо последовательно включенного диода защиты от переполюсовки, вкак это обычно принято, впялили параллельно выходам tvs диод, мотивировав что это типа узип. Поэтому при переполюсовке питания ТП ток, через этот диод , спокойно себе течет. Шунтирующий резистор очень малой мощности, если не ошибаюсь 0,125вт. всего. Сгорает вмиг.

Да все верно, так и есть. Нашел резистор на 120 Ом, перепаял и заработало с небольшой погрешностью конечно. Спасибо

trejer
15.03.2024, 11:54
Здравствуйте.
ПР102-24.2416.03.2
Не работают дискретные входы с DI1 по DI16. Светодиоды входов не светятся. Ток через оптопары идёт (3,5 мА).
Входы AI1 - AI8 работают (как дискретные).
В чём причина?

kondor3000
15.03.2024, 17:36
Здравствуйте.
ПР102-24.12416.03.2
Не работают дискретные входы с DI1 по DI16. Светодиоды входов не светятся. Ток через оптопары идёт (3,5 мА).
Входы AI1 - AI8 работают (как дискретные).
В чём причина?

Так какие входы не работают? По какой схеме включали дискретные входы и как настроены аналоговые?

trejer
18.03.2024, 10:47
Так какие входы не работают? По какой схеме включали дискретные входы и как настроены аналоговые?

DI1, DI2, DI3, DI4, DI5, DI6, DI7, DI8, DI9, DI10, DI11, DI12, DI13, DI14, DI15, DI16 не работают. "Фильтр дребезга контактов" 10 мс. Других настроек нет, наверное.
DA1, DA2, DA3, DA4, DA5, DA6, DA7, DA8 работают. "Постоянная времени фильтра" 0. "Уровень переключения в "0"" 8 В. "Уровень переключения в "1"" 9 В.

На клему "0" (1) я подал минус двадцать четыре вольта.
На клему "+24В" (2) я подал плюс двадцать четыре вольта.

От отдельного источника питания!
На общие клемы дисретных входов (COM1, COM1, COM1, COM1) (клемы 43, 48, 53, 58) я подавал минус двадцать четыре вольта.
На входы DI1, DI2, DI3, DI4, DI5, DI6, DI7, DI8, DI9, DI10, DI11, DI12, DI13, DI14, DI15, DI16 (клемы 44. 45. 46. 47. 49. 50. 51. 52. 54. 55. 56. 57. 59. 60. 61. 62), я подавал плюс двадцать четыре вольта.
Поочерёдно.
На общие клемы аналоговых входов (COM2, COM2, COM2, COM1) (клемы 67, 72, 76, 82) я подавал минус двадцать четыре вольта.
На входы AI1, AI2, AI3, AI4, AI5, AI6, AI7, DI8 (клемы 66, 68, 71, 73, 76, 78, 81, 83), я подавал плюс двадцать четыре вольта.
Поочерёдно.

Соотаетствующие индикаторы всех входов DI не светятся.
Соотаетствующие индикаторы всех входов АI светятся, при поочерёдной подаче напряжения.

kondor3000
18.03.2024, 10:59
Соотаетствующие индикаторы всех входов DI не светятся.
Соотаетствующие индикаторы всех входов АI светятся, при поочерёдной подаче напряжения.

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

trejer
18.03.2024, 13:32
Получается не работают дискретные входы. Тогда проверяйте напряжение на входах, может перепутали полярность.

Ну как я мог перепутать полярность? Ток через оптрон (LTV-217) течёт 3.5 мА. Если я перепутал бы полятность, ток был бы 400 мкА (то есть "никакой").

Я проверил, я не ошибся!

Сергей0308
18.03.2024, 19:14
Здравствуйте.
ПР102-24.12416.03.2
Не работают дискретные входы с DI1 по DI16. Светодиоды входов не светятся. Ток через оптопары идёт (3,5 мА).
Входы AI1 - AI8 работают (как дискретные).
В чём причина?

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

74474

Kliper
18.03.2024, 21:13
Здравствуйте.
ПР205. Можно ли в процессе выполнения алгоритма разрешать/запрещать редактирование значения на экране (уставки, и т.п)?

Dimensy
19.03.2024, 05:43
Здравствуйте.
ПР205. Можно ли в процессе выполнения алгоритма разрешать/запрещать редактирование значения на экране (уставки, и т.п)?

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

trejer
19.03.2024, 11:10
Вы бы для начала разобрались с модификацией прибора и скорей всего Вы сами что-то накосячили, в смысле, если даже модификацию прибора не в состоянии правильно написать!

74474

Большое спасибо! Очень ценная информация.
Схему прибора ПР102-24.2416.03.2 выложите.

Андрей_СПб
19.03.2024, 13:04
Всем добрый день. Чтобы не плодить тем, задам вопрос здесь. С чем связанно увеличение сроков поставки ПР205? Дилеры овена декларируют 50 рабочих дней.

In_Da_Cher_A
19.03.2024, 15:43
С чем связанно увеличение сроков поставки ПР205? ну как бы это...телевизор посмотрите, новости почитайте
с длительными сроками поставки компонентов, которые из-за санкций и прочих сложностей, поступают через третьи страны кривыми путями и так далее.

Kliper
24.03.2024, 11:00
Как программно отловить включение питания реле? Какие есть варианты решения?

kondor3000
24.03.2024, 11:31
Как программно отловить включение питания реле? Какие есть варианты решения?

Какого реле? Если внутреннего, то вы его сами включаете,
если внешнего, то если реле на 24 В, подключаете к нему дискретный вход реле.

Сергей0308
24.03.2024, 11:53
Да уж, не часто такое встретишь, в смысле, даже хотелки ясно сформулировать не может, короче, если надо фиксировать время включения ПР или другого устройства вот здесь была подходящая тема: https://owen.ru/forum/showthread.php?t=29865&highlight=%EA%F2%EE+%EF%E5%F0%E2%FB%E9+%E2%F1%F2%E 0%EB%2C+%F2%EE%E3%EE+%F2%E0%EF%EA%E8
И, здесь: https://owen.ru/forum/showthread.php?t=26216&page=24

Kliper
24.03.2024, 12:04
Дав вроде все очевидно. Обесточилось программируемое реле. Процесс прервался. Потом включилось. Или просто включили. Нужно подправить/скорректировать некоторые параметры. Вот и спрашиваю как ему "увидеть" этот момент.

CleanS
24.03.2024, 12:10
Не обязательно отслеживать момент загрузки.
Создаёте переменные, делаете их энергонезависимыми. Используете в прошивке и "следите", чтобы их значение всегда было актуальным.
При старте прошивки переменные, имея актуальное значение на момент выключения, загрузятся из памяти.

Сергей0308
24.03.2024, 12:12
Дав вроде все очевидно. Обесточилось программируемое реле. Процесс прервался. Потом включилось. Или просто включили. Нужно подправить/скорректировать некоторые параметры. Вот и спрашиваю как ему "увидеть" этот момент.

Если процесс нельзя запускать без корректировки параметров после временного обесточивания, можно поставить RS-триггер, в смысле, подправил значения и взвёл его(триггер), всё! При обесточивании ПР триггер сбросится!

Dimensy
24.03.2024, 12:18
Дав вроде все очевидно. Обесточилось программируемое реле. Процесс прервался. Потом включилось. Или просто включили. Нужно подправить/скорректировать некоторые параметры. Вот и спрашиваю как ему "увидеть" этот момент.

Вот, например, импульс при включении
74652

Kliper
24.03.2024, 15:50
Спасибо, понятно.

AlexBut
01.04.2024, 05:31
Извините вопрос простой- задача сформировать импульс длительностью 2 с после подачи питания с задержкой 30 с .
Придумал вот такой вариант исполнения, но , во-первых, подскажите, будет ли работать, во-вторых думаю есть более изящное решение

Спасибо

EFrol
01.04.2024, 07:38
Извините вопрос простой- задача сформировать импульс длительностью 2 с после подачи питания с задержкой 30 с .
Придумал вот такой вариант исполнения, но , во-первых, подскажите, будет ли работать, во-вторых думаю есть более изящное решение

Спасибо

Просто и гениально. Куда еще изящнее то?!

kondor3000
01.04.2024, 08:03
Извините вопрос простой- задача сформировать импульс длительностью 2 с после подачи питания с задержкой 30 с .
Придумал вот такой вариант исполнения, но , во-первых, подскажите, будет ли работать, во-вторых думаю есть более изящное решение

Спасибо
Более изящное на ST и всего 1 блок, на скрине Импульс с задержкой 74878


function_block Zad_30 //имя функционального блока.
var_input //объявление входных переменных
In : bool;
end_var
var_output //объявление выходных переменных
Q : bool;
end_var
var //объявление локальных переменных
Ton1:SYS.TON; TP1:SYS.TP;
end_var

Ton1(I:=In,T:=T#30s);
Tp1(I:=Ton1.Q,T:=T#2s,Q=>Q);

end_function_block

МихаилГеолог
07.04.2024, 08:04
Здравствуйте. при запуске ПР200 на подключеную к ней пожарную сигнализацию приходит максимальный код, что активирует тревогу, через пару минут значения сбрасываются как и должно быть, какие есть способы избежать активацию сигнализации при запуске ПР200?

FPavel
07.04.2024, 08:17
Если сброс происходит через пару минут, значит источник кода нештатной ситуации - за пределами ПР200.

Нужно разбираться с этой внешней причиной.

Далее - можно сделать задержку на проверку сразу после включения питания: константу 1 подать на вход TON - на выходе TON будет 0 при включении питания, а через время задержки будет 1. Вот этот выход TON и используйте для разрешения обработки нештатных ситуаций.

Но первопричина, всё же, не в ПР, а в источниках нештатных ситуаций или в их неправильной обработке.

МихаилГл
07.04.2024, 08:33
Здравствуйте. при запуске ПР200 на подключеную к ней пожарную сигнализацию приходит максимальный код, что активирует тревогу, через пару минут значения сбрасываются как и должно быть, какие есть способы избежать активацию сигнализации при запуске ПР200?

А как пожарка подключена к пр? Дискрет... Аналог... Интерфейс...

АРТ.Кар 64
07.04.2024, 08:40
Ну ,всё.....моя стезя.
Какие ИП используете и с какого ППК подключаете ? Либо нарушаете пожарный ГОСТ и Ф-123
В "пожарке" даже крепёж извещателей и то должен быть "Сертифицирован".
То есть на все "инженерные системы" от ППК сигнал должен быть подан только через реле ППК,а значит можно использовать только "дискретный ввод" ПР. Если используете "аналоговый ввод" ПР и сделаете контроль на КЗ и Обрыв-то будет совсем хорошо.

Dimensy
07.04.2024, 10:27
Здравствуйте. при запуске ПР200 на подключеную к ней пожарную сигнализацию приходит максимальный код, что активирует тревогу, через пару минут значения сбрасываются как и должно быть, какие есть способы избежать активацию сигнализации при запуске ПР200?

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

МихаилГл
07.04.2024, 10:36
Мозговой штурм попёр, а ТС на тему не подписался(

АРТ.Кар 64
07.04.2024, 11:41
Мозговой штурм попёр

Так почему бы и нет ? Возможно,что ТС использует преобразователь протокола из RS 485 Производителя ПС в протокол Modbus ? То тогда .....Это проблемы уже либо Приборов ПС ,либо Преобразователя.
Тут вообще может быть "тёмный лес". Нужно смотреть от какого "СОСТОЯНИЯ" приходит сообщение на ПР.
"Преобразователь" не передаст "реле 0,или 1",а передаст "Реле включено" или "Реле выключено".
А вопросов "Как подключить ПС к оборудованию через Modbus"? и на форуме опээсников "воз и маленькая тележка".
Так что вопросами "Как через С2000-ПП подключить Сигнал 20М к ПЧ,чтобы включалась противодымка при Пожаре?" Так этим нас не удивишь. Если же прибор ПС имеет РИП +задано "исходное состояние реле"(включено или выключено)-то проблем вообще быть не должно.
А о том ,что ТС задумал и как реализует....нужна доп.информация.
Благодарю за внимание.

pkl
10.04.2024, 15:06
Добрый день.
Планируется работа ПР200 в качестве слевйа. Мастер ПЛК 110.60. Подскажите как можно в ПР контролировать отсутствие связи? Необходимо для перевода ПР в местный режим работы при пропадании опроса /записи со стороны ПЛК. Грубо говоря - по сети включили выход, после пропадания связи необходимо сбросить этот выход.

Cs-Cs
10.04.2024, 15:10
Пусть ПЛК раз в какое-то время через мигалку BLINK меняет какую-то сетевую переменную в ПРке (специально созданную). Такое зовут HeartBeat (биение сердца).
А в ПРке будет какой-нибудь TON/TOF, который, если переменная не меняется, через заданное время выдержки вкючит режим "Связи нет".

Dimensy
10.04.2024, 15:17
Добрый день.
Планируется работа ПР200 в качестве слевйа. Мастер ПЛК 110.60. Подскажите как можно в ПР контролировать отсутствие связи? Необходимо для перевода ПР в местный режим работы при пропадании опроса /записи со стороны ПЛК. Грубо говоря - по сети включили выход, после пропадания связи необходимо сбросить этот выход.

Вот здесь принцип показан https://youtu.be/-gjHoICH55c?si=ym51tx6EfCxjz3jy

pkl
10.04.2024, 15:27
Понял. Спасибо за ответы.

Павел Крупенко
16.04.2024, 12:10
Всем доброго дня!
Скачал с сайта овна файл готового pid регулятора для ПР205 на 220В (https://owen.ru/product/sreda_programmirovaniya_owen_logic).
По инструкции переделал его под свою ПР205 на 24В - в итоге не могу перевести в Главном меню из режима Стоп в Пуск:все время сбрасываетя в стоп
Все перепроверил и сравнил с исходным файлом. не работает.
Не могу найти ошибку, может вы увидите.

1exan
16.04.2024, 12:16
Всем доброго дня!
Скачал с сайта овна файл готового pid регулятора для ПР205 на 220В (https://owen.ru/product/sreda_programmirovaniya_owen_logic).
По инструкции переделал его под свою ПР205 на 24В - в итоге не могу перевести в Главном меню из режима Стоп в Пуск:все время
Все перепроверил и сравнил с исходным файлом. не работает.
Не могу найти ошибку, может вы увидите.

Где записываете переменную "xStart" - поставьте в её свойствах "Запись в конце цикла" - Да

Королев Кирилл
16.04.2024, 12:39
Всем доброго дня!
Скачал с сайта овна файл готового pid регулятора для ПР205 на 220В (https://owen.ru/product/sreda_programmirovaniya_owen_logic).
По инструкции переделал его под свою ПР205 на 24В - в итоге не могу перевести в Главном меню из режима Стоп в Пуск:все время сбрасываетя в стоп
Все перепроверил и сравнил с исходным файлом. не работает.
Не могу найти ошибку, может вы увидите.

Добрый день!

Верно подсказывает 1exan, нужно выставить свойство "запись в конце цикла" - да.
Проверьте также этот параметр у остальных переменных, которые привязаны к визуализации. При таком копировании свойство "запись в конце цикла" не переносится.

Павел Крупенко
16.04.2024, 15:33
Не могу найти это свойство переменной "Запись в конце цикла"

Королев Кирилл
16.04.2024, 15:45
Не могу найти это свойство переменной "Запись в конце цикла"

Подробную информацию можете найти в справке (ищите "запись в конце цикла"). Конкретно в этом примере вот:
75221
При нажатии на блок выходной переменной xStart должно быть окно справа.

Павел Крупенко
16.04.2024, 18:29
Всем спасибо. разобрался.

FPavel
16.04.2024, 18:52
Мне кажется, конструкция, применённая в программе по отношению к переменной xStart, сама по себе приводит к неопределённому поведению - в какой момент использовать обновлённое с экрана значение.

Более корректным было бы использование SEL (он же if):
- на вход условия подать xAlarm
- на вход "0" подать xStart
- на вход "1" подать "0"
- выход подключить к xStart

Единственно, готового блока SEL для логических переменных нет, но его можно сделать самостоятельно из AND и OR - это же обычная логическая функция. На моём скрине назвал SEL как MUX по аналогии с микросхемами.

Почему ратую за такой подход - свойства переменной (энергонезависимость, запись в конце) - не выделяются при осмотре схемы ни на экране, ни на распечатке, ни в cvs экспорта переменных.

Dimensy
16.04.2024, 20:15
...Единственно, готового блока SEL для логических переменных нет, но его можно сделать самостоятельно из AND и OR - это же обычная логическая функция. ...

В менеджере компонентов есть B_SEL называется

kondor3000
16.04.2024, 20:35
Единственно, готового блока SEL для логических переменных нет, но его можно сделать самостоятельно из AND и OR - это же обычная логическая функция. На моём скрине назвал SEL как MUX по аналогии с микросхемами..

Уже давно написал все функции на ST, в том числе bSEL, iSEL, fSEL, MUX, они вам ещё пригодятся для написания программ

Сергей0308
16.04.2024, 20:40
В менеджере компонентов есть B_SEL называется

Я, такой вариант выкладывал:

75229

75230

FPavel
16.04.2024, 20:45
Велосипедостроение, оно такое! У меня "пылится" ещё пара велосипедов, идентичных компонентным! Несложные функции быстрее реализовать, чем искать.
Хотя пора мне уже делать ревизию и "пересаживаться" на понятные и доступные всем...

Спасибо, буду знать.





Уже давно написал все функции на ST, в том числе bSEL, iSEL, fSEL, MUX, они вам ещё пригодятся для написания программ
Знаю об удобстве ST, но в OL не спешу переходить - системные таймеры лишь недавно позволили применять, читал, что со вложенностью ФБ в ФБ проблемы. Да и выглядит всё странно - основная программа на FBD, а её элементы - ФБ - на ST.
Подожду пару лет.

А для чего реализовывать столь простые вещи, как bSEL в виде функций (ведь это просто конструкция if)? Или число входов более 2?

kondor3000
16.04.2024, 21:33
А для чего реализовывать столь простые вещи, как bSEL в виде функций (ведь это просто конструкция if)? Или число входов более 2?

Всё, что больше 5 квадратиков, меня начинает раздражать, особенно рассчёты на квадратах, использовать готовые функции, привычка из Codesys 2.3, с ними намного удобнее и быстрее писать код, а так же отлаживать программы для Лоджика проще в 2.3, с минимальными изменениями.
Все функции и ФБ которые есть в 2.3, уже давно написал и даже больше)) В ОЛ готовые таймеры меня вообще не устраивают, редко их использую, в основном свои, c ET.
А IF-ов и без этого хватает в любой программе.

приборист
17.04.2024, 08:25
Добрый день.
Подскажите - вечером закрыл проект, все было нормально.
Утром не открывается с ошибкой

System.InvalidOperationException: Operation is not valid due to the current state of the object. at ProgramRelayFBD.InfrastructureLayer.Details.Contai nersVer2.Serialization.JsonPersistencyManager.Load StFunctions(String fileName)

Есть шанс что-то с ним сделать?

melky
17.04.2024, 08:48
Хм, залезть в json проекта и почикать ветку последнего добавления ручками.
сделайте копию, разархивируйте и копайтесь в тексте.... других мыслей как бы нет. Ну отправить в техподдержку и ждать когда вам его поправят.

И после этого мне говорят что json это ВАУ.... :)

CleanS
17.04.2024, 09:26
Хм, залезть в json проекта и почикать ветку последнего добавления ручками.
сделайте копию, разархивируйте и копайтесь в тексте.... других мыслей как бы нет. Ну отправить в техподдержку и ждать когда вам его поправят.

И после этого мне говорят что json это ВАУ.... :)

После разархивации можно открыть файл "Project" в блокноте (я использую Notepad++). Скопировать код и проверить его на валидность на сайте https://jsonlint.com
Там есть окно, туда код копируете и нажимаете кнопку "Validate JSON". На выходе получаете или ответ что всё хорошо, либо сообщение о ошибке и пометку в коду где конкретно и что не верно.

Cs-Cs
17.04.2024, 09:34
И всегда, всегда, всегда, всегда делать резервные копии! Через программы, которые делают это, сохраняя старые версии!

melky
17.04.2024, 09:39
Ну в любом случае надо отправлять разработчикам, раз запись прошла на ура, а при чтении упало, вероятно не хватает какой-то проверки при чтении.

татар егет
17.04.2024, 14:27
Здравствуйте. Есть ли в ПРххх/овен лоджик или ПЛКххх/кодесис возможность замены алгоритма на ходу или правка кода во время работы?

kondor3000
17.04.2024, 14:30
Здравствуйте. Есть ли в ПРххх/овен лоджик или ПЛКххх/кодесис возможность замены алгоритма на ходу или правка кода во время работы?

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

МихаилГл
17.04.2024, 14:33
Здравствуйте. Есть ли в ПРххх/овен лоджик или ПЛКххх/кодесис возможность замены алгоритма на ходу или правка кода во время работы?


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

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

татар егет
17.04.2024, 14:36
Нет, это возможно, только если вы заложите этот алгоритм в программу сами, на этапе написания программы.

Не совсем понял. Т.е. я пишу алгоритм для установки и плюс к этому возможность его замены? Или это всё таки на уровне овен лоджик/кодесис только реализуется/может реализоваться/не предусмотрено. Я про онлайн модификацию спрашиваю.

kondor3000
17.04.2024, 15:03
Не совсем понял. Т.е. я пишу алгоритм для установки и плюс к этому возможность его замены? Или это всё таки на уровне овен лоджик/кодесис только реализуется/может реализоваться/не предусмотрено. Я про онлайн модификацию спрашиваю.

Вы можете немного изменить программу в Codesys, на этапе написания и отладки (проект в ОЗУ) и залить изменения Онлайн,
но после создания загрузочного проекта (проект в ПЗУ), изменить ничего нельзя. Точнее все изменения в ОЗУ сотрутся при перезагрузке.
Для изменения, надо снова создать загрузочный проект в ПЗУ, что полностью удалит предыдущий проект.

МихаилГл
17.04.2024, 15:08
Вы можете немного изменить программу в Codesys, на этапе написания и отладки (проект в ОЗУ) и залить изменения Онлайн, но после создания
загрузочного проекта (проект в ПЗУ), изменить ничего нельзя.

Точно? Я просто делал загрузочное после изменений, но вроде всё нормально работало. Всё тэги не меняли свои значения после этого. Надо будет проверить, но мне кажется вы тут не правы. Codesys 3.5 позволяет делать загрузочное при онлайн подключении.

Cs-Cs
18.04.2024, 16:13
Камрады, у меня снова замороченный вопрос. Я ещё так никогда в OWL не делал и хочу спросить вашего совета.
Мне надо из ПР200 поуправлять выходами 0..10V модуля МУ110-224.6У.
В его карте регистров значения на выходах - это регистры, которые идут подряд и начинаются сразу с 0 (выходы 1..6 соответствуют регистрам 0-5). Запись в регистры идёт функцией 0x10.
Так как наши ПРки не имеют групповых запросов, то для ускорения опроса модуля могу ли я из ПРки записывать значения регистров как 32-битную переменную?
То есть, выставить значения так:
* Тип переменной = Целочисленная
* Адрес регистра = 0
* Функция записи = 0x10
* Количество регистров = 2
....а в OWL собрать в эту переменную сразу два значения как Старшее и Младшее слова?
Прокатит такой вариант с точки зрения OWL? Всё будет хорошо?
Отписываюсь, как обещал. Да, прокатило! Работает отлично!

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

И после этого мне говорят что json это ВАУ.... :)

Я в Hex редакторе файл открыл - там все 00.
Так что править там нечего, только заново писать.
Только бекапы могут сохранить нервные клетки.

ALFIX
18.04.2024, 20:05
Здраствуйте. Прошу помощи: по дискретному сигналу(0 в 1) необходимо произвести вычитание двух чисел (А и В) с плавающей запятой. Далее по следующему дискретномому сигналу из разницы (А-В) вычесть В и т.д.

МихаилГл
18.04.2024, 20:15
Если каждую операцию надо делать разово, то дискреты заводить на р триггеры и операцию присваивания от выражения выполнять по выходу этого триггера...ов

Dimensy
18.04.2024, 20:15
Здраствуйте. Прошу помощи: по дискретному сигналу(0 в 1) необходимо произвести вычитание двух чисел (А и В) с плавающей запятой. Далее по следующему дискретномому сигналу из разницы (А-В) вычесть В и т.д.

Наверное, так
75269

МихаилГл
18.04.2024, 20:17
Наверное, так
75269

Ну или так. Без ПК тяжело в башке это решать)

ALFIX
18.04.2024, 23:08
Проблема в том, что А и В это переменные. Решил сделать ФБ на ST:

function_block Freq_Proxy

var_input
stp:bool;
ENA:bool;
START:real;
RAZN:real;
end_var

var_output
Q:real;


end_var


if ENA = true then
Q := START;
else
if stp= true then

Q := Q - RAZN;

else

end_if

end_if
end_function_block

Работает как надо, но за время имульса по входу stp разность производится несколько раз.
Вход на вход ENA однократно подается импульс в начале цикла.

МихаилГл
18.04.2024, 23:17
Проблема в том, что А и В это переменные. Решил сделать ФБ на ST:

function_block Freq_Proxy

var_input
stp:bool;
ENA:bool;
START:real;
RAZN:real;
end_var

var_output
Q:real;


end_var


if ENA = true then
Q := START;
else
if stp= true then

Q := Q - RAZN;

else

end_if

end_if
end_function_block

Работает как надо, но за время имульса по входу stp разность производится несколько раз.
Вход на вход ENA однократно подается импульс в начале цикла.

Если честно, какая то шляпа... Сказали А и В, а сами что-то замудрили. Переведите то что вам предложили с ФБР на СТ тогда. А тут у вас не триггер, а условие, которое вы ещё и не сбрасываете потом. Да и первое условие тоже не сбросится если, то что будет? Мне ваш код непонятно, вы в условии не так писали.

МихаилГл
18.04.2024, 23:25
Зуб болит, поэтому от нечего делать напишу код по вашему из... В голове это выглядит так:


If firstbit then
firstbit:=false;
nextoper:=true;
Result:=A-B;
end if
If nextoper and secondbit then
nextoper:=false;
secondbit:=false;
Result:=Result-B
end if


Но тут разные дискретные сигналы... Первоначально подумал что это не один сигнал...

Для одного:


If bit then
bit:=false;
Result:=Result-B
end if

ALFIX
18.04.2024, 23:42
Зуб болит, поэтому от нечего делать напишу код по вашему из... В голове это выглядит так:


If firstbit then
firstbit:=false;
nextoper:=true;
Result:=A-B;
end if
If nextoper and secondbit then
nextoper:=false;
secondbit:=false;
Result:=Result-B
end if


Но тут разные дискретные сигналы... Первоначально подумал что это не один сигнал...

Для одного:


If bit then
bit:=false;
Result:=Result-B
end if

МихаилГл, не спорю, возможно неверно описал задачу. Постараюсь подробнее.
Есть переменная А, переменная В. По сигналу, например EN, на выход ФБ подается значение переменной А. Далее при поступлении "строба" (имульса) на второй дискретный вход на выходе ФБ будет А-В. При следующем "стробе" предыдущее значение (А-В)-В и т.д.
Т.е., если кратко: есть две уставки - А, С. Есть шаг, например 10. Получается (А - С)/10 = В. Первый строб А-В, второй строб предудущее значение - В и т.д.

МихаилГл
19.04.2024, 00:26
МихаилГл, не спорю, возможно неверно описал задачу. Постараюсь подробнее.
Есть переменная А, переменная В. По сигналу, например EN, на выход ФБ подается значение переменной А. Далее при поступлении "строба" (имульса) на второй дискретный вход на выходе ФБ будет А-В. При следующем "стробе" предыдущее значение (А-В)-В и т.д.
Т.е., если кратко: есть две уставки - А, С. Есть шаг, например 10. Получается (А - С)/10 = В. Первый строб А-В, второй строб предудущее значение - В и т.д.

"При следующем стробе... ", а на какой из входов не сказано... Точнее, точнее)


If firstbit then
firstbit:=false;
nextoper:=true;
Result:=A;
end if
If nextoper and secondbit then
secondbit:=false;
Result:=Result-B;
end if

Dimensy
19.04.2024, 06:05
МихаилГл, не спорю, возможно неверно описал задачу. Постараюсь подробнее.
Есть переменная А, переменная В. По сигналу, например EN, на выход ФБ подается значение переменной А. Далее при поступлении "строба" (имульса) на второй дискретный вход на выходе ФБ будет А-В. При следующем "стробе" предыдущее значение (А-В)-В и т.д.
Т.е., если кратко: есть две уставки - А, С. Есть шаг, например 10. Получается (А - С)/10 = В. Первый строб А-В, второй строб предудущее значение - В и т.д.

Второй абзац не очень понял, а по первому так
75277

FPavel
19.04.2024, 06:47
Судя по всему - плавное изменение уставки для безударного перехода.

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

kondor3000
19.04.2024, 07:57
Работает как надо, но за время имульса по входу stp разность производится несколько раз.
Вход на вход ENA однократно подается импульс в начале цикла.

По входу, можно было добавить R_Trig (можно прямо в ФБ) и не будет считать несколько раз.
Можно и без триггера, только одну переменную добавить x: Bool;

var
x:bool;
end_var

if ENA then
Q :=START;
else
if stp and not x and Q>0 then // Q>0 без отрицательных чисел на выходе
Q := Q-RAZN; x:=true;
elsif not stp and x then
x:=false;
end_if
end_if
end_function_block

Сергей0308
19.04.2024, 11:29
Так если значение "В" не меняется, проще можно сделать, в смысле, счётчик поставить: С = А - (В х N),
где N - значение счётчика! У товарища формула конечно непонятная, в смысле, никто не понял, а объяснение понятное, мне кажется, формулу не стоило бы выводить!

RomanKk
20.04.2024, 18:17
Подскажите правильно ли подключаю к аналоговым выходам. Есть ПР200-24.2.2.0 и ТТР 4-20 мА. Просто 2 провода с аналогового выхода напрямую к ТТР на + и -?

Сергей0308
20.04.2024, 18:36
Подскажите правильно ли подключаю к аналоговым выходам. Есть ПР200-24.2.2.0 и ТТР 4-20 мА. Просто 2 провода с аналогового выхода напрямую к ТТР на + и -?

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

https://owen.ru/product/pr200/connection

75301

EFrol
20.04.2024, 18:38
Подскажите правильно ли подключаю к аналоговым выходам. Есть ПР200-24.2.2.0 и ТТР 4-20 мА. Просто 2 провода с аналогового выхода напрямую к ТТР на + и -?

Нет. Через блок питания:
75300
Лучше прочитайте пункт 6.5.3. Инструкции по эксплуатации (https://owen.ru/downloads/re_pr200.pdf)

Dimensy
20.04.2024, 18:39
Подскажите правильно ли подключаю к аналоговым выходам. Есть ПР200-24.2.2.0 и ТТР 4-20 мА. Просто 2 провода с аналогового выхода напрямую к ТТР на + и -?

нет, читайте инструкцию: + с блока питания подаете на АО+, АО- подаете на + ТТР, - ТТР соединяете с - БП

RomanKk
20.04.2024, 18:40
Во-первых, нарисуйте ваш вариант, ясновидящих здесь сегодня нет!
Во-вторых, гадания здесь неуместны, в смысле, в РЭ и на сайте есть схемы подключения:

https://owen.ru/product/pr200/connection

А что там рисовать, выход на ПР 4-20 мА, клема + и -, на реле также + и -. Соединил их напрямую, но походу это не правильно.

МихаилГл
20.04.2024, 18:47
А что там рисовать, выход на ПР 4-20 мА, клема + и -, на реле также + и -. Соединил их напрямую, но походу это не правильно.

+u -u это блок питания внешний. Rн это потребитель вашего аналогового сигнала.

RomanKk
20.04.2024, 19:24
О, теперь понял. Спасибо.

RomanKk
20.04.2024, 21:22
нет, читайте инструкцию: + с блока питания подаете на АО+, АО- подаете на + ТТР, - ТТР соединяете с - БП

Подключил по такой схеме, на ПР нет никакой программы, только считывает показания датчиков РТ1000 и выводит на экран. 24В которые идут на питание ПР разделил клеммником, на АО кинул плюс, с минуса АО на ТТР плюс, и с минуса ТТР к минусу БП. Включаю БП, засветилась лампочка на ТТР, так и должно быть, лампочка на ТТР будет постоянно светится или по умолчанию там 100% на АО?

Цель задачи - с помощью ТТР 4-20 мА управлять канальным нагревателем меняя напряжение, которое будет проходить через ТТР, вплоть до полного отключения, то есть это 4 мА, верно?

МихаилГл
20.04.2024, 23:02
Зачем гадать, воткните в послед мультиметр и измерьте ток.

Dimensy
21.04.2024, 08:11
Подключил по такой схеме, на ПР нет никакой программы, только считывает показания датчиков РТ1000 и выводит на экран. 24В которые идут на питание ПР разделил клеммником, на АО кинул плюс, с минуса АО на ТТР плюс, и с минуса ТТР к минусу БП. Включаю БП, засветилась лампочка на ТТР, так и должно быть, лампочка на ТТР будет постоянно светится или по умолчанию там 100% на АО?
ЛАмпочка постоянно будет светиться

Цель задачи - с помощью ТТР 4-20 мА управлять канальным нагревателем меняя напряжение, которое будет проходить через ТТР, вплоть до полного отключения, то есть это 4 мА, верно?
Верно

novinky
23.04.2024, 12:07
вер. 2.6.347.0 при очередном редактировании макроса в проекте с удалением входа макроса, в проекте вход макроса отображается и после сохранения и обновления. Закрытие-открытие Owen Logic не помог. В проекте вход есть, в макросе нет. Добавленил в макросе вход, сохраненил, переключился на проект, вход отобразился с нов именем, переклся на окно макроса, удалил вход, сохранил. Перекл на окно проекта вход пропал.
Так же как и в преждних версиях иногда набл пробл с перетаскиванием элементов и отображением при их перемещении

RomanKk
23.04.2024, 13:03
Подскажите, этот макрос может записать до 32 ошибок в одну сетевую переменную?
75331

kondor3000
23.04.2024, 13:11
Подскажите, этот макрос может записать до 32 ошибок в одну сетевую переменную?
75331

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

RomanKk
23.04.2024, 13:43
32 бита влезут только в 2 регистра, нужна 32 битная сетевая переменная или две 16 битных.

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

kondor3000
23.04.2024, 14:25
Спасибо. Значить нужно разделить на критические и не критические ошибки, думаю по 16 хватит.

Если разбить на 2 по 16 бит, то нет смысла использовать этот макрос, надо просто упаковать по 16 бит в регистр.

RomanKk
23.04.2024, 14:40
Если разбить на 2 по 16 бит, то нет смысла использовать этот макрос, надо просто упаковать по 16 бит в регистр.

Да не этот, создал такой же, только для 16 бит, плюс подсчет количества ошибок.
75336

X200881
26.04.2024, 10:47
Да не этот, создал такой же, только для 16 бит, плюс подсчет количества ошибок.
75336

Доброго.
Какой функционал у вашего блока?