Это такая фича, биты обрабатываются как Маска бит в регистре. Вложение 75161
Если вы не знали, то например включение 0 и 1 бита - даёт число 3, 7 бита даёт число 128, а всех 16 бит в регистре - число 65535.
Вид для печати
Это такая фича, биты обрабатываются как Маска бит в регистре. Вложение 75161
Если вы не знали, то например включение 0 и 1 бита - даёт число 3, 7 бита даёт число 128, а всех 16 бит в регистре - число 65535.
Ну, это я знал, конечно, и примерно догадывался, что тут так реализовано, но мне не совсем понятно, зачем в онлайн-отладке на дискретном выходе показывать маску, а не бит.
Получается, что, например, я в отладке вижу на выходе какое-то значение, а по факту он отключен...
Наверно, неплохо было бы в код ОЛ добавить кусок, выполняющий функцию такого макроса:
Вложение 75164
Тогда и состояния дискретных выходов в онлайн-отладке отображались бы корректно.
Да и как-то неожиданно было обнаружить в булевых переменных что-либо, отличное от нуля и единицы...
Нескромный вопрос, где Вы видите в булевых переменных, что-то отличное от нуля и единицы?
На ваших картинках такого нет!
Короче, надо хотя бы представить ваши фантазии, в смысле, сделайте скриншот или по памяти нарисуйте, а то непонятно, в смысле, Вы что-то утверждаете, но на представленных вами картинках такого нет! Сами себя опровергаете!
:confused::confused::confused::eek:
https://owen.ru/forum/showthread.php...l=1#post434968
Давайте рассмотрим две фичи
1. Адресация битовых сетевых переменных в мастере ПР как бит номер тако-то в регистре таком-то
2. Интересная фича панели СП3хх
Про вторую более подробно
Вы не когда не задумывались, почему в настройках различных элементов панели (дисплеи, функции, кнопки...), там где есть тип данных не бит, а регистр т.е. WORD (DWORD), несмотря на это можно в качестве регистра операнда помимо PSW или PFW дополнительно выбрать PSB.
ВНИМАНИЕ
PSB как регистр, а не бит!
Скрытый текст:
На самом деле в панели нет памяти для битовых переменных PSB, а есть регистровая память для БАЙТОВ, где в каждом байте упакованы отдельные биты PSB!
По этому к группе из 16(32) последовательных битов PSB можно обращаться как к одному регистру
Я про это писал еще десять лет назад, в 2013 https://owen.ru/forum/showthread.php?t=15352
Скрытый текст:
Есть одна особенность - адреса РЕГИСТРОВ из PSB должны быть кратными 8
Теперь про Ваш конкретный случай
Пусть есть 8 отдельных переключателей PSB256..263
Вложение 75169
и дисплей с РЕГИСТРОМ PSB256
Вложение 75170
Тогда мы можем наблюдать Ваш "феномен" на дисплее панели
1: Вложение 75171
2: Вложение 75172
3: Вложение 75173
И даже 128: Вложение 75175
Из этого следует, что мастер ПР читает не одиночные биты регистра, а сразу целыми байтами(что мы видим на экране отладки в сетевой переменной), а для результата берет только один заданный бит
petera, спасибо за такой подробный ответ!
Теперь пришло понимание, как сделать "красиво", т.е., чтобы на дискретных выходах в онлайн-отладке были булевые данные: писать кнопки в биты регистров PSW в панели, а в ПР-ке доставать их из маски и разводить по выходам...
Всем привет. После обновления до версии 2.6.347.0 начал очень сильно "тормозить" интерфейс OL. Уже как минимум на трёх компьютерах попробовал. В режиме разработки это проявляется как "замирание" интерфейса на 2-3 секунды без реакции на какие-либо действия, в режиме симуляции видно, что таймер внизу экрана, отсчитывающий "циклы" контроллера замирает на 2-3 секунды. Очень напряжно стало работать, скажу даже невозможно. Это у меня одного так, или проблема повсеместная? Диспетчер задач смотрел, процессор почти не занят. Что может вызывать такие тормоза?
Нет никаких тормозов. Думаю дело в вашей программе.
Для проверки, возьмите любой из примеров и проверьте в симуляторе и онлайн работе
https://owen.ru/forum/showthread.php...=9&p=429067#81
Лучше посложнее, типа этого, 3 вариант https://owen.ru/forum/showthread.php...39&page=11#105