PDA

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



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

FPavel
04.09.2026, 20:44
Да, OwenLogic для каждого прибора держит собственный формат cvs файла импорта-экспорта.
Делаете для новой платформы образец, который заполняете копированием из другого открытого файла.
Адреса регистров заполняете автоматически по условию "=ЯчейкаАдресаВерхнегоРегистра+ЕСЛИ(ЯчейкаТипаВерхн егоРегистра="Long";1;2)" - записал по памяти, может немного ошибся.

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

FPavel
05.09.2026, 12:16
Обнаружил ошибку в симуляторе ПР205 для сетевых переменных.

Как воспроизвести:
1. объявить две сетевые целочисленные переменные, расположенные по последовательным адресам, объявить их энергонезависимыми и присвоить ненулевые начальные значения
2. на экране создать два элемента "ввод / вывод времени" и привязать обе переменные к этим элементам

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

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

Само по себе объяснение этому простое и поведение на реальном оборудовании ожидаемое, но поведение в симуляторе - ошибочное.

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

Dimensy
05.09.2026, 20:11
Обнаружил ошибку в симуляторе ПР205 для сетевых переменных.

Как воспроизвести:
1. объявить две сетевые целочисленные переменные, расположенные по последовательным адресам, объявить их энергонезависимыми и присвоить ненулевые начальные значения
2. на экране создать два элемента "ввод / вывод времени" и привязать обе переменные к этим элементам

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

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

Само по себе объяснение этому простое и поведение на реальном оборудовании ожидаемое, но поведение в симуляторе - ошибочное.

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

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

kondor3000
05.09.2026, 21:32
Обнаружил ошибку в симуляторе ПР205 для сетевых переменных.

Как воспроизвести:
1. объявить две сетевые целочисленные переменные, расположенные по последовательным адресам, объявить их энергонезависимыми и присвоить ненулевые начальные значения
2. на экране создать два элемента "ввод / вывод времени" и привязать обе переменные к этим элементам

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

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

Само по себе объяснение этому простое и поведение на реальном оборудовании ожидаемое, но поведение в симуляторе - ошибочное.



На экране выведено число 4178313227, состоящее из 2 регистров (число 11 передаётся в регистр 16385 ) 90256
и 63756 например уже было записано в следующий регистр 16386. На скрине дата разложена на байты и собрано в 2 WORD.
Для подтверждения наличия бага, надо как минимум прочитать число в регистре 16386 или записать туда ноль.

FPavel
06.09.2026, 17:51
Для подтверждения наличия бага, надо как минимум прочитать число в регистре 16386 или записать туда ноль.
"Я ж не о том, что по ноге кнутом, я ж о том, что - больно!" (c) ;)

Баг состоит в различном поведения симулятора и реального ПР205 - что подтверждено скрином из симулятора и фотографией экрана. И отличия в содержимом экрана на фото и на скрине этот баг подтверждают.

Dimensy
06.09.2026, 22:32
"Я ж не о том, что по ноге кнутом, я ж о том, что - больно!" (c) ;)

Баг состоит в различном поведения симулятора и реального ПР205 - что подтверждено скрином из симулятора и фотографией экрана. И отличия в содержимом экрана на фото и на скрине этот баг подтверждают.

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

FPavel
07.09.2026, 06:09
А если не в контрол писать а в обычную переменную, что получится?
Конечно, косяк, но может это контрол как-то соседний регистр подтягивает, а с переменной будет норм?
Да, со "стандартными переменными" всё хорошо и всё ожидаемо работает и в симуляторе и на аппаратуре. Проверял.

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

Зная, что контролу нужно 4 байта, а Modbus регистр имеет размер 2 байта - можно найти выход в добавлении смежного регистра. Или каким-то другим способом.
Я бы поостерёгся делать предположение о последовательном размещении в памяти регистров, т.к. видел реализации на основе списков - пары регистр и его адрес. И Овен нигде не гарантировал такое размещение.

