Версия Лоджика 2.7.350.0. Интересный косяк нашел. В демонстрации достаточно легко из него вышел. Но это не всегда так получается
Видео https://disk.yandex.ru/i/URe42GeaACSM6Q
Вид для печати
Версия Лоджика 2.7.350.0. Интересный косяк нашел. В демонстрации достаточно легко из него вышел. Но это не всегда так получается
Видео https://disk.yandex.ru/i/URe42GeaACSM6Q
Коллеги , обнаружил такую штуку. При выводе сетевой переменной на экран ПР205 , она ограничена в поле значением 65535. Так как переменная 16 разрядная это нормально. Но если перейти в режим онлайн отладки , можно увидеть что в сетевую переменную можно записать число больше 65535. Сетевая переменная в программе ведет себя как 32 разрядная. Соответственно после превышения границы за 65535 на экране цифры одни , а в программе другие. Тоже самое происходит и в симуляции.
Вложение 76940
Это просто неправильная работа - баг.
Главное, при привязке переменной к полю на экране, правила все соблюдаются , если сетевая то мин макс автоматом для 16 разрядов, если обычная переменная , то лимиты на 32 разряда.
При этом лимиты работают на экране , а в самой программе переменная живет своей неограниченной жизнью.
Мда,... можно наворотить таких дел ...
В режиме мастер и ПР200 поддерживало 32-х разрядные сетевые переменные.
Ну если бы я выбрал два регистра на 32 бита , то вопросов и нет. В данном случае одинарные регистры.
Вложение 76941
Это не баг - это фича
По-моему, логично - смысл задавать с экрана сетевой переменной значение, которое она не сможет передать мастеру
А вы не воротите, вы, просто, держите в уме, что сетевая переменная не должна быть больше 65535
Так не работает ограничение на экране!!! Если поставить 3000 условно, лимит поля на экране, переменную должно обрезать и в программе тоже!!!
Значения в программе и на экране должны быть одинаковыми. Вот на скриншоте счетчик литров расходомера.
Оператор регистрирует показания время от времени. Информация в данном случае является достоверной!!!???
Вы считаете это фичей!!!???
Вложение 76944
Вам же написали, в ПР мастере может быть 2 регистра в целочисленной, если сделать как вы пишите, получится фигня при выборе мастера и 2 регистров.
Это вы должны при выборе 1 регистра, ограничить переменную до 65535.Вложение 76946