Формула подсчета времени работы

Просмотр 9 сообщений - с 16 по 24 (из 24 всего)
  • Автор
    Сообщения
  • #38082
    manjey73
    Участник

    1. Нужен канал, который будет = 1 при работающей установке, точнее канал, разрешающий работу.
    Канал больше 1 минуты (полминуты, 300 мс) не важно. Запускаем минутный ТИ.

    2 второй канал, непосредственно работа или не работа оборудования.
    Складывать в канал секунды, в один или во второй.
    3. Секунды переводить в Интервал текстом.

    #38083
    alexandr1803
    Участник

    Формула не считается каждый раз как получены данные канала (внешнего устройсива), даже если они не изменились? Зачем нужна эта команда PrevVal, как она применяется?

    #38084
    alexandr1803
    Участник

    На ОВЕН СИ30 такой сигнал возможно снять только со входа «Блокировка», впринципе тоже походит, когда станок стоит на входе 0, работает 1

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

    как адаптировать эту формулу на значение канала счетчика (если значение канала 1 статично в течении минуты

    То есть нужно в отдельном канале получить значение: 1 — исходный канал не менялся в течение заданного времени.
    Допустим канал 101 — это исходный канал. 102 — это канал, в котором нужно получить 0 или 1. Тогда формула для канала 102 будет примерно такая (не проверял):
    (Time(101) - PrevTime(101)).TotalSeconds < 60 ? 0 : 1
    Справочник по доступным функциям здесь.

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

    Однако формула выше будет работать не идеально, потому что Коммуникатор по умолчанию дополнительно отправляет все значения тегов каждую минуту. Нужно либо отключить эту опцию в Коммуникаторе, либо самому в скрипте проверять, что значения Val(101) и PrevVal(101) различаются и сохранять время последнего изменения в переменную или канал.

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

    В качестве эксперимента в канал 102 можно вывести разность
    (Time(101) - PrevTime(101)).TotalSeconds

    #38093
    alexandr1803
    Участник

    Спасибо большое, завтра попробую.

    #38097
    alexandr1803
    Участник

    Ребят добрый день. В скаде 6.4 нет теперь минутных ТС, как быть вот с этой формулой:
    Пусть каналы 1 и 2 будут Минутные ТС. В них пишете следующие формулы:
    для канала 1 — DayBeg()?0:Val(X)>50?Cnl+1:Cnl
    для канала 2 — DayBeg()?0:Val(X)<=50?Cnl+1:Cnl

    Скрипт DayBeg тоже отсутствует.

    #38098
    a80808
    Участник

    Там теперь через формулы…

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