Исходная проблема - разное поведение в симуляторе и аппаратуре.

Dimensy
07.09.2026, 07:38
Да, со "стандартными переменными" всё хорошо и всё ожидаемо работает и в симуляторе и на аппаратуре. Проверял.

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

Зная, что контролу нужно 4 байта, а Modbus регистр имеет размер 2 байта - можно найти выход в добавлении смежного регистра. Или каким-то другим способом.
Я бы поостерёгся делать предположение о последовательном размещении в памяти регистров, т.к. видел реализации на основе списков - пары регистр и его адрес. И Овен нигде не гарантировал такое размещение.

Исходная проблема - разное поведение в симуляторе и аппаратуре.

Спасибо. А, можно попробовать скормить контролу последний в таблице регистр (20479). Интересно, что будет. И, по хорошему, этим должен Овен заниматься - такой косяк пропустить

FPavel
07.09.2026, 20:26
Проверил с регистром 20479 - аналогичная ошибка, только на реальном ПР205 совсем другое значение, чем для первых двух регистров из примера выше.

Реакции от представителей Овен здесь не последовало - кину в багрепорт ТП.

Dimensy
07.09.2026, 21:02
Проверил с регистром 20479 - аналогичная ошибка, только на реальном ПР205 совсем другое значение, чем для первых двух регистров из примера выше.

Реакции от представителей Овен здесь не последовало - кину в багрепорт ТП.

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

kondor3000
07.09.2026, 21:15
Другое значение - это просто мусор в ячейке. Насколько я помню, народ уже сталкивался с тем,что при прошивке программа пишется поверх без очистки памяти

Об этом и писал выше, это не баг, а сохранившееся значение в регистре 16386. Естественно оно отличается от симулятора, где точно ноль.
А в выложенном примере, этот регистр вообще не использован, естественно там остался мусор.
Списывать на баг некорректно созданный проект, вообще не правильно. Вывел 32 битную переменную на экран, будь добр задать оба регистра.

FPavel
08.09.2026, 00:17
kondor3000, баг в кардинально разном отображении на дисплее в режиме симуляции и в реальном приборе.

Если бы симуляция продемонстрировала некорректность проекта, то проект был бы исправлен до выезда на объект, но симуляция показала нормальную работу.

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

В симуляторе - баг.

В симуляторе - баг.

В симуляторе - баг.

Dimensy
08.09.2026, 07:56
Об этом и писал выше, это не баг, а сохранившееся значение в регистре 16386. Естественно оно отличается от симулятора, где точно ноль.
А в выложенном примере, этот регистр вообще не использован, естественно там остался мусор.
Списывать на баг некорректно созданный проект, вообще не правильно. Вывел 32 битную переменную на экран, будь добр задать оба регистра.

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

kondor3000
08.09.2026, 08:01
В смысле не баг? У Лоджика сетевая целочисленная слейв переменная 16 битная. Поэтому, при попытке подключить ее к 32 битному входу контрола переменная должна автоматом конвертироваться или генерироваться ошибка.

Вывел 32 битную переменную на экран, будь добр задать оба регистра. Автор задал 1 регистр, а второй прочитался из мусора.
И где тут баг?
Почему вы всё время пишите про 16 битный регистр, забывая, что для 32 бит. переменной указывается первый, а второй берётся автоматом,
сетевые в данном случае вообще не работают, а на дисплей выводится дата из памяти самой ПР.

Dimensy
08.09.2026, 09:19
Вывел 32 битную переменную на экран, будь добр задать оба регистра. Автор задал 1 регистр, а второй прочитался из мусора.
И где тут баг?
Почему вы всё время пишите про 16 битный регистр, забывая, что для 32 бит. переменной указывается первый, а второй берётся автоматом,
сетевые в данном случае вообще не работают, а на дисплей выводится дата из памяти самой ПР.

