Algomus

Ответы в темах

Просмотр 15 сообщений - с 46 по 60 (из 145 всего)
  • Автор
    Записи
  • в ответ на: Функции (формулы) для Rapid SCADA #31110
    Algomus
    Участник

    manjey73, спасибо за внимание к моей проблеме. Это для пробы. Будет работать можно и причесать как надо. Но не работает.

    в ответ на: Функции (формулы) для Rapid SCADA #31108
    Algomus
    Участник

    int[] GenNum = new int[1];
    long[] GenST = new long[1];
    bool[] GenFlag = new bool[1];
    public bool Gen(double GenIn, long GenPT)
    {
    long ET = 0L;
    bool q = Val(CnlNum) > 0;
    bool gen_in = GenIn > 0;

    int res = Array.IndexOf(GenNum, CnlNum);
    if (res == -1)
    {
    res = GenNum.Length;
    Array.Resize(ref GenNum, res+1);
    Array.Resize(ref GenST, res+1);
    Array.Resize(ref GenFlag, res+1);
    GenNum[res] = CnlNum;
    }

    if (!gen_in && q == false)

    {
    q = false;
    GenFlag[res] = false;
    GenST[res] = 0L;
    }
    else
    {
    if (!GenFlag[res])
    {
    GenFlag[res] = true;
    GenST[res] = Ticks();
    }
    else
    {
    if (!q) ET = Ticks() — GenST[res];
    }
    if (ET >= GenPT) q = true;
    }
    return q;
    }

    Нечто подобное в качестве генератора импульсов в 1 цикл через заданное время.

    в ответ на: Функции (формулы) для Rapid SCADA #31093
    Algomus
    Участник

    Я инверсию по другому делал abs(Val-1) прямо в администраторе. Это естественно, если гарантированно double только 1 и 0 принимает.
    Я почему и привел за основу Ton. Там просто надо И на входе поставить.

    • Ответ изменён 2 года, 5 месяцев назад пользователем Algomus.
    в ответ на: Функции (формулы) для Rapid SCADA #31092
    Algomus
    Участник

    Вариант 2
    А что отсчёт запускает. Я имел ввиду И. Один прямой вход для запуска, второй инверсный. & -Ton
    Так.

    в ответ на: Функции (формулы) для Rapid SCADA #31083
    Algomus
    Участник

    manjey73, то что Вы нарисовали в FBD, но на входе не XOR, а & с инвертированным нижним входом и без Rtrig. Он уже будет не нужен, т.к. Ton перезапуститься после отсчёта выдержки.

    • Ответ изменён 2 года, 5 месяцев назад пользователем Algomus.
    • Ответ изменён 2 года, 5 месяцев назад пользователем Algomus.
    в ответ на: Функции (формулы) для Rapid SCADA #31071
    Algomus
    Участник

    __—————-_____ Вх
    _____-___-___-______ Вых

    Так понятно?) Периодический опрос.
    Кстати, под словарем что подразумевается?

    • Ответ изменён 2 года, 5 месяцев назад пользователем Algomus.
    • Ответ изменён 2 года, 5 месяцев назад пользователем Algomus.
    • Ответ изменён 2 года, 5 месяцев назад пользователем Algomus.
    • Ответ изменён 2 года, 5 месяцев назад пользователем Algomus.
    в ответ на: Функции (формулы) для Rapid SCADA #31069
    Algomus
    Участник

    А что по поводу формулы генератора?

    в ответ на: Функции (формулы) для Rapid SCADA #31060
    Algomus
    Участник
    в ответ на: Функции (формулы) для Rapid SCADA #31051
    Algomus
    Участник

    Однако, люто дорого..

    в ответ на: Функции (формулы) для Rapid SCADA #31049
    Algomus
    Участник

    «SOFTPLC CODESYS SP RTE

    CoDeSys SP RTE представляет собой специальную систему исполнения для ОС семейства Windows со встроенным ядром жесткого реального времени.
    Она позволяет превратить обычный компьютер в быстродействующий ПЛК. Ввод/вывод подключается через полевые сети. SP RTE обеспечивает стабильность рабочего цикла МЭК программ в диапазоне микросекунд и работу контроллера при зависании ОС.»
    Нашел вот..

    • Ответ изменён 2 года, 5 месяцев назад пользователем Algomus.
    в ответ на: Функции (формулы) для Rapid SCADA #31047
    Algomus
    Участник

    Упоминался SoftPLC. Есть опыт?

    • Ответ изменён 2 года, 5 месяцев назад пользователем Algomus.
    в ответ на: Функции (формулы) для Rapid SCADA #31046
    Algomus
    Участник

    Работаю в 5 версии. Мигрировать на 6 пока нет времени.
    Что сделал:
    Сохраняем температуру перед включением реле отопителя на ДТ, через 20 мин сравниваем текущую с сохраненной и если она выросла на 2 градуса считаем устройство запущенным, начинаем считать м/ч.
    Что нужно:
    Отопитель может перестать работать в любой момент. Как это определить. Раз в 20 мин сравниваем текущее и предыдущее значение. Если оно отличается на 4 градуса транслируем аварию, останавливаем счёт м/ч.

    в ответ на: Функции (формулы) для Rapid SCADA #31036
    Algomus
    Участник

    Температура может плавать. В мороз мощности не хватает.

    в ответ на: Функции (формулы) для Rapid SCADA #31034
    Algomus
    Участник

    Необходимо отслеживать работу отопителя. Включение реализовал через Ton. Но есть необходимость контроля работы уже на режиме. Т.е. периодически раз в 20 мин отслеживать отклонение вниз на 4 градуса.

    в ответ на: Функции (формулы) для Rapid SCADA #31025
    Algomus
    Участник

    Прошу помощи. Моих навыков не хватает. Как эту формулу превратить в генератор импульсов в один цикл.
    Таймер задержки на включение Ton

    int[] TonNum = new int[1];
    long[] TonST = new long[1];
    bool[] TonFlag = new bool[1];
    public bool Ton(double TonIn, long TonPT)
    {
    long ET = 0L;
    bool q = Val(CnlNum) > 0;
    bool ton_in = TonIn > 0;

    int res = Array.IndexOf(TonNum, CnlNum);
    if (res == -1)
    {
    res = TonNum.Length;
    Array.Resize(ref TonNum, res+1);
    Array.Resize(ref TonST, res+1);
    Array.Resize(ref TonFlag, res+1);
    TonNum[res] = CnlNum;
    }

    if (!ton_in)
    {
    q = false;
    TonFlag[res] = false;
    TonST[res] = 0L;
    }
    else
    {
    if (!TonFlag[res])
    {
    TonFlag[res] = true;
    TonST[res] = Ticks();
    }
    else
    {
    if (!q) ET = Ticks() — TonST[res];
    }
    if (ET >= TonPT) q = true;
    }
    return q;
    }

    • Ответ изменён 2 года, 5 месяцев назад пользователем Algomus.
Просмотр 15 сообщений - с 46 по 60 (из 145 всего)