PDA

Просмотр полной версии : Предложения по доработке OWEN Logic.



devi29rus
20.02.2018, 16:56
Здравствуйте, не знал в какую ветку задать вопрос, создал новую.

Можно ли добавить в OWEN Logic - когда делаешь отладку, чтобы при логической "1" все связи меняли цвет на заданный. Очень полезно для диагностики.

Андрей Посохов
21.02.2018, 09:12
Здравствуйте, не знал в какую ветку задать вопрос, создал новую.

Можно ли добавить в OWEN Logic - когда делаешь отладку, чтобы при логической "1" все связи меняли цвет на заданный. Очень полезно для диагностики.

Добрый день. Пока так сделать нельзя, возьмем на заметку, спасибо :)

capzap
21.02.2018, 09:32
Добрый день. Пока так сделать нельзя, возьмем на заметку, спасибо :)
не в обиду, но это уже будет гомосятина какая то, линии и так подсвечены, в зависимости от типа данных, теперь еще цвета добавятся, активирована дискретная линия или нет, а как быть с целочисленными и вещественными? А когда вся схема как решето и у всех лог.единицы будут, много ли пользы?

devi29rus
21.02.2018, 09:40
Это ж опция настраиваемая будет, не хочется, отключили. У меня просто большой проект(мне так кажется) - таймер - расписан на год вперёд, каждый месяц по своему работает и имеет своё уникальное расписание. У меня логическая единица только по одному направлению прилететь может (должна).

capzap
21.02.2018, 09:47
где это Вы писали в своем предложении по доработке что опция еще и настраиваемая должна быть. Еще раз повторю, ОЛ должен писаться под всех, а не конкретно под Вас, у Вас только одна единица у остальных все из единиц. И кстати для Вас каждая линия в своем начале и конце имеет цифровое значение, по нему и диагностируйте

melky
21.02.2018, 09:48
польза есть, работа в других программах это вполне оправдывает. в том числе и CDS, не говоря уже про конкурентов ПР.

X200881
17.04.2018, 13:38
Скажите пожалуйста планируется ли в owen logic язык прог. LD (LAD) для пр200? Спасибо.

игорь68
17.04.2018, 18:37
Бред полный. Но тогда как будем подсвечивать ЛИНИЮ ЗАДЕРЖКИ. Предлагаю бегущий огонек в направлении стрелочки ;-) В настройках цвет. Скорость мерцания . И количество сегментов в точке. Ну и инверсия . Если уж загружать видео карту так по полной.

melky
17.04.2018, 20:49
игорь68 бред полный это вообще наличие ЛИНИИ ЗАДЕРЖКИ. Посмотрите ПО у конкурентов, поймете, что там такого определения вообще не существует. Этим только ОЛ отличился, подозреваю что из-за проблем с умами программистов.

capzap
17.04.2018, 21:06
игорь68 бред полный это вообще наличие ЛИНИИ ЗАДЕРЖКИ. Посмотрите ПО у конкурентов, поймете, что там такого определения вообще не существует. Этим только ОЛ отличился, подозреваю что из-за проблем с умами программистов.
Хватит нести чушь, если бы не было сущностей называемых в ОЛ линией задержки, в МЭК не было бы функциональных блоков и кстати тех сред разработки, которые Вы называете конкурентами

melky
17.04.2018, 21:30
capzap покажите ЛИНИЮ ЗАДЕРЖКИ в ПО других производителей ?

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

capzap
17.04.2018, 21:51
capzap покажите ЛИНИЮ ЗАДЕРЖКИ в ПО других производителей ?

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

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

melky
17.04.2018, 21:55
Вот именно, в Logo это делается через маркеры, и ПО прекрасно это ослеживает. А в ОЛ а может вы хотели вот это сделать вот это? или может быть то ? не, я сама не определюсь, ну сделайте хоть что-нибудь, а ?
Там НЕТ неоднозначностей, если вы не заметили...

capzap
17.04.2018, 21:59
Вот именно, в Logo это делается через маркеры, и ПО прекрасно это ослеживает. А в ОЛ а может вы хотели вот это сделать вот это? или может быть то ? не, я сама не определюсь, ну сделайте хоть что-нибудь, а ?
Там НЕТ неоднозначностей, если вы не заметили...

до Вас как не дойдет то что в машинных кодах что в ОЛ что в лого всё одинаково, это будет локальная переменная с функцией сохранения до следующего цикла, а всё остальное понты. Имеете представление сколько людей делало/ет лого и сколько ОЛ

melky
17.04.2018, 22:09
не имеет смысла сколько человек делает ПО, имеет смысл их развития. Тетрис вообще один человек написал, на века, если что...
Кстати по первой картинке не согласен, И на свободных входах имеет высокий уровень по умолчанию.

Да и бог с ними с Линиями. Когда уже размер проекта перестанет напоминать tiff ?

Владимир Ситников
17.04.2018, 22:17
Да и бог с ними с Линиями.

Встречный вопрос: как такой макрос изобразить на Logo?
http://www.owen.ru/forum/showthread.php?t=24825&p=215018&viewfull=1#post215018

Там 4 блока SEL связаны линиями задержки как раз для того, чтобы там хранилось 4 разных значения.

Сама по себе среда не может догадаться, что между этими SEL'ами нужна именно задержка.
Если связи заменить на простые, то у всех SEL'ов получится одинаковое значение, и алгоритм сломается.

melky
17.04.2018, 22:26
Владимир Ситников я не говорю, что Линия задержки зло, за счет нее ОЛ имеет преимущество, некоторое.
Но вот попробуйте сделав программу на ОЛ с линиями задержки, потом при необходимости перенести ее на другой ПР ?
Сам по себе ПР200 получился отличным, хромает только качество ПО.
Вот честно, давно пора сделать версию 2.0 ПЛЮНУВ на совместимость со старыми ПР и проектами, избавить ПО от болячек и ненужного барахла.

capzap
17.04.2018, 22:36
Владимир Ситников я не говорю, что Линия задержки зло, за счет нее ОЛ имеет преимущество, некоторое.
Но вот попробуйте сделав программу на ОЛ с линиями задержки, потом при необходимости перенести ее на другой ПР ?
Сам по себе ПР200 получился отличным, хромает только качество ПО.
Вот честно, давно пора сделать версию 2.0 ПЛЮНУВ на совместимость со старыми ПР и проектами, избавить ПО от болячек и ненужного барахла.
ну замечательно, значит перенести в другое ПР есть необходимость и отказаться от совместимости тоже хочется, поговорку напомнить про съесть рыбку?
Когда Вы говорите про качество ПО, нужно этим хотя бы не много заниматься, рефакторинг ОЛ может быть и проводится регулярно, даже про статический анализатор упоминалось, только есть еще сторонние библиотеки, которые скорее всего выбраны на бесплатной основе и утечки памяти и размер файла могут быть из-за них или вкупе с ними

melky
17.04.2018, 22:59
Может стоит начать с того, что перестать ломать то, что работало для совместимости ?

capzap
17.04.2018, 23:02
для задач подходящих для ПР у меня всё работает

melky
18.04.2018, 14:14
capzap я имел ввиду то, что работало в 1.8 перестало работать в 1.9, например инициализация сетевых переменных. теперь приходится использовать макросы, которые в принципе при правильной работе не нужны. сломать сломали, починить забыли...

capzap
18.04.2018, 14:27
Вот честно, давно пора сделать версию 2.0 ПЛЮНУВ на совместимость со старыми ПР и проектами
не заметили что эта позиция отличается противоположно от возмущений по поводу 1.8->1.9->1.10 и т.д.
И да, см.картинку, я говорил про то что у меня версии написанные в старых релизах открываются без проблем и не какие то только мои, а все что скачивал с форума, естественно не говнокод