Т.е., если я в каком-нибудь CDS попробую переменную UINT записать в UDINT, то у меня еще и соседняя ячейка памяти туда автоматом запишется?

Валерий "mad Dog" Шмараев
09.09.2026, 07:13
парные с чётных начинать попробуйте.

shvitaliy
09.09.2026, 10:10
Это не среда разработки, а сплошное недоразумение. Как было сырым в начале, так и осталось.
Открыл старый проект ПР100.
Добавил в проект один свободный аналоговый вход, обвязал логикой.
Решил посмотреть в симуляторе, а там фиг вам. Вход никак не управляется. Сохранял, перезагружал, проверил настройки с другими входами, все ОК.
Привязанные ранее в проекте входа свободно управляются.

1exan
09.09.2026, 11:02
Это не среда разработки, а сплошное недоразумение. Как было сырым в начале, так и осталось.
Открыл старый проект ПР100.
Добавил в проект один свободный аналоговый вход, обвязал логикой.
Решил посмотреть в симуляторе, а там фиг вам. Вход никак не управляется. Сохранял, перезагружал, проверил настройки с другими входами, все ОК.
Привязанные ранее в проекте входа свободно управляются.

90281
Не этот случай?

shvitaliy
09.09.2026, 13:01
Все связи есть. Откатился на билд назад, все заработало

Умурзаков Денис
09.09.2026, 17:19
Все связи есть. Откатился на билд назад, все заработало

А можете, пожалуйста, прислать проект, в котором наблюдается ошибка? Проект можно прислать сюда или на почту d.unurzakov@owen.ru

Traveller
15.09.2026, 11:44
В общем есть один мелкий баг, но он провоцирует кучу лишних телодвижений:
Есть текстовое поле на экране размером 160х40, в нем коротенькая надпись 32-м шрифтом, если я меняю текст (не размер шрифта, а только текст), то надпись тут же меняются высота рамки с 40 на 44 и приходится постоянно это исправлять, со всеми вытекающими...

Kliper
18.09.2026, 01:05
Еще баг.
При старте симуляции переменная дня недели, привязанные к часам дает некорректное значение - ноль. В итоге ST-шный макрос, который пытается это обработать, валится, и симуляция не запускается вообще.

Dimensy
18.09.2026, 06:05
Еще баг.
При старте симуляции переменная дня недели, привязанные к часам дает некорректное значение - ноль. В итоге ST-шный макрос, который пытается это обработать, валится, и симуляция не запускается вообще.

Так в чем баг? У новых ПРок в симуляции время работает только, полученное от функции в ST

Pavlick
18.09.2026, 13:13
Здравствуйте!

Столкнулся с проблемой при работе пользовательских функциональных блоков ST.

Контроллер: ПР225-24.1210.02.2.0
Owen Logic: 3.2.376.0

Проблема наблюдается на реальном ПР225, в режиме эмуляции не воспроизводится.

Удалось получить минимальный воспроизводимый пример.

1. Вложенный FB:



function_block PumpControllerTest

var_input

a01 : bool;
a02 : bool;

a03 : bool;
a04 : udint;
a05 : udint;

a06 : bool;
a07 : bool;
a08 : bool;

a09 : bool;

a10 : real;

a11 : real;
a12 : udint;
a13 : real;

a14 : real;
a15 : real;
a16 : real;
a17 : real;

a18 : real;

end_var


var_output

b01 : bool;
b02 : real;

b03 : udint;
b04 : bool;

b05 : bool;

end_var


var

c03 : bool;
c04 : bool;
c05 : bool;

c06 : bool;
c07 : bool;
c08 : bool;

c09 : bool;

c10 : bool;

c11 : real;
c12 : real;

c13 : udint;
c14 : udint;

c15 : real;

c16 : bool;

end_var


b03 := 2;

end_function_block


В данном FB выход `b03` всегда явно устанавливается в значение `2`:



