PDA

Просмотр полной версии : Фичи и баги OWEN Logic



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

ParuSnow
04.08.2017, 09:40
Всё заработало надо было просто открыть рабочий проект:) и ОЛ снова работает.

Project M
04.08.2017, 10:58
Здравствуйте, господа разработчики!

Есть такая ,странная, ситуация:
Нарисован макрос памяти. Внутри энергонезависимые переменные хранения. Для них разрешена установка значений по умолчанию извне.

32425

Бросаю макросы в проект, устанавливаю значения по умолчанию,

32426

32429

сохраняю и закрываю проект...


...Открываю проект.

32427

32428

... м-да. Ввожу 80 параметров по умолчанию с изнова. И так каждый раз. Крайне не удобно :mad:


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

capzap
04.08.2017, 11:38
Здравствуйте, господа разработчики!

Есть такая ,странная, ситуация:
Нарисован макрос памяти. Внутри энергонезависимые переменные хранения. Для них разрешена установка значений по умолчанию извне.

32425

Бросаю макросы в проект, устанавливаю значения по умолчанию,

32426

32429

сохраняю и закрываю проект...


...Открываю проект.

32427

32428

... м-да. Ввожу 80 параметров по умолчанию с изнова. И так каждый раз. Крайне не удобно :mad:


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

Я вот не понял, Вы потребовали энергонезависимости от ОЛ,а не от ПР?

Владимир Ситников
04.08.2017, 11:53
Я вот не понял, Вы потребовали энергонезависимости от ОЛ,а не от ПР?

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

Project M
04.08.2017, 12:04
Требуют, чтобы значения сохранялись при сохранении проекта.
Сейчас сохраняешь, закрываешь файл, открываешь, и "Миша, всё фигня, давай по новой"

Благодарю, Владимир, именно это и есть основная потребность моего обращения. :)

capzap
04.08.2017, 14:00
Ну вроде все логично. Я думал у меня в дороге картинки не открываются, но они вроде сами по себе так отредактированы. По этому думал про какое то свойство в симуляторе идёт речь, на подобие rw в вейнтековских панелей.

ParuSnow
06.08.2017, 19:50
Кстати когда пустой экран ОЛ и не чего не Грузиит !
32457
Есть решение проблемы:)

У меня находится тут!
C:\Users\simple\AppData\Roaming\OWEN\OWEN Logic
Просто удалите из данной папки XMLы и всё
Как-то так;)

katozzz
07.08.2017, 17:02
Добрый день, подскажите, как в ОЛ менять размер блока и рамки переменной (чтобы полное имя не пряталось).32497

katozzz
07.08.2017, 17:23
Спасибо! Надеюсь это кому-нибудь еще поможет :)

Василий Кашуба
07.08.2017, 18:12
ОЛ-9-111. Проблемка с заменой макроса: не получается распространение изменения в макросе на другие проекты. Если в одном проекте макрос подредактировал и хочу перенести его в другой где тоже макрос с таким именем есть, то экспортирую в файл и из другого проекта импортирую. Но он не меняется, потому что такой есть. Полностью удаляю его из проекта и из списка макросов и снова импортирую из файла- всё равно вставляет старую версию.
Посмотрите ОЛ-9-125, в нём это наверное исправили.

Василий Кашуба
07.08.2017, 18:23
ОЛ-9-111. Проблемка с заменой макроса: не получается распространение изменения в макросе на другие проекты. Если в одном проекте макрос подредактировал и хочу перенести его в другой где тоже макрос с таким именем есть, то экспортирую в файл и из другого проекта импортирую. Но он не меняется, потому что такой есть. Полностью удаляю его из проекта и из списка макросов и снова импортирую из файла- всё равно вставляет старую версию.
Макрос нужно "сохранять как" и лучше всего с другим именем.

ParuSnow
07.08.2017, 18:30
Макрос нужно "сохранять как" и лучше всего с другим именем.
С другим именем в Свойствах:)
32500

wal79
08.08.2017, 14:16
ОЛ-9-111. Проблемка с заменой макроса: не получается распространение изменения в макросе на другие проекты. Если в одном проекте макрос подредактировал и хочу перенести его в другой где тоже макрос с таким именем есть, то экспортирую в файл и из другого проекта импортирую. Но он не меняется, потому что такой есть. Полностью удаляю его из проекта и из списка макросов и снова импортирую из файла- всё равно вставляет старую версию. Менять имя в свойствах не приемлю, имя должно быть одинаковым.

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

Попробовал повторить в 1.9.131. Создал проект, создал макрос с именем "1". Экспортировал его. Затем создал другой проект, импортировал в него этот макрос. Вставил в схему. Открыл макрос в режиме редактирования, изменил его логику, сохранил. Затем вернулся на схему проекта, убедился, что логика изменилась. Удалил его из схемы и из библиотеки. Импортировал вновь макрос из файла, вставил в схему и убедился, что макрос с прежней логикой успешно импортировался. Я все так сделал, как Вы описали?

Эдуард_Н
08.08.2017, 15:16
Что новенького в версии 1.9.131 ?

wal79
09.08.2017, 10:42
Не так. Правда в моем случае в макросе был еще макрос FSEL, я его поменял при редактировании на ФБ fSEL. Может из-за вложенного макроса проблема замены? Нужно чтобы новая логика была переведена в другой проект, где есть макрос с тем же именем, но старой логикой, чтобы он тоже стал с новой логикой.

Через "Сохранить как" пробовали? Сохранить как позволяет сохранить тот же макрос, но уже с другими идентификационными данными.

wal79
09.08.2017, 10:42
Что новенького в версии 1.9.131 ?

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

Project M
11.08.2017, 09:29
Здравствуйте.

В последней версии OL испортился элемент визуализации "Метка".

При кол-ве символов меньше пяти, рамка размер не меняет, за границы не сдвигается и не раздвигается. :eek:

32579

32580

32581

Также не работает копирование и вставка элементов визуализации из разных проектов (хотя раньше работала без проблем)
Копирую отсюда:

32583

вставляю в новый проект:

32584

в пределах одного проекта всё вставляется.

wal79
11.08.2017, 12:46
Здравствуйте.

В последней версии OL испортился элемент визуализации "Метка".

При кол-ве символов меньше пяти, рамка размер не меняет, за границы не сдвигается и не раздвигается. :eek:

32579

32580

32581

Также не работает копирование и вставка элементов визуализации из разных проектов (хотя раньше работала без проблем)
Копирую отсюда:

32583

вставляю в новый проект:

32584

в пределах одного проекта всё вставляется.

В какой версии Вы работали и на какой перестало работать?

Project M
11.08.2017, 14:36
Перестало работать после обновления до 1.9.131.11355

Скачал последнее обновление сегодня 1.9.134.11417
Такое-же поведение в новых проектах.

wal79
11.08.2017, 14:48
Перестало работать после обновления до 1.9.131.11355

Скачал последнее обновление сегодня 1.9.134.11417
Такое-же поведение в новых проектах.

Ок, подтверждаю. Будем исправлять.

pop70
11.08.2017, 18:08
http://www.owen.ru/forum/showthread.php?t=12264&p=253133&viewfull=1#post253133
Как было, так и осталось

wal79
14.08.2017, 09:34
http://www.owen.ru/forum/showthread.php?t=12264&p=253133&viewfull=1#post253133
Как было, так и осталось

А разве в списке последних изменений был этот баг? Нет, не был. Он не исправлялся, так как не является критическим. Сейчас ведется работа только над критическими багами.

pop70
14.08.2017, 10:45
А разве в списке последних изменений был этот баг? Нет, не был. Он не исправлялся, так как не является критическим. Сейчас ведется работа только над критическими багами.
Вроде, где-то в изменениях прочитал про исправление некорректного поведения после перемещения границ. Может, это не про это...

wal79
14.08.2017, 15:30
Вроде, где-то в изменениях прочитал про исправление некорректного поведения после перемещения границ. Может, это не про это...

В визуализации. Но насчет визуализации есть еще баг с границами.

Эдуард_Н
21.08.2017, 04:15
Где и что исправлять?3272532726

Эдуард_Н
21.08.2017, 04:19
И кнопку закрытия надо на самих закладках сделать.

melky
21.08.2017, 09:05
Эдуард_Н - может с inc надо ЛЗ сделать, а не запись в него ?

wal79
21.08.2017, 09:52
Где и что исправлять?3272532726

Проект в личку или сюда киньте. Посмотрю...

Эдуард_Н
21.08.2017, 10:58
Проект в личку или сюда киньте. Посмотрю...

Проект не мой, просто проглядывал и обратил внимание на это.

Василий Кашуба
21.08.2017, 12:37
Проект в личку или сюда киньте. Посмотрю...
Этот баг из-за этой связи.
32741

Эдуард_Н
21.08.2017, 13:22
Этот баг из-за этой связи.
32741

А ОЛ почему его не выделил?

Владимир Ситников
21.08.2017, 13:38
А ОЛ почему его не выделил?

Баг и состоит в том, что "неправильно обнаруживается проблемная связь".

wal79
21.08.2017, 14:25
Проект не мой, просто проглядывал и обратил внимание на это.

Ага, есть... тонкий момент, но важный. Спасибо, внес коррективы в анализ. В следующем релизе.

wal79
21.08.2017, 14:29
Баг и состоит в том, что "неправильно обнаруживается проблемная связь".

ОЛ ее обнаружил, но подсветил не то, что надо. Лоджик обнаруживает последнюю замыкающую связь. И если она глубоко в макросе, то согласно разработанному алгоритму должен был подсветить последнюю внешнюю связь. Вот тут то и была несогласованность задуманного алгоритма и реализации. Помарка исправлена. В данном случае лоджик последнюю замыкающую внешнюю связь определил "PWM1 - fMUL".

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

Владимир Ситников
21.08.2017, 17:41
Вот тут то и была несогласованность задуманного алгоритма и реализации. Помарка исправлена. В данном случае лоджик последнюю замыкающую внешнюю связь определил "PWM1 - fMUL".
По-моему, в конкретном случае "самая сомнительная связь" это "чтение из переменной result --> fLIMIT2" и именно её ОЛ должно подкрашивать / предлагать заменить на задержку.
Объяснение следующее:
"для того, чтобы вычислить результат, который нужно записать в result" нужно выполнить fADD, а для вычисления fADD нужен результат "ЛЗ от чтения current" (тут дальнейший анализ "как вычисляется current" не нужен, т.к. значение приходит с прошлого цикла) и результат "fMUL".
Так мы разворачиваем цепочку и в итоге доходим до "для того, чтобы вычислить fLIMIT2 нужно знать результат чтения current", но ведь current ещё не вычислено, значит цикл, и как раз эту связь и объявляем как "циклообразующую".

Что по-вашему называется "последней" связью?

wal79
22.08.2017, 10:30
По-моему, в конкретном случае "самая сомнительная связь" это "чтение из переменной result --> fLIMIT2" и именно её ОЛ должно подкрашивать / предлагать заменить на задержку.
Объяснение следующее:
"для того, чтобы вычислить результат, который нужно записать в result" нужно выполнить fADD, а для вычисления fADD нужен результат "ЛЗ от чтения current" (тут дальнейший анализ "как вычисляется current" не нужен, т.к. значение приходит с прошлого цикла) и результат "fMUL".
Так мы разворачиваем цепочку и в итоге доходим до "для того, чтобы вычислить fLIMIT2 нужно знать результат чтения current", но ведь current ещё не вычислено, значит цикл, и как раз эту связь и объявляем как "циклообразующую".

Что по-вашему называется "последней" связью?

Последняя для лоджика связь в цикле. Та связь, которая является для лоджика повторюсь замыкающей. Насчет какая связь должна быть ЛЗ должен решать сам разработчик программы.

Project M
22.08.2017, 10:49
Здравствуйте!

Давно хочу обратить ваше внимание на следующий бачог.

32774

повторяемость одних и тех же переменных.

И было бы крайне удобно ввести служебную переменную idScreen, содержащую id отображаемого в данный момент экрана.

wal79
22.08.2017, 10:53
Здравствуйте!

Давно хочу обратить ваше внимание на следующий бачог.

32774

повторяемость одних и тех же переменных.

И было бы крайне удобно ввести служебную переменную idScreen, содержащую id отображаемого в данный момент экрана.

Так, как получилось так? Можете описать действия, чтобы мне возобновить. Насчет Id экрана - да, да, давнешняя тема. В оперативном плане к 1.10 есть такая задача. Пока еще не приступали.

Владимир Ситников
22.08.2017, 11:22
Последняя для лоджика связь в цикле. Та связь, которая является для лоджика повторюсь замыкающей. Насчет какая связь должна быть ЛЗ должен решать сам разработчик программы.
Да, увидел на более полной картинке (http://www.owen.ru/forum/attachment.php?attachmentid=32725&d=1503278116), что цикл по факту состоит из "Q3 <- fLIMIT3 <- fADD <-...<- Q+ <- PWM1 <- fLIMIT2 <- fLIMIT1 <- result <- fADD <- fMUL <- PWM1" и поэтому связь PWM1-fMUL и объявляется как причина всех бед.

Project M
22.08.2017, 14:02
Так, как получилось так? Можете описать действия, чтобы мне возобновить.

М... Так ничего не делал. Как перешёл с OL 1.8 на OL 1.9, так всё и стало :) Даже по необходимости делал полное удаление OL и .NET с использованием сторонних процедур.
Устанавливал с нуля и то и другое, всё тоже самое.

