ModDiffCalculator — настройка

Просмотр 15 сообщений - с 16 по 30 (из 65 всего)
  • Автор
    Записи
  • #44700
    manjey73
    Участник
        <Group active="true" name="EnergyHourDiff" periodType="Hour" offset="00:00:00" delay="10" archiveBit="2">
          <Item srcCnlNum="327" destCnlNum="369" />
          <Item srcCnlNum="328" destCnlNum="371" />
        </Group>

    У меня так считает и пишет только в часовые архивы. Чтобы увидит это на графике, нужны ГрафикиПро и настраивать под часовой архив профиль.

    Каналы приемники Расчетные, без формул.

    #44701
    manjey73
    Участник

    У вас период вроде 1 минута, а запись только в часовой архив.

    #44703
    Andrew123
    Участник

    Так тоже делал:
    <?xml version=»1.0″ encoding=»utf-8″?>
    <ModDiffCalculator>
    <GeneralOptions>
    <CmdCode />
    </GeneralOptions>
    <Groups>
    <Group active=»true» name=»DiffDiff» periodType=»Custom» customPeriod=»00:01:00″ offset=»00:00:00″ delay=»0″ adjustForDst=»false» recalcDiff=»false» archiveBit=»1″>
    <Item srcCnlNum=»6650″ destCnlNum=»6651″ />
    </Group>
    </Groups>
    </ModDiffCalculator>

    Значение канала 6651 не меняется.
    На самом канале установлены галки на текущий, минутный, часовой и дневной архив.

    • Ответ изменён 1 неделя, 1 день назад пользователем Andrew123.
    #44705
    Andrew123
    Участник

    Да, что значит «запись только в часовой архив»? — В модуле дифа можно выбрать только один параметр архива. Поставить галки на часовой и минутный нельзя.

    #44706
    manjey73
    Участник

    Это значит, что проверять надо базу, куда пишите.
    У вас период был минутный, предположу, что в Х:59 минут никакой записи нет, дифу нечего считать.
    И что такое ajustForDst и второе? У меня такого нет, хотя давно не обновлял его, может какие-то изменения были.

    #44707
    Andrew123
    Участник

    ajustForDst — переход на летнее время
    Утилиты, которые мне скинули, читают только текущий архив(current.dat) — уже в теме писал. Потому нечем проверить пока. А поставить запись в стороннюю базу пока нет возможности.

    #44708
    manjey73
    Участник

    Там разные утилиты, ТрендВью кажется умеет все архивы читать.

    Можете ещё Trand плагин скачать от @JurasskPark там можно выбирать архив, который смотреть.

    #44709
    Andrew123
    Участник

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

    добавление группы расчёта минутной разности в текущий архив не даёт значения в колонке «текущие». Только текущие данные используются в схемах визуализации.

    <?xml version=»1.0″ encoding=»utf-8″?>
    <ModDiffCalculator>
    <GeneralOptions>
    <CmdCode />
    </GeneralOptions>
    <Groups>
    <Group active=»true» name=»DiffDiff_Cur» periodType=»Minute» offset=»00:00:00″ delay=»20″ adjustForDst=»false» recalcDiff=»true» archiveBit=»0″>
    <Item srcCnlNum=»6650″ destCnlNum=»6651″ />
    </Group>
    <Group active=»true» name=»DiffDiff_Min» periodType=»Minute» offset=»00:00:00″ delay=»20″ adjustForDst=»false» recalcDiff=»true» archiveBit=»1″>
    <Item srcCnlNum=»6650″ destCnlNum=»6651″ />
    </Group>
    <Group active=»true» name=»DiffDiff_Hour» periodType=»Minute» offset=»00:00:00″ delay=»20″ adjustForDst=»false» recalcDiff=»true» archiveBit=»2″>
    <Item srcCnlNum=»6650″ destCnlNum=»6651″ />
    </Group>
    </Groups>
    </ModDiffCalculator>

    • Ответ изменён 1 неделя, 1 день назад пользователем Andrew123.
    • Ответ изменён 1 неделя, 1 день назад пользователем Andrew123.
    #44712
    manjey73
    Участник

    А без Дифа обойтись, просто формулами?
    з.ы. сейчас посмотрю, у меня отображается в текущих или нет. Я как-то минутные не писал.
    З.ы. если вы дифом пишите в минутные и другие, при чем тут текущие блин.

    Вам только формулами в каналах делать.

    #44713
    manjey73
    Участник

    Ну или попробуйте Дифом записать в текущую БД — бит 0

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

    Если по настройке модуля остались вопросы, выложите ссылки на скриншоты настроек.
    Имеются ввиду скриншоты тех настроек, которые относятся к обсуждаемой теме.

    #44718
    Andrew123
    Участник

    «А без Дифа обойтись, просто формулами?» — пробовал теми, которые есть — не получается. Надо писать на C# свою функцию, но я пока не готов(эт же надо изучить объектную модель Rapid Scad-ы, а это только один путь изучать исходники скады — вряд ли где есть эта модель в свободном доступе).

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

    • Ответ изменён 1 неделя, 1 день назад пользователем Andrew123.
    #44720
    manjey73
    Участник

    Там не нужна особо объектная модель. Достаточно понимания, что скрипты выполняются последовательно от меньшего канала к большему, по сути как в LAD и применение формулы с вызовом каждую минуту через EveryMin.

    Сейчас поищу у себя пример расчета часовой для примера. Где-то была.

    #44721
    manjey73
    Участник

    Вам нужно два Расчетных канала и входные формулы в них. Формулы штатные.
    1. для сохранения данных каждую минуту из канала (входной или другой расчетный_
    2. для вычисления разницы между текущим значением и прошлым

    EveryHour(() => Data(327))
    EveryHour(() => Val(360) - PrevVal(360))

    В данном случае первый канал имеет номер 360, второй канал имеет следующий номер 361.
    Формула первого канала сохраняет каждый час данные из канала 327. Вторая формула сравнивает разницу между текущими данные и прошлыми и потом возвращает эту разницу в канал.

    В вашем случае будут каналы 6650 (исходный), 6651 и 6652
    6651 — входная формула EveryMin(() => Data(6650))
    6652 — входная формула EveryMin(() => Val(6651) - PrevVal(6651))

    ну а дальше сравнивайте 6652 на > 0 или == 0 и так далее

    #44722
    manjey73
    Участник

    з.ы. с LifeBit надо по другому как-то….

Просмотр 15 сообщений - с 16 по 30 (из 65 всего)
  • Тема «ModDiffCalculator — настройка» закрыта для новых ответов.