PDA

Просмотр полной версии : Макросы в онлайн базе OWEN Logic



Страницы : 1 2 [3] 4

Владимир31
07.11.2020, 19:47
Ткните пожалуйста как скачать макросы, которые описаны в разделе Макросы в онлайн базе OWEN Log
Описания открываются в пдф формате, а сами макросы где и как их скачать.

heXor
15.01.2021, 18:28
О, я нашел! - хотя это было непросто!

База оказывается в самой программе Owen Logic.
В меню Файл -> Менеджер компонентов.
Нужно галочками выделить интересующие макросы и нажать "Загрузить в библиотеку", затем на вкладке "Библиотека", выделить галочкой и нажать "Загрузить в проект".

heXor
03.02.2021, 21:00
Использую макрос "(Pt100)". Во время прошивки произошел сбой, отвалились аналоговые входа, и после этого макрос стал выдавать NaN, причем error=0! Тоесть ситуация ошибочная но макрос об этом никак не сигнализирует.

Если-ли у кого макрос IsNaN? (перерыв весь форум ничего не нашел)

Ревака Юрий
04.02.2021, 11:12
Использую макрос "(Pt100)". Во время прошивки произошел сбой, отвалились аналоговые входа, и после этого макрос стал выдавать NaN, причем error=0! Тоесть ситуация ошибочная но макрос об этом никак не сигнализирует.

Если-ли у кого макрос IsNaN? (перерыв весь форум ничего не нашел)

Это переполнение, тут макрос не поможет, это особенности расчета формул в макросе, когда при обрыве сопротивление стремится к бесконечности, можно уменьшить ограничение внутри макроса как показано тут: https://youtu.be/VggplYw0ieo

heXor
05.02.2021, 00:55
Ошибка оказалась куда глубже и хуже - полное зависание модуля Pt100. Спасает только перезагрузка контроллера.

Ошибку легко воспроизвести в симуляции: задаем на вход модуля число 9999, затем задаем 100, и получаем t=NaN и error=0. Далее любые числа не выводят его из зависания.

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

Потестил модуль (Pt100) - там ошибка в функции SEL_FLOAT, которая зависает при попадании туда числа NaN (в механизме зависания еще не разобрался).
Замена функции SEL_FLOAT на штатную fSEL исправляет ошибку.

Версия Owen Logic 1.17.259

53380


P.S. "Это переполнение" - я бы не стал называть NaN "переполнением" (overflow), это совершенно разные термины и явления. NaN специальное состояние числа, "придуманное" и описанное стандартом IEEE 754.

Ревака Юрий
05.02.2021, 11:22
Ошибка оказалась куда глубже и хуже - полное зависание модуля Pt100. Спасает только перезагрузка контроллера.

Ошибку легко воспроизвести в симуляции: задаем на вход модуля число 9999, затем задаем 100, и получаем t=NaN и error=0. Далее любые числа не выводят его из зависания.

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

Потестил модуль (Pt100) - там ошибка в функции SEL_FLOAT, которая зависает при попадании туда числа NaN (в механизме зависания еще не разобрался).
Замена функции SEL_FLOAT на штатную fSEL исправляет ошибку.

Версия Owen Logic 1.17.259

53380


P.S. "Это переполнение" - я бы не стал называть NaN "переполнением" (overflow), это совершенно разные термины и явления. NaN специальное состояние числа, "придуманное" и описанное стандартом IEEE 754.

Вы ограничение на входе пробовали уменьшить до значения чуть больше рабочего диапазона НСХ?

heXor
05.02.2021, 16:00
Вы ограничение на входе пробовали уменьшить до значения чуть больше рабочего диапазона НСХ?
Да, как сказано в видео установил константу 200. Это еще сильнее поломало макрос - он не выдает ошибку при большом значении. Тестирования на реальном железе показали что при обрыве датчика аналог выдает большое число (>99999.99). Тоесть после коррекции Pt100 вообще не выдает ошибку при обрыве и некорректные числа уходят в алгоритмы. Но отмечу что NaN не возникает и Pt100 не зависает.

53392

heXor
05.02.2021, 17:42
найдите сой макрос, он чисто переводит сопротивление в температуру, а всякие аварии может обвесить кодом поверх макроса
Сой? Что это? Поиск по "сой" ничего не дал...

capzap
05.02.2021, 18:27
Сой? Что это? Поиск по "сой" ничего не дал...

ну смысл Вам помогать, если вы не в состоянии подобрать ближайшее логичное по смыслу слово, трудно представить что я имел ввиду мой? https://owen.ru/forum/showthread.php?t=26216&p=326493&viewfull=1#post326493

heXor
05.02.2021, 19:33
ну смысл Вам помогать, если вы не в состоянии подобрать ближайшее логичное по смыслу слово, трудно представить что я имел ввиду мой? https://owen.ru/forum/showthread.php?t=26216&p=326493&viewfull=1#post326493

Ошибаетесь. По вашим сообщениям я сделал расширенный поиск, с настройкой: {Ключевые слова: "pt100", Имя: "capzap"}. Поиск не дал результатов, а перебирать вручную ~11'000 сообщений я че-то поленился, извините))). Вам нужно добавить в то сообщение слово Pt100 (название вложения увы не участвует в поиске).

P.S. Надо отметить что ваш макрос гораздо более читаемый (ну и не зависает)).

Ревака Юрий
06.02.2021, 16:53
Да, как сказано в видео установил константу 200. Это еще сильнее поломало макрос - он не выдает ошибку при большом значении. Тестирования на реальном железе показали что при обрыве датчика аналог выдает большое число (>99999.99). Тоесть после коррекции Pt100 вообще не выдает ошибку при обрыве и некорректные числа уходят в алгоритмы. Но отмечу что NaN не возникает и Pt100 не зависает.

53392

200 маловато будет, обрыв не будет определяться, рабочий диапазон Pt100 от 18,52 Ом до 390,48 Ом, внизу в макросе как раз и установлены эти значения, по ним регистрируются короткое замыкание на входе и обрыв, поэтому я и ставил 400 Ом.

Fipol
21.02.2021, 20:07
Здравствуйте. Было бы неплохо сделать распаковку битовой маски

Ревака Юрий
22.02.2021, 09:38
Здравствуйте. Было бы неплохо сделать распаковку битовой маски

Добрый день. Все уже давно упаковано и распаковано :), мароксы BOOL_INT и INT_BOOL в менеджере компонентов.

Сергей0308
22.02.2021, 14:39
Здравствуйте. Было бы неплохо сделать распаковку битовой маски

Вот мои варианты:

53599

53600

Много раз выкладывал, здесь наверно проще(быстрей) самому нарисовать, чем спрашивать или искать!

L.Ch.
25.02.2021, 09:14
Привет!
Год назад нарисовал макрос для работы вентиляции до 4-х ступеней электронагревателя.
Этот макрос отработал уже порядочно на реальных объектах. Выкладываю на суд общественности.
Первые 4 входа - защита и они равноправны (1 на все для работоспособности).
Pwr_In - мощность в процентах (плавучка).
wt_Tx - весовой коэффициент мощности каждой ступени (первая не менее 1, остальные могут быть нолём, целочисленное).
Выходы:
Т1-Т4 - включение соответствующих контакторов.
PWM_T1 - ШИМ сигнал на управление ТТР первой ступени (булевская).
Y_T1 - мощность первой ступени в процентах (плавучка).

L.Ch.
25.02.2021, 10:25
Забыл добавить, что в свойствах макроса задается период ШИМ (10 с) и гистрезис (1%).

L.Ch.
25.02.2021, 12:44
В планах сделать на 8 или 16 ступеней, но это уже будет закрытая информация.....

stesel
13.04.2021, 08:45
В макросе BM_in из менеджера компонентов ошибка - все биты укладываются в инт со сдвигом на единицу. Нужно убрать для первого входа DI_1 добавление единицы к номеру бита, у нас это же нулевой бит, а не первый.

СергейНовосиб
13.04.2021, 12:29
Да, там действительно ошибка.

54501

Сергей0308
13.04.2021, 13:13
Да, там действительно ошибка.

54501

А чем мой не устраивает, что я выложил(там и настройки имеются в свойствах макроса)?
От этой картинки я в шоке, это же талант нужен, так суметь всё усложнить, далеко не у каждого получится, поставь сдвиг на выходе и будет в разы проще!

Ревака Юрий
13.04.2021, 13:28
В макросе BM_in из менеджера компонентов ошибка - все биты укладываются в инт со сдвигом на единицу. Нужно убрать для первого входа DI_1 добавление единицы к номеру бита, у нас это же нулевой бит, а не первый.

С этим макросом постоянно вопросы, он попал в базу как часть макросов от разработчиков макросов для СУНА, и там он использовался в каком-то хитром алгоритме, все что по нему есть в описании. Используйте BOOL_INT и INT_BOOL там все прозрачно и понятно.

stesel
13.04.2021, 14:15
С этим макросом постоянно вопросы, он попал в базу как часть макросов от разработчиков макросов для СУНА, и там он использовался в каком-то хитром алгоритме, все что по нему есть в описании. Используйте BOOL_INT и INT_BOOL там все прозрачно и понятно.

Ну я то думал Овен постарались для меня - "вот те нате пользуйтесь" :) У меня тоже свой есть макрос для этого, но наткнулся на него в менеджере - дай думаю его поставлю, не зря же разработчики старались. Воткнул к себе в проект, стал через него в панель булевые переменные закидывать, и сначала не понял, то ли я отупел, то ли панель замудрила, ну ни как я не мог подумать что макрос кривой. Если бы он мне попался ещё зеленому вчерашнему студенту, я бы проклинал тот день когда связался с Овеном. Господа, не портите жизнь начинающим, да и себе репутацию. Считаю что его бы надо поправить, либо исключить из менеджера компонентов.

Ревака Юрий
13.04.2021, 15:53
Ну я то думал Овен постарались для меня - "вот те нате пользуйтесь" :) У меня тоже свой есть макрос для этого, но наткнулся на него в менеджере - дай думаю его поставлю, не зря же разработчики старались. Воткнул к себе в проект, стал через него в панель булевые переменные закидывать, и сначала не понял, то ли я отупел, то ли панель замудрила, ну ни как я не мог подумать что макрос кривой. Если бы он мне попался ещё зеленому вчерашнему студенту, я бы проклинал тот день когда связался с Овеном. Господа, не портите жизнь начинающим, да и себе репутацию. Считаю что его бы надо поправить, либо исключить из менеджера компонентов.

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

wad71
26.04.2021, 14:52
Может уже было, не нашел. При попытке попасть из проекта в менеджер компонентов требует Adobe Reader. Можно как нибудь это обойти. Пользуюсь Foxit Reader, вполне устраивает. Не хотелось бы монстра Adobe устанавливать. Или никак?

Ревака Юрий
26.04.2021, 15:36
Может уже было, не нашел. При попытке попасть из проекта в менеджер компонентов требует Adobe Reader. Можно как нибудь это обойти. Пользуюсь Foxit Reader, вполне устраивает. Не хотелось бы монстра Adobe устанавливать. Или никак?

Можно через ftp зайти и все выкачать.

http://ftp-ow.owen.ru/softupdate/OWEN%20Logic/OnlineComponents/Macros/

Юрий Н
26.04.2021, 15:59
У меня нет адоба, установлен STDUViewer. Все вроде открывается и скачивается.

wad71
26.04.2021, 16:22
.tpl это макрос, а что такое .mtd?

Ревака Юрий
27.04.2021, 09:07
.tpl это макрос, а что такое .mtd?

Это Вам не надо, это для лоджика.

Vladimir F
11.05.2021, 21:06
Подскажите пожалуйста как можно реализовать простую схему с применением макроса TIСKER (Бегущая строка) с функцией экрана ПР200 ( текст).

Ревака Юрий
12.05.2021, 08:19
Подскажите пожалуйста как можно реализовать простую схему с применением макроса TIСKER (Бегущая строка) с функцией экрана ПР200 ( текст).

В описании к макросу есть скриншоты логики, проекты можно поискать, на форуме были разные.

https://owen.ru/forum/showthread.php?t=34525

Vladimir F
12.05.2021, 16:42
Можете написать хотябы приблизительно как это должно выглядеть. Нечего похожее не нашел. Задача простая при поступлении (булевой переменной) на вход TICKER на экране ПР200 появляется текст. Как это можно быстро реализовать.