b03 := 2;


2. Родительский FB:



function_block MainTest

var_input

a01 : bool;
a02 : bool;

a03 : real;

a04 : bool;
a05 : bool;

a06 : bool;
a07 : udint;
a08 : udint;

a09 : bool;

a10 : real;
a11 : real;

a12 : real;
a13 : real;
a14 : real;
a15 : real;

a16 : udint;
a17 : bool;
a18 : udint;

a19 : bool;
a20 : real;

a21 : real;
a22 : real;
a23 : real;

a24 : real;
a25 : real;
a26 : real;
a27 : real;

a28 : udint;
a29 : udint;

a30 : udint;

end_var


var_output

b01 : bool;
b02 : real;

b03 : udint;
b04 : bool;

b05 : bool;

end_var


var
c01 : PumpControllerTest;
c02 : bool;
c03 : bool;
c04 : bool;
//c05 : bool;
end_var


c01(
a01 := a01,
a02 := a02,

a03 := a04,
a04 := a07,
a05 := a08,

a06 := a05,
a07 := a06,
a08 := a09,

a09 := a17,

a10 := a03,
a11 := a10,
a12 := a16,
a13 := a11,

a14 := a12,
a15 := a13,
a16 := a14,
a17 := a15,

a18 := a20
);


b01 := c01.b01;
b02 := c01.b02;
b03 := c01.b03;
b04 := c01.b04;
b05 := c01.b05;

end_function_block


Результат на реальном ПР225:



c05 : bool;


закомментирована:



c01.b03 = 0


Если раскомментировать только эту переменную:



c05 : bool;


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



c01.b03 = 2


При этом в обоих случаях в `PumpControllerTest` выполняется:



b03 := 2;


В режиме эмуляции Owen Logic в обоих вариантах:



b03 = 2


То есть поведение зависит от наличия одной неиспользуемой переменной BOOL в родительском FB.

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

При этом обычная логика FB в данном тесте отсутствует - фактически проверяется только передача выходного значения вложенного пользовательского функционального блока.

Вопрос:

Известна ли такая проблема в Owen Logic 3.2.376.0 на ПР225?

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

Во вложении прилагаю минимальный проект Owen Logic, на котором проблема воспроизводится на реальном ПР225.

Kliper
18.09.2026, 18:57
Так в чем баг? У новых ПРок в симуляции время работает только, полученное от функции в ST

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

kondor3000
18.09.2026, 19:23
Я завожу дни недели снаружи, через переменную. А она некорректная изначально, идет ошибка в обработке и симуляция не запускается. В этом и баг.

В симуляции там вообще ничего не работает. Если надо берите время и день недели тут, работает везде
Дата, Время и День недели через DT с 2000г. ____________ https://owen.ru/forum/showthread.php?t=40116#4

Kliper
19.09.2026, 18:09
В симуляции там вообще ничего не работает. Если надо берите время и день недели тут, работает везде
Дата, Время и День недели через DT с 2000г. ____________ https://owen.ru/forum/showthread.php?t=40116#4

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

Умурзаков Денис
21.09.2026, 09:42
Здравствуйте!

Столкнулся с проблемой при работе пользовательских функциональных блоков ST.

Контроллер: ПР225-24.1210.02.2.0
Owen Logic: 3.2.376.0

Проблема наблюдается на реальном ПР225, в режиме эмуляции не воспроизводится.

Удалось получить минимальный воспроизводимый пример.

1. Вложенный FB:



function_block PumpControllerTest

var_input

a01 : bool;
a02 : bool;

a03 : bool;
a04 : udint;
a05 : udint;

a06 : bool;
a07 : bool;
a08 : bool;

a09 : bool;

a10 : real;

a11 : real;
a12 : udint;
a13 : real;

a14 : real;
a15 : real;
a16 : real;
a17 : real;

a18 : real;

end_var


