инвертирование бит канала

Стартовая страница Форумы Разработка и интеграция инвертирование бит канала

Помечено: 

Просмотр 8 сообщений - с 1 по 8 (из 8 всего)
  • Автор
    Записи
  • #8939
    denis_exciton
    Участник

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

    #8940
    manjey73
    Участник

    Для работы с битами есть GetBit и SetBit ну и формулу NOT можно применить.

    Если нет необходимости использовать внутри других формул то простой вариант Михаил выкладывал.
    Cnl > 0 ? 0: 1

    #8941
    denis_exciton
    Участник

    используем следующий код NOT(GetBit(Cnl,1)) не работает или что то не правильно ввели?

    #8946
    manjey73
    Участник

    Ну так NOT надо добавить в формулы видимо. И если GetBit возвращает не double а bool то тоже может быть ошибка, так как внутри формулы нельзя использовать другие формулы, если они не используют на выходе double

    я сейчас за другим ПК, тут нет scada, не помню, выкладывал NOT или нет в тему формул.
    Используйте разные дорасчетные каналы. В одном выдергивайте бит, в другом простую формулу, которые выше приводил.

    #8956
    denis_exciton
    Участник

    Мы уважаем ваш продукт и что вы делаете, много полезных функций коротающих разработку системы, но элементарные задачи выделения битов и инверсии довольно частая задача, особенно когда нет возможности перевернуть состояние бита на другом этапе, а здесь нужно голову ломать. И почему у вас в мануале не полный список «формул», ведь я так понимаю что продукт уже распространяется.

    #8957
    denis_exciton
    Участник

    задача решена использовали следующую формулу: GetBit(Cnl,1) > 0 ? 0: 1
    все работает. спасибо!

    #8958
    manjey73
    Участник

    denis_exciton Просто вам дали удочку, а не сразу рыбу 🙂

    Уже сам факто того, что внутри scada есть возможность писать формулы на C# есть хорошо. Просто у всех задачи разные. Я например Scada использую как ПЛК, поэтому и делал таймеры и другие функции с возможностью применять в разных каналах, а кому то просто достаточно мониторинга.

    #8963
    Mikhail
    Модератор

    в мануале не полный список «формул»

    Это же open source проект — каждый может внести свой вклад, например, снять видео, написать статью или написать хорошую справку по формулам. Практически все переводы системы, а также многие драйвера сделаны нашими пользователями.

Просмотр 8 сообщений - с 1 по 8 (из 8 всего)
  • Для ответа в этой теме необходимо авторизоваться.