Ревака Юрий
13.05.2021, 12:41
Можете написать хотябы приблизительно как это должно выглядеть. Нечего похожее не нашел. Задача простая при поступлении (булевой переменной) на вход TICKER на экране ПР200 появляется текст. Как это можно быстро реализовать.

Вот что было под рукой, там сигнал постоянный через "НЕ", можно допилить под задачу.

Пример что на выходе: https://www.youtube.com/watch?v=XJAhMO7OebY

Vladimir F
13.05.2021, 18:43
Спасибо большое за помощь.

Sheffan
14.05.2021, 00:27
добрый день, подскажите, может кто создавал, или он существует макрос по типу астрономического реле????

Filini
14.05.2021, 05:33
добрый день, подскажите, может кто создавал, или он существует макрос по типу астрономического реле????

На этом форуме их штук 5, один даже по моему в библиотеке лежит)))))

bayk
14.05.2021, 09:08
Ищите по слову астротаймер

Sheffan
14.05.2021, 12:02
спасибо, нашел

Алексеев
14.05.2021, 15:20
Коллеги где то встречал на форуме макрос реализации ПЗУ ( в зависимости от 8 бит вытаскивать требуемое целочисленное значение или с большим количеством бит --лишнее удалю ) .
Скорей всего Сергей 0308 выкладывал , не могу найти .
Может быть кто нибудь сбросит ссылку -- где это . Или просьба к Сергею 0308 -- повтори . Ни когда не нужно было сейчас потребовалось .:)

Сергей0308
14.05.2021, 15:32
Коллеги где то встречал на форуме макрос реализации ПЗУ ( в зависимости от 8 бит вытаскивать требуемое целочисленное значение или с большим количеством бит --лишнее удалю ) .
Скорей всего Сергей 0308 выкладывал , не могу найти .
Может быть кто нибудь сбросит ссылку -- где это . Или просьба к Сергею 0308 -- повтори . Ни когда не нужно было сейчас потребовалось .:)

В этом проекте есть макрос:

55086

Только надо быть внимательным при настройке, не все состояния идут по порядку!

Алексеев
14.05.2021, 15:44
В этом проекте есть макрос:

55086

Только надо быть внимательным при настройке, не все состояния идут по порядку!

Учту. Спасибо дай бог тебе здоровья .

Василий Кашуба
14.05.2021, 16:37
В этом проекте есть макрос:

55086

Только надо быть внимательным при настройке, не все состояния идут по порядку!
Поздравляю, крутой номер.55087

Vladimir F
24.05.2021, 07:19
Подскажите пожалуйста как можно реализовать следующие. Работа насоса длится 10 минут затем на 10 минут останавливается. Как реализовать возможность корректировки времени с панели оператора.

capzap
24.05.2021, 07:34
Подскажите пожалуйста как можно реализовать следующие. Работа насоса длится 10 минут затем на 10 минут останавливается. Как реализовать возможность корректировки времени с панели оператора.

взять ШИМ, назначить ему длительность 20минут и заполнение 50%

Ревака Юрий
24.05.2021, 10:02
Подскажите пожалуйста как можно реализовать следующие. Работа насоса длится 10 минут затем на 10 минут останавливается. Как реализовать возможность корректировки времени с панели оператора.

Можно взять блок BLINK, например, в нем можно задать время вкл. и время выкл. состояния, уставки можно менять задавая значение в мс через Write to FB, тут https://www.youtube.com/watch?v=7XlMjFgQkoA есть пример управление временем в разных режимах и для разных таймеров с экрана ПР, можно переназначить на задание по сети. Похожий пример описан в Help OwenLogic.

Vladimir F
24.05.2021, 20:36
Спасибо Юрий всё разобрался. Если можно ещё вопрос как лучше реализовать двух считывающих из ФБ в одну сетевую переменную с последующим отображением в минутах.

Ревака Юрий
25.05.2021, 09:38
Спасибо Юрий всё разобрался. Если можно ещё вопрос как лучше реализовать двух считывающих из ФБ в одну сетевую переменную с последующим отображением в минутах.

Не очень понял вопрос, сами функциональные блоки не поддерживают чтение оставшегося времени, вычитывается только уставка, ее можно брать со входа задания, если нужен обратный отсчет, есть макрос TIME_U/D. Или Вам необходимо две уставки хранить в 1 сетевом регистре?

Vladimir F
25.05.2021, 16:32
Спасибо тогда почитаю про этот макрос. А ФБ Blink не поддерживает функцию считывания?

Ревака Юрий
26.05.2021, 08:02
Спасибо тогда почитаю про этот макрос. А ФБ Blink не поддерживает функцию считывания?

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

stesel
26.05.2021, 13:35
ОЛ Версия 1.17.267
Вопрос - только у меня пропали макросы в онлайн базе в менеджере компонентов или их теперь там нет?

Ревака Юрий
26.05.2021, 13:41
ОЛ Версия 1.17.267
Вопрос - только у меня пропали макросы в онлайн базе в менеджере компонентов или их теперь там нет?

Уже все должно работать, до этого проводились работы на сервере.

Сергей0308
26.05.2021, 13:43
ОЛ Версия 1.17.267
Вопрос - только у меня пропали макросы в онлайн базе в менеджере компонентов или их теперь там нет?

Уже всё заработало, на три дня опоздали со своим сообщением, три дня не работало!

Vladimir F
26.05.2021, 19:46
Спасибо огромное Юрий за помощь.

Vladimir F
27.05.2021, 07:08
Ещё один вопрос можно ли как-то сделать отсчёт времени с TIME_U/D в минутах.

Ревака Юрий
27.05.2021, 08:37
Ещё один вопрос можно ли как-то сделать отсчёт времени с TIME_U/D в минутах.

Теоретически да, (там основной упор делался на более точный вывод в секундах с несколькими знаками после запятой, и в зависимости от времени цикла "загрублялся" вывод количества знаков после запятой), а практически проще полученные секунды разделить на 60 и назначить на переменную. Но нужно посмотреть, скорее всего будет ограничение, макрос построен на счетчике, которые считает до 65535, ~10 минут может накапливать.

ОлегИзКрыма
27.05.2021, 20:07
Мало макросов в разделе "Работа с экраном", тем более что в " Помощи" весьма скромное описание.Или хотя-бы примеры программ с активным использованием экрана ПР200.

потому, что набор функций урезан до обсурда

Ревака Юрий
28.05.2021, 10:52
потому, что набор функций урезан до обсурда


В плейлисте Лайфхаки OWENLogic&ПР https://www.youtube.com/playlist?list=PLTJJg6aLoOUoxXWShgH9KLf8uB-CXsKH- можно посмотреть ч.2, ч.7, ч.10, ч.14 там с примерами активное использование экранов в разных режимах. Макрос "Бегущая строка" описан вроде подробно.

Witalianno
30.05.2021, 05:42
Здравствуйте! В теме "Обсуждения..." вчера писал, что-то до сих пор не опубликовали мое сообщение... Можно попросить еще раз разместить макрос или ссылку на "Построения графика температуры в зависимости от погоды", там ссылка не рабочая. Спасибо

Василий Кашуба
30.05.2021, 09:01
Здравствуйте! В теме "Обсуждения..." вчера писал, что-то до сих пор не опубликовали мое сообщение... Можно попросить еще раз разместить макрос или ссылку на "Построения графика температуры в зависимости от погоды", там ссылка не рабочая. Спасибо

Посмотрите здесь. https://owen.ru/forum/showthread.php?t=17153&p=236461&viewfull=1#post236461

Ревака Юрий
31.05.2021, 09:18
Здравствуйте! В теме "Обсуждения..." вчера писал, что-то до сих пор не опубликовали мое сообщение... Можно попросить еще раз разместить макрос или ссылку на "Построения графика температуры в зависимости от погоды", там ссылка не рабочая. Спасибо

Есть еще тут https://youtu.be/j6xGbq7f8AU с примером проекта.

Ревака Юрий
03.06.2021, 20:04
Пример работы с макросом Password(пароль).

https://www.youtube.com/watch?v=qskImBpICH4

Vladimir F
04.06.2021, 16:53
Помогите пожалуйста справиться с такой задачей. Необходимо подключить термосопротивление. Можно ли это сделать на прямую к ПР102. И как лучше реализовать при превышении уставки появлялась булевая переменная.

Сергей0308
04.06.2021, 17:24
Помогите пожалуйста справиться с такой задачей. Необходимо подключить термосопротивление. Можно ли это сделать на прямую к ПР102. И как лучше реализовать при превышении уставки появлялась булевая переменная.

Какой-то странный вопрос, типы ТС поддерживаемые "из коробки" указаны в РЭ и свойствах входа!
Если в этом списке нет вашего типа ТС, мне кажется, лучше применить совместно с ТС нормирующий преобразователь, встроенный в головку ТС или отдельный.
И есть функция сравнения на большее.
Вероятно Вы ленитесь РЭ прочитать или хотя бы посмотреть в ОЛ, там всё указано и даже справка есть.

Vladimir F
05.06.2021, 16:03
Вопрос состоит в том в основном все ТС преобразователи на выходе выдают переменные с плавающей запятой. Мне надо возможность задавать уставу и выдавать булевую переменную.

Сергей0308
05.06.2021, 16:12
Вопрос состоит в том в основном все ТС преобразователи на выходе выдают переменные с плавающей запятой. Мне надо возможность задавать уставу и выдавать булевую переменную.

Какой тип ТС, какой диапазон задаваемых температур?
Я так понимаю, у Вас глубокие познания в ТС, осталось изучить функцию сравнения на большее!
Если это вся задача то достаточно ТРМ1, поставил и головой не надо думать, Вам идеально подойдёт, мне так кажется!

Vladimir F
05.06.2021, 17:05
Если было бы так просто я бы не заморачивался. У меня другое сейчас волнует можно ли подключить к Аналоговым входам ТС. И как подключить трехпроводный датчик к ПР.

Сергей0308
05.06.2021, 17:20
Если было бы так просто я бы не заморачивался. У меня другое сейчас волнует можно ли подключить к Аналоговым входам ТС. И как подключить трехпроводный датчик к ПР.

Насколько понимаю, у вас ещё нет ТС, тогда даже проще, покупаете ТС со встроенным нормирующим преобразователем. Если у ТС нет типа(названия) боюсь подключить проблематично, если точнее, не подключить, а получить реальное значение температуры!

Vladimir F
05.06.2021, 17:33
Сергей 0308 если вам не сложно посмотрите вот такой вид ТС который я рассматриваю. (ДТС224-РТ100.В3.43/1)

Сергей0308
05.06.2021, 17:35
Сергей 0308 если вам не сложно посмотрите вот такой вид ТС который я рассматриваю. (ДТС224-РТ100.В3.43/1)

Диапазон задаваемой температуры какой?

Vladimir F
05.06.2021, 17:52
В данное время рассматривается диапазон температур от 0 до 100.

Сергей0308
05.06.2021, 17:58
В данное время рассматривается диапазон температур от 0 до 100.

Тогда зачем ТС с платиновым чувствительным элементом? Насколько понимаю он дороже медного при той же погрешности(точности). Платиновые выигрывают в максимальной температуре, могут измерять до 500 градусов Цельсия, но вам это не нужно!

Сергей0308
05.06.2021, 18:20
Но в основном подходит?

Вы читали мой вопрос, почему платиновый, а не медный?
Если уже выбрали платиновый, то как раз ПР102 поддерживает Pt500(1000), а Pt100 не поддерживает(из коробки), к тому же без компенсации сопротивления проводов будет большая погрешность, более чем от ранее указанных в 5(10) раз. Можно применить компенсацию сопротивления проводов, тогда для одного ТС два аналоговых входа потребуется, у вас хватит аналоговых входов, сколько ТС планируете подключить к одному ПР102?

55434

Vladimir F
06.06.2021, 09:27
Да вы правы наверное тогда с медным чувствительным элементом. Подскажите а блок преобразователь 100м подходит для медного ЧЭ.

Vladimir F
06.06.2021, 09:43
Сергей 0308 ещё такой вопрос аналоговых входов хватает. Ка лучше реализовать в программе через чего лучше подключить два аналоговых входов для компенсации сопротивления к блоку преобразователя для более точного подсчёта температуры.

Сергей0308
06.06.2021, 10:21
Сергей 0308 ещё такой вопрос аналоговых входов хватает. Ка лучше реализовать в программе через чего лучше подключить два аналоговых входов для компенсации сопротивления к блоку преобразователя для более точного подсчёта температуры.