var_output

b01 : bool;
b02 : real;

b03 : udint;
b04 : bool;

b05 : bool;

end_var


var

c03 : bool;
c04 : bool;
c05 : bool;

c06 : bool;
c07 : bool;
c08 : bool;

c09 : bool;

c10 : bool;

c11 : real;
c12 : real;

c13 : udint;
c14 : udint;

c15 : real;

c16 : bool;

end_var


b03 := 2;

end_function_block


В данном FB выход `b03` всегда явно устанавливается в значение `2`:



b03 := 2;


2. Родительский FB:



function_block MainTest

var_input

a01 : bool;
a02 : bool;

a03 : real;

a04 : bool;
a05 : bool;

a06 : bool;
a07 : udint;
a08 : udint;

a09 : bool;

a10 : real;
a11 : real;

a12 : real;
a13 : real;
a14 : real;
a15 : real;

a16 : udint;
a17 : bool;
a18 : udint;

a19 : bool;
a20 : real;

a21 : real;
a22 : real;
a23 : real;

a24 : real;
a25 : real;
a26 : real;
a27 : real;

a28 : udint;
a29 : udint;

a30 : udint;

end_var


var_output

b01 : bool;
b02 : real;

b03 : udint;
b04 : bool;

b05 : bool;

end_var


var
c01 : PumpControllerTest;
c02 : bool;
c03 : bool;
c04 : bool;
//c05 : bool;
end_var


c01(
a01 := a01,
a02 := a02,

a03 := a04,
a04 := a07,
a05 := a08,

a06 := a05,
a07 := a06,
a08 := a09,

a09 := a17,

a10 := a03,
a11 := a10,
a12 := a16,
a13 := a11,

a14 := a12,
a15 := a13,
a16 := a14,
a17 := a15,

a18 := a20
);


b01 := c01.b01;
b02 := c01.b02;
b03 := c01.b03;
b04 := c01.b04;
b05 := c01.b05;

end_function_block


Результат на реальном ПР225:



c05 : bool;


закомментирована:



c01.b03 = 0


Если раскомментировать только эту переменную:



c05 : bool;


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



c01.b03 = 2


При этом в обоих случаях в `PumpControllerTest` выполняется:



b03 := 2;


В режиме эмуляции Owen Logic в обоих вариантах:



b03 = 2


То есть поведение зависит от наличия одной неиспользуемой переменной BOOL в родительском FB.

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

При этом обычная логика FB в данном тесте отсутствует - фактически проверяется только передача выходного значения вложенного пользовательского функционального блока.

Вопрос:

Известна ли такая проблема в Owen Logic 3.2.376.0 на ПР225?

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

Во вложении прилагаю минимальный проект Owen Logic, на котором проблема воспроизводится на реальном ПР225.

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

Pavlick
21.09.2026, 10:01
Спасибо, о данном баге не знали. О причинах пока сказать не можем, нужно разбираться.

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

Прошу по возможности информировать меня о ходе работы по этому багу - в частности, когда будет установлена причина проблемы и когда появится исправление в OWEN Logic.

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

kaftanati
23.09.2026, 17:05
Баг в актуальной версии:

1. Если свернуть часть переменных в панели (сворачивание групп)
2. Переключиться на другую вкладку (макроса)
3. Вернуться - снова все группы развернуты

kaftanati
24.09.2026, 09:43
Баг, очень давний
1. Раскрыть выпадающее меню или дождаться вывода на экран всплывающего сообщения справки
2. Уйти в другое приложение
3. Всплывшие модальные окна продолжают висеть в том же месте поверх всего, в т.ч. других приложений
4. Особенно неудобно. когда открыто несколько OL и приходится по всем переключаться в поисках источника такого всплывающего окна

kaftanati
24.09.2026, 10:26
Баг с ST редактором
Не валидируется блок комментария OutputDescription (может связано с опечаткой не только в справке, но и в обработчике)
90483