RomX
22.08.2017, 14:52
Уже три глюка: 1. При попытке отладки макроса в первый раз наблюдается такое сообщение (см. приложение) со второго раза отладка запускается. 2. Переменные, которые передавались вложенным макросам через параметр после открытия в новой версии сбросили свое состояние на значение по умолчанию. 3. Изменил макрос (уменьшилось количество входов) компилятор не выделил красным ранее установленные как подлежащие замене (Kn_Ttr7 новый и ост. Kn_Ttr старые). Все относится к последней версии 11503.
И финальный глюк: основная программа - не работает отладка!!! Сообщение тоже. Предыдущая версия этот файл не принимает. Что делать?!!!

wal79
23.08.2017, 15:42
Уже три глюка: 1. При попытке отладки макроса в первый раз наблюдается такое сообщение (см. приложение) со второго раза отладка запускается. 2. Переменные, которые передавались вложенным макросам через параметр после открытия в новой версии сбросили свое состояние на значение по умолчанию. 3. Изменил макрос (уменьшилось количество входов) компилятор не выделил красным ранее установленные как подлежащие замене (Kn_Ttr7 новый и ост. Kn_Ttr старые). Все относится к последней версии 11503.
И финальный глюк: основная программа - не работает отладка!!! Сообщение тоже. Предыдущая версия этот файл не принимает. Что делать?!!!

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

RomX
23.08.2017, 15:51
Высылаю...
Почти все заработало после того как удалил глючные элементы указанные в п.3. предыдущего сообщения. На отладке сейчас не работает только вход I1. Пишет чтото про индексы.
И это решено. Глюк исчез после того как нормально сделал блок 7или. до того последний ввод в макросе не был подцеплен.

wal79
24.08.2017, 07:48
Высылаю...
Почти все заработало после того как удалил глючные элементы указанные в п.3. предыдущего сообщения. На отладке сейчас не работает только вход I1. Пишет чтото про индексы.
И это решено. Глюк исчез после того как нормально сделал блок 7или. до того последний ввод в макросе не был подцеплен.

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

Василий Кашуба
24.08.2017, 09:38
В симуляторе ОЛ1.9.139, после выключения не сбрасываются ранее заданные параметры, и при повторном включении симулятора все старые задания остаются.

wal79
24.08.2017, 09:48
В симуляторе ОЛ1.9.139, после выключения не сбрасываются ранее заданные параметры, и при повторном включении симулятора все старые задания остаются.

Это фича по желанию наших пользователей.
Она Вам мешает или вносит путаницу?

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

Эдуард_Н
24.08.2017, 11:12
Что нового в ОЛ1.9.139?

wal79
24.08.2017, 14:25
Высылаю...
Почти все заработало после того как удалил глючные элементы указанные в п.3. предыдущего сообщения. На отладке сейчас не работает только вход I1. Пишет чтото про индексы.
И это решено. Глюк исчез после того как нормально сделал блок 7или. до того последний ввод в макросе не был подцеплен.

А этот проект был создан в 139 билде лоджика или в более ранней версии?

wal79
24.08.2017, 14:26
Просто привык к прежнему поведению симулятора и решил что это баг.

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

wal79
24.08.2017, 14:26
Что нового в ОЛ1.9.139?

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

wal79
24.08.2017, 15:04
Высылаю...
Почти все заработало после того как удалил глючные элементы указанные в п.3. предыдущего сообщения. На отладке сейчас не работает только вход I1. Пишет чтото про индексы.
И это решено. Глюк исчез после того как нормально сделал блок 7или. до того последний ввод в макросе не был подцеплен.

У Вас макрос KnTtr был с 4 входами, а стал с 3. Так? Вы его заменяли на схеме в итоге?

anthrwpos
24.08.2017, 15:05
Такая вот ерунда: выход с одного макроса не попадает на другой.
32812
Сам проект
32813

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

Project M
25.08.2017, 08:46
Такая вот ерунда: выход с одного макроса не попадает на другой.


Да. Интересненько. Кстати, если убрать линию задержки, всё работает. Либо заменить линию задержки на простую, тоже работает.

wal79
25.08.2017, 09:04
Да. Интересненько. Кстати, если убрать линию задержки, всё работает. Либо заменить линию задержки на простую, тоже работает.

Да, работаю в данный момент над этим. Здесь злосчастная "прозрачность" макроса сыграла роль. Мои тесты пока не все многообразие проектов пока покрывает. Вот еще на один пополнится.

anthrwpos
25.08.2017, 13:07
Да. Интересненько. Кстати, если убрать линию задержки, всё работает. Либо заменить линию задержки на простую, тоже работает.

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

wal79
25.08.2017, 17:00
неа, не работает.
-1 вместо 0,1 не пишет, но сам макрос делает какую-то ерунду. (вчера он открывался-закрывался по несколько раз, сегодня открывается на 1 секунду раз в 3 минуты вместо того, чтобы за 3 подхода спозиционировать в заданное положение). Заходишь в сам макрос, выставляешь на входы те-же параметры - работает как положено.
Так что это вероятно более глобальный баг, чем ошибка подачи выхода на вход.

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

Василий Кашуба
25.08.2017, 17:45
Такая вот ерунда: выход с одного макроса не попадает на другой.
32812
Сам проект
32813

И сам макрос работает неадекватно (на симуляции точно, на железе еще не проверял). Понаблюдайте, у него скочат выходы то в ту то в обратную сторону. Если зайти в сам макрос и там просимулировать, введя те-же входящие параметры, то такого поведения нет.
И ещё один баг внутри ФБ VLV1, в режиме симуляции. 32832

anthrwpos
25.08.2017, 19:59
Принятие решения по поводу "прозрачности" макросов было крайней ошибкой.

А что такое эта самая прозрачность макроса?

pop70
26.08.2017, 16:24
Принятие решения по поводу "прозрачности" макросов было крайней ошибкой. После более глубокого изучения этого вопроса прозрачность будет убрана. Для анализатора схемы никакой прозрачности быть не может. Тогда Ваша схема работает исправно. Постараюсь в ближайшее время выложить.
Угу.
Я Вас сразу предупреждал.
Тупиковый путь.
Либо при анализе неявно "разворачивать" макрос, и анализировать схему с "подставленными" макросами, т.е. без макросов как таковых, либо никакой "прозрачности".
Вот бы ещё как-то победить необходимость переподставлять макрос в схему после редактирования макроса... :)

wal79
26.08.2017, 22:20
Угу.
Я Вас сразу предупреждал.
Тупиковый путь.
Либо при анализе неявно "разворачивать" макрос, и анализировать схему с "подставленными" макросами, т.е. без макросов как таковых, либо никакой "прозрачности".
Вот бы ещё как-то победить необходимость переподставлять макрос в схему после редактирования макроса... :)

Ну тут можно долго разглагольствовать о том кто о чем говорил и предупреждал. Владимиром тогда было высказано как замечание, я глубоко тогда не копнул. Я рассматриваю любое ваше пожелание или замечание. Либо соглашаюсь с ним либо отвергаю. Тогда мне показалось заманчивой затеей, хотя повторюсь что никогда не говорил что макрос абсолютно прозрачен. Видимо меня не так поняли. Анализатор (транслятор) конечно же должен учитывать макрос . Макрос для него как inline функция. И представленное Владимиром предложение о "прозрачности" макроса в итоге концептуально неверно. Сейчас, посовещавшись со специалистами в предметной области, я удостоверился что мои сомнения оправданы. Схемы в том варианте и должны работать по разному.

RomX
27.08.2017, 07:50
У Вас макрос KnTtr был с 4 входами, а стал с 3. Так? Вы его заменяли на схеме в итоге?

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

pop70
27.08.2017, 12:32
Ну тут можно долго разглагольствовать о том кто о чем говорил и предупреждал.
Да не. Я ж не в укор.
Меня как раз по тому предложению и напрягло то, что макрос в общем случае НЕ ФУНКЦИЯ, а, как минимум, ПРОЦЕДУРА (а ещё точнее - объект, имеющий "собственное состояние"). А анализ схемы ведётся как для функции. Поэтому устранить неоднозначность поведения с обратными связями "вокруг макроса", пытаясь учитывать обратные связи внутри него ("прозрачность" без развёртывания), как минимум, очень сложно, как максимум невозможно.

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

wal79
28.08.2017, 09:18
И ещё один баг внутри ФБ VLV1, в режиме симуляции. 32832

А в окне просмотра переменных что показывают переменные inc и saw?

wal79
28.08.2017, 09:26
Да не. Я ж не в укор.
Меня как раз по тому предложению и напрягло то, что макрос в общем случае НЕ ФУНКЦИЯ, а, как минимум, ПРОЦЕДУРА (а ещё точнее - объект, имеющий "собственное состояние"). А анализ схемы ведётся как для функции. Поэтому устранить неоднозначность поведения с обратными связями "вокруг макроса", пытаясь учитывать обратные связи внутри него ("прозрачность" без развёртывания), как минимум, очень сложно, как максимум невозможно.

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

Вы не правы. Изменив количество входов Вы меняете сигнатуру функции. Здесь должны быть вмешательство со стороны пользователя. А если Вы меняете только тело функции, то переустановка макроса на схеме и не требуется. Единственно, есть баг, к сожалению существующий уже на протяжении не одного релиза, если редактируете макрос со вложенностью более 1, то в том макросе, где используется редактирующийся макрос обновление сразу не наступит. Нужно будет заново переоткрыть макрос. Об этом я знаю, и надеюсь будет время в ближайшие сроки исправить.

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

wal79
28.08.2017, 09:33
Изначально отредактировал макрос. Убрал вход. При этом обычно другие экземпляры макросов подсвечиваются красным и их надо перевставлять. Тут этого не произошло. В дальнейшем я их перевставил и баг прошел.

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

pop70
28.08.2017, 11:34
Вы не правы. Изменив количество входов Вы меняете сигнатуру функции. Здесь должны быть вмешательство со стороны пользователя.
Не обязательно. В ОЛ неиспользуемые входы инициализируются 0. Ошибки не будет, если новый вход будет никуда не подключен.
Если входов уменьшится, то просто связь к удалённому входу "повиснет в воздухе". Т.е., просто удалится.
Т.е., на языке .net все макросы имеют на входах значения "по умолчанию". Добавляется входная переменная, инициализированная по умолчанию 0 - и никаких ошибок, и от пользователя ничего не требуется.
Перерисовать в схему новый фб вместо старого - тоже никаких проблем быть не должно.
Ну так мне кажется. Хотя, Вам "изнутри" виднее, конечно.

anthrwpos
28.08.2017, 12:53
Вы не правы. Изменив количество входов Вы меняете сигнатуру функции.
Вообще по общепринятой терминологии, макрос - это идентификатор, который транслируется в некий неизменный участок кода.
Сколько раз его транслятор встретит - столько раз вместо него вставит этот участок.
Функция - это идентификатор, который компилируется в адрес вызова, по которому начинается сама функция.

У нас в ОЛ таки макросы или функции?=)

upd: Ура, сами макросы работают адекватно. Но появился новый бажок - не отслеживается состояние флоат переменных.32860
Проект тот-же, на картинке внутренности макроса VLV

wal79
28.08.2017, 14:26
Вообще по общепринятой терминологии, макрос - это идентификатор, который транслируется в некий неизменный участок кода.
Сколько раз его транслятор встретит - столько раз вместо него вставит этот участок.
Функция - это идентификатор, который компилируется в адрес вызова, по которому начинается сама функция.

У нас в ОЛ таки макросы или функции?=)

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

wal79
28.08.2017, 14:29
Не обязательно. В ОЛ неиспользуемые входы инициализируются 0. Ошибки не будет, если новый вход будет никуда не подключен.
Если входов уменьшится, то просто связь к удалённому входу "повиснет в воздухе". Т.е., просто удалится.
Т.е., на языке .net все макросы имеют на входах значения "по умолчанию". Добавляется входная переменная, инициализированная по умолчанию 0 - и никаких ошибок, и от пользователя ничего не требуется.
Перерисовать в схему новый фб вместо старого - тоже никаких проблем быть не должно.
Ну так мне кажется. Хотя, Вам "изнутри" виднее, конечно.

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

wal79
28.08.2017, 14:31
upd: Ура, сами макросы работают адекватно. Но появился новый бажок - не отслеживается состояние флоат переменных.32860
Проект тот-же, на картинке внутренности макроса VLV

А разве раньше было по другому?

Ладно, не буду дожидаться ответа. Видимо не все знакомы с watch list-ом переменнных. На скрине я вижу, что Вы добавили в список несуществующие переменные для прибора (я их называю виртаульными). В просмотрщике мы видим реальные переменные. Допустимые на запись можно редактировать, в противном случае только на чтение.

wal79
28.08.2017, 14:40
А разве раньше было по другому?

Ладно, не буду дожидаться ответа. Видимо не все знакомы с watch list-ом переменнных. На скрине я вижу, что Вы добавили в список несуществующие переменные для прибора (я их называю виртаульными). В просмотрщике мы видим реальные переменные. Допустимые на запись можно редактировать, в противном случае только на чтение.

Но для того, чтобы было более понятно, подсказки вставлю поясняющие.

anthrwpos
28.08.2017, 15:29
Видимо не все знакомы с watch list-ом переменнных. На скрине я вижу, что Вы добавили в список несуществующие переменные для прибора (я их называю виртаульными). В просмотрщике мы видим реальные переменные.
Хм, совсем непонятно, о чем идет речь.
Вроде бы по всем свойствам переменная OUT+, состояние которой показывается в просмотрщике эквивалентна переменной current, которая всегда отображается как 0. Не могу придумать между ними разницы, по которой вторая могла бы быть виртуальной.

wal79
29.08.2017, 07:54
Хм, совсем непонятно, о чем идет речь.
Вроде бы по всем свойствам переменная OUT+, состояние которой показывается в просмотрщике эквивалентна переменной current, которая всегда отображается как 0. Не могу придумать между ними разницы, по которой вторая могла бы быть виртуальной.

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