capzap
18.04.2018, 14:31
Что вот мне не хватает на данный момент в ОЛ, это системы EN/ENO чтоб от некого блока не вести несколько линий на повторяющиеся макросы, а на первый макрос воткнул связь на EN и с выхода ENO этого макроса протянул связь до следующего макроса и т.д.

rovki
18.04.2018, 16:32
Что вот мне не хватает на данный момент в ОЛ, это системы EN/ENO чтоб от некого блока не вести несколько линий на повторяющиеся макросы, а на первый макрос воткнул связь на EN и с выхода ENO этого макроса протянул связь до следующего макроса и т.д.

Так добавьте вход\выход в макросе ,а внутри простая связь .....и нанизывайте ....

capzap
18.04.2018, 16:42
Так добавьте вход\выход в макросе ,а внутри простая связь .....и нанизывайте ....
Тема называется предложения по доработке, а не как реализовать

rovki
18.04.2018, 17:59
А зачем дорабатывать ,что просто реализуется ???Нужен поставил ,не нужен не ставь.Вы речь ведь ведете про макросы ,а не элементы .А макросы кто вам будет дорабатывать .

capzap
18.04.2018, 18:14
А зачем дорабатывать ,что просто реализуется ???Нужен поставил ,не нужен не ставь.Вы речь ведь ведете про макросы ,а не элементы .А макросы кто вам будет дорабатывать .
Вы вообще имеете представление что такое en/eno, часть его основного функционала не возможно будет реализовать в ОЛ, потому что среда не подразумевает условные переходы, а вот побочный эффект вполне может быть реализован, передавать транзитом управляющие сигналы не занимаясь правкой своего или что чаще чужого макроса, такая возможность вполне имеет право на существование

rovki
18.04.2018, 18:50
а на первый макрос воткнул связь на EN и с выхода ENO этого макроса протянул связь до следующего макроса и т.д.

Может кто еще другой расскажет ,что хочет capzap ,другими словами ....не врублюсь о чем речь ,хотя и знаю ,что такое en/eno в элементах и Ф.блоках ,но причем тут макросы ?И что нужно сделать разработчикам в ОЛ ?

capzap
18.04.2018, 19:00
я вот тоже не пойму, Вы же не разработчик ОЛ, зачем Вам вникать о чем я говорю, сядте на диванчик, возьмите в руки планшет и отвлекитесь на что нибудь еще

melky
18.04.2018, 19:42
я о другом немного. Вот пилят 1.10, далее 1.11 и так далее и параллельно с этим делать 2.0 с нуля, убрав все косяки, тупизм по и монструозность и пусть эта 2.х не будет совместима с 1.х и фиг бы с ним, главное чтобы продукт получился качественным. А так ребята мучают 1.х версию, латают одни дырки, добавляют другие а потом ищут где там что они наворотили...

rovki
18.04.2018, 19:47
я вот тоже не пойму, Вы же не разработчик ОЛ, зачем Вам вникать о чем я говорю, сядте на диванчик, возьмите в руки планшет и отвлекитесь на что нибудь еще

Так если это нужно только вам одному ,то делать ни кто не будет имхо

rovki
18.04.2018, 19:50
я о другом немного. Вот пилят 1.10, далее 1.11 и так далее и параллельно с этим делать 2.0 с нуля, убрав все косяки, тупизм по и монструозность и пусть эта 2.х не будет совместима с 1.х и фиг бы с ним, главное чтобы продукт получился качественным. А так ребята мучают 1.х версию, латают одни дырки, добавляют другие а потом ищут где там что они наворотили...
Об этом говорил еще год назад - для серий ПР200 отдельный ОЛ ...

majevgenij
24.04.2018, 22:29
На Win10 не работает мастер тиражирования.
Несовместимо с установленной версией.
ПО 1,10,157
Пробовал и 1,10 мастер и 1,9, ни один не подходит

Андрей Посохов
25.04.2018, 09:33
На Win10 не работает мастер тиражирования.
Несовместимо с установленной версией.
ПО 1,10,157
Пробовал и 1,10 мастер и 1,9, ни один не подходит

Добрый день. Что значит не работает? Можете подробнее описать последовательность действий и что в итоге выдает?

gmz_001
29.04.2018, 03:24
Было бы удобно иметь возможность настраивать количество входов у базовых элементов И, ИЛИ. Неочень удобно строить батареи если нужен многовходовый элемент.

rovki
29.04.2018, 07:56
используйте макросы

LGM
04.05.2018, 21:05
а для андроида гляделка owl сложно делается?

Владимир Ситников
04.05.2018, 21:41
а для андроида гляделка owl сложно делается?

Очень сложно

Aviator_VZh
07.05.2018, 18:11
Большая просьба сделать доступ к Unique ID от STM32, например, через сервисные переменные. Хотя бы последние 8 бит. Нужно для открытия дополнительных опций ПО в ПР200 по коду. Да и много еще для чего может пригодиться.

Keldish
08.05.2018, 08:04
Большая просьба сделать доступ к Unique ID от STM32, например, через сервисные переменные. Хотя бы последние 8 бит. Нужно для открытия дополнительных опций ПО в ПР200 по коду. Да и много еще для чего может пригодиться.

плюсую

еще хочу выбор отображения незначащего "0" в числовых переменных на экране ПР

передвижение экранов в редакторе (смена порядка)

обновление прошивки из мастера тиражирования

сохранение/загрузка списка переменных (хоть в *.txt)

Snoopy123
08.05.2018, 08:32
Было бы удобно иметь возможность настраивать количество входов у базовых элементов И, ИЛИ. Неочень удобно строить батареи если нужен многовходовый элемент.

соглашусь. Очень не удобно ставить много "и или" или делать макрос. В кодесис это вот реализованно.

Goodwin2
09.05.2018, 10:38
Хотелось бы увидеть подпрограммы, которые можно будет запускать по событию, это должно ускорить работы контроллера.

Владимир Ситников
09.05.2018, 11:00
Хотелось бы увидеть подпрограммы, которые можно будет запускать по событию, это должно ускорить работы контроллера.

А у вас реально проблемы со скоростью работы контроллера? Оно же летает.

Goodwin2
09.05.2018, 12:27
При загрузке пр200 на 50% и выше, появляется заметная задержка при работе с RS-485, на работу не влияет, но почему бы не увеличить производительность контроллера с помощью подпрограмм? Из-за отсутствия оператора MOV приходится использовать оператор SEL, а он по моей логике перезаписывает переменную каждый цикл тем самым нагружая контроллер.

Владимир Ситников
09.05.2018, 15:35
При загрузке пр200 на 50% и выше, появляется заметная задержка при работе с RS-485, на работу не влияет, но почему бы не увеличить производительность контроллера с помощью подпрограмм?
Если проблем нет, то нет смысла и менять. Доработки о которых говорите непонятно зачем нужны (сейчас у всех работает), а на их реализацию, тестирование и документирование потребуется время разработчиков ОЛ.

Касательно mov. Вот вы пишете, что сейчас sel выполняется на каждом цикле. Так и с mov будет та же история: сначала нужно проверить условие, а потом переместить данные. Проверку на каждом цикле всё равно никто не отменял.

Goodwin2
09.05.2018, 16:59
Я предложил добавление подпрограмм для повышения производительность контроллера, а в качестве примера я привел оператор SEL который не совсем грамотно использует ресурсы контроллера. Это не проблема, это доработка/улучшение.

Оператор SEL каждый цикл записывает переменную, независимо от условия, а оператор MOV же должен записывать переменную только при наличие условия.

Владимир Ситников
09.05.2018, 18:40
Оператор SEL каждый цикл записывает переменную, независимо от условия, а оператор MOV же должен записывать переменную только при наличие условия.

Вы меня не понимаете. Вот вы же сами пишете "только при наличие условия". Кто условие проверять будет? Пушкин? Это самое условие контроллеру всё равно придётся проверять.

Для обработки оператора SEL контроллеру нужно сделать следующие действия:
1) Перейти к шагу 4, если значение на 1-ом входе является TRUE
2) Записать значение 2-го входа в результат
3) Перейти к шагу 5
4) Записать значение 3-го входа в результат
5) ...очередное действие

Если на 1-ом входе блока SEL находится TRUE, то потребуется 2 действия: 1, 4
Если же там FALSE, то потребуется 3 действия: 1, 2, 3


Теперь в случае с MOV:
1) Перейти к шагу 3, если значение входа EN равно FALSE
2) Записать значение входа на выход
3) ...очередное действие

Если EN==FALSE, то требуется 1 действие: 1
Если же EN=TRUE, то 2 действия: 1, 2

В сухом остатке: да, оператор MOV может и быть чуть более эффективным, но никакого кардинального ускорения он не принесёт. Было 2-3 действия, стало 1-2.

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

Ради чего вся оптимизация-то? Вы реально понимаете, что разница между SEL и MOV это пара инструкций контроллера и всё равно считаете, что ради этого имеет смысл затевать целый блок?

Goodwin2
09.05.2018, 19:27
Ну вот, я имел ввиду, то что контроллеру необходимо выполнить больше инструкций при операторе SEL, чем при MOV.

У меня присутствует в программе около 150 вот таких вот блоков:
37139

Блок используется для сброса переменной на заводское значение. Без этих блоков цикл выполняется, как пишет сама ПР200, за 10-14 мс,. С этими блоками цикл увеличивается до 22-26 мс. По моей логике контроллер работает в холостую из-за такого построения программы. Скорость цикла 26 мс тоже достаточно быстрая и удовлетворяет большинство потребностей, но появляются заметные задержки при работе с RS-485 в режиме SLAVE ПР200 при считывании переменных. В режиме мастер тоже должны быть задержки, но пока не довелось проверить.

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

Владимир Ситников
09.05.2018, 20:42
Ну вот, я имел ввиду, то что контроллеру необходимо выполнить больше инструкций при операторе SEL, чем при MOV.
Не путайте тёплое с мягким. Сначала говорили про SEL, а сейчас fSEL.
Это у вас встроенный блок fSEL? Или это макрос?

Goodwin2
09.05.2018, 21:01
fSEL встроенный блок и их штук 10, не больше, скриншот я сделал в первом попавшемся месте.

37141

Владимир Ситников
09.05.2018, 21:34
fSEL встроенный блок и их штук 10, не больше, скриншот я сделал в первом попавшемся месте.

Тогда, скорее, вопрос именно к производительности этого блока fSEL.
Судя по вашим данным, 150 блоков увеличивают цикл на 10мс, значит один блок вычисляется 10мс/150=66 микросекунд
Частота процессора ПР200 составляет 72МГц, и за 66 микросекунд процессор может выполнить 72*106 * 66*10-6 =~ 4700 операций.

Крайне и крайне много для такого блока. Если же сделать оператор fMOV, который будет занимать не 4700, а 4699 команд контроллера, то общее быстродействие вообще никак не изменится.


Поэтому тут 2 варианта:
1) Либо действительно 150 блоков fSEL занимают 10мс
2) Либо вы ошибаетесь (ну и там не только блоки fSEL, а ещё какие-то дополнительные операции или их не 150, а 15 тысяч)

Goodwin2
09.05.2018, 23:24
Блоков SEL - 150, блоков fSEL - 10.
Я понимаю что блок SEL занимает примерно 3-5 тактов, пусть даже компилятор добавит ещё пару тактов. Время цикла я смотрю в сервисом меню ПР200, может ли быть там неверное число? Мне непонятна падение производительности. :\

Василий Кашуба
10.05.2018, 08:18
Блоков SEL - 150, блоков fSEL - 10.
Я понимаю что блок SEL занимает примерно 3-5 тактов, пусть даже компилятор добавит ещё пару тактов. Время цикла я смотрю в сервисом меню ПР200, может ли быть там неверное число? Мне непонятна падение производительности. :\
Время цикла очень сильно зависит от правильности построения схемы.

Владимир Ситников
10.05.2018, 08:36
Блоков SEL - 150, блоков fSEL - 10.
Я понимаю что блок SEL занимает примерно 3-5 тактов, пусть даже компилятор добавит ещё пару тактов. Время цикла я смотрю в сервисом меню ПР200, может ли быть там неверное число? Мне непонятна падение производительности. :\

А у вас кроме fSEL'ов в программе что-нибудь с этими переменными есть? Ну, какое-нибудь сложение, умножение?

1) Работа с плавающей точкой на ПР200 очень медленная (т.к. поддержки плавающей точки в железе нет, и работает за счёт эмуляции). Поэтому, если в программе используется fADD/fMUL и т.п. операции, то никакая оптимизация fSEL не спасёт.
2) Возможно, программисты ОЛ поленились добавлять fSEL в прошивку ПР, и реализовали fSEL(a,b,c) как a*c + (1-a)*b. Если действительно так, то это может объяснять почему fSEL тормозит. Но всё равно: у вас не только fSEL'ы же в программе?

Goodwin2
12.05.2018, 21:04
Макросы для температурных датчиков есть, в них приличное количество арифметики для float. И разовые вычисления есть в самой программе, типа умножить float на 10 и перевести в int.

majevgenij
20.05.2018, 14:53
Не работает мастер тиражирования в Win10
Программа пишет, что обнаружено дополнение несовместимое с системой
После установки ни Win7 версии 1,10 таже ситуация
ДОПОЛНЕНИЕ НЕ СОВМЕСТИМО С СРЕДОЙ IDE
кАК ЭТО лечить

Никита Сергеев
23.05.2018, 11:11
Вам требуется поставить в соответствие вашу версию OL с мастером тиражирования.
http://www.owen.ru/catalog/programmnoe_obespechenie_owen_logic/72837766

Yaroslav_22
25.05.2018, 05:42
Здравствуйте!

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

Может где и было такое предложение, не увидел.

Василий Кашуба
25.05.2018, 07:30
Здравствуйте!

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

Может где и было такое предложение, не увидел.
Ещё в 2012 году предлагал.

Snoopy123
25.05.2018, 08:14
Ещё в 2012 году предлагал.

соглашусь с предыдущими комментаторами. Это было бы очень удобно

Андрей Посохов
25.05.2018, 09:47
Здравствуйте!

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

Может где и было такое предложение, не увидел.

Добрый день.

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

Snoopy123
25.05.2018, 10:32
Добрый день.

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

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

игорь68
17.04.2019, 07:48
Добрый день. Как производитель оборудования столкнулся с необходимостью делать паспорт издели и инструкцию по эксплуатации. Если с паспортом все просто и понятно то по инструкции возникли большие затруднения. Рисовать дерево переходов и сами экраны это ещё то занятие. Может как то это упростим. Предлогаю "научить"ОЛ делать распечатку дерева переходов и отдельно экранов. Будет идеально если ОЛ сможет переводить это в PDF и сохронять ка отдельный документ. То же самое сделать и с листингом "схемы". Я закончил проект. У меня в папке проекта три документ. 1)прошивка. 2)схема прошивки. 3)экраны.
PS модератоы закрепите тему на первой странице а то заталкали уже на 5ю.

