Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 21

Тема: Битовая маска

  1. #1

    По умолчанию Битовая маска

    Есть переменная AlarmFlags. Тип данных uint16.
    Требуется создать событие по выставлению битов в переменной AlarmFlags. Например,
    бит 0 равен 1 -> Событие: "авария №1"
    бит 1 равен 1 -> Событие: "авария №2"
    бит 2 равен 1 -> Событие: "авария №3"

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

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

  2. #2
    Пользователь
    Регистрация
    31.07.2013
    Адрес
    Аркаим
    Сообщений
    1,282

    По умолчанию

    AlarmFlags.0=1 >> Событие: "авария №1"
    AlarmFlags.1=1 >> Событие: "авария №2"
    AlarmFlags.2=1 >> Событие: "авария №3"

    Так пробовали?

  3. #3

    По умолчанию

    Попробовал, результат:
    Bad Request (#400): Выражение содержит ошибки.

  4. #4
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,986

    По умолчанию

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

  5. #5
    Пользователь
    Регистрация
    31.07.2013
    Адрес
    Аркаим
    Сообщений
    1,282

    По умолчанию

    Bad Request (#400)
    Полный текст хотя бы одной строчки можете привести? Интересует синтаксис.

  6. #6

    По умолчанию

    Цитата Сообщение от Sulfur Посмотреть сообщение
    Полный текст хотя бы одной строчки можете привести? Интересует синтаксис.
    Скрин
    Выражение содержит ошибки.png

  7. #7
    Пользователь
    Регистрация
    31.07.2013
    Адрес
    Аркаим
    Сообщений
    1,282

    По умолчанию

    Lisithea
    В КДС правильный синтаксис будет
    IF AlarmFlags.0=true THEN *действие 1*; END_IF;
    Но если уважаемый capzap говорит, что в облаке синтаксис через точку не работает, то значит так оно и есть.
    Ему в этом вопросе я доверяю больше чем себе.

  8. #8
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,986

    По умолчанию

    capzap непонятна логика. Например пришло число 9 (1001), 3 бит выдерните ?

  9. #9
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,986

    По умолчанию

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

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

  10. #10

    По умолчанию

    Грустно (((

Страница 1 из 3 123 ПоследняяПоследняя

Похожие темы

  1. Битовая маска для MB-110-xxx 16
    от Р.Александр в разделе Среда программирования OWEN Logic
    Ответов: 4
    Последнее сообщение: 14.03.2019, 15:16
  2. Битовая маска
    от Vitorgan в разделе ПЛК1хх
    Ответов: 22
    Последнее сообщение: 25.05.2018, 00:36
  3. Маска значений входов.
    от Вадим2881 в разделе OPC Серверы
    Ответов: 1
    Последнее сообщение: 21.11.2017, 09:31
  4. битовая маска для сми-1
    от Р.Александр в разделе Master SCADA 3
    Ответов: 2
    Последнее сообщение: 08.09.2009, 17:28
  5. Ответов: 7
    Последнее сообщение: 21.04.2008, 07:33

Ваши права

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