Владимир Ситников
29.08.2017, 11:09
Если внимательно прочитаете, то я сказал inline функция.

Можете ещё какими-нибудь словами мысль выразить?

Термин "inline функция", полагаю, подразумевается из C/C++. Но совершенно непонятно почему вы напираете на слово inline.
Дело в том, что в этих языках наличие или отсутствие модификатора inline не влияет на результат программы.

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


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

В классическом (C, LISP) понимании, "макрос" существенно отличается от "функции" тем, что его аргументы вычисляются после подстановки самого макроса.
Например, макрос в C после подстановки внезапно может сослаться на объявленную вне макроса переменную (просто по имени), а функция (в том числе inline) так не может.
Или так:


#define MUL(x, y) x*y

int inline mul(int x, int y) {
return x * y;
}

...
MUL(2+2, 2); // вернёт 6, т.к. 2+2*2 (сначала подстановка макроса, а потом вычисление)
mul(2+2, 2); // вернёт 8, т.к. mul(4, 2) == 4*2 == 8 (аргументы функции вычисляются до начала её работы)


Поэтому интересна семантика макросов, а не детали реализации компилятора.
Например, сейчас нигде толком не описано как происходят вычисления ОЛ схем. От входов к выходам? От выходов ко входам? Макрос вычисляется "весь целиком" или только те выходы, которые реально понадобились? Выходы вычисляются "одновременно" или только в те моменты как понадобились?

Владимир Ситников
29.08.2017, 11:19
Вообще по общепринятой терминологии, макрос - это идентификатор, который транслируется в некий неизменный участок кода.
Сколько раз его транслятор встретит - столько раз вместо него вставит этот участок.
Функция - это идентификатор, который компилируется в адрес вызова, по которому начинается сама функция.
Расскажите, пожалуйста, в какой литературе используется такая терминология.
В C, C++, LISP, Scala понятие макроса и функции кардинально отличаются от того, что вы тут пишете.

Прежде чем жонглировать понятиями макроса-функции разберитесь с самими понятиями: https://ru.wikibooks.org/wiki/%D0%9B%D0%B8%D1%81%D0%BF/%D0%9C%D0%B0%D0%BA%D1%80%D0%BE%D1%81%D1%8B, http://alenacpp.blogspot.ru/2005/01/blog-post_28.html и т.д.

Владимир Ситников
29.08.2017, 11:46
Вы не правы. Изменив количество входов Вы меняете сигнатуру функции. Здесь должны быть вмешательство со стороны пользователя.

2 бага (1.9.141.11543):
Баг №1

1. Создаём макрос (2 входа, 1 выход)
2. Сохраняем проект. Исходное состояние: проект пустой, но наверху есть вкладка редактора макроса.
3. Переключаемся на редактирование макроса.
4. Нажимаем "добавить выход"
5. Переключаемся на основную схему. Важно: до переключения ничего не делать. Только переключиться
6. Сохраняем проект.
7. Добавляем макрос на полотно.

Результат: макрос добавился с одним выходом
Ожидается: должно быть 2 выхода, т.к. на шаге 4 был добавлен.

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


Баг №2
0. Берём схему, использующую макрос.
1. Добавляем выход к макросу
2. Удаляем выход у макроса
3. Сохраняем проект.

Результат: ошибка "выделенные элементы были модифицированы, требуется их заменить".
По факту же, ничего не изменилось, значит и ошибка лишняя.



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

Если под вмешательством подразумевается "посмотреть и одобрить", то в этом какая-то логика есть.
А вот переподключать вручную -- немного странно.

Если вы говорите про "сигнатуры функций", то напомню как в C / ST работают подобные действия. Там функцию можно вообще полностью удалить и написать заново. Если сигнатура подойдёт, то всё заработает само собой. Если же сигнатура не совпадёт (например, добавился 1 аргумент), то достаточно будет в вызывающем месте добавить этот самый аргумент и всего делов. Иными словами, изменение сигнатур не требует ходить, удалять и переписывать с нуля все места, где был вызов функции.

RomX
29.08.2017, 11:56
Мда... Чудеса. Видимо есть какой-то сценарий, когда макрос не отметился как критически измененный. Не могли бы Вы воспроизвести и описать последовательность действий прямо по-шагово.

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

Сейчас проявилась новая проблема, хотя ранее я ее не замечал ошибки со стеком. Сегодня загружаю V3.2 - "Внутренняя ошибка код 2 обращение к стеку". Пробую V3.1 - "Стек пуст" В версии V3 ошибок нет.
Стал удалять макросы по одному, затем нажимая отмена. Удалил макросы ErrCatch ошибка исчезла. Начал отмену ошибка не вернулась.

Заметил, что если подсвеченный красным макрос, который был изменен скопировать, а затем вставить, вставляется копия макроса неподсвеченная красным. Может быть сдесь прошел глючок?
ЗЫ: последнее обновление установил.

wal79
29.08.2017, 12:11
Вы все конечно красиво расписали. На деле не совсем так. Нет того "умного" принятия решения о модификации макроса, о котором Вы говорите. Если Вы говорите, что пользователям нет нужды знать как компилятор обрабатывает тот или иной фрагмент схемы, то тем более зачем им тогда знать как работает анализ схемы.

С багом 1 соглашусь. При сохранении проекта изменения в макросе должны были примениться.
Про баг 2 уже сказал, что нет "умного" принятия решения. Вы описываете то, что хотели бы видеть. Таких хотелок Вы не представляете сколько у меня есть по лоджику. У меня сжатые сроки и абсолютное отсутствие человекоресурсов. Поэтому что есть, то есть.

wal79
29.08.2017, 12:13
Проект одномоментно был сильно перекроен возникающие ошибки игнорировались, проект на симуляцию не запускался и, по-видимому, несколько ошибок наложившись друг на друга дали такой эффект.

Сейчас проявилась новая проблема, хотя ранее я ее не замечал ошибки со стеком. Сегодня загружаю V3.2 - "Внутренняя ошибка код 2 обращение к стеку". Пробую V3.1 - "Стек пуст" В версии V3 ошибок нет.
Стал удалять макросы по одному, затем нажимая отмена. Удалил макросы ErrCatch ошибка исчезла. Начал отмену ошибка не вернулась.

Заметил, что если подсвеченный красным макрос, который был изменен скопировать, а затем вставить, вставляется копия макроса неподсвеченная красным. Может быть сдесь прошел глючок?
ЗЫ: последнее обновление установил.

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

Владимир Ситников
29.08.2017, 12:35
Вы все конечно красиво расписали. На деле не совсем так. Нет того "умного" принятия решения о модификации макроса, о котором Вы говорите.
А что вы подразумевали-то под словом "inline"?


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

Вы что, предлагаете, что "надёжный программно-аппаратный комплекс ОЛ-ПР" работает "как-то автомагически"?

Приведу пример:


int x = 2;
int y = x + x * x;

Чему равно y?
Разумеется, пользователю важно знать чего ожидать от программы. Программу же не наобум пишут, а с примерным представлением того, как она должна работать.
Так вот: y может быть равно 6, а может и 8.
При этом, ответ не зависит от того компилируется выражение в машинные коды или оно вычисляется интерпретатором.
Результат определяется именно тем, "как хотел создатель языка", а уж как реализован конкретный компилятор (на C, на Java, или ещё как) пользователей волнует в последнюю очередь.

В языках C, C#, Java и прочих явно оговорены правила вычислений выражений.
Эти самые правила никогда не ссылаются на "регистры процессора", "машинный код", "адреса памяти", ведь правила на то и правила, чтобы объяснять суть происходящего.
Вот в выражении x + x * x приоритет операции умножения выше, поэтому выражение эквивалентно выражению x+(x*x).
При этом, компилятор может хоть как это выражение вычислять.
Например, компилятор может использовать специальную инструкцию FMA (fused-multiply-add), которая за одну операцию вычислит именно это выражение.

Вот пример в случае C# (выдержка из спецификации C# 3.0):
32888

Так и в случае с ОЛ.
Пользователям важно знать по каким правилам должны работать схемы ОЛ.
Сказать, что "вся текущая реализация ОЛ это одно большое правило", конечно, можно, но это бесполезно.

Пользователям ОЛ важно уметь предсказывать результат программы "в уме" и без использования ОЛ. Поэтому и объяснение того, "как должны работать ОЛ схемы" (== спецификацию ОЛ языка) желательно описывать без привлечения фраз в духе "ОЛ загружает значение в стек, поэтому тут получается 2, а не 3". Да какая разница стек или регистр?
По-хорошему, должно быть более-менее стройное и простое объяснение в духе "результат работы ОЛ схемы будет неотличим от результата, полученного таким-то алгоритмом", а при этом сама программа ОЛ может использовать те оптимизации, которые удобны авторам.


PS. По-моему, вы путаете путаете понятие "спецификация" и "реализация".

wal79
29.08.2017, 12:49
А что вы подразумевали-то под словом "inline"?


Вот тут я не соглашусь.

Вы что, предлагаете, что "надёжный программно-аппаратный комплекс ОЛ-ПР" работает "как-то автомагически"?

Приведу пример:


int x = 2;
int y = x + x * x;

Чему равно y?
Разумеется, пользователю важно знать чего ожидать от программы. Программу же не наобум пишут, а с примерным представлением того, как она должна работать.
Так вот: y может быть равно 6, а может и 8.
При этом, ответ не зависит от того компилируется выражение в машинные коды или оно вычисляется интерпретатором.
Результат определяется именно тем, "как хотел создатель языка", а уж как реализован конкретный компилятор (на C, на Java, или ещё как) пользователей волнует в последнюю очередь.

В языках C, C#, Java и прочих явно оговорены правила вычислений выражений.
Эти самые правила никогда не ссылаются на "регистры процессора", "машинный код", "адреса памяти", ведь правила на то и правила, чтобы объяснять суть происходящего.
Вот в выражении x + x * x приоритет операции умножения выше, поэтому выражение эквивалентно выражению x+(x*x).
При этом, компилятор может хоть как это выражение вычислять.
Например, компилятор может использовать специальную инструкцию FMA (fused-multiply-add), которая за одну операцию вычислит именно это выражение.

Вот пример в случае C# (выдержка из спецификации C# 3.0):
32888

Так и в случае с ОЛ.
Пользователям важно знать по каким правилам должны работать схемы ОЛ.
Сказать, что "вся текущая реализация ОЛ это одно большое правило", конечно, можно, но это бесполезно.

Пользователям ОЛ важно уметь предсказывать результат программы "в уме" и без использования ОЛ. Поэтому и объяснение того, "как должны работать ОЛ схемы" (== спецификацию ОЛ языка) желательно описывать без привлечения фраз в духе "ОЛ загружает значение в стек, поэтому тут получается 2, а не 3". Да какая разница стек или регистр?
По-хорошему, должно быть более-менее стройное и простое объяснение в духе "результат работы ОЛ схемы будет неотличим от результата, полученного таким-то алгоритмом", а при этом сама программа ОЛ может использовать те оптимизации, которые удобны авторам.


PS. По-моему, вы путаете путаете понятие "спецификация" и "реализация".

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

anthrwpos
29.08.2017, 12:56
Почему Вы ищете между ними разницу. Они обе виртуальные
потому что изменения одной из них, отображаются в просмотрщике, а другой - нет.
Вставлю скрин еще раз иллюстрирующий непонятность.32860
Переменная OUT+ 1 в макросе и 1 в графе значение
Переменная current 0.0762 в макросе и 0 в графе значение.

Владимир Ситников
29.08.2017, 13:02
Вы подходите со стороны программиста. Лоджик изначально создавался с позиции схемотехника. Понятно, что с некоторыми оговорками, которые уже не раз обсуждались.

И?

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

wal79
29.08.2017, 13:07
потому что изменения одной из них, отображаются в просмотрщике, а другой - нет.
Вставлю скрин еще раз иллюстрирующий непонятность.32860
Переменная OUT+ 1 в макросе и 1 в графе значение
Переменная current 0.0762 в макросе и 0 в графе значение.

Ясно. Вас смутило что там 1. Когда Вы добавляли Q1 в просмотрщик на тот момент выход имел видимо значение 1. Вот Вы его и видите. Вас должна была смутить "серость" строк таблицы, которая как раз говорит о недоступности переменных.

wal79
29.08.2017, 13:08
И?

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

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

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

anthrwpos
29.08.2017, 13:18
Ясно. Вас смутило что там 1. Когда Вы добавляли Q1 в просмотрщик на тот момент выход имел видимо значение 1. Вот Вы его и видите.

Таки нет, оно не постоянно 1, а отражает реальную динамику этой переменной. Это получается, баг?=)


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

Владимир Ситников
29.08.2017, 13:37
Я не нашел по вашим ссылкам, в чем мое определение макроса расходится с описываемым там.

Вы пишете:

макрос - это идентификатор, который транслируется в некий неизменный участок кода.

Функция - это идентификатор, который компилируется в адрес вызова, по которому начинается сама функция.

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

В LISP описании говорится очень ясно, и без адресов участков кода:

https://ru.wikibooks.org/wiki/%D0%9B%D0%B8%D1%81%D0%BF/%D0%9C%D0%B0%D0%BA%D1%80%D0%BE%D1%81%D1%8B : от функций макросы отличаются способом вычисления, которое проходит в два этапа: получение нового выражения (раскрытие макроса) и вычисление этого выражения.

wal79
29.08.2017, 13:39
Допустимые на запись можно редактировать, в противном случае только на чтение.