stesel
02.05.2019, 01:17
Добрый день. Как производитель оборудования столкнулся с необходимостью делать паспорт издели и инструкцию по эксплуатации. Если с паспортом все просто и понятно то по инструкции возникли большие затруднения. Рисовать дерево переходов и сами экраны это ещё то занятие. Может как то это упростим. Предлогаю "научить"ОЛ делать распечатку дерева переходов и отдельно экранов. Будет идеально если ОЛ сможет переводить это в PDF и сохронять ка отдельный документ. То же самое сделать и с листингом "схемы". Я закончил проект. У меня в папке проекта три документ. 1)прошивка. 2)схема прошивки. 3)экраны.
PS модератоы закрепите тему на первой странице а то заталкали уже на 5ю.
Я делал через PrintScreen, далее вставляем в Paint, обрезаем, сохраняем и вставляем в Word картинку.

stesel
02.05.2019, 01:55
Предлагаю следующие доработки:
1. Очень бы хотелось упростить работу с сетевыми переменными примерно как с энергонезависимыми - в таблице с переменными добавить колонку "сетевые" и расставлять галочки и указывать адрес.
2. Хотелось бы добавить экран аварий, всплывающий поверх всех экранов при изменении переменной (переменных), а не так что бы создавать экран и городить на него кучу переходов с каждого экрана.
3. Хотелось бы перемещать входы выходы на поляне не только вверх и вниз, не понимаю почему они должны быть привязаны к краю поляны.
4.Хотелось бы видеть названия входов/выходов макроса при его редактировании. Да и входы/выхода устройства тоже хотелось бы называть и видеть, пусть выводится второй строкой например (в первой всё так же I1 или Q1). Там конечно есть комментарий, но его видно только при наведении указателя мыши.
5. Почему не сделать работу с экранами как в ИП320? По моему было много лучше.
Ну и вопрос:
1. В последних версиях появились группы экранов, но добавить группу нельзя. Что это и для чего нужно?

игорь68
03.05.2019, 23:16
Stesel вопрос по пункту 2. Как выпредставляете себе настройку ваших аварий. Что и где я должен настроить. Через что и как связывать с работой программы. Сейчас это изменение состояния входа. И те переменные которые привязанны к этим входам. Лично мне не понятно.

bayk
03.05.2019, 23:25
Так же, как во всех панелях оператора. Если в указанный для экрана аварий диапазон булевых переменных хотя бы одна активной становится, то переход к этому экрану. И отображение только активных аварий. Чтобы не городить кучу сортировок и копирования комбобоксов. В пределах самой пр. Аварийность булевых переменных можно через чекбокс устанавливать как и энергонезависимость

игорь68
05.05.2019, 12:54
То есть нужно булевые переменные сначала собрать в маску а потом читать бит маски. И если бита нет(или есть) то авария. С выводом на экран. Но как быть с авариями те что с само сбросом. ?

bayk
05.05.2019, 15:52
Это уже вопрос как это организуют программисты. Я считаю, что архив аварий особо не нужен в сферах применения ПР. Достаточно просто при отсутствии аварий возвращаться на главный экран. А вот как реализовать сброс - это уже задача того, кто пишет ПО. Например я делаю (не только в ОЛ) отдельные аварийные переменные, которые импульсно возводятся аварийной ситуацией, а потом кнопкой сброса сначала снимается звук, а следующим нажатием сбрасываются отображенные аварии.
А если кому-то всё-таки нужен архив аварий, то здесь его уже реализовывали. Но это не основной функционал, который надо срочно штатно реализовывать в отличии от экрана аварий.
П.с. для упрощения этого экрана текст аварии можно брать из комментария к переменной. Тогда не надо придумывать, где писать текст подписи аварии и придумывать новые меню.

Алексеев
05.05.2019, 16:41
Дело в том что программируемые реле используются в более широком диапазоне .
И в большинстве там где не нужно контролировать нештатные ситуации (Аварии).
И вряд ли программисты прислушаются к таким узконаправленным пожеланиям .

Мне так кажется :)

bayk
05.05.2019, 21:50
тут как раз ситуация именно в широком распространении. поскольку в 90% решений, я так думаю, где необходимо программируемое реле, там необходимо так или иначе контролировать аварии. потому очень не хватает этого функционала. я вот например сейчас часто стал использовать ПР в малых проектах. так вот 6 реализаций, 6 раз пришлось делать отображение аварий. 6/6 это уже статистика. мне кажется, если все на форуме попросят, то может и сделают. тем более, как мне кажется это не сильно сложно. а если придумывать оправдание, то программисты и рады будут ничего не делать.
.

игорь68
05.05.2019, 22:10
Скажу больше. Первопричина создания подобных реле это отказ от громоздких шкафов автоматики для тех целей где не нужен оператор. Насосные. Ворота. Рекламные банеры. И прочие. Пример: Реле от немцев стоит в ветрогенераторах этой же фирмы и контролирует работу шкафа АВР собственных нужд. Плюс передает в скаду кое какую телеметрию.
Вариант работы аварий от Вас тоже не самый простой. Овен сдела оптимальные инструменты для работы с экраном. Ps серия ПР200 это не только для индикации аварий но в основном для возможнлсти поменять какие то уставки. И эти инструменты ОЛ справляются с этим на 100%. А авария это как приятный бонус.

Сергей0308
05.05.2019, 23:09
Вот Вы пишите о ПР200, но это же противоречит здравому смыслу, пока нет ПР200 щитового исполнения, ПР200 не может быть предметом обсуждения! Согласитесь не логично звучит: есть обсуждение, предмета обсуждения нет! Вот если бы написали ИПП120, я бы мог понять! А пока, как телега впереди лошади, применительно к ПР200, ну это я так думаю!

bayk
06.05.2019, 09:16
А разницы то между пр200 и ипп никакой. Я подразумеваю, что этот функционал сделают и там и там, если сделают. Кстати для Сименс лого в продаже есть специальные адаптеры для монтажа на переднюю панель.

stesel
14.05.2019, 09:30
Stesel вопрос по пункту 2. Как выпредставляете себе настройку ваших аварий. Что и где я должен настроить. Через что и как связывать с работой программы. Сейчас это изменение состояния входа. И те переменные которые привязанны к этим входам. Лично мне не понятно.

Если пользовали ИП320, то там как раз именно так. Ну а если словами, то экран аварий всплывает поверх всех экранов по изменению одной из переменных.

Ревака Юрий
14.05.2019, 09:36
Если пользовали ИП320, то там как раз именно так. Ну а если словами, то экран аварий всплывает поверх всех экранов по изменению одной из переменных.

По этому вопросу, уже предложено несколько разных вариантов, проверяйте, пользуйтесь.https://www.owen.ru/forum/showthread.php?t=31113&page=2

melky
14.05.2019, 09:41
Работа с экраном в ОЛ полный швах...
1. нет опроса кнопок и возможности их использовать
2. даже тот функционал переходов хромает - короткое нажатие и удержание. Короткое ДОЛЖНО работать по заднему фронту, удержание по ПЕРЕДНЕМУ ессно с паузой и блокировкой короткого нажатия. Попробуйте с одного экрана сделать переход и по короткому и по удержанию и поймете
3. Нужны подменю в организации экранов. Не могу красиво объяснить, но это несколько отличается от простых переходов с экрана на экран... То есть возможность подменю должно быть по умолчанию в самом ОЛ, без лишних наворотов с переходами и привязыванием переменных и так далее. То есть просто указываем на строку текста и ставим галочку (подменю), автоматом создается экран, выход всегда на пункт вызова а не куда-то там в никуда...

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

Алексеев
14.05.2019, 10:12
Цитата Сообщение от Ревака Юрий Посмотреть сообщение
Разница в том, что если переменная в логике никуда не "привязана", вся эта часть логики в расчетах не участвует, и соответственно не моделируется, установка энерго-сти "фича" которая позволяет это обойти.

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

Ревака Юрий
14.05.2019, 10:56
Цитата Сообщение от Ревака Юрий Посмотреть сообщение
Разница в том, что если переменная в логике никуда не "привязана", вся эта часть логики в расчетах не участвует, и соответственно не моделируется, установка энерго-сти "фича" которая позволяет это обойти.

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

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