Для этого нужно определится с типом ТС, например остановились на 100М(или Pt100), берёте макрос для соответствующего типа ТС из менеджера компонентов, всё. Я так понимаю, вам не нужна высокая точность измерения, как бы с нормирующим преобразователем(особенно в головке ТС) будет выше, к тому же уменьшаются требования к проводам какими ТС подключается и их сопротивление не влияет на точность измерения, короче, к чему речь веду: мне кажется если применить вместо платинового(как Вы сначала хотели) медный ТС в комплекте с нормирующим преобразователем, учитывая что и провода потребуются более дешёвые(не знаю какая у вас будет длинна этих проводов), то по стоимости выйдет приблизительно одинаково, но с большей точностью измерения и в два раза меньше аналоговых входов потребуется! У вас над тем, что желательно иметь(нормирующий преобразователь) свет клином сошёлся, тем более его цена компенсируется за счёт применения более дешёвых проводов и медного ТС(вместо платинового), уже повторяюсь!

Vladimir F
06.06.2021, 10:37
Да я согласен с вами скорее всего будем брать из медного ЧЭ ТС. У меня остались вопросы как лучше реализовать в программе подключения двух аналоговых входов для компенсации к блоку 100М.

Сергей0308
06.06.2021, 11:04
Да я согласен с вами скорее всего будем брать из медного ЧЭ ТС. У меня остались вопросы как лучше реализовать в программе подключения двух аналоговых входов для компенсации к блоку 100М.

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

Vladimir F
06.06.2021, 11:28
Спасибо Сергей0308 за помощь.

Filini
05.08.2021, 06:21
Добрый день. Макрос преобразования сопротивления в Т Pt1000, ни как не выдает ошибку в проекте, хотя в самом макросе работает как нужно.
Блок выходной переменной "error" свойства - целочисловое5639256393
Что не так в проекте делаю?

Ревака Юрий
05.08.2021, 09:51
Добрый день. Макрос преобразования сопротивления в Т Pt1000, ни как не выдает ошибку в проекте, хотя в самом макросе работает как нужно.
Блок выходной переменной "error" свойства - целочисловое5639256393
Что не так в проекте делаю?

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

Muhomor-74
05.08.2021, 11:49
Доброго дня! Поясните по макросам:

UNIX_TIME (Время в секундах в формате UNIX, описание макроса)
UTNIX_to_DT (Преобразование UNIX-времени в дату и время, описание макроса)

Записываем c UNIX_TIME в EventLog 5/08 в 15:40 а читается это событие с UTNIX_to_DT как 2/15 10: 5

Почему так получается у меня?

Ревака Юрий
05.08.2021, 13:14
Доброго дня! Поясните по макросам:

UNIX_TIME (Время в секундах в формате UNIX, описание макроса)
UTNIX_to_DT (Преобразование UNIX-времени в дату и время, описание макроса)

Записываем c UNIX_TIME в EventLog 5/08 в 15:40 а читается это событие с UTNIX_to_DT как 2/15 10: 5

Почему так получается у меня?

Добрый день, проект с примером сможете прикрепить сюда?

Filini
05.08.2021, 18:11
Ошибка висит в воздухе, назначьте на экран или сделайте энергонезависимой для проверки.

Энергонезависимой она была сразу, а вот за "висит в воздухе" спасибо, второй раз на эти грабли наступаю))))))

Muhomor-74
06.08.2021, 04:42
Добрый день, проект с примером сможете прикрепить сюда?

Доброй пятницы всем!

Вот пожалуйста, проектик.

Ревака Юрий
06.08.2021, 10:26
Доброй пятницы всем!

Вот пожалуйста, проектик.

Ну все понятно, Вы на вход UNIX_to_DT подаете не unix time, поэтому и получаете на то на выходе. Я сходу не скажу что там за значения, возможно vi_UT_R и vi_UT_L это unixtime разбитый на 2 регистра, тогда их нужно собрать в один int32 и уже его подавать на вход.

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

Ревака Юрий
06.08.2021, 10:42
Год не правильно указан, нужно 2000 прибавлять.

Muhomor-74
09.08.2021, 04:53
Здравствуйте, Юрий. Так прибавлять 2000 это обязательное условие? Не на тысячелетия журнал требуется.

Ревака Юрий
09.08.2021, 07:26
Здравствуйте, Юрий. Так прибавлять 2000 это обязательное условие? Не на тысячелетия журнал требуется.

Обратите внимание на формат года в симуляции, там 21, чтоб получить актуальную дату 2021, нужно прибавить 2000.

Muhomor-74
09.08.2021, 15:02
Спасибо, Юрий.

Alex_Under_ B
18.10.2021, 10:14
Добрый день! Юрий подскажите для макроса AVG сколько длится время измерения N? или это зависит от времени опроса прибора? Если так то не нашел информации для аналоговых входов ПР102. Ипользую датчик влажности, и при некоторых погодных условиях слишком большой шум. Необходимо сгладить занчения на 10-15 минут измерений.

Ревака Юрий
18.10.2021, 11:01
Добрый день! Юрий подскажите для макроса AVG сколько длится время измерения N? или это зависит от времени опроса прибора? Если так то не нашел информации для аналоговых входов ПР102. Ипользую датчик влажности, и при некоторых погодных условиях слишком большой шум. Необходимо сгладить занчения на 10-15 минут измерений.

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

Климин
01.11.2021, 00:20
Здравствуйте! На ПР-200 нужно реализовать ПИД-регулирование сервоприводом с входами "больше" - "меньше" и без датчика положения. Думаю подойдёт связка макросов "простой ПИД-регулятор (PID_)" и "управление дискретной задвижкой (RegKZR)". Только не могу найти описание на RegKZR. Подскажите за что отвечают входа ut_StepFull (s), ut_StepMin (s), ut_Cycle (ms). Думаю что это полное время хода привода, минимальная длительность управляющего импульса и время цикла программы. Так ли это?57771

Ревака Юрий
01.11.2021, 08:16
Здравствуйте! На ПР-200 нужно реализовать ПИД-регулирование сервоприводом с входами "больше" - "меньше" и без датчика положения. Думаю подойдёт связка макросов "простой ПИД-регулятор (PID_)" и "управление дискретной задвижкой (RegKZR)". Только не могу найти описание на RegKZR. Подскажите за что отвечают входа ut_StepFull (s), ut_StepMin (s), ut_Cycle (ms). Думаю что это полное время хода привода, минимальная длительность управляющего импульса и время цикла программы. Так ли это?57771

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

куваев андрей
02.11.2021, 13:19
Добрый день, возникла проблема с загрузкой макросов из онлайн базы в библиотеку и проект. При нажатии ЛКМ по квадрату рядом с названием макроса для его выделения галочка не ставится. Соответственно дальнейшие действия невозможны. Подскажите, это какой-то глюк программы, или я что-то не так делаю?

petera
02.11.2021, 13:26
Добрый день, возникла проблема с загрузкой макросов из онлайн базы в библиотеку и проект. При нажатии ЛКМ по квадрату рядом с названием макроса для его выделения галочка не ставится. Соответственно дальнейшие действия невозможны. Подскажите, это какой-то глюк программы, или я что-то не так делаю?

https://owen.ru/forum/showthread.php?t=12264&p=365449&viewfull=1#post365449

Kendrik33
05.11.2021, 11:10
Подскажите, для каких практических задач можно применить макрос arccos и макросы других геометрических функций

petera
05.11.2021, 11:33
Подскажите, для каких практических задач можно применить макрос arccos и макросы других геометрических функций
Макрос для астротаймера
57823 57824
https://owen.ru/forum/showthread.php?t=12691&p=347102&viewfull=1#post347102

57825
https://owen.ru/forum/showthread.php?t=9398&p=296624&viewfull=1#post296624

Сергей0308
05.11.2021, 11:38
Подскажите, для каких практических задач можно применить макрос arccos и макросы других геометрических функций

https://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%B8%D0%B3%D0%BE%D0%BD%D0%BE%D0%BC%D 0%B5%D1%82%D1%80%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0% B8%D0%B5_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B 8

K123
23.11.2021, 23:39
Здравствуйте.

В описании макросов для датчиков 50М, 100П, PT1000 сказано, что выход "Error" отображает ошибку преобразования (или нормальную работу).
На скриншоте видно, что при онлайн отладке на выходе Error значения отсутствуют на всех макросах, температура равна "0" на выходе всех макросов, хотя датчики к прибору не подключены.
Как заставить макросы работать нормально - то есть не выдавать "0" при отсутствии датчика и на выходе Error выдавать соответствующее значение?

Овен ПР200-220.5.2.0, версия OL и прошивки прибора - последние доступные.

58034

kondor3000
24.11.2021, 00:43
Здравствуйте.
В описании макросов для датчиков 50М, 100П, PT1000 сказано, что выход "Error" отображает ошибку преобразования (или нормальную работу).
На скриншоте видно, что при онлайн отладке на выходе Error значения отсутствуют на всех макросах, температура равна "0" на выходе всех макросов, хотя датчики к прибору не подключены.
Как заставить макросы работать нормально - то есть не выдавать "0" при отсутствии датчика и на выходе Error выдавать соответствующее значение?
Овен ПР200-220.5.2.0, версия OL и прошивки прибора - последние доступные.

А что по вашему должен выдавать макрос если нет термосопротивления? Пределы от 0 до 4000 Ом, у вас нет ни того ни другого! При комнатной Т примерно 22 градуса, ПТ100 - 109 Ом, ПТ1000 -1090 Ом
А ошибку не показывает, потому что нет подключения переменной ERROR, её надо куда то подключить или ( на время) сделать переменную энергонезависимой или подключить сетевую переменную.
Смотри скрин, на ПТ100 нет ошибок (0) T=260 градусов, ошибку на ПТ1000 показывает (1) сопротивление ниже диапазона 58035

Filini
24.11.2021, 04:58
Здравствуйте.

В описании макросов для датчиков 50М, 100П, PT1000 сказано, что выход "Error" отображает ошибку преобразования (или нормальную работу).
На скриншоте видно, что при онлайн отладке на выходе Error значения отсутствуют на всех макросах, температура равна "0" на выходе всех макросов, хотя датчики к прибору не подключены.
Как заставить макросы работать нормально - то есть не выдавать "0" при отсутствии датчика и на выходе Error выдавать соответствующее значение?

Овен ПР200-220.5.2.0, версия OL и прошивки прибора - последние доступные.

58034

У вас сопротивление отрицательное????? Суперсверхпроводимость открыли?))))))))))58037

Dimensy
24.11.2021, 06:13
Здравствуйте.

В описании макросов для датчиков 50М, 100П, PT1000 сказано, что выход "Error" отображает ошибку преобразования (или нормальную работу).
На скриншоте видно, что при онлайн отладке на выходе Error значения отсутствуют на всех макросах, температура равна "0" на выходе всех макросов, хотя датчики к прибору не подключены.
Как заставить макросы работать нормально - то есть не выдавать "0" при отсутствии датчика и на выходе Error выдавать соответствующее значение?



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

58038

K123
24.11.2021, 09:40
Скорее всего, у Вас переменные Error в программе нигде не используются, поэтому лоджик и не показывает их значения.

58038

Спасибо, не знал

keysansa
24.11.2021, 15:44
У вас сопротивление отрицательное????? Суперсверхпроводимость открыли?)))))

В отладке и проверяется работа макроса. в том числе, на отрицательные значения.
Лично мне не нравится политика Owen, что модули ввода возвращают температуру именно в самой температуре, а не в коде АЦП. Тут и погрешность двойного преобразования, и необходимость тратить больше ресурсов...

Dimensy
24.11.2021, 19:06
Лично мне не нравится политика Owen, что модули ввода возвращают температуру именно в самой температуре, а не в коде АЦП. Тут и погрешность двойного преобразования, и необходимость тратить больше ресурсов...
ПР103 и модули расширения работают с датчиками температуры напрямую

Filini
26.11.2021, 06:04
В отладке и проверяется работа макроса. в том числе, на отрицательные значения.


Проверяли с отрицателным значением сопротивления? Вас не смущает знак минус перед значением сопротивления, ни капли?

keysansa
27.11.2021, 14:18
Проверяли с отрицателным значением сопротивления? Вас не смущает знак минус перед значением сопротивления, ни капли?

Абсолютно не смущает. Даже наоборот, специально делаем unit для тестирования системы на отрицательные значения. Не поверите, иногда при отрицательных значениях сопротивления, деление на 0 прилетает в обслуживающих функциях.