Dimensy
24.09.2026, 11:18
Баг с ST редактором
Не валидируется блок комментария OutputDescription (может связано с опечаткой не только в справке, но и в обработчике)

Этот параметр только для функции.
И не надо копировать - ставьте /// и редактор сам подскажет что туда можно запихать
90484

kaftanati
24.09.2026, 13:17
Как бы так... объяснить. Я вручную и не копирую (почти):


Вытащил все свои st-блоки из программ OL/CDS
Натравил на них ИИ агента
Он их рассортировал, поправил описание, нашел пару опечаток, а кой-где и незначимых ошибок (значимые давно все вылезли)
Теперь у меня библиотека всех своих наработок, которая кочует от проекта к проекту, ждет применения в AltaIDe и других проектах.


А попытку впихнуть OutputDescription для блока я проморгал: исполнительный агент получил задачу для всех блоков привести шапку/описание к одному/шаблонному виду (из справки я ему поля выкопировал). Я же зацепился за опечатку и тут же отрапортовал.

kaftanati
25.09.2026, 15:45
Панель переменных:
При вводе текста фильтра по имени переменной, в списке остаются не только переменные, подходящие под фильтр и папки их включающие, но и вовсе все папки (локальные, сетевые), в т.ч. пустые.
Много лишнего.
На картинке видно соотношение полезного "выхода" относительно "отвлекающего"
90499

msl272
28.09.2026, 08:37
Баг. Версия последняя. Контроллер ПР200-220-5.1.
Читаю по модбас несколько переменных из сервака и отображаю их на экране ПР. В "настройках прибора" для каждой из этих переменных поставил свойство "Запуск чтения" с нулевым значением (переменной присвоен 0).
В результате все данные продолжают отображаться и обновляться на экране.

Dimensy
28.09.2026, 11:11
Баг. Версия последняя. Контроллер ПР200-220-5.1.
Читаю по модбас несколько переменных из сервака и отображаю их на экране ПР. В "настройках прибора" для каждой из этих переменных поставил свойство "Запуск чтения" с нулевым значением (переменной присвоен 0).
В результате все данные продолжают отображаться и обновляться на экране.

Насколько я помню, "Запуск чтения" (управление на уровне запроса) не отменяет опрос на уровне устройства.

msl272
28.09.2026, 14:57
Насколько я помню, "Запуск чтения" (управление на уровне запроса) не отменяет опрос на уровне устройства.

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

Сергей0308
28.09.2026, 16:25
Я тоже так и не понял как там что работает, в смысле, ещё много лет назад не мог запись наладить на ПР200, в смысле, снимаю галочку запись по изменению и у меня запись прекращается, привязываю переменную для разрешения записи, подаю в неё логическую единицу из константы, как Юрий Ревака утверждал должна идти постоянная запись, а у меня нет записи, хоть кол на голове теши, короче, вернул запись по изменению и опять всё заработало, запись пошла, разбираться не было времени. Через полгода или год опять в эту ловушку попал, что-то добавлял в проект, а про эту галку забыл, короче, лучше на столе сначала разобраться, чтобы в просак не попасть, это я так думаю!

melky
28.09.2026, 16:43
Запуск Чтения - 1_ца должна длиться более таймаута или более периода чтения. Импульс тут не работает.

msl272
28.09.2026, 17:00
Запуск Чтения - 1_ца должна длиться более таймаута или более периода чтения. Импульс тут не работает.

Вот фирменное описание, если что))):
Запуск чтения — назначается переменная булевского типа (командная переменная) для принудительного чтения настраиваемой переменной: если значение командной переменной меняется с 0 на 1, мастер инициирует запрос на чтение, после успешного выполнения запроса значение командной переменной автоматически меняется с 1 на 0;