Переменная Q1 создается в редакторе макросов специально для отладочных целей. Она только на чтение. В реальном проекте ее конечно не существует. Поэтому изменения значения выходов в редакторе макросов видны, но задать свое значение нельзя. Что касается переменной current, к примеру, она не существует ни в проекте ни в редакторе макросов конечно же (зачем?). Поэтому изменения значения Вы не видите. Как current, так и переменная выхода Q1 доступны только для чтения, поэтому они "серые". Как я уже говорил, раз появляются сомнения, значит я со своей стороны к примеру уберу возможность добавления в просмотрщик виртуальных переменных.

wal79
29.08.2017, 13:47
Вы пишете:



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

В LISP описании говорится очень ясно, и без адресов участков кода:

Как я уже говорил, давайте прекратим в этой ветке обсуждать это.

anthrwpos
29.08.2017, 13:52
Это какой-то бред. Вы говорите про адреса, неизменные участки кода и т.п.
Вот как на основании ваших определений можно понять какая физически разница между макросом и функцией?
Не знаю, как вы, а программер меня отлично понял и дал исчерпывающий ответ)

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

Переменная Q1 создается в редакторе макросов специально для отладочных целей. Она только на чтение. В реальном проекте ее конечно не существует. Поэтому изменения значения выходов в редакторе макросов видны, но задать свое значение нельзя. Что касается переменной current, к примеру, она не существует ни в проекте ни в редакторе макросов конечно же (зачем?). Поэтому изменения значения Вы не видите. Как current, так и переменная выхода Q1 доступны только для чтения, поэтому они "серые". Как я уже говорил, раз появляются сомнения, значит я со своей стороны к примеру уберу возможность добавления в просмотрщик виртуальных переменных.

Вобщем, понятно. Это не баг, а так и должно быть.
Но на будущее было бы неплохо, чтобы и "виртуальные переменные" можно было бы видеть таким образом)

Владимир Ситников
29.08.2017, 13:53
Предлагаю в этой ветке спор уже закончить. Все же ветка создана для сбора багов. За баги, о которых Вы сообщили спасибо, будем работать над ними.

Задумайтесь над тем, как определяется "является ли что-то багом или нет".
Является багом, значит "результат ОЛ не соответствует ожидаемому". Это самое ожидаемое должно откуда-то возникать.

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


Я не просто так в этой теме вопросы задаю про "правила вычисления". Они имеют самое прямое отношение к тому, что считается багом, а что нет.
Вот в 1.9.141.11543 взяли и поменяли подход работы с макросами:

Релиз 1.9.141
Убрана "прозрачность" макроса при анализе схемы
Рассмотренный ранее сценарий работы фрагмента кода как в макросе, так и просто в схеме отменен за неправильностью логики работы.
Что значит эта самая "прозрачность"? О какой "неправильной логике работы речь"? Как раз на подобные вопросы обычно и отвечает спецификация (которой у ОЛ нет, т.к. схемотехникам пофиг). При этом, в спецификации зачастую приводятся примеры, показывающие пограничные случаи.

Вы настаиваете на том, что единственный способ понять "что вернёт схема" это "запустить в ОЛ". Что ж. Печально. Это означает то, что так и будут ошибки выявляться (или вообще не выявляться) точечно типа "на такой-то схеме линия задержки снова не так работает", а "простосхемотехники" будут по-прежнему брюзжать, что "в нормальных схемных редакторах вообще без обратных связей/линий задержки обходятся".

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


Вобщем, понятно. Это не баг, а так и должно быть.
Но на будущее было бы неплохо, чтобы и "виртуальные переменные" можно было бы видеть таким образом)

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

wal79
29.08.2017, 14:57
Задумайтесь над тем, как определяется "является ли что-то багом или нет".
Является багом, значит "результат ОЛ не соответствует ожидаемому". Это самое ожидаемое должно откуда-то возникать.

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


Я не просто так в этой теме вопросы задаю про "правила вычисления". Они имеют самое прямое отношение к тому, что считается багом, а что нет.
Вот в 1.9.141.11543 взяли и поменяли подход работы с макросами:

Что значит эта самая "прозрачность"? О какой "неправильной логике работы речь"? Как раз на подобные вопросы обычно и отвечает спецификация (которой у ОЛ нет, т.к. схемотехникам пофиг). При этом, в спецификации зачастую приводятся примеры, показывающие пограничные случаи.

Вы настаиваете на том, что единственный способ понять "что вернёт схема" это "запустить в ОЛ". Что ж. Печально. Это означает то, что так и будут ошибки выявляться (или вообще не выявляться) точечно типа "на такой-то схеме линия задержки снова не так работает", а "простосхемотехники" будут по-прежнему брюзжать, что "в нормальных схемных редакторах вообще без обратных связей/линий задержки обходятся".

Печально это звучит или нет, но Вы верно сказали что на 100% удостовериться в правильности работы следует запустить симулятор. Именно такие требования и ставились. Я понимаю Ваше желание понять специфику работы. Обратные связи преподнесли в свое время много сюрпризов, о которых не задумывались при разработке лоджике, да и не только обратные связи. Исторически лоджик рос, не знаю даже какое слово будет звучать более правильно, спонтанно что ли... Смысл я надеюсь понятен, иначе разъяснить не могу. Спецификации нет, это факт. Да что там, справки по сути толковой нет, только краткая справка и далеко не по всем функциям лоджика. Работаем над этим. Больше сказать нечего.

wal79
29.08.2017, 15:17
Задумайтесь над тем, как определяется "является ли что-то багом или нет".
Является багом, значит "результат ОЛ не соответствует ожидаемому". Это самое ожидаемое должно откуда-то возникать.

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


Я не просто так в этой теме вопросы задаю про "правила вычисления". Они имеют самое прямое отношение к тому, что считается багом, а что нет.
Вот в 1.9.141.11543 взяли и поменяли подход работы с макросами:

Что значит эта самая "прозрачность"? О какой "неправильной логике работы речь"? Как раз на подобные вопросы обычно и отвечает спецификация (которой у ОЛ нет, т.к. схемотехникам пофиг). При этом, в спецификации зачастую приводятся примеры, показывающие пограничные случаи.

Вы настаиваете на том, что единственный способ понять "что вернёт схема" это "запустить в ОЛ". Что ж. Печально. Это означает то, что так и будут ошибки выявляться (или вообще не выявляться) точечно типа "на такой-то схеме линия задержки снова не так работает", а "простосхемотехники" будут по-прежнему брюзжать, что "в нормальных схемных редакторах вообще без обратных связей/линий задержки обходятся".

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

Project M
30.08.2017, 09:01
Владимир, посмотрите описание Inline функций в языках интерпритаторах (например в iDev-OS).
Кстати, программисты-Британцы, кипятком писают от возможности вставлять Inline функции, и с огромным удовольствием делают строку кода бесконечной длинны. (а для программистов-русских совершенно запутанную программу)

Владимир Ситников
30.08.2017, 09:28
Владимир, посмотрите описание Inline функций в языках интерпритаторах (например в iDev-OS).
И?

http://www.noritake-itron.com/Web/itron/itronos/Commands/Top_Cmd.html
The commands which require a function as a parameter ie IF, RUN, INT and KEY can have the function code embedded inside the commands by enclosing the required code in square brackets.
This allows you to reduce the number of lines of code for simple functions and where the function is unlikely to be used elsewhere.
Т.е. inline func в смысле iDev-OS это лишь "безымянная функция". Разумеется, к ОЛ это никак не относится, т.к. ОЛ макросы именованные и т.п.


wal79 рассказал (http://www.owen.ru/forum/showthread.php?t=12264&p=256583&viewfull=1#post256583), то основополагающая методология разработки ОЛ -- спонтанная, и никакие спецификации не нужны. Поэтому и не нужно объяснять что значат "прозрачные макросы", "inline макросы", "линия задержки", "обратная связь", "виртуальные переменные" и далее по списку.

wal79
30.08.2017, 09:34
И?

Т.е. inline func в смысле iDev-OS это лишь "безымянная функция". Разумеется, к ОЛ это никак не относится, т.к. ОЛ макросы именованные и т.п.


wal79 рассказал (http://www.owen.ru/forum/showthread.php?t=12264&p=256583&viewfull=1#post256583), то основополагающая методология разработки ОЛ -- спонтанная, и никакие спецификации не нужны. Поэтому и не нужно объяснять что значат "прозрачные макросы", "inline макросы", "линия задержки", "обратная связь", "виртуальные переменные" и далее по списку.

Просьба обсуждение перенести в другую ветку.

rovki
30.08.2017, 12:57
И?

Т.е. inline func в смысле iDev-OS это лишь "безымянная функция". Разумеется, к ОЛ это никак не относится, т.к. ОЛ макросы именованные и т.п.


wal79 рассказал (http://www.owen.ru/forum/showthread.php?t=12264&p=256583&viewfull=1#post256583), то основополагающая методология разработки ОЛ -- спонтанная, и никакие спецификации не нужны. Поэтому и не нужно объяснять что значат "прозрачные макросы", "inline макросы", "линия задержки", "обратная связь", "виртуальные переменные" и далее по списку.

Хватит уже флудить ,вас же просили!!!

Вольд
30.08.2017, 13:15
Исторически лоджик рос, не знаю даже какое слово будет звучать более правильно, спонтанно что ли...

Очень интересное признание. Т.е. делали так как кому на ум взбредет. Не солидно как-то все это.

Господа овеновцы, найдите наконец толкового исполнителя для разработки адекватной среды для ПР. XXI век на дворе.

capzap
30.08.2017, 13:27
Очень интересное признание. Т.е. делали так как кому на ум взбредет. Не солидно как-то все это.

Господа овеновцы, найдите наконец толкового исполнителя для разработки адекватной среды для ПР. XXI век на дворе.

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

Вольд
30.08.2017, 13:31
Разработчик, во первых указал что не знает какое слово подобрать, поэтому не стоит передергивать и самостоятельно делать выводы как делался лоджик. Продукт делался от обратной связи тех кто с ним продолжительное время работает и сделал ни один проект для производства. Когда же сделали попытку послушать всех любопытствующих, со своими представлениями о IDE, так и пошли критические ошибки

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

Нет у разработчиков четкой идеологии и представления о предмете.

capzap
30.08.2017, 13:51
Если в стане разработчиков разброд и шатания, то другого результата и быть не может.

Нет у разработчиков четкой идеологии и представления о предмете.
есть хорошая статья по поводу изолированности разработчиков, от таких как Вы https://habrahabr.ru/company/retailrocket/blog/336430/, жаль что модераторы не придерживаются такого принципа

Вольд
30.08.2017, 13:57
есть хорошая статья по поводу изолированности разработчиков, от таких как Вы https://habrahabr.ru/company/retailrocket/blog/336430/, жаль что модераторы не придерживаются такого принципа

Эта статья для разработчиков и про разработчиков OL. ;)

А связывать меня с проблемами в OL просто смешно. Это бред сивой кобылы.

Сергей0308
30.08.2017, 18:52
А связывать меня с проблемами в OL просто смешно. Это бред сивой кобылы.

Наконец нашли виновного в проблемах ОЛ!
:):rolleyes:;)

capzap
30.08.2017, 19:21
А связывать меня с проблемами в OL просто смешно. Это бред сивой кобылы.
внимательно ознакомтесь с моим постом, для тех кто в танке даю ключевые слова:
изолированность - разработчик не должен сидеть здесь на форуме и по каждой хотелке принимать какие то активные действия, если она пройдет все барьеры, то до него должны довести планы реализации этой хотелки
таких как Вы не относится персонально к кому либо

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

Владимир Ситников
30.08.2017, 23:03
есть хорошая статья по поводу изолированности разработчиков, от таких как Вы https://habrahabr.ru/company/retailrocket/blog/336430/, жаль что модераторы не придерживаются такого принципа

Для одного разработчика хорошо работают одни подходы, для 7-и разработчиков другие, для 49 тоже другие, а 343 совсем другие. Спонтанно ли рос ОЛ или ещё как -- не так важно.

Предлагается, всё-таки в данной ветке обсуждать "Фичи и баги OWEN Logic". Выстраивание процесса в крупной компании к данной теме не относится.

Я поднимал вопрос о "составлении спецификации на вычисление схем" т.к.:
1) Линии задержки, обратные связи и макросы являются стабильным поставщиком "непоняток" при работе с ОЛ
2) Слова представителей ОВЕН весьма туманны. "Убрана прозрачность макросов", "у вас вместо линии задержки получилась обратная связь" и так далее.

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

Так же, наличие спецификации позволит искать ошибки на уровне этой самой спецификации. Сейчас можно лишь гадать как ОЛ производит вычисления. Было бы описание -- можно было бы придумывать контрпримеры.

Судя по словам wal79, описание алгоритма вычисления схемы либо вообще не в планах, либо не в приоритете. Ну и ладно.

На всякий случай, вышеописанное ^^^ напрямую относится к "багам ОЛ". Например, оно пересекается с

Убрана "прозрачность" макроса при анализе схемы




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

capzap
31.08.2017, 07:06
Для одного разработчика хорошо работают одни подходы, для 7-и разработчиков другие, для 49 тоже другие, а 343 совсем другие. Спонтанно ли рос ОЛ или ещё как -- не так важно.

Предлагается, всё-таки в данной ветке обсуждать "Фичи и баги OWEN Logic". Выстраивание процесса в крупной компании к данной теме не относится.

Я поднимал вопрос о "составлении спецификации на вычисление схем" т.к.:
1) Линии задержки, обратные связи и макросы являются стабильным поставщиком "непоняток" при работе с ОЛ
2) Слова представителей ОВЕН весьма туманны. "Убрана прозрачность макросов", "у вас вместо линии задержки получилась обратная связь" и так далее.

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

Так же, наличие спецификации позволит искать ошибки на уровне этой самой спецификации. Сейчас можно лишь гадать как ОЛ производит вычисления. Было бы описание -- можно было бы придумывать контрпримеры.