Алексеев
14.05.2019, 11:30
Пример во вложении, что бы проверить макрос, я не буду ничего устанавливать и соединять или выводить на вх/вых, просто открою макрос на редактирование и запущу симуляцию.

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

Проект будет примерно таким .


Самое главное программисты оставили ФИЧУ не спроста . Это удобная фича . А если распространить её ????????
Я натолкнулся на неё случайно . Программистам это не составит труда .
А проверка должна быть на всех переменных и всегда и по умолчанию . А пользователь может её убирать на каждый сеанс работы в OWEN Logic .

Павел Братковский
15.05.2019, 07:31
Вот Вы пишите о ПР200, но это же противоречит здравому смыслу, пока нет ПР200 щитового исполнения, ПР200 не может быть предметом обсуждения! Согласитесь не логично звучит: есть обсуждение, предмета обсуждения нет! Вот если бы написали ИПП120, я бы мог понять! А пока, как телега впереди лошади, применительно к ПР200, ну это я так думаю!

а так: 42708

Алексеев
15.05.2019, 08:23
Или так 42709

вот бокс 42710

melky
15.05.2019, 09:28
Есть специальный крепеж для DIN с крышкой на дверь щита. Снаружи красиво, внутри поменьше красоты, но любое DIN устройство становится щитовым :)

stesel
15.05.2019, 21:40
По этому вопросу, уже предложено несколько разных вариантов, проверяйте, пользуйтесь.https://www.owen.ru/forum/showthread.php?t=31113&page=2

Проверил. Ни о чем. Именно так и приходится гемороиться. Всё через одно место.

И как на счет других пожеланий и вопросов, написанных ранее?


Предлагаю следующие доработки:
1. Очень бы хотелось упростить работу с сетевыми переменными примерно как с энергонезависимыми - в таблице с переменными добавить колонку "сетевые" и расставлять галочки и указывать адрес.
2. Хотелось бы добавить экран аварий, всплывающий поверх всех экранов при изменении переменной (переменных), а не так что бы создавать экран и городить на него кучу переходов с каждого экрана.
3. Хотелось бы перемещать входы выходы на поляне не только вверх и вниз, не понимаю почему они должны быть привязаны к краю поляны.
4.Хотелось бы видеть названия входов/выходов макроса при его редактировании. Да и входы/выхода устройства тоже хотелось бы называть и видеть, пусть выводится второй строкой например (в первой всё так же I1 или Q1). Там конечно есть комментарий, но его видно только при наведении указателя мыши.
5. Почему не сделать работу с экранами как в ИП320? По моему было много лучше.
Ну и вопрос:
1. В последних версиях появились группы экранов, но добавить группу нельзя. Что это и для чего нужно?

Что-то можете ответить? Будет ли компания Овен учитывать интересы пользователей? Или как всегда болт забьет?

игорь68
20.05.2019, 07:06
Отвечу по вашему пункту 4:
Я создал макрос. И хочу добавить в базу для всех у меня есть два пути. 1)Это отправить Ревако Юрию и приложить короткую записку что это за макрос и зачем он нужен. Юра приведет это в божеский вид. Добавит описание и выложит на сайт. Но ваша хотелка о "описании входов/выходов макрос" будет выполнена 50/50.
Или другой путь. Я создал макрос. Подписал входа выхода. Приложил комнетарий. Типовую схему подключения. Сдела 1-2снимка экрана с показом как он работает. Перегнал весь этот материал в PDF и отправил Юрию для размещения. Приэтом я написал макрос за пару часов и на приведение его в понятный для всех вид еще два дня. Вопрос оно мне надо. Кому нужно тот посмотрев на мой макрос и понимая принцип работы сам "заточит"мой макрос под себя. Даже без описания. Создать свой макрос занимает меньше времени чем понять как работает "чужой" и со стыковать со свой схемой.

borzov161
21.05.2019, 11:25
Здравствуйте.
Будет ли в среде программирования переменная int с минусом? Делаю счетчик движения стола станка, приходится делать кучу условий, так после нуля снова положительное огромное число. Очень нужна отрицательная переменная. Вот, в Zelio logic таких проблем с счетчиком нет.

Серёга Букашкин
21.05.2019, 11:47
При вызове макросов или экранов над холстом остаются их закладки. Это удобно, но бывает слишком много лишних и они мешают. Есть ли способ очиститься от закладок кроме перезагрузки проекта?

Ревака Юрий
21.05.2019, 12:10
Здравствуйте.
Будет ли в среде программирования переменная int с минусом? Делаю счетчик движения стола станка, приходится делать кучу условий, так после нуля снова положительное огромное число. Очень нужна отрицательная переменная. Вот, в Zelio logic таких проблем с счетчиком нет.

Используйте float, можно прям в том месте где у Вас возникает переменная int, int->float и дальше без проблем.

Алексеев
21.05.2019, 12:16
Сергей не совсем понятно . Я их крестиком по очереди убираю и если были изменения ОЛ спрашивает сохранить или нет .
А обычно сохраняю проект полностью если есть ошибки устраняю ,а затем убираю ненужные.

Серёга Букашкин
21.05.2019, 12:24
[COLOR="#FF0000"] Я их крестиком по очереди убираю
Понятно, не замечал этого крестика. Понятно. Но разом убрать все всё таки нельзя. Бывает 20-30 закладок и тогда нажимать нужно много раз. Но понятно.

Алексеев
21.05.2019, 12:49
В ОЛ9 раньше не требовалось подтверждать сохранение макроса после изменения они сохранялись автоматически.
Видно были проблемы у программистов ОЛ и они отказались от этого .
Вот крестик В ОЛ13 42810
Вот крестик В ОЛ10 42811

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

Серёга Букашкин
21.05.2019, 13:25
Вот у Вас тоже все комменты в рамочках. А на мой вкус они излишни и только засоряют, я бы по умолчанию хотел бы вызов для текстового коммента без рамочки. Ну без них же лучше...

Алексеев
21.05.2019, 14:14
Да Я Сам только недавно начал пользоваться комментариями и переменными . Вначале не придавал им значения .
Теперь придаю значение так как через год приходится вспоминать , хотя память пока не подводит .42813
Можно и без рамки 42814

Их же можно тиражировать . Редактируя только текст .

borzov161
21.05.2019, 22:15
Используйте float, можно прям в том месте где у Вас возникает переменная int, int->float и дальше без проблем.

Спасибо, получилось.

Сергей0308
21.05.2019, 22:44
Спасибо, получилось.

Вот любопытно, это как? Вы целочисленный счётчик переделали на с переменной флоат?

borzov161
22.05.2019, 11:16
Вот любопытно, это как? Вы целочисленный счётчик переделали на с переменной флоат?

Да . Взял из библиотеки 32 битный счетчик макрос переделал int на флоат? . Только вывод отрицательных величин на экран с запятой к сожалению. Мне только на экран нужно. поэтому прокатило. А первый вариант был с целочисленной переменой , там уставка от середины гонял :)
Вот оригинал макроса до переделки. А переделанный на другом компе.42818

Сергей0308
22.05.2019, 11:53
Да . Взял из библиотеки 32 битный счетчик макрос переделал int на флоат? . Только вывод отрицательных величин на экран с запятой к сожалению. Мне только на экран нужно. поэтому прокатило. А первый вариант был с целочисленной переменой , там уставка от середины гонял :)
Вот оригинал макроса до переделки. А переделанный на другом компе.42818

Вообще-то флоат - это тип данных не абсолютной точности, может быть погрешность! Мне кажется всё же лучше использовать целочисленный тип данных, а на экран вывести, чтобы минус показывал, с помощью макроса, я выкладывал для INT в этой теме:
https://www.owen.ru/forum/showthread.php?t=13106&page=3
И, если не изменяет память, Petera выкладывал для DINT, ну и в онлайн базе макросов, сейчас менеджер компонентов, есть нечто подобное! В крайнем случае можно сделать по аналогии, если для DINT надо!