melky
28.09.2026, 17:03
msl272 ну на ПР200 это не прокатывало. Было даже видео от Юрия Ревака с диаграммами. Если добавили то хорошо, вопрос а добавили ли? и в каких моделях ПР?

msl272
28.09.2026, 17:07
добавлю. В любом случае при нулевой "командной переменной" чтения происходить не должно.

Королев Кирилл
28.09.2026, 17:22
Баг. Версия последняя. Контроллер ПР200-220-5.1.
Читаю по модбас несколько переменных из сервака и отображаю их на экране ПР. В "настройках прибора" для каждой из этих переменных поставил свойство "Запуск чтения" с нулевым значением (переменной присвоен 0).
В результате все данные продолжают отображаться и обновляться на экране.


Насколько я помню, "Запуск чтения" (управление на уровне запроса) не отменяет опрос на уровне устройства.

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

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

P.S. во втором поколении (ПР103, 205, 225) есть возможность настраивать период опроса индивидуально для каждой переменной, что позволяет задать его равным 0 и оставить чтение исключительно по команде.

kaftanati
12.10.2026, 10:05
Замечание/предложение по экранам второго поколения:

При переносе экранов или отдельных графических элементов с ПР225 на ПР205 - не переносятся элементы, которые "не помещаются" в меньшее разрешение.
Было бы удобнее предлагать варианты:
- не переносить
- сдвинуть в "рамку экрана" с сокращением длины/ширины, если необходимо
- перенести не вместившиеся в верхний левый угол для самостоятельного "размещения"

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

И когда добавите ещё размеры шрифтов??
(16 -> 32 слишком большой шаг)

Kliper
12.10.2026, 20:23
И когда добавите ещё размеры шрифтов??
(16 -> 32 слишком большой шаг)

Дважды плюсую

RV9WFJ
13.10.2026, 07:21
Только это не поможет. На шрифты слишком много памяти надо, которой и так там не хватает.

Traveller
14.10.2026, 11:03
Тоже по шрифтам в чек боксах!!!
Я не понимаю, а что жалко добавить шрифты поменьше не 16-32-48, а еще хотя бы 10-12 добавить, а то надписи не помещаются:
90676

FPavel
14.10.2026, 20:19
Тоже по шрифтам в чек боксах!!!
Я не понимаю, а что жалко добавить шрифты поменьше не 16-32-48, а еще хотя бы 10-12 добавить, а то надписи не помещаются:
Могу посоветовать костыль - оставить чекбоксы без текста, а сам текст (все тексты этого экрана) реализовать на картинке-подложке - при этом можно подбирать любые размеры щрифтов. После сохранения картинки буквы потеряют резкие очертания, пиксели будут разной градации серого, что при просмотре на настоящем экране очень хорошо скажется.

Так делал тексты Arial, 8 на ПР205 - хорошо получилось, хотя у меня были сомнения.

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

Есть ещё векторный онлайн-редактор на сайте draw.io - тоже работа со слоями, много готовых фигур. В нём делал картинки подложки для сенсорных панелей, сохранял в png.

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

Так делал тексты Arial, 8 на ПР205 - хорошо получилось, хотя у меня были сомнения.

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

Есть ещё векторный онлайн-редактор на сайте draw.io - тоже работа со слоями, много готовых фигур. В нём делал картинки подложки для сенсорных панелей, сохранял в png.Ну можно и так, только я все же за то что бы сама OwenLogic, была способна выдавать более широкий диапазон шрифтов...:)
Хотя да, вы мне подсказали хорошую идею, но это уже будет реализовываться в других проектах, этот я уже не хочу переделывать! :)

Dimensy
15.10.2026, 06:07
Тоже по шрифтам в чек боксах!!!
Я не понимаю, а что жалко добавить шрифты поменьше не 16-32-48, а еще хотя бы 10-12 добавить, а то надписи не помещаются:
90676

А не пробовали здесь поиграться?
90678