Судя по словам wal79, описание алгоритма вычисления схемы либо вообще не в планах, либо не в приоритете. Ну и ладно.

На всякий случай, вышеописанное ^^^ напрямую относится к "багам ОЛ". Например, оно пересекается с





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

Предлагаю озвучить все ники не пишущие в этой теме про фиксы и баги, чтоб это было объективно,а не попытка заткнуть рот оппоненту

wal79
31.08.2017, 08:06
Очень интересное признание. Т.е. делали так как кому на ум взбредет. Не солидно как-то все это.

Господа овеновцы, найдите наконец толкового исполнителя для разработки адекватной среды для ПР. XXI век на дворе.

Каждый думает в меру своего развития. Что я подразумевал под спонтанностью. Первоначально были предъявлены определенные требования к продукту ОЛ. Согласно этим требованиям была разработана архитектура приложения. Требования были просты и задачи перед продуктом ставились простые. Увидев
положительную реакцию пользователей впоследствии стали ставиться все более накрученные требования. Политика была направлена на обратную связь от пользователей. Да, курс продукта менялся, иногда даже слишком кардинально. Иногда доходило до кардинальной переработке архитектуры и знаний о предметной области. И до сих пор мое мнение не изменилось насчет обратной связи. Что продукт прежде всего должен учитывать желание рынка, пользователей. Конечно вы должны понимать что кардинальные перемены в архитектуре влекут за собой баги. Проблема ОЛ в том что он выходит на рынок сырой, так сказать с пылу жару. Вы можете критиковать разработчиков как угодно. Может лоджику далеко до каких-то других продуктов конкурентов. Но этот продукт имеет немаловажный плюс: реактивность обратной связи пользователей. Лоджик создавался как продукт в котором легко создавать алгоритмы простой и средней тяжести. Такое было одно из требований. Поэтому многие вещи скрыты от пользователей. Можете дальше ругать лоджик и разработчиков на чем свет стоит. Понятно, что всем не угодишь.

wal79
31.08.2017, 08:38
Я поднимал вопрос о "составлении спецификации на вычисление схем" т.к.:
1) Линии задержки, обратные связи и макросы являются стабильным поставщиком "непоняток" при работе с ОЛ
2) Слова представителей ОВЕН весьма туманны. "Убрана прозрачность макросов", "у вас вместо линии задержки получилась обратная связь" и так далее.

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

Так же, наличие спецификации позволит искать ошибки на уровне этой самой спецификации. Сейчас можно лишь гадать как ОЛ производит вычисления. Было бы описание -- можно было бы придумывать контрпримеры.

Судя по словам wal79, описание алгоритма вычисления схемы либо вообще не в планах, либо не в приоритете. Ну и ладно.

Ваше желание противоречит одному из требований: макрос должен себя вести также как в редакторе в режиме симуляции. Это касается макросов с ЛЗ, потому что если их нет, то и говорить не о чем, я думаю вы это и так понимаете. Так вот, Для выполнения этого требования при встрече макроса на своем пути анализатор вычисляет его полностью один раз. Алгоритмы те же самые что и у схем проектов. Логика проста. Но в чем преимущества ЛЗ? В том что они выполняются в высоком приоритете. Именно это дает эффект выполнения обратной связи, которую задумал пользователь. Так вот, если вы задумали какой-то алгоритм обернуть в макрос, то нужно понимать, что это "закрытый" будет алгоритм, что он будет вычисляться как отдельная схема. Надеюсь, понятно разъяснил.

Давайте уже на этой разъяснительной ноте остановимся.

pop70
31.08.2017, 13:29
Ваше желание противоречит одному из требований: макрос должен себя вести также как в редакторе в режиме симуляции. Это касается макросов с ЛЗ, потому что если их нет, то и говорить не о чем, я думаю вы это и так понимаете. Так вот, Для выполнения этого требования при встрече макроса на своем пути анализатор вычисляет его полностью один раз.
Ну, на самом деле, противоречия тут нет.
Противоречие есть с другим.
С тем, что анализатор схемы считает макрос функцией, а макрос с лз или обратной связью таковым не является.
Так же, как не является функцией любая схема "помнящая" своё состояние.
Вот поэтому он ("анализатор") и паникует, обнаружив "обратую связь вокруг функции", и подставляет вместо неё ещё одну лз.
Вариант "прозрачности", с сохранением однозначности работы схемы и макросов в схеме и в отдельном редакторе, есть, но он требует другого подхода к макросу. Это не функция, а схема, вставленная в "главную" схему (макроэлемент, объединяющий множество элементов и связей, имеющий условное графическое изображение), и для анализа всей схемы необходимо его каждый раз вставить целиком, после чего уже анализировать полную схему на наличие возможных неоднозначностей и "обратных связей" без лз.

alex3107
02.09.2017, 08:23
Нашел в OL не доделку . Создаю в проекте счетчик CTU не важно с каким номером. И не могу в него вписать уставку. При чем в другие счетчики из библиотеки все прекрасно вписывается. Очень прошу исправить данную не доделку.

rovki
02.09.2017, 10:56
Этой не "доделки" лет 5 .Используйте другие счетчики

wal79
04.09.2017, 09:47
Нашел в OL не доделку . Создаю в проекте счетчик CTU не важно с каким номером. И не могу в него вписать уставку. При чем в другие счетчики из библиотеки все прекрасно вписывается. Очень прошу исправить данную не доделку.

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

alex3107
09.09.2017, 18:03
Какие другие с такой функцией он один вы смеетесь чтоли,это в STEP7 я могу другой наковырять счетчик. А у вас их три, CTU нет замены,я рад бы другой использовать но нет счетчика другого. Да и вот что исправьте проблему с подписью драйвера ПР200 как только обнова на компьютере проходит так сразу драйвер слетает .Каждый раз приходится переустанавливать . Мелочь но ооооочень не приятно

rovki
09.09.2017, 18:47
Сделать из универсального счетчика CTN ,тот который нужно не составляет труда .Поставьте на выход счетчика EQ и сравнивайте с уставкой N,а выход EQ на вход R счетчика .....-получите короткий импульс на выходе каждые N импульсов .

maratin
14.09.2017, 14:49
33124

Owen Logic 1.9.125.10819
Проект для ПР200.
Проверяю в симуляторе.
Почему при выставлении cmd он не сбрасывается сразу же, а вызывает суммирование в следующем блоке?

Pavel_
14.09.2017, 15:05
33124

Owen Logic 1.9.125.10819
Проект для ПР200.
Проверяю в симуляторе.
Почему при выставлении cmd он не сбрасывается сразу же, а вызывает суммирование в следующем блоке?
попробуйте поставьте для cmd галочку энергонезависимости.

maratin
14.09.2017, 15:11
Она и так стояла

Андрей Посохов
14.09.2017, 15:19
33124

Owen Logic 1.9.125.10819
Проект для ПР200.
Проверяю в симуляторе.
Почему при выставлении cmd он не сбрасывается сразу же, а вызывает суммирование в следующем блоке?

Потому что кратковременно поступает единица на вход селектора, выбирается 1, она и складывается.

maratin
14.09.2017, 16:30
Почему она появляется, если должна сброситься в первом блоке?

Почему пример, который отличается совсем немного работает как надо?
33131

Обе примера тут:
https://yadi.sk/d/nBq5dTWi3MtLgY

Василий Кашуба
14.09.2017, 16:44
33124

Owen Logic 1.9.125.10819
Проект для ПР200.
Проверяю в симуляторе.
Почему при выставлении cmd он не сбрасывается сразу же, а вызывает суммирование в следующем блоке?
А зачем вы применили SEL? Примените TO INT с выхода триггера, на сумматор.

maratin
14.09.2017, 16:46
Я создал пример. Задача не обойти место, которое для меня не понятно, а разобраться почему не работает так как я ожидаю и понять почему работает по-разному
Вы запускали оба примера?

Василий Кашуба
14.09.2017, 16:52
Я создал пример. Задача не обойти место, которое для меня не понятно, а разобраться почему не работает так как я ожидаю и понять почему работает по-разному
Вы запускали оба примера?
Я так никогда не подсчитываю импульсы(через SEL), а беру либо счётчик, а если через сумматор, то преобразую BOOL через TO INT, поэтому и спросил.

maratin
14.09.2017, 17:03
Это не подсчет импульсов
Представим что это битовая кнопка - сброс аварии или какая-то команда. Нажали, один раз отработали и сбросили.
Вместо сумматора может быть какая-то битовая логика.
В конкретном примере (он искусственный) мне не нужно чтобы сумматор работал после сброса cmd.

Вы запускали оба примера в симуляторе?

Pavel_
14.09.2017, 19:41
Она и так стояла
На скриншоте этого не видно!

Василий Кашуба
14.09.2017, 21:03
Это не подсчет импульсов
Представим что это битовая кнопка - сброс аварии или какая-то команда. Нажали, один раз отработали и сбросили.
Вместо сумматора может быть какая-то битовая логика.
В конкретном примере (он искусственный) мне не нужно чтобы сумматор работал после сброса cmd.

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

maratin
14.09.2017, 21:06
Вот тут самый показательный пример проекта из серии "подоконник должен быть вровень или выпирать"
https://yadi.sk/d/UcaJ-bLr3MtgiB
33136

У меня в симуляторе установка cmd1 не влияет на Q1, а установка cmd2 увеличивает Q2 на +1.

Василий Кашуба
14.09.2017, 21:06
В конкретном примере (он искусственный) мне не нужно чтобы сумматор работал после сброса cmd.
После сброса сумматор и не работает, а до сброса работает.

Василий Кашуба
14.09.2017, 21:15
Не знаю, у меня вообще в вашем примере, кроме "Блинк"а, ничего не работает.
33137

Pavel_
14.09.2017, 22:31
Вот тут самый показательный пример проекта из серии "подоконник должен быть вровень или выпирать"
https://yadi.sk/d/UcaJ-bLr3MtgiB
33136

У меня в симуляторе установка cmd1 не влияет на Q1, а установка cmd2 увеличивает Q2 на +1.
33138 33139 33140

Пробуйте прикрепленный проект.

maratin
14.09.2017, 22:32
И это правильно - Q1 и Q2 не должны увеличиваться при выставлении cmd1 и cmd2. А у меня Q2 увеличивается...
У товарища эта же программа работает зеркально вашей - оба тега Q1 и Q2 увеличиваются на +1.

Василий Кашуба
14.09.2017, 22:38
И это правильно - Q1 и Q2 не должны увеличиваться при выставлении cmd1 и cmd2. А у меня Q2 увеличивается...
У товарища эта же программа работает зеркально вашей - оба тега Q1 и Q2 увеличиваются на +1.
А при чём тогда здесь RS_TRIG если нужно просто дёрнуть cmd?

maratin
14.09.2017, 22:38
33138 33139 33140

Пробуйте прикрепленный проект.

Q1 и Q2 увеличиваются. Но если сдвину Q1 (любой), то после запуска работать перестает. Q2 работает, пока его не передвину.
Что за чертовщина.

Pavel_, Вы только передвинули входные Q1 и Q2?

maratin
14.09.2017, 22:39
А при чём тогда здесь RS_TRIG если нужно просто дёрнуть cmd?

Каков Ваш вариант сброса битовых тегов?

Pavel_
14.09.2017, 22:58
Q1 и Q2 увеличиваются. Но если сдвину Q1 (любой), то после запуска работать перестает. Q2 работает, пока его не передвину.
Что за чертовщина.

Pavel_, Вы только передвинули входные Q1 и Q2?

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

33138 33139 33140

Сейчас попробовал как вы, передвинул переменную Q2 и да, что-то в ОЛ отвалилось - см. криншоты:

33142 33143 33144