Filini
27.11.2021, 19:07
Абсолютно не смущает. Даже наоборот, специально делаем unit для тестирования системы на отрицательные значения. Не поверите, иногда при отрицательных значениях сопротивления, деление на 0 прилетает в обслуживающих функциях.

Огромное желание подарить Вам учебник физики.....

batur
30.11.2021, 10:50
581405814158142
f
Добрый день работаю с макросом преобразование ntc в показания температуры, все ли я делаю правильно? у меня на выходе значение 44,41Е+01, когда я задаю на вход AI1 5000 ом в ручную, а когда на входе AI1 значение 0, то показывает 25

Ревака Юрий
30.11.2021, 11:18
581405814158142
f
Добрый день работаю с макросом преобразование ntc в показания температуры, все ли я делаю правильно? у меня на выходе значение 44,41Е+01, когда я задаю на вход AI1 5000 ом в ручную, а когда на входе AI1 значение 0, то показывает 25

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

batur
30.11.2021, 11:48
Добрый день, в данном случае макрос не нужен, это для ПР200 где вход в режиме сопротивления выдает в логику сопротивление, а Вас сразу будет температура в логике.
когда я задаю вручную температуру 10кОМ у меня и в переменную приходит 10кОм. Контроллер будет ОВЕН ПР102-24.2416.06.2., подскажите в каком направлении двигатся

Ревака Юрий
30.11.2021, 12:01
когда я задаю вручную температуру 10кОМ у меня и в переменную приходит 10кОм. Контроллер будет ОВЕН ПР102-24.2416.06.2., подскажите в каком направлении двигатся

Симуляция не отражает реальной картины, если есть прибор, лучше использовать онлайн отладку, тут есть общие примеры по работе с отладкой https://www.youtube.com/watch?v=IReuSCO1T5M

petera
30.11.2021, 12:19
когда я задаю вручную температуру 10кОМ у меня и в переменную приходит 10кОм. Контроллер будет ОВЕН ПР102-24.2416.06.2., подскажите в каком направлении двигатся

А зачем вручную "температуру" в килоОмах задавать? Вы ведь вход сконфигурировали как температура от -50 до 105 гр (пост #609 (https://owen.ru/forum/showthread.php?t=25067&p=369342&viewfull=1#post369342). Вот и задавайте в отладке сразу температуру и и в переменную будет приходить температура.

batur
30.11.2021, 12:41
Симуляция не отражает реальной картины, если есть прибор, лучше использовать онлайн отладку, тут есть общие примеры по работе с отладкой https://www.youtube.com/watch?v=IReuSCO1T5M

ОВЕН ПР102-24.2416.06.2 для него значит не нужен макрос? т.е. я если все сконфигурировал в настройке входов у меня само будет сопротивление преобразовываться?
Контроллера нет еще, вобщем пока оборудование закупается мне нужно написать софт.

batur
30.11.2021, 12:43
А зачем вручную "температуру" в килоОмах задавать? Вы ведь вход сконфигурировали как температура от -50 до 105 гр (пост #609 (https://owen.ru/forum/showthread.php?t=25067&p=369342&viewfull=1#post369342). Вот и задавайте в отладке сразу температуру и и в переменную будет приходить температура.

у меня контроллер ОВЕН ПР102-24.2416.06.2. он сам уже ковертирует сопративление?

Ревака Юрий
30.11.2021, 12:43
ОВЕН ПР102-24.2416.06.2 для него значит не нужен макрос? т.е. я если все сконфигурировал в настройке входов у меня само будет сопротивление преобразовываться?
Контроллера нет еще, вобщем пока оборудование закупается мне нужно написать софт.

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

batur
30.11.2021, 12:56
Да, во всех ПР102 при выборе НСХ, на входе в логику сразу значения в виде температуры будет, для симуляции можно ее сразу и задавать, в онлайн отладке будет сразу температура выводится.

а для датчиков 4-20мА нужен макрос или так же все?

Ревака Юрий
30.11.2021, 13:17
а для датчиков 4-20мА нужен макрос или так же все?

А что на этом сигнале, какой датчик, для него рекомендую макрос SCALE, можно задать нужные диапазоны под конкретный датчик.

batur
30.11.2021, 13:25
А что на этом сигнале, какой датчик, для него рекомендую макрос SCALE, можно задать нужные диапазоны под конкретный датчик.

датчики давления 0-35 бар, 4-20 мА, макрос SCALE подойдет?
Еще вопрос, для ПР200 значит нужен макрос NTC для работы с NTC датчиками?

Lihoj
30.11.2021, 13:45
Добрый день! Перелопатил все! Нужен макрос извлечения квадратного корня или что то похожее. Возедение в степень не подойдет так как не изестно число которое надо возводить! К примеру, из числа 30 необходимо извлечь квадратный корень?

dan75
30.11.2021, 15:53
Это будет 30 в степени 0,5, разве нет?

keysansa
30.11.2021, 15:57
Огромное желание подарить Вам учебник физики.....

А мне вам - учебник по программированию )

Ревака Юрий
30.11.2021, 16:24
датчики давления 0-35 бар, 4-20 мА, макрос SCALE подойдет?
Еще вопрос, для ПР200 значит нужен макрос NTC для работы с NTC датчиками?

Подойдет, да для ПР200 нужен макрос.

batur
02.12.2021, 15:29
А что на этом сигнале, какой датчик, для него рекомендую макрос SCALE, можно задать нужные диапазоны под конкретный датчик.

SCALE макрос не нашел в онлайн базе, где его скачать можно?

Ревака Юрий
02.12.2021, 16:06
SCALE макрос не нашел в онлайн базе, где его скачать можно?

Да там он, в группе "Аналоговые преобразования", наберите в строке поиска SC.

batur
03.12.2021, 07:53
Да там он, в группе "Аналоговые преобразования", наберите в строке поиска SC.
Спасибо, а описание есть этого макроса?

Ревака Юрий
03.12.2021, 08:29
Спасибо, а описание есть этого макроса?

Есть, сбоку при выборе макроса есть pdf файл.

batur
03.12.2021, 08:58
Есть, сбоку при выборе макроса есть pdf файл.

MAX_IN- 20мА
MIN_IN- 4мА
MAX_Q- 35 bar
MIN_Q- 0 bar
Все верно я понял?

Ревака Юрий
03.12.2021, 09:44
MAX_IN- 20мА
MIN_IN- 4мА
MAX_Q- 35 bar
MIN_Q- 0 bar
Все верно я понял?

Да, похоже на правду.

Ревака Юрий
03.12.2021, 10:40
Вот в эмуляторе в PID регулятор уставка 16, я задаю на ai1 5мА, на выходе с pid регулятора 0,2, и задаю 20мА- все равно 0,2 значение а должно меняться,

ПИД имеет еще и настройки, но его лучше проверять и настраивать в железе, по ПИД есть подборка материалов, наберите в поисковике "ПИД OwenLogic"

fffredi
13.12.2021, 11:06
Здравствуйте. Сегодня обновился и не могу добавить компоненты из онлайн базы. Галочки не ставятся. Подскажите пожалуйста, что не так?

Денисов Максим Сергеевич
13.12.2021, 11:13
Здравствуйте. Сегодня обновился и не могу добавить компоненты из онлайн базы. Галочки не ставятся. Подскажите пожалуйста, что не так?

Расширьте столбик, в котором ставится галочка для выбора макроса.

fffredi
13.12.2021, 11:18
ок. спасибо большое.

batur
02.02.2022, 14:22
59068 Привет, Использую макрос для NTC, только вот отображается переменная float 4,96E+01, должна писать 49,.... с хвостом, как это скорректировать? и еще если на входе R макроса значение 0, то на выходе 25

Сергей0308
02.02.2022, 14:32
59068 Привет, Использую макрос для NTC, только вот отображается переменная float 4,96E+01, должна писать 49,.... с хвостом, как это скорректировать? и еще если на входе R макроса значение 0, то на выходе 25

Округлите!

kondor3000
02.02.2022, 16:08
59068 Привет, Использую макрос для NTC, только вот отображается переменная float 4,96E+01, должна писать 49,.... с хвостом, как это скорректировать? и еще если на входе R макроса значение 0, то на выходе 25

Вы не ПР 102 случайно используете? Если ПР 102-103, то макросы вообще не нужны, ставите в настройках входа свой NTC и получаете сразу температуру, без макроса.
Со входа прямо на переменную температуры.
Для удобства чтения показаний, можете поставить преобразование в целочисленное.

batur
03.02.2022, 08:58
Спасибо, понял

batur
03.02.2022, 09:00
округлить, вы имеете ввиду перевести в интеджер?

Сергей0308
03.02.2022, 11:08
округлить, вы имеете ввиду перевести в интеджер?

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

Имеется в проекте 475 поста текущей темы: https://owen.ru/forum/showthread.php?t=25067&page=48

59085

batur
03.02.2022, 13:47
Округлить, это округлить! До целых, десятых, сотых и т. д. долей, как Вам необходимо(с какой точность отображать), без преобразования в другой тип данных, кстати я и макрос неоднократно выкладывал для этих целей!

Имеется в проекте 475 поста текущей темы: https://owen.ru/forum/showthread.php?t=25067&page=48

59085

Спасибо, буду пробовать

batur
03.02.2022, 15:34
Округлить, это округлить! До целых, десятых, сотых и т. д. долей, как Вам необходимо(с какой точность отображать), без преобразования в другой тип данных, кстати я и макрос неоднократно выкладывал для этих целей!

Имеется в проекте 475 поста текущей темы: https://owen.ru/forum/showthread.php?t=25067&page=48

59085

Что то с поиском на форуме что то нито. Вот в том проекте еще один макрос Float-int1, это для передачи по сети переменных с отрицательным числом?

Сергей0308
03.02.2022, 16:01
Что то с поиском на форуме что то нито. Вот в том проекте еще один макрос Float-int1, это для передачи по сети переменных с отрицательным числом?

А с округлением получилось?

С преобразованием в инт какие проблемы? Берёте макрос и пользуйтесь! Если не устраивает по каким-то мотивам, например религиозным - ищете другой, всё!

Sunschine
03.02.2022, 16:38
Ave.
Вопрос, можно как-то использовать сервисные переменные в макросе?
Трабл в недельном таймере. Он работает с сервисными переменными и кучей всего ещё. Хочу закинуть всё это в макрос, а на ввод подавать только время и mode.
59090
59091

batur
03.02.2022, 19:53
А с округлением получилось?

С преобразованием в инт какие проблемы? Берёте макрос и пользуйтесь! Если не устраивает по каким-то мотивам, например религиозным - ищете другой, всё!

Подскажи пожалуйста как передать переменную с отрицательным числом? Округление получилось)

petera
03.02.2022, 20:07
Подскажи пожалуйста как передать переменную с отрицательным числом? Округление получилось)

https://owen.ru/forum/showthread.php?t=12264&p=371838&viewfull=1#post371838

batur
03.02.2022, 20:18
https://owen.ru/forum/showthread.php?t=12264&p=371838&viewfull=1#post371838

благодарствую

Mr Helper
04.02.2022, 16:39
А онлайн база макросов планирует расширяться?
Будут ли в неё добавляться пользовательские макросы?

Сергей0308
04.02.2022, 19:10
Подскажи пожалуйста как передать переменную с отрицательным числом? Округление получилось)

На второй вход макроса округления подаётся константа(значение) соответствующая количеству знаков после запятой, до которого происходит округление, это если что непонятно!
С макросом преобразования Float в Int(тоже имеется, как Вы заметили, в моём проекте) никаких проблем в принципе не может возникнуть, один вход один выход(как бы и путать нечего), значения преобразования ограничены диапазоном Int!
Короче, напишите, какие у Вас возникли проблемы, если с этим макросом проблем не может возникнуть в принципе, просто любопытно!
Может Вы макрос не можете перенести? Можно так: открываете оба проекта(мой и ваш) и с помощью копировать-вставить переносите в свой проект! В принципе имеются более правильные способы переноса макросов, но этот самый простой!

bayk
05.02.2022, 23:04
https://owen.ru/forum/showthread.php?t=12264&p=371838&viewfull=1#post371838

подскажите, а в точке передачи у нас singet int& я могу использовать этот макрос для преобразования float в Sint для передачи в облако и обратно например? или для таких целей есть другой макрос?

petera
06.02.2022, 06:25
подскажите, а в точке передачи у нас singet int& я могу использовать этот макрос для преобразования float в Sint для передачи в облако и обратно например? или для таких целей есть другой макрос?

В диапазоне чисел от -32768 до 32767 можно

