Algomus

Созданные ответы форума

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

    manjey73 Т.е. это одно вибратор? В некоторых случаях полезно графически показать функционал устройства. Как на фото реле от Меандр. https://s.leroymerlin.ru/upload/catalog/img/1/e/82810997/82810997.jpg

    • Этот ответ был изменен 1 месяц, 1 неделя назад от Algomus.
    в ответ на: Функции (формулы) для Rapid SCADA #31150
    Algomus
    Участник

    А какая циклограмма у последней формулы? По сути это генератор. Тогда должны быть длительность импульса и паузы, а так же фазы.

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

    Генераратор импульсов длительностью 1 цикл программы DelGen.
    Может быть полезен для периодического опроса.
    Циклограмма:
    __—————-_____ Вх
    _____-___-___-______ Вых

    int[] DelGenNum = new int[1];
    long[] DelGenST = new long[1];
    bool[] DelGenFlag = new bool[1];
    public bool DelGen(double DelGenIn, long DelGenPT)
    {
    long ET = 0L;
    bool q = Val(CnlNum) > 0;
    bool delgen_in = DelGenIn > 0;

    int res = Array.IndexOf(DelGenNum, CnlNum);
    if (res == -1)
    {
    res = DelGenNum.Length;
    Array.Resize(ref DelGenNum, res+1);
    Array.Resize(ref DelGenST, res+1);
    Array.Resize(ref DelGenFlag, res+1);
    DelGenNum[res] = CnlNum;
    }

    if (!delgen_in || q)
    {
    q = false;
    DelGenFlag[res] = false;
    DelGenST[res] = 0L;
    }
    else
    {
    if (!DelGenFlag[res])
    {
    DelGenFlag[res] = true;
    DelGenST[res] = Ticks();
    }
    else
    {
    if (!q) ET = Ticks() — DelGenST[res];
    }

    if (ET >= DelGenPT) q = true;

    }
    return q;
    }

    DelGen(значение канала в double, время в миллисекундах)
    Пример: в канале 152 используем формулу DelGen(Val(150), 5000) — при появлении 1 на входном канале 150 на канале 152 через 5000 мсек будут появляться импульсы длительностью 1 цикл программы.

    • Этот ответ был изменен 1 месяц, 1 неделя назад от Algomus.
    в ответ на: Функции (формулы) для Rapid SCADA #31115
    Algomus
    Участник

    Понял свою ошибку.

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

    if (!gen_in && q == true)
    А так работает. Только не понял почему)
    Как назвать формулу?

    • Этот ответ был изменен 1 месяц, 1 неделя назад от Algomus.
    • Этот ответ был изменен 1 месяц, 1 неделя назад от Algomus.
    в ответ на: Функции (формулы) для 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. Там просто надо И на входе поставить.

    • Этот ответ был изменен 1 месяц, 1 неделя назад от Algomus.
    в ответ на: Функции (формулы) для Rapid SCADA #31092
    Algomus
    Участник

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

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

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

    • Этот ответ был изменен 1 месяц, 1 неделя назад от Algomus.
    • Этот ответ был изменен 1 месяц, 1 неделя назад от Algomus.
    в ответ на: Функции (формулы) для Rapid SCADA #31071
    Algomus
    Участник

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

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

    • Этот ответ был изменен 1 месяц, 1 неделя назад от Algomus.
    • Этот ответ был изменен 1 месяц, 1 неделя назад от Algomus.
    • Этот ответ был изменен 1 месяц, 1 неделя назад от Algomus.
    • Этот ответ был изменен 1 месяц, 1 неделя назад от 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 обеспечивает стабильность рабочего цикла МЭК программ в диапазоне микросекунд и работу контроллера при зависании ОС.»
    Нашел вот..

    • Этот ответ был изменен 1 месяц, 2 недели назад от Algomus.
Просмотр 15 сообщений - с 1 по 15 (из 105 всего)