Pavel_
14.09.2017, 23:08
Каков Ваш вариант сброса битовых тегов?
на форуме обсуждали варианты решений, вот один (http://www.owen.ru/forum/showthread.php?t=17153&page=106&p=191107&viewfull=1#post191107) из них нашел на скорую, были и другие.

UPD: вот еще примеры сброса:
Тема: Переменная Reset (http://www.owen.ru/forum/showthread.php?t=23696)
Тема: ПР200 переменная сброса (http://www.owen.ru/forum/showthread.php?t=26501)

Владимир Ситников
20.09.2017, 21:24
Напрягает сам факт непредсказуемости результата работоспособности программы...
Что-то вы странное пишете. Ведь, в этой теме недавно установили, что предсказывать выполнение программы смысла нет (http://www.owen.ru/forum/showthread.php?t=12264&p=256753&viewfull=1#post256753), а достаточно просто запустить симуляцию в ОЛ.

Андрей Посохов
21.09.2017, 09:47
После перехода с ОЛ-111 на ОЛ-141 для ПР200 получил потерю работоспособности макросов, в которых было разное назначение для констант внутри макросов в свойствах, все стали одинаково, работоспособность всей функции потеряна, а в ОЛ-111 работало! Такое может быть? Напрягает сам факт непредсказуемости результата работоспособности программы после обновления на ОЛ-141.

Добрый день, скиньте Вашу программу мне на личную почту a.posokhov@owen.ru
И опишите, пожалуйста, поконкретнее с указанием на то, что не работает по-вашему.

wal79
27.09.2017, 11:06
Вот тут самый показательный пример проекта из серии "подоконник должен быть вровень или выпирать"
https://yadi.sk/d/UcaJ-bLr3MtgiB
33136

У меня в симуляторе установка cmd1 не влияет на Q1, а установка cmd2 увеличивает Q2 на +1.

Поставьте у блока записи переменной cmd2 Режим записи "Перед чтением". Эта настройка поменяет порядок исполнения у блока записи.

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

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

wal79
27.09.2017, 11:13
После перехода с ОЛ-111 на ОЛ-141 для ПР200 получил потерю работоспособности макросов, в которых было разное назначение для констант внутри макросов в свойствах, все стали одинаково, работоспособность всей функции потеряна, а в ОЛ-111 работало! Такое может быть? Напрягает сам факт непредсказуемости результата работоспособности программы после обновления на ОЛ-141.

Вы проект Андрею Посохову высылали? Проблема еще актуальна?

Project M
28.09.2017, 09:45
Здравствуйте, wal79.

У меня вопрос. Есть такая ситуация:

33330

Как объяснить OL, что запись в переменную tDS должна происходить после всех операций чтения, и что новое (записанное значение) мне нужно в следующем цикле? А задержки, в этом случае, просто нарушат алгоритм работы.

Заранее, благодарю за помощь.

pop70
28.09.2017, 09:56
Здравствуйте, wal79.

У меня вопрос. Есть такая ситуация:

33330

Как объяснить OL, что запись в переменную tDS должна происходить после всех операций чтения, и что новое (записанное значение) мне нужно в следующем цикле? А задержки, в этом случае, просто нарушат алгоритм работы.

Заранее, благодарю за помощь.
ЛЗ между tDS и Z0?

Project M
28.09.2017, 09:59
На место жёлтой линии OL автоматически ставит линию задержки. :(

pop70
28.09.2017, 10:20
На место жёлтой линии OL автоматически ставит линию задержки. :(
Поставьте вручную лз там, где я Вам написал. Жёлтая линия пропадёт и будет обычная связь.
ОЛ видит "обратную связь" Z-tDS-Z0-Z и предлагает первый попавшийся вариант установки лз (помечает жёлтым), но Вы можете поставить ЛЗ туда, куда хочется Вам, чтобы "разорвать" этот цикл так, как требует Ваша логика.

Project M
28.09.2017, 12:38
Господа разработчики (уж не знаю прямо к кому именно обращаться)!

Ситуяция:

33334

33336

33337

На экране помечено значение переменной tempvar. :confused:
В эмуляторе значение равно 100 :)

Из-за этого косячищи два дня с расчёской в программе сидел :eek:

Ревака Юрий
28.09.2017, 12:48
Господа разработчики (уж не знаю прямо к кому именно обращаться)!

Ситуяция:

33334

33336

33337

На экране помечено значение переменной tempvar. :confused:
В эмуляторе значение равно 100 :)

Из-за этого косячищи два дня с расчёской в программе сидел :eek:

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

pop70
28.09.2017, 12:49
А разрядов (знакомест) на экране под переменную достаточно? Или только 2?
Упс. Уже ответили.

Ревака Юрий
28.09.2017, 12:52
А разрядов (знакомест) на экране под переменную достаточно? Или только 2?

99.9% что 2.

Project M
28.09.2017, 13:08
5 разрядов ;) :p

pop70
28.09.2017, 13:12
99.9% что 2.
Я бы даже написал 99.9... :)

Project M
28.09.2017, 13:13
Это причина не работы гораздо более сложного алгоритма, нежели простая визуализация :cool:

Накидал схемку и протестил исключительно для демонстрации косяка. Пробовал связки с другими арифметическими компонентами, всё нормально. Только в этой связке :cool:
И самое смешное, что именно такая связка и именно с такими параметрами используется в моей программе несколько раз. :eek:

Ревака Юрий
28.09.2017, 13:25
Это причина не работы гораздо более сложного алгоритма, нежели простая визуализация :cool:

Накидал схемку и протестил исключительно для демонстрации косяка. Пробовал связки с другими арифметическими компонентами, всё нормально. Только в этой связке :cool:
И самое смешное, что именно такая связка и именно с такими параметрами используется в моей программе несколько раз. :eek:

Проверил, действительно, после приведения float в INT, на экране 99, в симуляции 100, если брать float, все ОК, узнаю причину.

Project M
28.09.2017, 13:32
33338

33345 ;)

33339

33342 :eek: :confused:

33340

33343 ;)

33341

33344 ;)

capzap
28.09.2017, 13:35
причина в том сколько дробей себе может позволить процессор в ПР и сколько на компе, чтоб сформировать вещественное число

Ревака Юрий
28.09.2017, 13:35
33338

33345 ;)

33339

33342 :eek: :confused:

33340

33343 ;)

33341

33344 ;)

Да, именно со 100 непонятка, разбираемся.

pop70
28.09.2017, 15:05
причина в том сколько дробей себе может позволить процессор в ПР и сколько на компе, чтоб сформировать вещественное число
Да понятно, что дело в округлении. Тем более, что и возведение в степень...
100 посчиталось "снизу" (99,999(9)), а при преобразовании дробная часть отбросилась. В симуляторе скорее всего алгоритм возведения в степень немного отличается от в железке с процессором без плавающей точки.
А если 10^2.000001?

Владимир Ситников
28.09.2017, 15:25
Да понятно, что дело в округлении. Тем более, что и возведение в степень...
100 посчиталось "снизу" (99,999(9)), а при преобразовании дробная часть отбросилась. В симуляторе скорее всего алгоритм возведения в степень немного отличается от в железке с процессором без плавающей точки.

Отсюда вывод:
1) Симулятор хорошо бы поправить, чтобы результат совпадал
2) Автору нужно где-то взять "универсальный макрос округления". По-просту говоря, нужно перед to_int добавить к числу "0.5" и от результата сложения уже делать to_int.

Pavel_
28.09.2017, 15:48
Проверил, действительно, после приведения float в INT, на экране 99, в симуляции 100, если брать float, все ОК, узнаю причину.
Были похожие случаи (http://www.owen.ru/forum/showthread.php?t=12264&page=103&p=238130&viewfull=1#post238130), но значения в ОЛ и на экране соответствовали.

Project M
28.09.2017, 15:55
Господа форумчане, благодарю всех за советы (убедился, действительно живём в стране советов).

Проблему решил, переписал кусок кода без использования функции возведения в степень.

Кстати, если отобразить без преобразования to_Int, показывает 100,0

Ревака Юрий
28.09.2017, 16:01
Кстати, если отобразить без преобразования to_Int, показывает 100,0

to_INT не делает округления, он просто отбрасывает дробную часть.

pop70
28.09.2017, 16:33
Господа форумчане, благодарю всех за советы (убедился, действительно живём в стране советов).

Проблему решил, переписал кусок кода без использования функции возведения в степень.

Кстати, если отобразить без преобразования to_Int, показывает 100,0
А можно было действительно сделать +0,5 и потом toint.
"Отображалка", видимо, округляет.

Сергей0308
29.09.2017, 20:41
Решил выложить в этой теме, заметил, на мой взгляд, необычное поведение ОЛ, сказочно исчезла жёлтая подсветка линий связи, ничего не делал, не добавлял задержку на цикл, просто удалил связи в другом(не в месте подсвечивания) месте и затем восстановил обратно, просто шаманство какое-то:

33383

33384

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

И ещё такую особенность заметил: когда выбираешь Запись, стрелкой вверх Ввод и нажимаешь SEL(ввод выбранного значения в текущую переменную и переход к следующей) начинает мигать переменная "Уставка", но значение почему-то не увеличивается на экране, но если ещё раз нажимаешь SEL и переходишь к переменной Часы, значение номера уставки наконец-то увеличивается на единицу, такая особенность, наверно ПР захватывает коррекцию(изменение переменной с экрана), но в памяти(выходном блоке переменной) сохраняет увеличенное на единицу значение! При нажатии для ввода "ОК" всё ожидаемо! Короче, так как предугадать нажатие кнопки SEL не представляется возможным, нельзя ли отложить захват переменной для коррекции(изменения) с экрана на два-три цикла, чтобы переменная успевала обновиться, в данном случае увеличится на единицу при нажатии кнопки SEL? Или сделать настраиваемым задержку захвата переменной для изменения с экрана на два-три цикла при нажатии кнопки SEL!

wal79
03.10.2017, 15:30
Здравствуйте, wal79.

У меня вопрос. Есть такая ситуация:

33330

Как объяснить OL, что запись в переменную tDS должна происходить после всех операций чтения, и что новое (записанное значение) мне нужно в следующем цикле? А задержки, в этом случае, просто нарушат алгоритм работы.

Заранее, благодарю за помощь.

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

wal79
03.10.2017, 15:33
Решил выложить в этой теме, заметил, на мой взгляд, необычное поведение ОЛ, сказочно исчезла жёлтая подсветка линий связи, ничего не делал, не добавлял задержку на цикл, просто удалил связи в другом(не в месте подсвечивания) месте и затем восстановил обратно, просто шаманство какое-то:

33383

33384

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

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

wal79
03.10.2017, 15:39
Ещё раз пишу, что при изменении атрибутов сетевых переменных (запуск чтения, запуск записи) ОЛ не считает это изменением и не сохраняет. Чтобы сохранение произошло приходится что-нибудь изменить (или подвинуть) на холсте.

Это в настройках RS485 Мастер?

wal79
03.10.2017, 15:48
Поставьте вручную лз там, где я Вам написал. Жёлтая линия пропадёт и будет обычная связь.
ОЛ видит "обратную связь" Z-tDS-Z0-Z и предлагает первый попавшийся вариант установки лз (помечает жёлтым), но Вы можете поставить ЛЗ туда, куда хочется Вам, чтобы "разорвать" этот цикл так, как требует Ваша логика.

Абсолютно верное замечание. Лоджик не может прочитать Ваши мысли и он помечает последнюю обнаруженную связь в цикле. Но Вы вправе (и это будет более верно с точки зрения логики Вашего алгоритма) установить ЛЗ там, где Вы считаете нужным.

Massmeter
03.10.2017, 22:45
Если в таблице переменных мы описываем переменную и заполняем столбец "комментарий" то на вкладке свойства документа, при выделении этой переменной на холсте программы, в строке комментарий мы не видим этого комментария. Если мы его там заполняем, то он меняется и в таблице переменных.

wal79
04.10.2017, 10:15
Если в таблице переменных мы описываем переменную и заполняем столбец "комментарий" то на вкладке свойства документа, при выделении этой переменной на холсте программы, в строке комментарий мы не видим этого комментария. Если мы его там заполняем, то он меняется и в таблице переменных.

Да, знаем об этом. Есть такая задача но с низким приоритетом.

Сергей0308
04.10.2017, 11:55
Вы удалили только связь или еще какой-либо элемент? В построении порядок связей не важен. А вот порядок самих компонентов схемы может сыграть роль. К сожалению, еще остались сценарии, где порядок добавления компонентов на схему может сыграть роль. Количество таких сценариев я уменьшаю.

К сожалению вынужден Вас огорчить, удаляю только связи, на всякий случай проверил ещё раз и удалил три этих связи:

33465

Затем исчезает жёлтая подсветка и я восстанавливаю эти связи, всё, чудо случилось! Ваша теория расходится с практикой!

Можно и одну связь разорвать и затем восстановить:

33471

Тоже самое получается, жёлтая подсветка исчезает напрочь!

wal79
05.10.2017, 10:25
К сожалению вынужден Вас огорчить, удаляю только связи, на всякий случай проверил ещё раз и удалил три этих связи:

33465

Затем исчезает жёлтая подсветка и я восстанавливаю эти связи, всё, чудо случилось! Ваша теория расходится с практикой!

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

Эдуард_Н
05.10.2017, 19:30
Как это могло получится?33490

Владимир Ситников
05.10.2017, 19:41
функционал был переработан. Он стал более логичен и предсказуем. ... Надеюсь, этот функционал станет пользователям понятнее и ближе.

О каком функционале речь?
Ни описания, ни примера "как теперь работает".

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

wal79
06.10.2017, 09:13
Как это могло получится?33490

Ну Вы мне лучше расскажите как у Вас это получилось, чтобы я мог возобновить. :-)
А как этот экран отображается в редакторе?

Эдуард_Н
06.10.2017, 20:40
Ну Вы мне лучше расскажите как у Вас это получилось, чтобы я мог возобновить. :-)
А как этот экран отображается в редакторе?

Сам не понял как получилось. Есть только проект.

anthrwpos
07.10.2017, 08:13
Как это могло получится?33490

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

Эдуард_Н
07.10.2017, 09:26
скопировали две строчки из какого нибудь экрана с большим числом строк и вставили в этот. Они и вставились в те строки, из которых были взяты.

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

wal79
09.10.2017, 10:47
А тогда какого они вставились на места которых нет? Значит это баг и с ним нужно бороться.

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

Эдуард_Н
09.10.2017, 13:51
Да спору нет, что это баг. Чем больше информации по багу, тем быстрее он будет исправлен.

Про это баг, что знал то рассказал, проект приложил.

anthrwpos
09.10.2017, 16:12
Да спору нет, что это баг. Чем больше информации по багу, тем быстрее он будет исправлен.

По мне так это скорее фича.
Делается она крайне просто.
Зайдите на любой экран.
Создайте несколько строк.
На самую нижнюю перетащите любой элемент
Копируйте элемент нажатием CTRL+C
создайте новый экран
Вставьте туда скопированное нажатием CTRL+V
элемент появится вне всяких строк внизу на уровне той строки, с которой он был скопирован

exzerodivide
09.10.2017, 17:59
Коллеги, добрый день,
В выходные дописывал свой проект по управлению отоплением дома и обновил OL до 1.9.142.11811 и прошивку ПР200 до 2.05.
Началось слабообъясниемое поведение переменных с выставленным флагом "Запись в конце цикла" - "Да". При присваивании таким переменным значения из сетевой переменной, из переменной стабильно читается значение по-умолчанию - 0. Причем в самой сетевой переменной лежит нормальное значение.
Если "Запись в конце цикла" выставить в "Нет" - то просвоение работает нормально, как и до обновления.
Это такой неочевидный побочный эффект или баг ?
Проект прилагаю, скриншот с обведенными проблемные переменными прилагаю.
33564
33565