Sined76
09.02.2022, 18:35
добрый день. где найти простое реле с задержкой по времени с выносом времени в переменную?

Сергей0308
09.02.2022, 19:50
добрый день. где найти простое реле с задержкой по времени с выносом времени в переменную?

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

Ревака Юрий
09.02.2022, 23:14
добрый день. где найти простое реле с задержкой по времени с выносом времени в переменную?

Как работать с таймерами есть информация тут: https://owen.ru/forum/showthread.php?t=33720&p=340010&viewfull=1#post340010

melky
09.02.2022, 23:56
Человеку нужен выход 'ET'

Ревака Юрий
10.02.2022, 09:11
Человеку нужен выход 'ET'

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

Сергей0308
16.02.2022, 12:21
Человеку нужен выход 'ET'

Мелкий, гадалка из Вас никудышняя, во всяком случае я затрудняюсь припомнить случай когда Вы угадали, хотя постоянно это делаете, когда это не нужно(в этом нет необходимости), пусть чел, сам осознает что он хочет и вразумительно напишет!
короче, здесь в посте 170 я таймер выкладывал с паузой, прямым и обратным отсчётом времени: https://owen.ru/forum/showthread.php?t=33720&page=17
И можно в качестве задающего генератора использовать не секундные импульсы(как в моих проектах), а с меньшим периодом, например 0,1 или 0,01 секунды!

majevgenij
24.02.2022, 20:12
Подскажите, какой макрос преобразования сопротивления в температуру взять из базы для термопреобразователя ТП203-8/150/м-М20S22 ХА-И-А+0м??? спасибо

Сергей0308
24.02.2022, 20:29
Подскажите, какой макрос преобразования сопротивления в температуру взять из базы для термопреобразователя ТП203-8/150/м-М20S22 ХА-И-А+0м??? спасибо

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

majevgenij
25.02.2022, 07:05
Спасибо. Так и подозревал

Т.Эдгар
03.03.2022, 09:11
Всем привет. Натолкнулся на готовый макрос "OperTimer_v1.00" . Кто ни будь пробовал его прикрутить в проект? 59536
у меня не получается его запустить.

kondor3000
03.03.2022, 09:25
Всем привет. Натолкнулся на готовый макрос "OperTimer_v1.00" . Кто ни будь пробовал его прикрутить в проект?
у меня не получается его запустить.

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

Т.Эдгар
03.03.2022, 10:43
Да все работает, это я не допёр. Спасибо за уделённое время)

SeraX
18.04.2022, 12:41
Доброго времени суток! Подскажите где найти блок аварий котла, не могу найти...скрин прилагаю.60361

Денисов Максим Сергеевич
18.04.2022, 14:49
Доброго времени суток! Подскажите где найти блок аварий котла, не могу найти...скрин прилагаю.60361

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

Сергей0308
19.04.2022, 13:16
Данный макрос, к сожалению, больше недоступен в онлайн базе макросов.

Санкции действуют?

игорь68
20.04.2022, 09:45
Доброго времени суток! Подскажите где найти блок аварий котла, не могу найти...скрин прилагаю.60361

Задавал вопрос на форуме. Мне ответили что это первые варианты макросов для ТРМ 1032. И в доступе их не было.

SeraX
20.04.2022, 14:27
Задавал вопрос на форуме. Мне ответили что это первые варианты макросов для ТРМ 1032. И в доступе их не было.


Спасибо за ответ!

SeraX
20.04.2022, 14:28
Данный макрос, к сожалению, больше недоступен в онлайн базе макросов.

Спасибо за ответ!....а можно его где-нибудь найти?...

kondor3000
20.04.2022, 15:17
Спасибо за ответ!....а можно его где-нибудь найти?...

Вы бы лучше написали, что вам надо от блока, у Сергей0308 полно готовых блоков и аварий в том числе.
например https://owen.ru/forum/showthread.php?t=31076&page=2

SeraX
22.04.2022, 10:31
Вы бы лучше написали, что вам надо от блока, у Сергей0308 полно готовых блоков и аварий в том числе.
например https://owen.ru/forum/showthread.php?t=31076&page=2

Спасибо!Сейчас посмотрю.

Vit_U
26.05.2022, 10:02
Добрый день. Использую в проекте макрос AVG, OwenLogic при этом жалуется на этот блок и выдает предупреждение: Обнаружен циклические связи (0) или блоки (1) в которых используются эти самые связи. Вы можете заменить их на линии задержки сейчас или позже. Подскажите, пожалуйста, насколько это критично и что надо делать?. При этом сам макрос работает.

melky
26.05.2022, 11:17
Работает не трогайте. Ну или отредактируйте как предлагает ОЛ и проверьте работу. Иногда при данной ошибке блок работает правильнее чем с линией задержки, зависит от задумки создателя.

Vit_U
26.05.2022, 11:27
Ну вот и хотелось узнать у создателя. Просто непонятно, оно так и должно быть?

Vit_U
26.05.2022, 11:33
Сейчас создал пустой проект. Вставил в него блок AVG-тоже ругается.60908

capzap
26.05.2022, 12:05
Сейчас создал пустой проект. Вставил в него блок AVG-тоже ругается.60908

красное это ругается, желтое это просто предупреждает

Dimensy
12.07.2022, 20:46
А меня, вот интересует, кто и как добавляет макросы в базу? Просто есть непонятки: примеры
1. Макрос 2PosHisReg из раздела "Управляющие и регулирующие модули" и 2PHReg+ из раздела "Регуляторы" - оба двухпозиционные регуляторы с гистерезисом, но почему в разных разделах?
2. Такая же фишка с недельным таймером - один есть а разделе "Дата и время", другой в разделе "Доп. функции"
3. Есть устаревшие макросы, которые используют fSel в виде макроса, хотя в Лоджике уже давно есть функция
4. Есть макросы без явно выраженных обратных связей - они на полотне весело светятся желтым.
Я понимаю, что все это на ход не влияет, но нельзя ли как-то навести порядок в базе!

Сергей0308
12.07.2022, 21:09
А меня, вот интересует, кто и как добавляет макросы в базу? Просто есть непонятки: примеры
1. Макрос 2PosHisReg из раздела "Управляющие и регулирующие модули" и 2PHReg+ из раздела "Регуляторы" - оба двухпозиционные регуляторы с гистерезисом, но почему в разных разделах?
2. Такая же фишка с недельным таймером - один есть а разделе "Дата и время", другой в разделе "Доп. функции"
3. Есть устаревшие макросы, которые используют fSel в виде макроса, хотя в Лоджике уже давно есть функция
4. Есть макросы без явно выраженных обратных связей - они на полотне весело светятся желтым.
Я понимаю, что все это на ход не влияет, но нельзя ли как-то навести порядок в базе!

Так там полный беспорядок!
Один раз Юрия Реваку спрашивал зачем в макросе два одинаковых элемента(уже и не припомню насчёт какого макроса интересовался), никак между собой не связанных, макрос был в менеджере компонентов(раньше это по-другому называлось), может лучше удалить один элемент из макроса, кому надо 2 элемента - возьмут два макроса, а кому один нужен - второй будет висеть мёртвым грузом?
Ответ удивил, говорит в таком виде к нему он поступил, ну это же не дело, надо всё приводить в человеческий вид!
Короче, согласен с товарищем, в плане всё поправить!

Немного ошибся, даже не два одинаковых элемента, а четыре: https://owen.ru/forum/showthread.php?t=25067&page=4

Эдуард_Н
15.07.2022, 13:05
Хочу библиотечный макрос График по четырем точкам (Graf_4pnt_v1.04) переделать под 10 точек, но что-то ума не хватает. Помогите.
До пилил, вроде работает.

Сергей0308
15.07.2022, 13:21
Хочу библиотечный макрос График по четырем точкам (Graf_4pnt_v1.04) переделать под 10 точек, но что-то ума не хватает. Помогите.

Так, вроде, был макрос и на 10 точек и не так давно в какой-то теме это встречалось и выкладывалось, если не ошибаюсь Пётр из Минска выкладывал.
Я тоже как то думал сделать подобный макрос на 32 точки, но пока руки не дошли!

petera
15.07.2022, 13:58
Хочу библиотечный макрос График по четырем точкам (Graf_4pnt_v1.04) переделать под 10 точек, но что-то ума не хватает. Помогите.


Так, вроде, был макрос и на 10 точек и не так давно в какой-то теме это встречалось и выкладывалось, если не ошибаюсь Пётр из Минска выкладывал.
Я тоже как то думал сделать подобный макрос на 32 точки, но пока руки не дошли!

Мой макрос в базе называется PLA, но я уже на ST вариант выкладывал https://owen.ru/forum/showthread.php?t=35489&p=369459&viewfull=1#post369459

график по 10 точкам, метод поиска делением интервала пополам, известный также как двоичный поиск или Дихотомия (https://ru.wikipedia.org/wiki/Дихотомия)

function PLA_ST: real; // (c) PeterA
var_input //объявление входных переменных
x1: real;
x2: real;
x3: real;
x4: real;
x5: real;
x6: real;
x7: real;
x8: real;
x9: real;
x10: real;
y1: real;
y2: real;
y3: real;
y4: real;
y5: real;
y6: real;
y7: real;
y8: real;
y9: real;
y10: real;
In: real;
end_var

var //объявление локальных переменных
a:udint; (*Начало интервала поиска*)
b: udint; (*Конец интервала поиска*)
N: udint; (*Число точек в графике*)
i: udint;
x: array [0..9] of real;
y: array [0..9] of real;
end_var

N:= 10;
x[0]:= x1;
x[1]:= x2;
x[2]:= x3;
x[3]:= x4;
x[4]:= x5;
x[5]:= x6;
x[6]:= x7;
x[7]:= x8;
x[8]:= x9;
x[9]:= x10;

y[0]:= y1;
y[1]:= y2;
y[2]:= y3;
y[3]:= y4;
y[4]:= y5;
y[5]:= y6;
y[6]:= y7;
y[7]:= y8;
y[8]:= y9;
y[9]:= y10;

(*Начальные значения интервала поиска*)
a:=0;
b:=N-1;

(*Обрезание графика для крайних точек*)
IF IN<=x[0] THEN
PLA_ST:=y1;
ELSIF IN>= x[N-1] THEN
PLA_ST:= y[N-1];
(*Теперь можно начать поиск*)
ELSE
WHILE (b-a) <> 1 DO (*В конце концов, входной сигнал ТОЧНО попадет между двумя соседними точками X(a) и Х(а+1)*)
i:=(a+b)/2; (*Делим интервал поиска пополам*)
IF IN=x[i+1] THEN (*Может нам повезло, и мы сразу нашли точку? *)
a:=i; b:=i+1; (*Бинго! прекращаем итераций, нечего в пустую молотить :) *)
(*мимо :( ,тогда посмотрим в какую половину интервала попали*)
ELSIF IN>x[i] THEN (*Если входной сигнал больше середины интервала поиска,*)
a:=i; (*то следующий поиск будем делать начиная от середины и до конца массива*)
ELSE (*А если входной сигнал меньше середины интервала поиска,*)
b:=i; (*то следующий поиск будем делать начиная от начала и до середины массива*)
END_IF
(*Таким образом на каждой итерации отбрасываем из поиска заведомо ненужную половину значений
две соседние координаты X(a) и Х(а+1), меду которыми попадает входной сигнал найдем очень быстро
для 8 точек графика нужно не более 3 итераций
при 9..16 точек в графике нужно не более 4 итераций
при 17..32 точек в графике нужно не более 5 итераций
при 33..64 точек в графике нужно не более 6 итераций
при 65..128 точек в графике нужно не более 7 итераций
инфа точная - 100% ;) *)
END_WHILE;
(*Теперь самое простое - сделать линейную аппроксимацию по двум точкам ;) *)
PLA_ST:= y[b] - (x[b] - IN) * (y[b] - y[a]) / (x[b] - x[a]);
END_IF


end_function

Эдуард_Н
15.07.2022, 14:23
Мой макрос в базе называется PLA, но я уже на ST вариант выкладывал https://owen.ru/forum/showthread.php?t=35489&p=369459&viewfull=1#post369459