42824

petera
22.05.2019, 12:29
Вообще-то флоат - это тип данных не абсолютной точности, может быть погрешность! Мне кажется всё же лучше использовать целочисленный тип данных, а на экран вывести, чтобы минус показывал, с помощью макроса, я выкладывал для INT в этой теме:
https://www.owen.ru/forum/showthread.php?t=13106&page=3
И, если не изменяет память, Petera выкладывал для DINT, ну и в онлайн базе макросов, сейчас менеджер компонентов, есть нечто подобное! В крайнем случае можно сделать по аналогии, если для DINT надо!

42824

Для DINT
42827

Результат для положительных целых чисел
42828

Результат для отрицательных целых чисел ( в дополнительном коде) именно такое число получается в ОЛ когда при вычитании " после нуля снова положительное огромное число."
42829

Сергей0308
22.05.2019, 13:15
Для DINT
42827

Результат для положительных целых чисел
42828

Результат для отрицательных целых чисел ( в дополнительном коде) именно такое число получается в ОЛ когда при вычитании " после нуля снова положительное огромное число."
42829

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

petera
22.05.2019, 13:33
Такой макрос, ABS(x), еще проще
42830

42831
Тоже думал, что выход (<0) можно использовать для рисования "-", однако выравнивание числа на экране по моему всегда вправо? Тогда конструкция будет не очень красиво выглядеть, с лишними пробелами перед числом "-____12"

Сергей0308
22.05.2019, 13:45
Такой макрос, ABS(x), еще проще
42830

42831
Тоже думал, что выход (<0) можно использовать для рисования "-", однако выравнивание числа на экране по моему всегда вправо? Тогда конструкция будет не очень красиво выглядеть, с лишними пробелами перед числом "-____12"

Да, так ещё лучше, а минус можно смещать по оси X в зависимости сколько разрядов занимает целочисленное значение.

Александр Бояркин
22.05.2019, 20:12
Пожалуйста! Подумайте о добавлении скриптовых блоков.

игорь68
22.05.2019, 21:23
Скрипты конечно хорошо. Но если что то не работает то разбитаться с работой алгоритма и скриптами кто будет? Вы представляете себе как будет "легко "разбирать каждый вариат в тех поддержке овен. По тому что один и тот же алгоритм можно решить двумя и более способами.

phzhitnikov
11.06.2019, 17:31
* Переместите выбор порядка байт для сетевых переменных из Устройства в Свойства переменной. Иногда в рамках одного устройства он разный. Пример - счетчики WirenBoard.
Когда попадаешь в такую ситуацию, приходится создавать два Устройства с одинаковым адресом: в одном один порядок байт, в другом - другой. Не изящно.
43129

* Порядок байт для сетевых переменных распространяется не только на тип Float, но и на многорегистровые Int. И это вопреки подписи здесь, поправьте подпись.
43131

* Запись параметров в кастомные ФБ

* Элементы "Динамический текст" и "Combobox": редактирование значений прямо на панели свойств, а не во вложенном меню
https://yadi.sk/d/ELwWfI-_efV9AQ

* Создание новых переменных прямо на панели "Переменные", а не в меню "Прибор -> Таблица переменных"
https://yadi.sk/d/jKaRTzFuvoEDCA

* Виджет вывода INT-значений на экран: добавьте опцию показа нулей перед числом. Это будет полезно при выводе дат и времени
Пример:
В виджет для вывода параметра "Минуты" шириной 2 символа можно показывать как "1" или как "01" в зависимости от опции

Sailor88
21.02.2023, 13:45
а можно в owen logic сделать возможность открытия менеджера компонентов не только с экрана схема а например и из экрана макроса, не удобно каждый раз переключаться

Rask
21.02.2023, 18:37
Я может повторюсь, но жаль нет эмуляции экрана. Прям иногда сильно не хватает.

Cs-Cs
21.02.2023, 21:04
Сделайте СОРТИРОВКУ ПЕРЕМЕННЫХ ПО ТИПУ И АЛФАВИТУ!
БЕСИТ, что даже в новом OWL переменные отображаются и в таблице и в панели на экране так, как их исторически забили, мать-перемать!!
Например, я делаю макрос и у меня там есть переменные с префиксами Op - OpAdd, OpSave, OpDelete
Потом я накидал ещё какие-то переменные типа ValSaved, ValCurrent, ValOut.
И после этого хочу добавить OpRestore. И просто ##$$$#!!! Эта переменная встаёт в конец списка!

starmos
22.02.2023, 06:35
Я так понимаю, что функции на ST нельзя в макрос вставить? А почему? И надо бы сделать, чтобы было можно.
Надо бы добавить стандартных компонентов в библиотеку, например побитовых логических функций, мультиплексоров для значений int и float, на разное количество входов, а не на 2, как сейчас. В чем вообще проблема сделать масштабируемые входы у подобных блоков? Почему другие производители контроллеров это могут сделать, а вы нет, за столько лет.

1exan
22.02.2023, 07:06
Я так понимаю, что функции на ST нельзя в макрос вставить? А почему? И надо бы сделать, чтобы было можно.
Надо бы добавить стандартных компонентов в библиотеку, например побитовых логических функций, мультиплексоров для значений int и float, на разное количество входов, а не на 2, как сейчас. В чем вообще проблема сделать масштабируемые входы у подобных блоков? Почему другие производители контроллеров это могут сделать, а вы нет, за столько лет.

Мне так особенно не хватает добавления входов на простых логических и арифметических функциях. А объединение их в макросы сразу увеличивает занимаемое место в 2-3 раза.
Вот и висят везде эти гирлянды по 2-3 блока.

Денисов Максим Сергеевич
22.02.2023, 11:28
Сделайте СОРТИРОВКУ ПЕРЕМЕННЫХ ПО ТИПУ И АЛФАВИТУ!
БЕСИТ, что даже в новом OWL переменные отображаются и в таблице и в панели на экране так, как их исторически забили, мать-перемать!!
Например, я делаю макрос и у меня там есть переменные с префиксами Op - OpAdd, OpSave, OpDelete
Потом я накидал ещё какие-то переменные типа ValSaved, ValCurrent, ValOut.
И после этого хочу добавить OpRestore. И просто ##$$$#!!! Эта переменная встаёт в конец списка!

В окне таблицы переменных есть сортировка по каждому из столбцов

Денисов Максим Сергеевич
22.02.2023, 11:30
Я так понимаю, что функции на ST нельзя в макрос вставить? А почему? И надо бы сделать, чтобы было можно.
Надо бы добавить стандартных компонентов в библиотеку, например побитовых логических функций, мультиплексоров для значений int и float, на разное количество входов, а не на 2, как сейчас. В чем вообще проблема сделать масштабируемые входы у подобных блоков? Почему другие производители контроллеров это могут сделать, а вы нет, за столько лет.

Сейчас реализуем ФБ на ST, следующим этапом будет возможность сохранения, импорта/экспорта, использовании в макросах всех элементов на ST