wal79
10.10.2017, 11:18
Коллеги, добрый день,
В выходные дописывал свой проект по управлению отоплением дома и обновил OL до 1.9.142.11811 и прошивку ПР200 до 2.05.
Началось слабообъясниемое поведение переменных с выставленным флагом "Запись в конце цикла" - "Да". При присваивании таким переменным значения из сетевой переменной, из переменной стабильно читается значение по-умолчанию - 0. Причем в самой сетевой переменной лежит нормальное значение.
Если "Запись в конце цикла" выставить в "Нет" - то просвоение работает нормально, как и до обновления.
Это такой неочевидный побочный эффект или баг ?
Проект прилагаю, скриншот с обведенными проблемные переменными прилагаю.
33564
33565

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

exzerodivide
10.10.2017, 12:06
Не совсем понимаю Ваше недоумение. Что Вы делаете задав выходным переменным Запись в конце цикла. Новое значение в переменных теперь применяется стабильно в конце цикла, т.е. после всех операций чтения. Поэтому новые значения во входных переменных Вы видите на следующем цикле.
В том то и проблема, что я их (значения) там вообще не вижу (вижу только 0, заданный как значение по-умолчанию).
На самом деле точнее даже так - переменные Т_ТА_Верх_Измеренная, Т_ТА_Низ_Измеренная и Т_БКН_Измеренная используются в том числе и в выводе на экран "Температуры". При "Запись в конце цикла" - "Да" там выводятся постоянно нули, при "Запись в конце цикла" - "Нет" - нормальные значения из сетевых переменных.

wal79
10.10.2017, 15:35
В том то и проблема, что я их (значения) там вообще не вижу (вижу только 0, заданный как значение по-умолчанию).
На самом деле точнее даже так - переменные Т_ТА_Верх_Измеренная, Т_ТА_Низ_Измеренная и Т_БКН_Измеренная используются в том числе и в выводе на экран "Температуры". При "Запись в конце цикла" - "Да" там выводятся постоянно нули, при "Запись в конце цикла" - "Нет" - нормальные значения из сетевых переменных.

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

exzerodivide
10.10.2017, 17:06
Вы выводили значения сетевых переменных на визуализацию? Показания оправдывают ожидания?
Сейчас к сожалению не могу проверить Ваше замечание, завтра с утра попробую на приборе посмотреть.
Да, если вывожу на визуализацию непосредственно сетевые переменные то все нормально, отображаются корректные значения.
Если через промежуточные - то наблюдается ситуация, описанная выше.
У меня соответственно связка ПР200 + МВ110

guravlev-2
10.10.2017, 22:52
Добрый день. Вчера решил дописать свою программу для ПР 200. При установки система обновила прошивку в ПР 200 и установилась последняя версия ОЛ на ПК. После заливки программы на ПР200 все перестало работать. Ковырялся очень долго, все искал ошибки в своей программе, В эмуляторе все работает, на приборе не хочет !!!Залил В ПР200 старую свою программу, так и она перестала работать!!! Методом тыка выяснил, что программа не хочет работать с переменными . Вот какой интересный факт : если с чистого листа написать программку ( во вложении, взял кусочек, где глючит)) и ее не сохранять на диск, а сразу залить в ПР200, то все работает. Если это сохранить на диск, закрыть ОЛ на ПК, после открыть сохраненный проект, то при заливке на ПР200 программа работать не будет !!! Начинает работать, если удалить с выхода макроса перем.1, а потом снова ее восстановить и ,не сохраняя проект, сразу залить в ПР200. Стоит опять сохранить/открыть проект, опять перестает работать. Я конечно запустил свою программу, руками перепроведя все связи, но это ведь не правильно!!! Что с этим делать? Может я где накосячил? Но вроде обычная программка. Суть программки : Переменная 1(проект, плав. запят., с запоминанием), переменная 2(сетевая, целочислен). При изменении перем.1 также изменяется перем. 2, при этом изменения со стороны перем. 2 заблокированы. При появлении сигнала на первом входе ПР200 при изменении перем.2 также изменяется перем. 1, при этом изменения со стороны перем. 1 заблокированы, пока не пропадет сигнал на первом входе ПР200. Такой алгоритм я использую в своем проекте для стыковки ПР200 через WIFI c КаСкадой.

wal79
11.10.2017, 11:30
Добрый день. Вчера решил дописать свою программу для ПР 200. При установки система обновила прошивку в ПР 200 и установилась последняя версия ОЛ на ПК. После заливки программы на ПР200 все перестало работать. Ковырялся очень долго, все искал ошибки в своей программе, В эмуляторе все работает, на приборе не хочет !!!Залил В ПР200 старую свою программу, так и она перестала работать!!! Методом тыка выяснил, что программа не хочет работать с переменными . Вот какой интересный факт : если с чистого листа написать программку ( во вложении, взял кусочек, где глючит)) и ее не сохранять на диск, а сразу залить в ПР200, то все работает. Если это сохранить на диск, закрыть ОЛ на ПК, после открыть сохраненный проект, то при заливке на ПР200 программа работать не будет !!! Начинает работать, если удалить с выхода макроса перем.1, а потом снова ее восстановить и ,не сохраняя проект, сразу залить в ПР200. Стоит опять сохранить/открыть проект, опять перестает работать. Я конечно запустил свою программу, руками перепроведя все связи, но это ведь не правильно!!! Что с этим делать? Может я где накосячил? Но вроде обычная программка. Суть программки : Переменная 1(проект, плав. запят., с запоминанием), переменная 2(сетевая, целочислен). При изменении перем.1 также изменяется перем. 2, при этом изменения со стороны перем. 2 заблокированы. При появлении сигнала на первом входе ПР200 при изменении перем.2 также изменяется перем. 1, при этом изменения со стороны перем. 1 заблокированы, пока не пропадет сигнал на первом входе ПР200. Такой алгоритм я использую в своем проекте для стыковки ПР200 через WIFI c КаСкадой.

Разберемся... Отпишусь позже о результатах.

wal79
11.10.2017, 11:52
Да, если вывожу на визуализацию непосредственно сетевые переменные то все нормально, отображаются корректные значения.
Если через промежуточные - то наблюдается ситуация, описанная выше.
У меня соответственно связка ПР200 + МВ110

Проблема устранена. В ближайшее время выпущу хотфикс.

exzerodivide
11.10.2017, 12:27
Проблема устранена. В ближайшее время выпущу хотфикс.

Спасибо большое. Фикс приедет как обновление OL ?

wal79
11.10.2017, 12:32
Добрый день. Вчера решил дописать свою программу для ПР 200. При установки система обновила прошивку в ПР 200 и установилась последняя версия ОЛ на ПК. После заливки программы на ПР200 все перестало работать. Ковырялся очень долго, все искал ошибки в своей программе, В эмуляторе все работает, на приборе не хочет !!!Залил В ПР200 старую свою программу, так и она перестала работать!!! Методом тыка выяснил, что программа не хочет работать с переменными . Вот какой интересный факт : если с чистого листа написать программку ( во вложении, взял кусочек, где глючит)) и ее не сохранять на диск, а сразу залить в ПР200, то все работает. Если это сохранить на диск, закрыть ОЛ на ПК, после открыть сохраненный проект, то при заливке на ПР200 программа работать не будет !!! Начинает работать, если удалить с выхода макроса перем.1, а потом снова ее восстановить и ,не сохраняя проект, сразу залить в ПР200. Стоит опять сохранить/открыть проект, опять перестает работать. Я конечно запустил свою программу, руками перепроведя все связи, но это ведь не правильно!!! Что с этим делать? Может я где накосячил? Но вроде обычная программка. Суть программки : Переменная 1(проект, плав. запят., с запоминанием), переменная 2(сетевая, целочислен). При изменении перем.1 также изменяется перем. 2, при этом изменения со стороны перем. 2 заблокированы. При появлении сигнала на первом входе ПР200 при изменении перем.2 также изменяется перем. 1, при этом изменения со стороны перем. 1 заблокированы, пока не пропадет сигнал на первом входе ПР200. Такой алгоритм я использую в своем проекте для стыковки ПР200 через WIFI c КаСкадой.

Проблема одна и та же с предыдущим замечанием. Поэтому отпишусь, что проблема устранена. Ждите релиз.

wal79
11.10.2017, 12:32
Спасибо большое. Фикс приедет как обновление OL ?

да, критическое обновление для 1.9

wal79
11.10.2017, 13:20
Выложил обновление.

guravlev-2
11.10.2017, 14:20
Добрый день. Проблема с переменными ( описано выше) наблюдается везде, где значение переменной присваивается через блок SEL или FSEL ( переменная должна входить и исходить из одного блока). Увидел, что вышло обновление ОЛ. Это должно решить проблему? Проблема критическая, не возможно во всем проекте руками перезаписать все переменные с блоком SEL, обязательно что нибудь пропустишь или напутаешь, а они еще и в макросах...

guravlev-2
11.10.2017, 14:27
Ура!!! Новое обновление решило мою проблему с переменными. Спасибо.

wal79
11.10.2017, 14:29
Добрый день. Проблема с переменными ( описано выше) наблюдается везде, где значение переменной присваивается через блок SEL или FSEL ( переменная должна входить и исходить из одного блока). Увидел, что вышло обновление ОЛ. Это должно решить проблему? Проблема критическая, не возможно во всем проекте руками перезаписать все переменные с блоком SEL, обязательно что нибудь пропустишь или напутаешь, а они еще и в макросах...

SEL тут ни при чем... Вижу, что проект заработал.

Эдуард_Н
30.10.2017, 14:02
На днях случилась история. Благодаря прыжку напряжения слетела прога в ПР200. Дабы людям не отдавать открытый алгоритм воспользовался утилитой тиражирования. При первой прошивки EXEным файлом, созданным утилитой тиражирования, всё было нормально. Но был и второй скачок напряжения, после которого прошивка файлом проходит нормально за исключением конфигурации одного аналогового входа. Туда почему-то прописались значения соседних входов.

игорь68
30.10.2017, 22:55
Работал с проектом переместил макрос переразвел связи( не люблю когда проходят через элементы схемы.) вставил часы. И в семуляторе пропал выход I8. Удалил связь I8 с блоком PITBIT. Восстановил связь. В симуляторе I8 нет. Вышел из симулятора. Нарисовал связь I8 - F1. Включил симулятор выход I8 появился. При выборе меняет цвет на синий и меняет состояние 0/1 . Вышел из симулятора. Убрал связь F1-I8. Связь I8 и PITBIT есть( вижу на холсте) а в режиме симуляции I8 черный как будто не подключен.
Файл проекта прикрепил.

RomX
31.10.2017, 09:40
При переименовании входа макроса ОЛ просит перевставить их, подсвечивая красным. На алгоритм название не меняет. Исправьте.

Владимир Ситников
31.10.2017, 11:13
Неправильно предлагается линия задержки: http://www.owen.ru/forum/showthread.php?t=17153&p=261470&viewfull=1#post261470

ОЛ предлагает превратить в задержку линии после AND.
Хотя, по логике, за задержку должны предлагаться выходы из EEPROM.Q2.

Т.е. EEPROM.Q2 -> Extract предлагается правильно, а EEPROM.Q2 -> AND почему-то остаётся обычной связью.

Вольд
31.10.2017, 12:11
Интересно когда прекратится чехарда в ОЛ ?

Вольд
31.10.2017, 18:33
Интересно когда прекратится чехарда в ОЛ ?

Отвечу сам себе - никогда. ;)

9066411154
31.10.2017, 23:31
Весь мозг сломал, уже 2 раза переписал проект (благо переписывать особо нечего).
В разные моменты после добавления TOFLOAT перестает работать в симуляторе часть, добавленная в проект после применения TOFLOAT.
Может дело и не в этом, но завис я на этом моменте.
Посмотрите, подскажите...
Проект здесь: https://yadi.sk/d/IquLJLk43PHPEj

wal79
01.11.2017, 09:20
При переименовании входа макроса ОЛ просит перевставить их, подсвечивая красным. На алгоритм название не меняет. Исправьте.

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

wal79
01.11.2017, 09:23
Неправильно предлагается линия задержки: http://www.owen.ru/forum/showthread.php?t=17153&p=261470&viewfull=1#post261470

ОЛ предлагает превратить в задержку линии после AND.
Хотя, по логике, за задержку должны предлагаться выходы из EEPROM.Q2.

Т.е. EEPROM.Q2 -> Extract предлагается правильно, а EEPROM.Q2 -> AND почему-то остаётся обычной связью.

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

wal79
01.11.2017, 09:27
Неправильно предлагается линия задержки: http://www.owen.ru/forum/showthread.php?t=17153&p=261470&viewfull=1#post261470

ОЛ предлагает превратить в задержку линии после AND.
Хотя, по логике, за задержку должны предлагаться выходы из EEPROM.Q2.

Т.е. EEPROM.Q2 -> Extract предлагается правильно, а EEPROM.Q2 -> AND почему-то остаётся обычной связью.

Он предлагает, не обязует.

wal79
01.11.2017, 09:32
Отвечу сам себе - никогда. ;)

А Вы про какую чехарду? Про телепатические способности ОЛ? Да, никогда он не будет обладать телепатией! Это и так понятно! Насчет различных недовольств пользователей я уже когда-то давно писал, что есть причины того, что продукт выходит в свет "сырым". Но продукт развивается семимильными шагами, таково уж требования рынка и ресурсов тоже не хватает...