график по 10 точкам, метод поиска делением интервала пополам, известный также как двоичный поиск или Дихотомия (https://ru.wikipedia.org/wiki/Дихотомия)

function PLA_ST: real; // (c) PeterA
var_input //объявление входных переменных
x1: real;
x2: real;
x3: real;
x4: real;
x5: real;
x6: real;
x7: real;
x8: real;
x9: real;
x10: real;
y1: real;
y2: real;
y3: real;
y4: real;
y5: real;
y6: real;
y7: real;
y8: real;
y9: real;
y10: real;
In: real;
end_var

var //объявление локальных переменных
a:udint; (*Начало интервала поиска*)
b: udint; (*Конец интервала поиска*)
N: udint; (*Число точек в графике*)
i: udint;
x: array [0..9] of real;
y: array [0..9] of real;
end_var

N:= 10;
x[0]:= x1;
x[1]:= x2;
x[2]:= x3;
x[3]:= x4;
x[4]:= x5;
x[5]:= x6;
x[6]:= x7;
x[7]:= x8;
x[8]:= x9;
x[9]:= x10;

y[0]:= y1;
y[1]:= y2;
y[2]:= y3;
y[3]:= y4;
y[4]:= y5;
y[5]:= y6;
y[6]:= y7;
y[7]:= y8;
y[8]:= y9;
y[9]:= y10;

(*Начальные значения интервала поиска*)
a:=0;
b:=N-1;

(*Обрезание графика для крайних точек*)
IF IN<=x[0] THEN
PLA_ST:=y1;
ELSIF IN>= x[N-1] THEN
PLA_ST:= y[N-1];
(*Теперь можно начать поиск*)
ELSE
WHILE (b-a) <> 1 DO (*В конце концов, входной сигнал ТОЧНО попадет между двумя соседними точками X(a) и Х(а+1)*)
i:=(a+b)/2; (*Делим интервал поиска пополам*)
IF IN=x[i+1] THEN (*Может нам повезло, и мы сразу нашли точку? *)
a:=i; b:=i+1; (*Бинго! прекращаем итераций, нечего в пустую молотить :) *)
(*мимо :( ,тогда посмотрим в какую половину интервала попали*)
ELSIF IN>x[i] THEN (*Если входной сигнал больше середины интервала поиска,*)
a:=i; (*то следующий поиск будем делать начиная от середины и до конца массива*)
ELSE (*А если входной сигнал меньше середины интервала поиска,*)
b:=i; (*то следующий поиск будем делать начиная от начала и до середины массива*)
END_IF
(*Таким образом на каждой итерации отбрасываем из поиска заведомо ненужную половину значений
две соседние координаты X(a) и Х(а+1), меду которыми попадает входной сигнал найдем очень быстро
для 8 точек графика нужно не более 3 итераций
при 9..16 точек в графике нужно не более 4 итераций
при 17..32 точек в графике нужно не более 5 итераций
при 33..64 точек в графике нужно не более 6 итераций
при 65..128 точек в графике нужно не более 7 итераций
инфа точная - 100% ;) *)
END_WHILE;
(*Теперь самое простое - сделать линейную аппроксимацию по двум точкам ;) *)
PLA_ST:= y[b] - (x[b] - IN) * (y[b] - y[a]) / (x[b] - x[a]);
END_IF


end_function

Спасибо, посмотрю.

iasakov
22.08.2022, 17:23
Добрый день! Не могу понять, что происходит с макросом INT MAX10? Всегда макрос работал, а теперь что? Или у меня с симуляцией что-то не так?

Dimensy
22.08.2022, 19:43
Добрый день! Не могу понять, что происходит с макросом INT MAX10? Всегда макрос работал, а теперь что? Или у меня с симуляцией что-то не так?

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

Сергей0308
22.08.2022, 20:36
Изначальный макрос, насколько я понимаю и как утверждает ТС, выполнен правильно(как и было задумано), просто ТС не понимает как он работает(алгоритм работы). Если это чужой макрос можно обратится к автору или тому кто осведомлён по этому вопросу. Всё равно не до конца понятно, как можно было использовать макрос, в алгоритме работы которого не до конца разобрался, короче, надо начать сначала, надеюсь суть понятна?!

И по решению конкретной задачи хотелось спросить: диапазон сравниваемых значений какой, он более значения "268435455"(28 бит) или нет?
Это я к тому, чтобы можно было метку(4 бита) добавить в значения на каждом входе, затем отсортировать в порядке возрастания(убывания) значений, если не ошибаюсь, "капзап" предлагал макрос сортировки и останется посмотреть метку у наибольшего(наименьшего) значения, в метке содержится номер входа на который подано это значение, всё! Это я один из вариантов решения предлагаю, но для окончательного решения нужны уточнения от ТС.

Вот совсем другой, принципиальный(без учёта модификации ПР) вариант решения:

62209

62210

1exan
23.08.2022, 07:47
Такие вещи наверное проще теперь на ST сделать (есть конечно проблема с тем, что это будет функция и выход только один - но можно также выделить несколько бит в выходном значении под номер входа)

iasakov
24.08.2022, 08:07
Вы шутите? Макрос выгружен из менеджера компонентов и он не находит максимальное int

Сергей0308
24.08.2022, 09:50
Мой чем не устраивает, Вам шашечки или ехать?
Вот даже макрос состряпал, находит большее из 16 и номер входа показывает, вроде даже превосходит ваши хотелки?!
Так он ещё и на порядок проще вашего "монстра", можете же Вы находить худшее из худшего к тому же и неработающее!
Короче, проверяйте:

62227

62228

Совсем забыл, в отличии от вашего, мой макрос можно и легко расширить, до пределов диапазона, практически ничего не меняя: расширить мультиплексор на входе(поставить 2-3 экземпляра имеющегося макроса, короче, сколько понадобится) и изменить пару значений, в настройках счётчика и константе, всё!
Если два и более максимальных значения, будет показывать номер входа с меньшим порядковым номером!

Dimensy
24.08.2022, 10:09
Вы шутите? Макрос выгружен из менеджера компонентов и он не находит максимальное int

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

petera
24.08.2022, 11:09
MAX10 в базе существует в двух версиях
собственно MAX10.tpl
и MAX10_old.tpl

MAX10_old - работает, а в новом MAX10 что-то пошло не так!

1exan
24.08.2022, 13:32
Функция:

function Max: udint;
var_input
IN1,IN2,IN3,IN4,IN5,IN6,IN7,IN8 : udint;
end_var

var
num : udint := 1;
end_var

Max := IN1;
num := 1;

if IN2 > Max then Max := IN2; num := 2; end_if;
if IN3 > Max then Max := IN3; num := 3; end_if;
if IN4 > Max then Max := IN4; num := 4; end_if;
if IN5 > Max then Max := IN5; num := 5; end_if;
if IN6 > Max then Max := IN6; num := 6; end_if;
if IN7 > Max then Max := IN7; num := 7; end_if;
if IN8 > Max then Max := IN8; num := 8; end_if;

Max.28 := num.0;
Max.29 := num.1;
Max.30 := num.2;
Max.31 := num.3;

end_function

capzap
24.08.2022, 13:49
Функция:

function Max: udint;
var_input
IN1,IN2,IN3,IN4,IN5,IN6,IN7,IN8 : udint;
end_var

var
num : udint := 1;
end_var

Max := IN1;
num := 1;

if IN2 > Max then Max := IN2; num := 2; end_if;
if IN3 > Max then Max := IN3; num := 3; end_if;
if IN4 > Max then Max := IN4; num := 4; end_if;
if IN5 > Max then Max := IN5; num := 5; end_if;
if IN6 > Max then Max := IN6; num := 6; end_if;
if IN7 > Max then Max := IN7; num := 7; end_if;
if IN8 > Max then Max := IN8; num := 8; end_if;

Max.28 := num.0;
Max.29 := num.1;
Max.30 := num.2;
Max.31 := num.3;

end_function
и как решается проблема двух максимумов?

Сергей0308
24.08.2022, 14:20
А как надо(в идеале), чтобы на соответствующем выходе по очереди появлялись номера входов с наибольшими значениями, если их более одного?

Сергей0308
24.08.2022, 16:30
Функция:

function Max: udint;
var_input
IN1,IN2,IN3,IN4,IN5,IN6,IN7,IN8 : udint;
end_var

var
num : udint := 1;
end_var

Max := IN1;
num := 1;

if IN2 > Max then Max := IN2; num := 2; end_if;
if IN3 > Max then Max := IN3; num := 3; end_if;
if IN4 > Max then Max := IN4; num := 4; end_if;
if IN5 > Max then Max := IN5; num := 5; end_if;
if IN6 > Max then Max := IN6; num := 6; end_if;
if IN7 > Max then Max := IN7; num := 7; end_if;
if IN8 > Max then Max := IN8; num := 8; end_if;

Max.28 := num.0;
Max.29 := num.1;
Max.30 := num.2;
Max.31 := num.3;

end_function

Сложновато, можно так вырезать метку(4 старших бита):

62243

1exan
25.08.2022, 05:03
Сложновато, можно так вырезать метку(4 старших бита):

62243

Да, можно и так. Сделал что первое в голову пришло

1exan
25.08.2022, 05:09
и как решается проблема двух максимумов?

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

Сергей0308
25.08.2022, 18:32
Это не столько проблема, сколько вопрос необходимой функциональности. Если о наличии более одного максимума нужно сигнализировать, то нужен ещё один выход. Если нужен другой приоритет входов, то нужно сделать соответствующий порядок их обхода.

Если Вы говорите, что на ST это просто, сделайте так, что бы при наличии нескольких входов с максимальными значениями их номера выводились одной строкой начиная с самого маленького порядкового номера входа, например, если все входа имеют одинаковое значение, строка будет так выглядеть: "12345678", тем более для восьми значений(одноразрядных) хватает диапазона типа данных(DINT), понятно объяснил?

Примерно как-то так:

62279

62280

62281

62306

Я к тому, что Вы сами это сказали!

Могу и в качестве разделителя нолик поставить:

62282

62283

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

Вот, немного текущий макрос поправил(были небольшие косяки):

64805

Денисов Максим Сергеевич
26.08.2022, 08:02
Так менеджер компонентов - это большая помойка, в которой куча устаревших и неоптимизированных макросов. А сейчас выясняется, что есть еще и не рабочие

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

Dimensy
26.08.2022, 08:57
Макрос заменили на рабочий. В целом про неактуальность макросов в онлайн базе менеджера компонентов готов к обсуждению, хотел бы услышать ваши замечания и предложения поподробнее, чтобы пользователем стало удобнее и понятнее пользоваться этим инструментом.

Замечаний и предложений не так много, но работы хватит:
1. Перегруппировать макросы, примеры:
CLOCK_WEEK расположен в Дата и время, а его аналог ClockWeek_ - в Доп. функциях
CycleTime - в разделе Общие, а его аналог TIME CYCLE - Таймеры и счетчики
Так же, например B_SEL я бы перенес из раздела Общие в Дискретные преобразователи
2. Используемый макрос SEL_FLOAT заменить на штатную функцию fSel, а сам макрос можно и убрать из базы
3. В макросах, которые светятся желтым заменить связи на линию задержки
4. Ну и, я бы все макросы температурных датчиков вынес в отдельную группу

melky
26.08.2022, 09:17
Денисов Максим Сергеевич у вас там есть макрос, который с битами работает с 1-ого бита вместо 0-ого. Со слов Ревака Юрия макрос делался для ТРМ1032(33) или около. Вот зачем подобные макросы без проверки попадают в Logic ? я понимаю, что какие-то полезны, но они ведь должны удовлетворять логике работы непосредственно для ОЛ, а не пиленные под какие-то там ТРМы...

1exan
26.08.2022, 10:00
Если Вы говорите, что на ST это просто, сделайте так, что бы при наличии нескольких входов с максимальными значениями их номера выводились одной строкой начиная с самого маленького порядкового номера входа, например, если все входа имеют одинаковое значение, строка будет так выглядеть: "12345678", тем более для восьми значений(одноразрядных) хватает диапазона типа данных(DINT), понятно объяснил?

Примерно как-то так:
...
Я к тому, что Вы сами это сказали!

Могу и в качестве разделителя нолик поставить:
...
Только тогда меньшее количество входов можно будет записать до переполнения.

Я говорил про конкретную задачу, что её проще на ST сделать
А код для этой виртуальной задачи такой (в одной функции выводится значение, а в другой - счётчик номера входов):



function Max: udint;
var_input
IN1,IN2,IN3,IN4,IN5,IN6,IN7,IN8 : udint;
end_var

var

Count : udint := 1;
end_var

Max := IN1;
Count := 1;

if IN2 > Max then Max := IN2; Count := 2;
elsif IN2 = Max then Count:=Count*10+2;
end_if;