starmos
27.02.2023, 13:46
Я сейчас пытаюсь перенести свою же программу с ПЛК Delta на ПР200. И понимаю какое г... ПР200 в этом случае. Поэтому единственное пожелание к улучшению, это перестать валять дурака и оформить наконец ПР200 в виде ПЛК, а не программируемого реле. И вместо этого дурацкого языка, как сейчас, сделать нормальные языки, соответствующие стандарту, в том числе добавить LD. Последнее и сейчас было бы полезно, учитывая, что вы позиционируете ПР200 как программируемое реле, которое логично бы и программировать на языке реле. Но нет, вы видимо сделали так, "как у Siemens". У нас на работе с таким же мышлением руководство, общая беда видать - "как у других".
Я знаю, что масса народу делает на ПР200 достаточно сложные вещи, но ВЕСЬ мой личный опыт говорит о том, что это чертовски неудобно, если задача сложнее, чем воротами управлять. Постоянно ищешь способы обойти искусственно созданные ограничения. В текущем Лоджике нечего улучшать, он просто в принципе ущербен. Возьмите за пример FLProg хотя бы - человек за бесплатно сделал среду для Ардуино, а вышло лучше чем у вас: и выводы к компонентам добавляются и свои блоки можно создавать, в том числе на текстовом языке высокого уровня и порядок выполнения блоков можно посмотреть и языков программирования поддерживается два.

melky
27.02.2023, 13:51
starmos не горячитесь так.
1. Вам никто LD не обязан, производитель сам выбирает LD или FBD или только один ИЗ...
2. Ну и не надо сравнивать Delta - кстати приведите какое программируемое реле вы использовали? или все же это ПЛК... в общем не надо ПЛК сравнивать с Программируемым реле. Совершенно разные вещи...

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

kondor3000
27.02.2023, 13:54
Я сейчас пытаюсь перенести свою же программу с ПЛК Delta на ПР200. И понимаю какое г... ПР200 в этом случае. Поэтому единственное пожелание к улучшению, это перестать валять дурака и оформить наконец ПР200 в виде ПЛК, а не программируемого реле. И вместо этого дурацкого языка, как сейчас, сделать нормальные языки, соответствующие стандурту, в том числе добавить LD. Последнее и сейчас было бы полезно, учитывая, что вы позиционируете ПР200 как программируемое реле, которое логично бы и программировать на языке реле. Но нет, вы видимо сделали так, "как у Siemens". У нас на работе с таким же мышлением руководство, общая беда видать - "как у других".
Я знаю, что масса народу делает на ПР200 достаточно сложные вещи, но ВЕСЬ мой личный опыт говорит о том, что это чертовски неудобно, если задача сложнее, чем воротами управлять. Постоянно ищешь способы обойти искусственно созданные ограничения. В текущем Лоджике нечего улучшать, он просто в принципе ущербен. Возьмите за пример FLProg хотя бы - человек за бесплатно сделал среду для Ардуино, а вышло лучше чем у вас: и выводы к компонентам добавляются и свои блоки можно создавать, в том числе на текстовом языке высокого уровня и порядок выполнения блоков можно посмотреть и языков программирования поддерживается два.

Это ваш LD ущербный. Будут настоящие ФБ на ST+ то что уже есть FBD, больше вообще ничего не надо. Только баги убрать.
И с ПЛК надо переводить на ПЛК (там 5 языков), не надо с реле сравнивать.

melky
27.02.2023, 13:55
Видать ПЛК Дельта, которая только LD и умеет... :)

starmos
27.02.2023, 14:12
Delta конечно умеет не только LD, но с LD понятно сразу как оно и в каком порядке выполняется. Чего здесь нет. На LD я ставлю последовательно два контакта, один из которых НЗ, а здесь я должен поставить элемент И и ОТДЕЛЬНО инвертор и те же две переменные = объем исходного текста больше. Правда в нормальных системах можно просто указать инверсию на вывод, но не здесь. Впрочем, как я упомянул уже, в нормальных средах можно и вывод добавить и сделать 3И, 5и и т.д., а здесь надо новые компоненты добавлять. Недостатков здесь столько, даже без ошибок, что количество переходит в принципиальное отсутствие качества. Но пока делаешь что-нибудь примитивное (как я до этого) с подобным не сталкиваешься. Я понимаю что это программируемое реле, но вот зачем оно такое? Для собственно ПР, оно сильно дорого, а для альтернативы ПЛК = сильно неудобно. А ведь аппаратура позволяет. На Delte я с памятью работать могу, например, косвенная адресация и все это на LD, кстати. Я понимаю опять же - там ПЛК, но в чем суть ПР, если для этого надо задушить возможности прибора?

kondor3000
27.02.2023, 14:23
Delta конечно умеет не только LD, но с LD понятно сразу как оно и в каком порядке выполняется. Чего здесь нет. На LD я ставлю последовательно два контакта, один из которых НЗ, а здесь я должен поставить элемент И и ОТДЕЛЬНО инвертор и те же две переменные = объем исходного текста больше. Правда в нормальных системах можно просто указать инверсию на вывод, но не здесь. Впрочем, как я упомянул уже, в нормальных средах можно и вывод добавить и сделать 3И, 5и и т.д., а здесь надо новые компоненты добавлять. Недостатков здесь столько, даже без ошибок, что количество переходит в принципиальное отсутствие качества. Но пока делаешь что-нибудь примитивное (как я до этого) с подобным не сталкиваешься. Я понимаю что это программируемое реле, но вот зачем оно такое? Для собственно ПР, оно сильно дорого, а для альтернативы ПЛК = сильно неудобно. А ведь аппаратура позволяет. На Delte я с памятью работать могу, например, косвенная адресация и все это на LD, кстати. Я понимаю опять же - там ПЛК, но в чем суть ПР, если для этого надо задушить возможности прибора?

ПР сделан для простых проектов изначально, но оказалось, можно и крутые проекты намутить))

Если вы знаете только LD, берите ПЛК и пишите на LD. На CFC в ПЛК ( аналог FBD в лоджике), есть и инверсия и последовательность исполнения и добавление входов, выходов.
Но мой совет учите языки, то что на ST делается в одну строку, на LD может занять 3 листа.

starmos
27.02.2023, 14:39
ПР сделан для простых проектов изначально, но оказалось, можно и крутые проекты намутить))

Если вы знаете только LD, берите ПЛК и пишите на LD. На CFC в ПЛК ( аналог FBD в лоджике), есть и инверсия и последовательность исполнения и добавление входов, выходов.
Но мой совет учите языки, то что на ST делается в одну строку, на LD может занять 3 листа.

Я не говорю, что знаю ТОЛЬКО LD. Я говорю, что в случае ПР, LD является наиболее логичным выбором, т.к. ПР по идеологии как раз и предназначен для замены релейно-контактных схем, простых причем. Но и FBD можно вполне нормально использовать. Дело в том, что в текущем Лоджике все это реализовано максимально неудобным для пользователя образом. И да, очередность выполнения блоков имеет значение, для всех производителей, кроме ОВЕН видимо. Ну разве что опять же реализуемая программа максимально примитивна. Я до сего момента тоже рассматривал ПР200 как некую дешевую, но достойную альтернативу ПЛК. Больше нет и вообще ОВЕН больше нет, т.к. я сейчас делаю проект на ПЛК110 - там тоже масса негатива. Это видимо системное что-то.

kondor3000
27.02.2023, 14:54
Я не говорю, что знаю ТОЛЬКО LD. Я говорю, что в случае ПР, LD является наиболее логичным выбором, т.к. ПР по идеологии как раз и предназначен для замены релейно-контактных схем, простых причем. Но и FBD можно вполне нормально использовать. Дело в том, что в текущем Лоджике все это реализовано максимально неудобным для пользователя образом. И да, очередность выполнения блоков имеет значение, для всех производителей, кроме ОВЕН видимо. Ну разве что опять же реализуемая программа максимально примитивна. Я до сего момента тоже рассматривал ПР200 как некую дешевую, но достойную альтернативу ПЛК. Больше нет и вообще ОВЕН больше нет, т.к. я сейчас делаю проект на ПЛК110 - там тоже масса негатива. Это видимо системное что-то.

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

melky
27.02.2023, 16:06
starmos не нравится, не ешьте :)
з.ы. на счет ПЛК это вам больше не к Овен претензии, а к CodeSys. Как правило любой ПЛК с этой средой вам не понравится...

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

