ТРМ202 (TRM Owen)

Просмотр 15 сообщений - с 1 по 15 (из 15 всего)
  • Автор
    Сообщения
  • #21034
    kiakia
    Участник

    ДВС!
    Вопрос: Как увидеть регистр статуса «STAT» в SCADA-Коммуникаторе?
    В редакторе шаблонов какой тип выбрать соответствующий «binary»
    https://i.ibb.co/4tj9W6b/202.jpg
    https://i.ibb.co/kB5VKDQ/202.jpg

    #21035
    manjey73
    Участник

    Получаете весь регистр, потом делаете дорасчетные каналы и нужные биты выдергиваете формулой GetBit

    #21036
    kiakia
    Участник

    А порядок байт, 2301 тот же или без него?

    #21037
    manjey73
    Участник

    Порядок байт зависит от прибора, какой у ТРМ я не знаю. А там что, два регистра в ТРМ ?

    #21038
    kiakia
    Участник
    #21039
    Mikhail
    Модератор

    Добрый день!
    Какая длина регистра STAT в байтах?
    Как он должен расшифровываться?

    #21040
    manjey73
    Участник

    Так если он binary то видимо это биты и их описание должно быть в документации на прибор.

    #21041
    kiakia
    Участник

    ДВС!
    Пока не знаю как расшифровать.
    Но понял логику статуса регистра:
    1. 0 бит, выходные реле в состоянии покоя
    2. при сработке уставки на первом канале выше нормы. 16 бит
    3. при сработке уставки на втором канале выше нормы. 32 бит
    4. при сработке уставки на обоих каналах выше нормы. 48 бит

    #21042
    a80808
    Участник

    double RegStats ()
    {
    if (GetBit (CnlNum, 0) == 1)
    {
    SetVal(101,1);
    }
    if (GetBit (CnlNum, 16) == 1)
    {
    SetVal(101,2);
    }

    if (GetBit (CnlNum, 32) == 1)
    {
    SetVal(101,3);
    }

    if (GetBit (CnlNum, 64) == 1)
    {
    SetVal(101,4);
    }
    }

    Вот если уж совсем быстро. В этом случае в дорасчетном канале 101 будет формироваться значение 1, 2, 3 или 4 в зависимости от состояния регистра. После этого сочиняете в «размерностях» новую размерность что то типа «Состояние регистра» «Покой;Уставка1;Уставка2;Уставка1+2» и «навешиваете» эту размерность как «Текст перечисления» на канал 101. В этом случае на схеме будет отображаться в зависимости от состояния нужное значение. А если еще поставить «птичку» на «Событие по изменению» то в событиях тоже это будет отображаться
    На ошибки не проверял, на коленке написано 🙂

    #21043
    a80808
    Участник

    P.S. не помню, поддерживает ли интерпретатор конструкцию «case» а то можно было бы проще написать…

    #21044
    manjey73
    Участник

    А если ошибки одновременно 2 ? 🙂

    #21045
    a80808
    Участник

    Ну по логике программы (:)) результатом будет «нижняя» ветка анализа…
    Вариант — каждой уставке назначать свой дорасчетный канал…

    #21046
    a80808
    Участник

    …и занулять его если нет ошибки. Вопрос насколько актуально появление такой ситуации. Я бы еще «завел» канал в котором был бы «расшифрован» статусный регистр и отображал бы его на схеме. Тогда при любом изменении видно было бы какие биты сработали…

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

    case поддерживается в формулах, но в данном случае не подходит, т.к. может быть несколько ошибок.
    Простой способ извлечения битов: использовать функцию GetBit в дорасчётных каналах как написал @manjey73 вначале. Для каждого дорасчётного канала свой GetBit в поле формулы.

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

    • Этот ответ был изменен 2 года, 5 месяцев назад от Mikhail.
    #21051
    a80808
    Участник

    Я бы вообще использовал три дорасчетных канала, в которые писал «1» при ошибке и «0» в остальных случаях — для первых трех значений. На схеме привязал бы два «фонаря» (динамический рисунок) к уставкам 1 и 2, а первый канал использовал как общий аларм (когда он не ноль). На схеме два квадратика с номерами 1 и 2 зеленый/красный в зависимости от значения канала плюс по OR значение канала 4. А канал «Простой» пусть отображается например как зеленая/красная рамка вокруг этих квадратов и наименования что это.
    Согласен, что сначала нужен эксперимент по определению точных значений

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