Traveller
15.10.2026, 06:27
А не пробовали здесь поиграться?
90678Даже в мыслях не было! Ну как бы, наверное логично копаться там, где этот параметр обозначен, а не перебирать еще "1000 и 1" других параметров которые на это с какой то долей вероятности могут влиять... :) И да, даже если это и поможет, то точно все тогда на один экран не поместится, а мне нужно использовать его площадь по максимуму

Dimensy
15.10.2026, 07:38
Даже в мыслях не было! Ну как бы, наверное логично копаться там, где этот параметр обозначен, а не перебирать еще "1000 и 1" других параметров которые на это с какой то долей вероятности могут влиять... :) И да, даже если это и поможет, то точно все тогда на один экран не поместится, а мне нужно использовать его площадь по максимуму

Ну, не знаю
90679

У меня, вот, вопрос к разработчикам. Ширина экрана 320 точек, это четыре столбика по 80 точек. Так какого фига последний столбик обрезается? Или ширина ячейки не равно ширина столбика?

Traveller
15.10.2026, 09:01
Ну, не знаю
90679Ну да, как бы это слегка помогло, но где логика, т.е. при более широкой ячейке надпись не помещается, а при более узкой запросто, вот хочу понять у кого лыжи не едут...:D

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


У меня, вот, вопрос к разработчикам. Ширина экрана 320 точек, это четыре столбика по 80 точек. Так какого фига последний столбик обрезается? Или ширина ячейки не равно ширина столбика? Да, да, у меня тот же вопрос! :)

А еще, я вчера еще один глюк словил, а может и не вчера, в общем я еще сам не понял, как это получилось, в общем есть еще несколько экранов и там на нем текстовые блоки, когда я их делал, я их равномерно распределил и сделал все размеры одинаково 160х40, ну сделал и забыл, а вчера открываю и вижу что все что выше нижних двух поменяли свои размеры, вернее высоту с 40 на 44 и стали наползать друг на друга, пришлось все это снова править!
90680

asu.optim-toledo
16.10.2026, 10:57
90691
Добрый день. Увидел небольшой баг при использовании 2 мониторов. При наведении на элемент часть сообщения уходит на второй экран.

kaftanati
22.10.2026, 12:44
Добавьте в окно информации о подключенном приборе возможность быстрого копирования в буфер обмена заводского номера -ну чтобы не перевбивать на глаз серийные номера для OwenCloud

kaftanati
22.10.2026, 22:51
ПР2*5 - работа с экраном - при смене типа привязанной переменной к элементу ввода/вывода сбрасывается настройка "Запретить редактирование".

KotoVasya
30.10.2026, 12:52
Обновил я OWEN Logic c версии 3.2.376.0 на версию 3.3.378.0, и в старых программах для ПР225-24.1210.02.1.0 вместо масштабирования изображений (.BMP) получил обрезку.
Попробовал создать новую программу с теми же изображениями - тоже обрезка вместо масштабирования. Хотя на экране симуляции всё в порядке.
90823Старая прошивка 1.12.0 - всё работает90824Вот так должно быть

А вот после обновления, прошивка уже 1.12.1 - обрезает.90825

KotoVasya
30.10.2026, 12:55
9082890827Вот так выглядит. Обрезано по верхнему левому углу.

Trevor
30.10.2026, 12:55
В последней версии 3.3.378.0 есть баг с авто- размерами изображений.
Если не хотите ждать новую версию, обрежьте сами размер изображений по размеру экрана

KotoVasya
30.10.2026, 12:58
90829Создал новую программу в новой версии. В симуляции всё нормально, на реальном приборе опять глюк.90830

KotoVasya
30.10.2026, 12:59
В последней версии 3.3.378.0 есть баг с размерами изображений.
Если не хотите ждать новую версию, обрежьте сами размер изображений по размеру экрана

Спасибо! Буду знать. Я пролистал эту ветку быстренько, ничего про это не нашёл, вот и запостил.