Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя
Показано с 21 по 30 из 42

Тема: СП310. Окно тревог для парольного доступа

  1. #21

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    Можно без макросов. Танец с бубном. Забыли?
    Когда "Бит видимости" активен, но кнопка "скрыта" и находиться над "Полем ввода",
    то как ни нажимай будет срабатывать только кнопка.
    А как быть, если используется несколько уровней?
    https://drive.google.com/file/d/1v8F...usp=drive_link

  2. #22

    По умолчанию

    А именно?!
    Разрешить доступ в поле ввода только при открытии всех уровней (или определенных).

  3. #23

    По умолчанию

    Как это сделать без макросов?

  4. #24

    По умолчанию

    Опять же танец с бубном.
    ФО:
    Код:
     Копировать PSB60 -> PSW256.0
     Копировать PSB61 -> PSW256.1
     Копировать PSB62 -> PSW256.2
     Копировать PSB63 -> PSW256.3
     Копировать PSB64 -> PSW256.4
     Копировать PSB65 -> PSW256.5
     Копировать PSB66 -> PSW256.6
     Копировать PSB67 -> PSW256.7
     Копировать PSB68 -> PSW256.8
     Инвертировать PSW256.0
     Инвертировать PSW256.1
     Инвертировать PSW256.2
     Инвертировать PSW256.3
     Инвертировать PSW256.4
     Инвертировать PSW256.5
     Инвертировать PSW256.6
     Инвертировать PSW256.7
     Инвертировать PSW256.8
     Мат.операция PSW256 = 511 - PSW256 (511 dec = 111111111 bin - маска затребованных уровней доступа, если все включены, то результат будет 0)
     Мат.операция PSW256 = PSW256 / 2
     Мат.операция PSW256 = PSW256 / 2
     Мат.операция PSW256 = PSW256 / 2
     Мат.операция PSW256 = PSW256 / 2
     Мат.операция PSW256 = PSW256 / 2
     Мат.операция PSW256 = PSW256 / 2
     Мат.операция PSW256 = PSW256 / 2
     Мат.операция PSW256 = PSW256 / 2
    Если не будет хватать хоть одного уровня, то разница будет > 0.
    Фишка в том что, при делении на 2 (8 раз) любое число > 0 вырождается в 1, т.е. 1/2 = 1
    Соответственно PSW256.0 становится "Битом видимости", т.е. признаком того, что не все требуемые уровни открыты.
    Последний раз редактировалось EFrol; 01.03.2025 в 21:25.

  5. #25

    По умолчанию

    спасибо, попробую

  6. #26
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,016

    По умолчанию

    Мат.операция PSW256 = 511 - PSW256 (511 dec = 111111111 bin - маска затребованных уровней доступа, если все включены, то результат будет 0)
    Мат.операция PSW256 = PSW256 / 2
    Мат.операция PSW256 = PSW256 / 2
    Мат.операция PSW256 = PSW256 / 2
    Мат.операция PSW256 = PSW256 / 2
    Мат.операция PSW256 = PSW256 / 2
    Мат.операция PSW256 = PSW256 / 2
    Мат.операция PSW256 = PSW256 / 2
    Мат.операция PSW256 = PSW256 / 2
    Результат будет не однозначным
    так как
    Фишка в том что, при делении на 2 (8 раз) любое число > 0 вырождается в 1, т.е. 1/2 = 1
    последнее утверждение весьма опрометчиво. Наверно Вы это проверяли в эмуляции. Если загрузите свой код в панель, то окажется, что 1/2 = 0

    Т.е. я утверждаю, что в эмуляции целочисленное деление выполняется не правильно - остаток от деления не отбрасывается, вместо этого происходит округление результата и 1/2 получается равны 1.
    А вот в живой панели тоже самое целочисленное деление выполняется правильно - остаток от деления отбрасывается и 1/2 получается равным 0.
    Последний раз редактировалось petera; 02.03.2025 в 10:03.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  7. #27

    По умолчанию

    А вот такая ФО прокатит?
    Код:
     Копировать PSB60 -> PSW256.0
     Копировать PSB61 -> PSW256.1
     Копировать PSB62 -> PSW256.2
     Копировать PSB63 -> PSW256.3
     Копировать PSB64 -> PSW256.4
     Копировать PSB65 -> PSW256.5
     Копировать PSB66 -> PSW256.6
     Копировать PSB67 -> PSW256.7
     Копировать PSB68 -> PSW256.8
     Инвертировать PSW256.0
     Инвертировать PSW256.1
     Инвертировать PSW256.2
     Инвертировать PSW256.3
     Инвертировать PSW256.4
     Инвертировать PSW256.5
     Инвертировать PSW256.6
     Инвертировать PSW256.7
     Инвертировать PSW256.8
     Мат.операция PSW256 = PSW256 + 0 включить макс значение = 1 (Если PSW256 > 0, то результат не превысит 1)

  8. #28
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,016

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    А вот такая ФО прокатит?
    Код:
     Копировать PSB60 -> PSW256.0
     Копировать PSB61 -> PSW256.1
     Копировать PSB62 -> PSW256.2
     Копировать PSB63 -> PSW256.3
     Копировать PSB64 -> PSW256.4
     Копировать PSB65 -> PSW256.5
     Копировать PSB66 -> PSW256.6
     Копировать PSB67 -> PSW256.7
     Копировать PSB68 -> PSW256.8
     Инвертировать PSW256.0
     Инвертировать PSW256.1
     Инвертировать PSW256.2
     Инвертировать PSW256.3
     Инвертировать PSW256.4
     Инвертировать PSW256.5
     Инвертировать PSW256.6
     Инвертировать PSW256.7
     Инвертировать PSW256.8
     Мат.операция PSW256 = PSW256 + 0 включить макс значение = 1 (Если PSW256 > 0, то результат не превысит 1)
    Поясните ход Ваших мыслей, наверно я уже старый и не все сразу заходит. Что должно произойти если выполнить Мат.операция PSW256 = PSW256 + 0
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  9. #29

    По умолчанию

    Попробовал. И не понял сути всего этого. `PSW256` равен единице, если пройдена авторизация. Как это использовать?
    Допустим, в проекте заданы 9 уровней пароля. Есть контролы доступные для первого уровня, есть контролы доступные для второго уровня, и т.д. до девятого уровня.
    Наверно, надо сделать так, что бы
    при авторизации первого уровня `PSW256` был `111111110 bin`
    при авторизации второго уровня `PSW256` был `111111100 bin`
    ...
    при авторизации восьмого уровня `PSW256` был `100000000 bin`
    при авторизации девятого уровня `PSW256` был `000000000 bin`

    и тогда `PSW256` можно будет использовать для битов видимости в кнопках вызова окна с ошибкой
    Последний раз редактировалось monteg; 02.03.2025 в 13:56.

  10. #30
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,016

    По умолчанию

    Теперь мой способ с использованием ТОЛЬКО СТАНДАРТНЫХ средств конфигуратора
    НИКАКИХ ГМ!!!
    И так имеем
    Захват-11.png

    1. Три Ввода данных с паролями 1, 2 и 3 уровней
    PSW300
    PSW301
    PSW302
    2. Вашу Ф.область с копированием/ инвертированием бит оставляю как есть
    Захват-12.png

    3. Создаем три дисплея для PSW300, 301, 302 с оформлением и размерами таким же как и у цифровых вводов
    Скрытый текст:

    4. сохраняем их в библиотеке материалов и удаляем дисплеи с экрана, больше они не нужны
    Скрытый текст:

    5. Берем 3 кнопки открытия окна (окно с аварией уже есть - 61001)
    Делаем размеры кнопок равными размерам цифровых вводов. Помещаем кнопки поверх цифровых вводов
    В качестве битов видимости для них - PSB300, 301, 302
    Скрытый текст:


    6.А как же дисплеи сохраненные в библиотеке?
    Мы их используем в оформлении внешнего вида кнопок !!!
    Скрытый текст:


    Теперь внешний вид кнопки совпадает с видом цифрового ввода и даже на кнопке отображаются значения регистров!!!
    Скрытый текст:
    Вложения Вложения
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя

Похожие темы

  1. Разграничение доступа
    от lazy в разделе СПК210, СПК1xx [М01]
    Ответов: 7
    Последнее сообщение: 17.03.2020, 09:13
  2. СП310 - окна тревог и прорисовка линий
    от ks-app в разделе Панели оператора (HMI)
    Ответов: 3
    Последнее сообщение: 10.06.2016, 14:43
  3. Права доступа
    от Vitamin в разделе Master SCADA 3
    Ответов: 11
    Последнее сообщение: 09.04.2015, 07:36
  4. Ответов: 1
    Последнее сообщение: 22.09.2014, 19:05
  5. ИП320, окно тревог
    от monteg в разделе Панели оператора (HMI)
    Ответов: 2
    Последнее сообщение: 04.08.2014, 13:26

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •