manjey73

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

Просмотр 15 сообщений - с 7,036 по 7,050 (из 8,102 всего)
  • Автор
    Сообщения
  • в ответ на: Логика управления #8496
    manjey73
    Участник

    Можно только при помощи Модуля автоматического управления + формулы. То есть собственный модуль не нужен. Есть еще модуль от автора драйвера MQTT, там тоже можно логику работы создавать.

    Все входные каналы выполняются последовательно от меньшего к большему, это можно сравнить с языком LAD для контроллеров. При использовании Модуля автоуправления RapidScada превращается в ПЛК. Например если WEB установить на другой ПК или вообще все в одном флаконе.

    формулы пишутся на C#, насколько я помню, в новой версии увеличено количество символов на формулу до 4 тысяч символов.

    То есть уже сейчас можно делать мини ПЛК на основе Raspberry Pi3 и RapidScada.
    В том числе и использования встроенных в Raspberry входов выходов.

    • Этот ответ был изменен 7 лет, 4 месяца назад от manjey73.
    в ответ на: Редактор схем — текст 8 символов #8490
    manjey73
    Участник

    Если база не менялась, то канал ограничен 8 байтами (формат double)…

    manjey73
    Участник

    Второй вариант работает.

    Один канал оставил ДорасчетныйТИ и пустым, без использования формул. Он всегда 0 (у меня это 2-й канал)
    Следующий за ним канал (у меня 3) так же Дорасчетный ТИ с формулой Rtrig(NOT(Val(2))) при нуле в первом канала в данном канале на один цикл появляется единица

    Для проверки использовал таймер с задержкой отключения TP, ДорасчетныйТИ
    Канал 4, формула Tp(Val(3), 15000) держит единицу 15 секунд, после чего сбрасывает канал в 0. В принципе можно применить вместо Rtrig сразу ТР…

    Если в канале поставить NOT(Val(этот же канал)) мы получим смену 0 и 1 каждый цикл. А это тут неправильно.

    • Этот ответ был изменен 7 лет, 4 месяца назад от manjey73.
    manjey73
    Участник

    Правильнее будет наверное так.
    1-й дорасчетный канал, формула NOT(Val(1)) взведет канал после запуска сервера в лог единицу
    2-й дорасчетный канал, формула Rtrig(Val(1))

    Далее ваши каналы, которые должны выполнить действия
    «Если» канал 2 = 1 «То» выполняем то-то и то-то.

    Это будет длиться один цикл после запуска сервера, так как на выходе Rtrig «лог единица» будет держаться один цикл.

    хм, правда может придется добавить еще один канал или правильнее будет так
    1-й дорасчетный канал оставить как есть пустым, а во 2-ом прописать
    Rtrig(NOT(Val(1)))

    • Этот ответ был изменен 7 лет, 4 месяца назад от manjey73.
    manjey73
    Участник

    NOT + TP в формуле дополнительного расчетного канала.

    В общем по аналогии с программированием ПЛК получится до следующего перезапуска сервера.

    Протестить пока не на чем.

    Или просто NOT + RTRIG

    • Этот ответ был изменен 7 лет, 4 месяца назад от manjey73.
    в ответ на: Ошибка открытия схем и таблиц #8467
    manjey73
    Участник

    Забыл включить — Службы WCF > Активация по HTTP установлен для .NET Framework 4+

    Все заработало.

    в ответ на: Ошибка открытия схем и таблиц #8466
    manjey73
    Участник

    На событиях тоже ошибка — Ошибка при обновлении событий

    в ответ на: Ошибка открытия схем и таблиц #8464
    manjey73
    Участник

    Базы менялись ? как сделать перенос корректно, чтобы все запустилось ?

    В логах никаких ошибок нет.

    • Этот ответ был изменен 7 лет, 4 месяца назад от manjey73.
    в ответ на: ModBus RTU #8431
    manjey73
    Участник

    timeout и паузу меняли ?

    в ответ на: ModBus RTU #8419
    manjey73
    Участник

    Отправка правильная, но ощущение, что она идет в никуда
    (не тот порт например) проверьте линию связи и ее настройки

    • Этот ответ был изменен 7 лет, 4 месяца назад от manjey73.
    в ответ на: Драйвер Энергомера CE303 #8385
    manjey73
    Участник

    сделать разные КП и привязать к одной линии связи. В КП указать адреса

    manjey73
    Участник

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

    любой калькулятор для float в сети используйте.

    Приведенное вами значение в HEX соответствует указанному вами float

    • Этот ответ был изменен 7 лет, 4 месяца назад от manjey73.
    в ответ на: "Сдвиг" значений по регистрам #8334
    manjey73
    Участник

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

    Подгонять временем опроса в общем-то бесполезно…. рано или поздно, звезды сойдутся иначе, чем вам хотелось бы.

    • Этот ответ был изменен 7 лет, 4 месяца назад от manjey73.
    manjey73
    Участник

    Меня два описанных момента интересует, в прошлый раз я так и не домучал их.
    Web так же отваливался.

    в ответ на: "Сдвиг" значений по регистрам #8322
    manjey73
    Участник

    if (sut != Val(m))
    {
    SetData(m, Val(n), Stat(n));
    SetData(n, sut, stat);
    }

    ну а где же else ? а то у вас одна проверка всего и сразу везде все пишите.

    Еще один момент, возможно вы наступили на грабли.
    Номера входных каналов выполняются строго последовательно как шаги в LAD языке.
    Возможно ваша формула и рабочая, но она должна стоять выше какого-то дорасчетного канала, чтобы работала правильно.

    • Этот ответ был изменен 7 лет, 4 месяца назад от manjey73.
Просмотр 15 сообщений - с 7,036 по 7,050 (из 8,102 всего)