if IN3 > Max then Max := IN3; Count := 3;
elsif IN3 = Max then Count:=Count*10+3;
end_if;

if IN4 > Max then Max := IN4; Count := 4;
elsif IN4 = Max then Count:=Count*10+4;
end_if;

if IN5 > Max then Max := IN5; Count := 5;
elsif IN5 = Max then Count:=Count*10+5;
end_if;

if IN6 > Max then Max := IN6; Count := 6;
elsif IN6 = Max then Count:=Count*10+6;
end_if;

if IN7 > Max then Max := IN7; Count := 7;
elsif IN7 = Max then Count:=Count*10+7;
end_if;

if IN8 > Max then Max := IN8; Count := 8;
elsif IN8 = Max then Count:=Count*10+8;
end_if;


end_function

Сергей0308
26.08.2022, 16:14
Я говорил про конкретную задачу, что её проще на ST сделать
А код для этой виртуальной задачи такой (в одной функции выводится значение, а в другой - счётчик номера входов):



function Max: udint;
var_input
IN1,IN2,IN3,IN4,IN5,IN6,IN7,IN8 : udint;
end_var

var

Count : udint := 1;
end_var

Max := IN1;
Count := 1;

if IN2 > Max then Max := IN2; Count := 2;
elsif IN2 = Max then Count:=Count*10+2;
end_if;

if IN3 > Max then Max := IN3; Count := 3;
elsif IN3 = Max then Count:=Count*10+3;
end_if;

if IN4 > Max then Max := IN4; Count := 4;
elsif IN4 = Max then Count:=Count*10+4;
end_if;

if IN5 > Max then Max := IN5; Count := 5;
elsif IN5 = Max then Count:=Count*10+5;
end_if;

if IN6 > Max then Max := IN6; Count := 6;
elsif IN6 = Max then Count:=Count*10+6;
end_if;

if IN7 > Max then Max := IN7; Count := 7;
elsif IN7 = Max then Count:=Count*10+7;
end_if;

if IN8 > Max then Max := IN8; Count := 8;
elsif IN8 = Max then Count:=Count*10+8;
end_if;


end_function


Вот смотрю эту картинку:

62299

Мне всё понятно!

А смотрю вашу писанину, мне вообще ничего не понятно, зачем Вы пишите, то что пишите, в смысле, что это проще? Это же не соответствует действительности!
Я всё прекрасно понимаю, что Вы выражаете своё мнение или для Вас проще, тогда это нужно уточнять! Боюсь со мной многие согласятся!

Вот мой вариант с разделителем между номерами входов в виде нолика и не переусердствуете с количеством максимумов, чтобы переменная(тип данных) не переполнялась.
62300
И, вашу нижнюю(на картинке) функцию(с номерами максимумов) не нашёл, Вы, наверно забыли выложить.

1exan
27.08.2022, 06:45
Вот смотрю эту картинку:
...
Мне всё понятно!

А смотрю вашу писанину, мне вообще ничего не понятно, зачем Вы пишите, то что пишите, в смысле, что это проще? Это же не соответствует действительности!
Я всё прекрасно понимаю, что Вы выражаете своё мнение или для Вас проще, тогда это нужно уточнять! Боюсь со мной многие согласятся!

Вот мой вариант с разделителем между номерами входов в виде нолика и не переусердствуете с количеством максимумов, чтобы переменная(тип данных) не переполнялась.
62300
И, вашу нижнюю(на картинке) функцию(с номерами максимумов) не нашёл, Вы, наверно забыли выложить.

Боюсь про понятность ФБД в таких типах задач вы сильно преувеличиваете, но это моё мнение, и я не боюсь, что многие со мной согласятся.
Сколько программных циклов занимает просмотр входных значений и передача результата на выход? Кстати в качестве генератора можно попробовать использовать элемент НЕ с обратной связью.

Функция с номерами входов имеет тот-же код, с перестановкой местами Max и Count в заголовке. Жаль конечно, что ST в OL не поддерживает передачу параметров по ссылке (IN_OUT).

Сергей0308
27.08.2022, 12:17
Боюсь про понятность ФБД в таких типах задач вы сильно преувеличиваете, но это моё мнение, и я не боюсь, что многие со мной согласятся.
Сколько программных циклов занимает просмотр входных значений и передача результата на выход? Кстати в качестве генератора можно попробовать использовать элемент НЕ с обратной связью.

Функция с номерами входов имеет тот-же код, с перестановкой местами Max и Count в заголовке. Жаль конечно, что ST в OL не поддерживает передачу параметров по ссылке (IN_OUT).

Вы, что действительно не понимаете в чём разница? Я же написал "мне"! Если бы я этого не обозначил, боюсь моё утверждение стало бы неправдивым, как и ваше! Вы в принципе понимаете смысл Вами написанного? Даже если найдётся всего один человек во Вселенной, знакомый с ОЛ, но не знакомый с ST, то ваше утверждение будет неправдивым! Считайте меня этим человеком, этого достаточно!

1exan
27.08.2022, 14:25
Вы, что действительно не понимаете в чём разница? Я же написал "мне"! Если бы я этого не обозначил, боюсь моё утверждение стало бы неправдивым, как и ваше! Вы в принципе понимаете смысл Вами написанного? Даже если найдётся всего один человек во Вселенной, знакомый с ОЛ, но не знакомый с ST, то ваше утверждение будет неправдивым! Считайте меня этим человеком, этого достаточно!

Да ладно, не заводитесь, это действительно было только моё личное мнение - я всегда использую FBD (а если точнее, то CFC), как язык основной программы - мне на нём проще сделать общую компоновку, он проще в отладке и при внесении изменений. Функциональные блоки (макросы, функции и т.п.) тоже на FBD. Но есть такие моменты, когда я сходу мог бы написать вариант решения на ST (или другом текстовом языке), но из-за отсутствия его поддержки в системе бывает трачу кучу времени на пляски с FBD.
Вообще, возможность использовать разные языки при программировании ПЛК сильно облегчает жизнь, поэтому я, например, очень рад, что в OL появился хотя-бы такой вариант ST.

melky
27.08.2022, 14:31
Сергей0308 не важно вам или кому-то другому легче, но во многих вещах текстовый вариант кода будет многократно лаконичнее и меньше... Особенно если все потроха спрятаны от глаз прошивкой (ну или языком). Простой пример скажем копирование массива (В ОЛ нет их к сожалению но может со временем появятся)....

Например в ST по указателям циклом, а если бы функционал был заложен в прошивку то как в языках Array.Copy(исходный, индекс, получатель, индекс, количество) а дальше прошивка занимается.
Попробуйте в FBD например 4 байта перетрусить местами на новые места, а это могла быть всего одна строчка, если бы поддерживалось на уровне firmware прибора например...
Ну или один квадратик без кучи FBD внутри....

Ну еще пример проще. fSEL - раньше это был целый макрос, сейчас функция в прошивке.

Сергей0308
27.08.2022, 16:11
Сергей0308 не важно вам или кому-то другому легче, но во многих вещах текстовый вариант кода будет многократно лаконичнее и меньше... Особенно если все потроха спрятаны от глаз прошивкой (ну или языком). Простой пример скажем копирование массива (В ОЛ нет их к сожалению но может со временем появятся)....

Например в ST по указателям циклом, а если бы функционал был заложен в прошивку то как в языках Array.Copy(исходный, индекс, получатель, индекс, количество) а дальше прошивка занимается.
Попробуйте в FBD например 4 байта перетрусить местами на новые места, а это могла быть всего одна строчка, если бы поддерживалось на уровне firmware прибора например...
Ну или один квадратик без кучи FBD внутри....

Ну еще пример проще. fSEL - раньше это был целый макрос, сейчас функция в прошивке.

Вот Вам функцию, переставляет местами ворды в двойном слове:

62307

Всё элементарно, до проще не бывает!
Аналогично можно и байты в ворде переставить!

melky
27.08.2022, 18:10
Сергей0308 байты, а не слова, соответственно добавится еще FBD, вместо того, чтобы такие вещи добавить в прошивку ПР и FBD бы выглядел примерно так, на один вход подаем что надо, на второй вход к примеру "4321" и на выходе получим переставленное именно в этом порядке...

Ну или в рамках ПР научить это делать галочками не только для мастера наконец, но и для слейва.... :)

Сергей0308
27.08.2022, 20:03
Сергей0308 байты, а не слова, соответственно добавится еще FBD, вместо того, чтобы такие вещи добавить в прошивку ПР и FBD бы выглядел примерно так, на один вход подаем что надо, на второй вход к примеру "4321" и на выходе получим переставленное именно в этом порядке...

Ну или в рамках ПР научить это делать галочками не только для мастера наконец, но и для слейва.... :)

Я же написал, хорошо повторюсь, в ворде переставить местами байты можно аналогично как на моей картинке, только измените константу для сдвига с "16" на "8", всё! Надеюсь как разбить двойное слово на два слова Вы сообразите?!
Вот Вы говорите, что не пользуйтесь ПР от Овена, Вы купите и попользуйтесь и тогда, если будут какие вопросы и спросите, зачем выдумывать несуществующие проблемы, у ПР есть перестановка байт и слов и с этим у меня никогда проблем не возникало! Тем более я Вам нарисовал как переставить слова и байты!

62309

62310

62311

Даже так:

62312

https://disk.yandex.ru/d/J58fo9rg44EtNg

melky
27.08.2022, 20:13
Сергей0308 кто вам сказал, что я не пользуюсь ПР от Овена? я такого не говорил :) тем более один висит в котельной а другой на столе....

Я про другое говорю, как бы просто это не выглядело на картинках, в ST и тем более в С это выглядит гораздо компактнее и некоторые вещи могли быть заложены в прошивку на уровне железа, а в базе это выглядело бы как обертка как тот же TON, TOF, AND, PUTBIT и так далее и занимало бы гораздо меньше места без необходимости выстраивать кучу элементов и создавать макросы на достаточно простые вещи...

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

з.ы. это просто мое мнение, может быть когда-нибудь дойдет до (цензура :) ) программеров...

kondor3000
27.08.2022, 22:47
Вот разобрал и собрал, на регистры и байты, переставляй не хочу)))62313
Байты конечно условные, но правильные, проверено.
Даже можно в REAL переставлять, только сначала умножить на 10, 100, 1000 и конвертировать. Потом обратно, также.
Но на ST это намного проще)

ЗЫ Ну вот, пока рисовал, Сергей уже всё выложил)

Сергей0308
27.08.2022, 23:23
Да, десятки раз на форуме этот вопрос обсуждали, как разбить на байты и собрать обратно:

62314

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

kondor3000
27.08.2022, 23:38
Сергей0308, тут в другом проблема, в полученном REAL по сети, с переставленными байтами (регистрами), байты таким способом уже не переставишь, если ПР слейв.
Тут уже указатели нужны и ST, а так же наличие переменных типа BYTE.
Например число -3.388945e+025, если перевести в целочисленное будет 0, а SHR и SHL с флоатом не работают.
А реально это 123.4568 с переставленными регистрами.

Сергей0308
28.08.2022, 00:10
ТРМ-ы, модули ввода-выхода, ПЧ и датчики от Овена не могут быть мастером, тогда у вас мастером ПЛК должен выступать, короче, вам повезло, всё сделаете по красоте на ST! Не может же сеть без мастера работать!

melky
28.08.2022, 00:34
ну и посчитайте количество ваших художеств? дело совсем не в байтах, словах и их перестановках, а в том, что таких элементарных вещей не заложили в потроха...
Это называется хотите быть лучше лого, зелио и прочего - делайте лучше... :)

Сергей0308
28.08.2022, 01:28
Так как порядок байт не стандартизирован на уровне протокола, то в слейве любой порядок правильный, разрулирование возможных проблем совместимости разных приборов(приборов разных фирм) возложено на мастера сети, так что это в принципе не проблема слейва, почему разумные аргументы до вас никак не доходят?!

rovki
28.08.2022, 08:05
Сергей, мастер один, а слейвов может быть много и разных производителей, что тогда делать?
Вот в FIProg сделано ,что менять можно последовательность и в мастере и слейве..для разных типов данных

rovki
28.08.2022, 08:10
Если учитель в группе общается с иностранными учениками, то как правило, в жизни ученики переводят , что им сказал учитель(мастер), а не мастер для каждого ученика переходит на разные языки...Имхо, так естественней.