wal79
01.11.2017, 09:40
Работал с проектом переместил макрос переразвел связи( не люблю когда проходят через элементы схемы.) вставил часы. И в семуляторе пропал выход I8. Удалил связь I8 с блоком PITBIT. Восстановил связь. В симуляторе I8 нет. Вышел из симулятора. Нарисовал связь I8 - F1. Включил симулятор выход I8 появился. При выборе меняет цвет на синий и меняет состояние 0/1 . Вышел из симулятора. Убрал связь F1-I8. Связь I8 и PITBIT есть( вижу на холсте) а в режиме симуляции I8 черный как будто не подключен.
Файл проекта прикрепил.

А почему I8 Должен работать????? Внимательно смотрите на проект, у Вас PITBIT не задействован, потому что не выбрана сетевая переменная.

wal79
01.11.2017, 09:44
Весь мозг сломал, уже 2 раза переписал проект (благо переписывать особо нечего).
В разные моменты после добавления TOFLOAT перестает работать в симуляторе часть, добавленная в проект после применения TOFLOAT.
Может дело и не в этом, но завис я на этом моменте.
Посмотрите, подскажите...
Проект здесь: https://yadi.sk/d/IquLJLk43PHPEj

Что конкретно не работает? Подробности, чтобы я мог воспроизвести...

9066411154
01.11.2017, 10:10
Что конкретно не работает? Подробности, чтобы я мог воспроизвести...

В прикрепленном примере блок (макрос) 2PosHisReg1 не выполняется. В ранее написанном проекте была связка Fadd-Fsel-FGT (то-же самое что и 2PosHisReg1), которая тоже не выполнялась после добавления TOFLOAT

wal79
01.11.2017, 10:50
В прикрепленном примере блок (макрос) 2PosHisReg1 не выполняется. В ранее написанном проекте была связка Fadd-Fsel-FGT (то-же самое что и 2PosHisReg1), которая тоже не выполнялась после добавления TOFLOAT

ну он работать и не будет. У вас же переменная Цн_эко ни к чему не привязана. Она является типичным примером "виртуальной" переменной. Сами посудите, что будет делать эта схема? Куда сигнал с этой переменной пойдет? Никуда!

9066411154
01.11.2017, 11:02
Ну, как минимум менять эту "виртуальную" переменную. Чтобы посмотреть результат на промежуточном этапе.
Ладно. Прикрепил переменную, попробовал - работает. Будем считать это "особенностью" OWEN Logic.
В других системах виртуальные переменные работают.

Спасибо за ответ. И за оперативность.

wal79
01.11.2017, 11:20
Ну, как минимум менять эту "виртуальную" переменную. Чтобы посмотреть результат на промежуточном этапе.
Ладно. Прикрепил переменную, попробовал - работает. Будем считать это "особенностью" OWEN Logic.
В других системах виртуальные переменные работают.

Спасибо за ответ. И за оперативность.

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

Ревака Юрий
01.11.2017, 12:29
Ну, как минимум менять эту "виртуальную" переменную. Чтобы посмотреть результат на промежуточном этапе.
Ладно. Прикрепил переменную, попробовал - работает. Будем считать это "особенностью" OWEN Logic.
В других системах виртуальные переменные работают.

Спасибо за ответ. И за оперативность.

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

игорь68
01.11.2017, 14:17
А почему I8 Должен работать????? Внимательно смотрите на проект, у Вас PITBIT не задействован, потому что не выбрана сетевая переменная.

Спасибо. Не знал что пока не пропишу выходную сетевую переменную вход работать не будет. Виноват Сам.

Владимир Ситников
01.11.2017, 14:56
По моему, я уже не раз говорил, что лоджик не умеет читать мысли...Он предлагает, не обязует.
Это я понимаю.


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

Если есть какое-нибудь объяснение почему ЛЗ возникает не после EEPROM, то это было бы интересно послушать.

Сейчас же звучит так, что:
1) ОЛ ставит ЛЗ наугад
2) "не думайте, что ОЛ умеет читать мысли"

Должна же быть какая-то логика в том, где именно ОЛ предлагает ставить ЛЗ? Ну не монетку же оно кидает.
Вот и говорю: "в конкретном случае обнаружилась ошибка анализа ЛЗ".

9066411154
01.11.2017, 21:05
Ну вот опять:(
В режиме симулятора поменял переменную эко_мод и появилось окно, (для меня абсолютно не информативное) которое нельзя закрыть.
Что это может быть?33955

wal79
02.11.2017, 09:56
Ну вот опять:(
В режиме симулятора поменял переменную эко_мод и появилось окно, (для меня абсолютно не информативное) которое нельзя закрыть.
Что это может быть?33955

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

9066411154
02.11.2017, 11:57
Вот здесь поподробнее. Версия ОЛ, и что конкретно было сделано, чтобы я мог возобновить.

Версия ОЛ последняя доступная на сайте.
Добавляем булевскую переменную в окно просмотра (в моем случае эко_мод) и пробуем её менять в режиме симуляции в колонке Значение = получаем вышеописанное сообщение.
Если менять эту же переменную в окне схемы (кликая мышкой) - всё нормально

wal79
02.11.2017, 15:17
Версия ОЛ последняя доступная на сайте.
Добавляем булевскую переменную в окно просмотра (в моем случае эко_мод) и пробуем её менять в режиме симуляции в колонке Значение = получаем вышеописанное сообщение.
Если менять эту же переменную в окне схемы (кликая мышкой) - всё нормально

Мне нужен конкретно номер. Я не знаю какую выкладывают на сайте. По описанному Вами поведению предположу что это уже было давно исправлено.

wal79
02.11.2017, 15:19
ОЛ-141. При записи в ПР200 методом "мастера тиражирования" адреса портов пишутся не такие как заданы в проекте, а какие-то произвольные. Это касается COM в слейве, в мастере сам не проверял, но говорят тоже вся сеть прекращает работу. Например при слейвах для сом1 задан адрес 1 - пишет 2, для сом2 задан адрес 2 - пишет 4. Непосредственно из ОЛ пишет правильно.

Проверим... Можно проект для примера? Потому что не понимаю о каких сом Вы говорите.

Серёга Букашкин
02.11.2017, 17:37
не понимаю о каких сом Вы говорите.
У ПР200 есть два порта RS-485: СОМ1 и СОМ2, для них задаются адреса в ОЛ в настройках интерфейса. У меня заданы адреса 1 и 2. Если писать из ОЛ - так и будет в системных настройках Пр200. Делаю файл мастера тиражирования и пишу его в прибор- адреса становятся 2 и 4.

wal79
03.11.2017, 14:29
У ПР200 есть два порта RS-485: СОМ1 и СОМ2, для них задаются адреса в ОЛ в настройках интерфейса. У меня заданы адреса 1 и 2. Если писать из ОЛ - так и будет в системных настройках Пр200. Делаю файл мастера тиражирования и пишу его в прибор- адреса становятся 2 и 4.

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

wal79
03.11.2017, 15:29
На сайте обновлен плагин тиражирования.

Эдуард_Н
03.11.2017, 15:52
На сайте обновлен плагин тиражирования.

А почему не подходит?33976

Эдуард_Н
04.11.2017, 06:41
Уважаемый wal79 как всё таки за мой вопрос?

Эдуард_Н
06.11.2017, 13:52
И у всех новый плагин нормально конечно фунциклирует?

wal79
07.11.2017, 07:34
А почему не подходит?33976

Сейчас разберемся... Предположение, что не для 1.9 дал мастер тиражирования. Прошу прощения.

Эдуард_Н
07.11.2017, 12:50
Сейчас разберемся... Предположение, что не для 1.9 дал мастер тиражирования. Прошу прощения.

И когда исправим?
Это нормальный: setup_owenlogic_distribution_plugin_v1.1.9 ?

wal79
08.11.2017, 09:19
И когда исправим?
Это нормальный: setup_owenlogic_distribution_plugin_v1.1.9 ?

setup_owenlogic_distribution_plugin_v1.0.10.exe - вот этот исправленный. И следует обновить лоджик до 144 сборки, потому что произошли изменения в самом интерфейсе между ОЛ и плагином тиражирования. Сам плагин отдал вчера чтобы выложили на сайте. Думаю сегодня выложат, напомню им об этом.

На сайте выложен плагин тиражирования.

Эдуард_Н
08.11.2017, 13:09
И следует обновить лоджик до 144 сборки
А чего её в "истории изменений" нет?

Серёга Букашкин
08.11.2017, 22:06
plugin_v1.0.10.exe - вот этот исправленный.
Для удобства применения "мастера тиражирования" желательно, чтобы по умолчанию имя файла результата предлагалось таким же как имя проекта в ОЛ, а адрес тоже где лежит проект. Сейчас каждый раз нужно на прописку этого тратить время.

Эдуард_Н
09.11.2017, 04:30
В ОЛ вернутся подковки? Или сделайте точки в местах соединений. Очень не удобно.

anthrwpos
09.11.2017, 08:23
В ОЛ вернутся подковки? Или сделайте точки в местах соединений. Очень не удобно.
точки да, а подковки меня лично бесили) Когда соединялись в месте 3 провода, они там в кашу превращались.

goranach
09.11.2017, 16:45
Невозможно соединение ADD и TO_FLOAT.
v 1.9.144.11991
При замене TO_FLOAT на новый блок - заработало. Наличие связей до и после не влияет.

34047

wal79
10.11.2017, 06:19
В ОЛ вернутся подковки? Или сделайте точки в местах соединений. Очень не удобно.

Подковки не вернутся, запланированы точки соединений.

wal79
10.11.2017, 06:21
Невозможно соединение ADD и TO_FLOAT.
v 1.9.144.11991
При замене TO_FLOAT на новый блок - заработало. Наличие связей до и после не влияет.

34047

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

wal79
10.11.2017, 06:23
Не пишет в ПР200 программу мастер тиражирования. Файл сделан в ОЛ-144, плагин v.1.0.10. Дает такое сообщение. Программа большая и имеет RS-485 Мастер. Другую программу, где только слейвы пишет нормально и с адресами нормально.

Проект пож-ста выложите, можете в личку...

Эдуард_Н
10.11.2017, 11:35
А чего это на фтп файл ОЛ версии144 какой-то нулевой?

wal79
13.11.2017, 13:04
А чего это на фтп файл ОЛ версии144 какой-то нулевой?

Перезалил, ошибка при копировании на сервер произошла, сервер почему-то "отверг" тогда файл.

игорь68
20.11.2017, 07:48
Я не могу утверждать что это ошибка но столкнулся с этим. Лоджик 1.9.144.11991. Создаю новый проект. Выбираю ПР200-24.2(4).х.хххх. Захожу в онлай базу макросов. Я заходил в дискретные преобразования макрос BOOL_INT. Нажимаю кнопку загрузить. В нижнем окне появляется надпись макросы успешно загружены. В проекте открываю папку макросы и ЛКМ не могу вытащить макрос но холст. А если беру макрос из вкладки "Импорт макроса из файла " то на холст макрос выходит. На той неделе я только обновлял на этом компьютере ОПС сервер от ОВЕН. Могу точно сказать до обновления макросы работали.

Сергей0308
20.11.2017, 09:28
Я не могу утверждать что это ошибка но столкнулся с этим. Лоджик 1.9.144.11991. Создаю новый проект. Выбираю ПР200-24.2(4).х.хххх. Захожу в онлай базу макросов. Я заходил в дискретные преобразования макрос BOOL_INT. Нажимаю кнопку загрузить. В нижнем окне появляется надпись макросы успешно загружены. В проекте открываю папку макросы и ЛКМ не могу вытащить макрос но холст. А если беру макрос из вкладки "Импорт макроса из файла " то на холст макрос выходит. На той неделе я только обновлял на этом компьютере ОПС сервер от ОВЕН. Могу точно сказать до обновления макросы работали.

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

КИП
21.11.2017, 00:14
Обнаружил некорректное поведение функционального блока ПИД-регулятор.
При изменении максимальной или минимальной мощности через создания блока записи в ФБ прекращает работать ПИД-регулятор.
Когда исправите данный баг?

Ревака Юрий
21.11.2017, 09:58
Обнаружил некорректное поведение функционального блока ПИД-регулятор.
При изменении максимальной или минимальной мощности через создания блока записи в ФБ прекращает работать ПИД-регулятор.
Когда исправите данный баг?

В каком смысле прекращает, вообще больше не работает или необходим его повторный запуск?

Эдуард_Н
21.11.2017, 13:48
Надо в ОЛ сделать проверку использования переменных (какие используются в проекте какие нет).

wal79
21.11.2017, 13:56
Надо в ОЛ сделать проверку использования переменных (какие используются в проекте какие нет).

О чем именно идет речь? Вроде как такая проверка есть...

Эдуард_Н
21.11.2017, 14:18
О чем именно идет речь? Вроде как такая проверка есть...

Адаптирую, к примеру, проект с одного объекта к другому соответственно какие-то переменные не нужны, какие-то добавляются. Естественно какие не нужны не используются в проекте, но остаются. Вот эту проверку и надо, как КДС2 и КДС3.34242

wal79
21.11.2017, 14:39
Адаптирую, к примеру, проект с одного объекта к другому соответственно какие-то переменные не нужны, какие-то добавляются. Естественно какие не нужны не используются в проекте, но остаются. Вот эту проверку и надо, как КДС2 и КДС3.34242

И что нужно сделать с переменными, которые согласно таблице, не используются?

Эдуард_Н
21.11.2017, 18:32
И что нужно сделать с переменными, которые согласно таблице, не используются?

Выделить как нибудь.

КИП
22.11.2017, 00:35
В каком смысле прекращает, вообще больше не работает или необходим его повторный запуск?

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

игорь68
22.11.2017, 10:03
34256
Добрый день. Вот справка перестала работать. Версия 8 - 2016 работает а Версия 10 - 2017 нет. Переустановил . Поставил обновление 1.9.144.11991 справка не работает. До этого обновил только Ваш ОРС сервер.