Если вы по тем или иным причинам вынуждены выбирать Owen или CodeSys в принципе, просто расслабьтесь и "получайте удовольствие" :)
Примерно в том же духе высказываются люди, которые из этой среды переходят в Дельту, Сименс и так далее....

Filini
01.03.2023, 07:25
Последнее и сейчас было бы полезно, учитывая, что вы позиционируете ПР200 как программируемое реле, которое логично бы и программировать на языке реле.

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

Рогов Алексей
02.03.2023, 10:30
Простите, что вмешиваюсь, и ПР и ОЛ замечательные вещи, после того, как плату с микросхемами по три раза перетравишь. После Лого- сказка - переменные на русском можно обозвать, пусть не по европейски - зато своё. А 5 или на ST на минуту. Ждём продолжения улучшения функционала.

Filini
02.03.2023, 15:14
Простите, что вмешиваюсь, и ПР и ОЛ замечательные вещи, после того, как плату с микросхемами по три раза перетравишь.

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


После Лого- сказка - переменные на русском можно обозвать, пусть не по европейски - зато своё. А 5 или на ST на минуту. Ждём продолжения улучшения функционала.

Что там с ценой, она как у Овен? Упс, оказывается дороже, но написали только про "переменные на русском можно обозвать".

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

1exan
03.03.2023, 07:36
Добавьте возможность сортировки в окне "Макросы проекта" и на панели переменных - найти нужный элемент иногда бывает трудно (даже при использовании папок в макросах).
В окне с функциями тоже непонятно, как будет всё упорядочено - там даже возможность задания папок отсутствует

AlexQ
09.03.2023, 00:29
Доброго Здоровья, Господа!
Очень хочется чтобы при отладке сохранялись сетевые переменные, не сбрасывались в 0.
Требуется поправить какую ни будь мелочь, и приходиться заново набивать огромное количество переменных и умудриться при этом не ошибиться.
Спасибо.

Rask
09.03.2023, 11:09
Доброго Здоровья, Господа!
Очень хочется чтобы при отладке сохранялись сетевые переменные, не сбрасывались в 0.
Требуется поправить какую ни будь мелочь, и приходиться заново набивать огромное количество переменных и умудриться при этом не ошибиться.
Спасибо.
Да кстати хорошо бы было, если бы возможность в ПР200 выставлять начальное значение сетевых переменных как в ПР103. Удобно весьма.

игорь68
23.03.2023, 16:09
В сто тысяч пятисотый раз. Возможность распечатки дерева переходов между экранами. И сам экраны.

1exan
23.03.2023, 17:15
В сто тысяч пятисотый раз. Возможность распечатки дерева переходов между экранами. И сам экраны.

Само по себе дерево из OL даже в распечатанном виде вряд ли кому-то добавит понимания.
Посмотрите, например, как выглядят инструкции к навигации по экранам у овена в КТР.
Экраны же отлично скринятся из OL, или можно взять LCD шрифт и набрать им текст в ворде для инструкции.

b-s-a
03.04.2023, 16:02
В окне таблицы переменных есть сортировка по каждому из столбцов
Вы пробовали делать проект на OL? Вот вы его делаете, надо добавить переменную где-то из середины списка. Сейчас вы создаете блок, например, чтения, кликаете дважды на нем, открывается экран переменных, щелкаете на сортировку по имени, ищите, выбираете, жмете "ОК". А хотелось бы: (щелкаете сортировку по имени), находите в списке переменную, вытягиваете на рабочее поле. Сейчас, конечно, зачастую приходится пользоваться фильтром - он ускоряет работу (но приходится отвлекаться на клавиатуру), хотя иногда OL впадает в ошибку и начинает обращаться не к той памяти, если что-то в фильтре введено.

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

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

И еще, как программист программистам, слушайте пользователей вашего ПО! Зачастую они его используют так, как вы себе и в страшном сне представить не могли.

Dimensy
03.04.2023, 19:06
Вы пробовали делать проект на OL? Вот вы его делаете, надо добавить переменную где-то из середины списка. Сейчас вы создаете блок, например, чтения, кликаете дважды на нем, открывается экран переменных, щелкаете на сортировку по имени, ищите, выбираете, жмете "ОК". А хотелось бы: (щелкаете сортировку по имени), находите в списке переменную, вытягиваете на рабочее поле. Сейчас, конечно, зачастую приходится пользоваться фильтром - он ускоряет работу (но приходится отвлекаться на клавиатуру), хотя иногда OL впадает в ошибку и начинает обращаться не к той памяти, если что-то в фильтре введено.

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

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

И еще, как программист программистам, слушайте пользователей вашего ПО! Зачастую они его используют так, как вы себе и в страшном сне представить не могли.

Не, ну порядок входов/выходов в макросе можно поменять без проблем - есть там кнопка. А вот поменять порядок обхода переменных на экране ПР200 кнопкой SEL нельзя - и вот это хотелось бы исправить

1exan
04.04.2023, 04:39
Не, ну порядок входов/выходов в макросе можно поменять без проблем - есть там кнопка. А вот поменять порядок обхода переменных на экране ПР200 кнопкой SEL нельзя - и вот это хотелось бы исправить

Порядок выбора переменных на экране, как я понял, зависит от взаимного расположения этих элементов (выше/ниже, над/под). Хотя в явном виде задать/изменить порядок расположения на дисплее нельзя, его можно поменять копированием элементов экрана и их обратной вставкой в нужной последовательности.
В ПР205 вроде будет возможность изменения порядка элементов на экране

b-s-a
04.04.2023, 10:24
Не, ну порядок входов/выходов в макросе можно поменять без проблем - есть там кнопка.А вы пробовали? У меня не получается. На эту кнопку вообще реакции нет.

А вот поменять порядок обхода переменных на экране ПР200 кнопкой SEL нельзя - и вот это хотелось бы исправитьМне такое и в голову не приходило. У меня не более 2 параметров одновременно на экране, поэтому порядок обхода не критичен.

Dimensy
04.04.2023, 11:23
А вы пробовали? У меня не получается. На эту кнопку вообще реакции нет.

Выставляете порядок входов/выходов как вам требуется, активируете кнопку, сохраняете макрос, деактивируете кнопку

b-s-a
05.06.2023, 23:40
Выставляете порядок входов/выходов как вам требуется, активируете кнопку, сохраняете макрос, деактивируете кнопку

Попробовал - не работает. У меня проект ПР200.

1exan
06.06.2023, 05:03
Попробовал - не работает. У меня проект ПР200.

Последовательность немного другая: активируете кнопку -> меняете порядок -> сохраняете макрос

ProRus
06.06.2023, 07:48
А у вас кроме fSEL'ов в программе что-нибудь с этими переменными есть? Ну, какое-нибудь сложение, умножение?

1) Работа с плавающей точкой на ПР200 очень медленная (т.к. поддержки плавающей точки в железе нет, и работает за счёт эмуляции). Поэтому, если в программе используется fADD/fMUL и т.п. операции, то никакая оптимизация fSEL не спасёт.
2) Возможно, программисты ОЛ поленились добавлять fSEL в прошивку ПР, и реализовали fSEL(a,b,c) как a*c + (1-a)*b. Если действительно так, то это может объяснять почему fSEL тормозит. Но всё равно: у вас не только fSEL'ы же в программе?

Владимир, а в ПР102 такая же история?
Насколько функции умножения, сложения, вычитания с плавающей точкой медленнее функций работы с целочисленными?
Просто у меня в программе более 500 таких вычислений и работа действительно притормаживает.
Возможно серьезно оптимизировать скорость заменив данные функции?
Может есть где информация какие функции работают быстрее, а какие медленнее?
Или как такую информацию узнать или протестировать?