Cs-Cs
28.08.2022, 10:10
rovki
Вот в FIProg сделано ,что менять можно последовательность и в мастере и слейве..для разных типов данных
WirenBoard сейчас мутят подобные решения (я писал пост про их датчики, они выдали мне к нему комментарии (https://cs-cs.net/datchiki-temperatury-vlajnosti-owen-pvt-wirenboard-msw-sentera-odthm#__wirenboard)), обещая даже ремаппинг регистров под себя (чтобы собрать свою карту регистров в нужном порядке без пропусков).
Я бы хотел, чтобы ОВЕН эти идеи взял себе на заметку.

melky
28.08.2022, 10:19
Так как порядок байт не стандартизирован на уровне протокола, то в слейве любой порядок правильный, разрулирование возможных проблем совместимости разных приборов(приборов разных фирм) возложено на мастера сети, так что это в принципе не проблема слейва, почему разумные аргументы до вас никак не доходят?!

Сергей0308 в мире масса систем, где проще в слейве, ПР или ПЛК изменить порядок сетевых переменных, чем в этих системах написать скрипты для перестановки. Мир к сожалению не ограничен MasterScada или OwenOPC... поверьте, указанные галочки для slave режима ДОЛЖНЫ работать аналогично мастеру, многим станет легче....

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

Сергей0308
28.08.2022, 12:50
Я с вами не соглашусь, мне проще одну программу иметь и в ней всё настраивать, чем для ПЛК своя программа, для сенсорной панели своя, надо всё заранее предусмотреть, так как изменив одну, придётся и вторую менять!
Для каких случаев вы такое предлагаете? Если Вы изначально всё делаете, не задав правильный порядок чередования байт у вас и не будет работать! Мне принципиально не ясно, для чего этот сыр-бор, чтобы переделывать уже существующие системы, когда нет проекта для ПЛК? Мне всегда не нравилось, когда борются не с болезнью, а её симптомами, типа человек заболел, простудился у него поднялась высокая температура, чтобы её сбить, мы его в прорубь опускаем!

capzap
28.08.2022, 13:04
че как маленькие, есть прекрасный инструмент в виде текстового ЯП. Пользуйтесь им, чтоб выполнить сложные математические решения. Квадраты ни кто не трогает, получается на них и хорошо. Что же касается разношерстных слейвов, ну не выставляйте в конфигурации чтение реалов, поставте два слова и крутите ими как хочется,. хоть байты меняйте хоть слова, хоть не трогайте.
ЗЫ к проекту рисунок прилагается 62320

majevgenij
01.09.2022, 20:54
Помогите, когда-то мне помогли с макросом для пр200 что бы работать по аналогии трм2, нагревать и остужать температуру за определенное время. Может кто ещё раз напомнит где его искать. Спасибо

Сергей0308
01.09.2022, 23:42
Помогите, когда-то мне помогли с макросом для пр200 что бы работать по аналогии трм2, нагревать и остужать температуру за определенное время. Может кто ещё раз напомнит где его искать. Спасибо

Логика работы какая? У Овена нет такого прибора, ТРМ2!
Может Вам нужен двухпозиционный(релейный) регулятор с гистерезисом? Такой макрос имеется в менеджере компонентов, его и искать не нужно, в смысле, он и не терялся!
Короче, Вы вразумительно напишите, или тип прибора, который имеется в действительности или необходимую логику работы, без этого боюсь никто не сможет Вам помочь, в смысле, не знает чего Вы хотите, это же не форум ясновидящих! Если Вам нужен ПИД-регулятор, такой макрос тоже имеется в менеджере компонентов и в библиотеке ОЛ.

Dimensy
02.09.2022, 05:48
Помогите, когда-то мне помогли с макросом для пр200 что бы работать по аналогии трм2, нагревать и остужать температуру за определенное время. Может кто ещё раз напомнит где его искать. Спасибо

не нашли свою же тему?
https://owen.ru/forum/showthread.php?t=35169&p=361510&viewfull=1#post361510

павликморозов
14.09.2022, 16:33
Добрый вечер Всем. Кто нибудь применял макрос из менеджера компонентов (ActMech_ Контроль состояния исполнительного механизма. Версия 1.05) возникли сложности в организации его работы в группе. Программист самоучка поэтому прошу помощи.

Катя1987
15.10.2022, 13:28
не могу найти как скачать саму базу макросов?

Dimensy
15.10.2022, 14:01
не могу найти как скачать саму базу макросов?

файл - менеджер компонентов

Dimensy
31.10.2022, 09:41
Это называется исправили макрос?

63533

Если уж макрос не могут проверить перед размещением, то не удивительно, что Лоджик такой забагованный

Сергей0308
31.10.2022, 10:17
Мой попробуйте, посты 695, 700: https://owen.ru/forum/showthread.php?t=25067&page=70
Вроде адекватно работает:

63534

Кишки их макроса не смотрел, но подозреваю, что мой проще, в плане количества используемый элементов и лишние 6 входов есть не просят.

63536

melky
31.10.2022, 10:32
Сергей0308 N-Max такой большой, потому что одновременно 4 входа с одним значением ?

Сергей0308
31.10.2022, 10:52
Сергей0308 N-Max такой большой, потому что одновременно 4 входа с одним значением ?

Если максимальное значение на нескольких входах, он последовательно, начиная с самого маленького по числовому значению входа, все входа показывает!
Если конечно диапазон значений переменной не переполнять! Только не переусердствуйте с количеством входов с максимальным значением!
Тему почитайте, там всё описано!
И, там 5 входов с максимальным значением, поэтому и показывает: 89111316
Что означает на входах 8, 9, 11, 13, и 16 максимальные значения!
Даже есть вариант с разделителем в виде ноля, но тогда меньшее количество входов можно отобразить!

63540

Dimensy
31.10.2022, 11:25
Мой попробуйте, посты 695, 700: https://owen.ru/forum/showthread.php?t=25067&page=70
Вроде адекватно работает


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

Сергей0308
31.10.2022, 11:49
А если его немножко переделать, то будет работать в два раза быстрее

Я знаю, я раньше так уже делал и соответствующие счётчики у меня есть! Просто зачем, в смысле, соревноваться не с кем, поэтому так и сделал, типа с запасом на ошибку в один цикл и чтобы улучшать было куда, по примеру старшего товарища Овена!
А так да, можно и ещё скорость работы увеличить, например пропускать входы(я уже подобные макросы делал) с нулевым значением, короче, можно улучшать до бесконечности!

melky
31.10.2022, 11:54
Сергей0308 мне кажется было бы достаточно и битовой маски, на каких входах одинаковое значение.. То есть если MAX только одно число, то и бит будет всего один, если несколько одинаковых MAX то и битов будет несколько.

Сергей0308
31.10.2022, 12:26
Сергей0308 мне кажется было бы достаточно и битовой маски, на каких входах одинаковое значение.. То есть если MAX только одно число, то и бит будет всего один, если несколько одинаковых MAX то и битов будет несколько.

Так, Вы же первый тогда орать начнёте, что ничего непонятно, и надо сделать "по человечески", например значение 65535 на выходе Вам о чём-то говорит? Это будет означать, что на всех 16 входах одинаковые значения!

melky
31.10.2022, 12:40
Сергей0308 а зачем понимать в программе? надо понимать в Scada, где эта информация может быть полезной :) Ну и на экран ПР возможно проще вывести будет....

Сергей0308
31.10.2022, 13:48
Сергей0308 а зачем понимать в программе? надо понимать в Scada, где эта информация может быть полезной :) Ну и на экран ПР возможно проще вывести будет....

Тогда, по вашей логике, безразлично, какое(в каком виде) значение обрабатывать, для склады без разницы, я правильно Вас понимаю?
Считайте это номерами бит!

melky
31.10.2022, 14:08
Сергей0308 номера бит нельзя посчитать просто так :) то есть сколько всего... нельзя настроить на определение GetBit и получать 0 и 1 и так далее...

То есть ваш вариант макроса строго для онлайн отладки и экрана ПР, а дальше придется делать обратные никому не нужные манипуляции.

Dimensy
28.11.2022, 21:56
В продолжение темы о нерабочих макросах в Менеджере.
Макрос бегущей строки не рабочий

64124

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

ПавелП
29.11.2022, 00:30
Кто-то, вообще, отвечает за наполнение и контроль качества макросов?
Здесь, на форуме есть куча прекрасных и полезных макросов, но найти их бывает проблематично, а некоторые уже и скачать нельзя. Почему нельзя это отслеживать и потихоньку наполнять базу? Объём работ превышает возможности фирмы.
Программисты завалены очередными первочередными задачами.
Поддержка и хотелки пользователей на последнем месте.

Всё как и везде. :( Главное, гребсти деньги. :)

Часть макросов на форумах погибла. То что в "Менеджере компонентов" - капля в море.
Некоторые макросы не в своих темах, и находятся случайно.
База онлайн, что бывает неудобно. И т.д. и т.п.

Что делать?
Создать второй "Менеджер компонентов II", и дать возможность
народу дополнять его без участия и соучастия ОВЕН.
Пусть как рядовые пользователи вносят коррективы. Если захотят.

Так же с хелпом на ОЛ. Создайте HELP-II от народа, доступный из ОЛ.

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

Годы идут, нервы людские тратятся. Чем, и о чём, думают в ОВЕН???

СергейНовосиб
29.11.2022, 04:12
В продолжение темы о нерабочих макросах в Менеджере.
Макрос бегущей строки не рабочий

64124

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

У меня работает и работает давно. Проблем небыло.

petera
29.11.2022, 15:20
У меня работает и работает давно. Проблем небыло.
+ Аналогично

В продолжение темы о нерабочих макросах в Менеджере.
Макрос бегущей строки не рабочий

64124

Кто-то, вообще, отвечает за наполнение и контроль качества макросов?
Здесь, на форуме есть куча прекрасных и полезных макросов, но найти их бывает проблематично, а некоторые уже и скачать нельзя. Почему нельзя это отслеживать и потихоньку наполнять базу?
А что по Вашей картинке не работает?
Вас смущает число 4294967269 ?
Так это -27 в дополнительном коде, т.е. текущая (расчетная) координата начала строки равна минус 27.
И что здесь не работает?
Зы.
Вы же двигаете строку из 32 символов вправо, значит начинаться строка должна левее нуля, с -32. Вот и будет координата -27 в какой-то момент времени
Лоджик прекрасно работает с отрицательными целыми числами (арифметические вычисления выполняются правильно), только Вам показывает их как числа в дополнительном коде,
64159

Viktor1981
19.12.2022, 10:18
Всех приветствую! Подскажите новичку пожалуйста: есть датчик пвт100 и пр200, опрашивать хочу по rs485. Хоть убей не могу найти макрос на пвт10 пвт100 в библиотеке(( Может надо другую версию овен лоджик скачать? Или может он у кого остался?

Денисов Максим Сергеевич
19.12.2022, 10:30
Сетевой шаблон находится в менеджере компнентов - онлайн база - шаблоны сетевых устройств
64645

Viktor1981
19.12.2022, 11:41
Спасибо большое! Сваял програмку на пр200 для отображения температуры и влажности с датчика на экране пр200- а она нули кажет, хотя в конфигураторе показывала температуру, влажность и росу! Может кто сталкивался и подскажет?

1exan
19.12.2022, 11:49
Спасибо большое! Сваял програмку на пр200 для отображения температуры и влажности с датчика на экране пр200- а она нули кажет, хотя в конфигураторе показывала температуру, влажность и росу! Может кто сталкивался и подскажет?

Что-то неправильно сваяли значит.
Экстрасенсов тут нет, или опишите что сделали или прикрепите проект.

Viktor1981
19.12.2022, 12:13
спасибо уже разобрался сам

Newcomer
03.01.2023, 12:38
Добрый день

Нужен макрос регистра защелки (см. вложение). В базе макросов ничего подходящего нет. Можно сделать на D-триггерах, но в квадратиках получается очень канительно. Функцию на ST использовать нельзя в принципе. Может кто-то что-то подобное делал.

petera
03.01.2023, 12:43
Добрый день

Нужен макрос регистра защелки (см. вложение). В базе макросов ничего подходящего нет. Можно сделать на D-триггерах, но в квадратиках получается очень канительно. Функцию на ST использовать нельзя в принципе. Может кто-то что-то подобное делал.

SEL с обратной связью 1 шт, и готово

Newcomer
03.01.2023, 12:47
SEL с обратной связью 1 шт, и готово

Можно подробнее ?

petera
03.01.2023, 12:52
Можно подробнее ?

64993

Ну или чтобы совсем хорошо было

64994

ЗЫ.
По моему такой макрос был, только называется не регистр защелка, а типа память