Модуль Автоуправления — возможности?

Стартовая страница Форумы Понять, как работает ПО Модуль Автоуправления — возможности?

Просмотр 15 сообщений - с 1 по 15 (из 27 всего)
  • Автор
    Записи
  • #28318
    manjey73
    Участник

    1. Нет иерархии триггеров. Например мне надо выполнить команду по времени и на основе этой команды проверить несколько каналов и выполнить действие
    2. Нет проверки значений нескольких каналов в одном триггере.
    Например мне надо сравнить данные 2-х каналов, чтобы выполнить действие

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

    Каким образом это можно обойти в текущей версии ?

    #28319
    manjey73
    Участник

    Я правильно понимаю, что если я введу в поле Каналы триггера по данным канала то это будет логическое ИЛИ, то есть любой канал, который примет требуемое значение запустит триггер ?

    Вариант добавить в настройки добавление полей «Значение» и уже там выстраивать логику И, ИЛИ по значениям разных каналов….

    #28320
    Romiros
    Участник

    А если сделать в связке с расчётными каналами. В формуле сравнить значение, в триггере модуля, по значению отправить команду, а потом в триггере на эту команду, отправить другую команду 🙂

    #28322
    manjey73
    Участник

    Вот сижу и выеживаюсь с формулами. Но при этом все равно косяки есть.

    Например мне требуется по команде сделать переключение канала из 1 в 2 или обратно.
    Команду подаю руками (вкл. канала) или это будет делать МАУ.
    Выключение канала происходит с задержкой 20-30 сек.

    Как сменить по значению команды включить смену с 1 на 2 или обратно ОДИН раз расчетной формулой ? Они выполняются в цикле.

    • Ответ изменён 3 года, 3 месяца назад пользователем manjey73.
    #28324
    manjey73
    Участник

    МАУ не позволяет по команде одного канала сделать проверку значения второго канала и послать соответствующую команду. Такая вот печаль на простой операции..

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

    1. Нет иерархии триггеров. Например мне надо выполнить команду по времени и на основе этой команды проверить несколько каналов и выполнить действие

    Проверку нужно выполнить в выходной формуле и при необходимости отменить выполнение команды, вернув double.NaN

    2. Нет проверки значений нескольких каналов в одном триггере.
    Например мне надо сравнить данные 2-х каналов, чтобы выполнить действие

    Это пожелание записано ранее. В настоящее время нужно создать дополнительный канал с формулой, которая сравнивает, что нужно, и выдаёт 0 или 1.

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

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

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

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

    #28331
    manjey73
    Участник

    Сейчас пытаемся организовать ротацию кондиционеров, пока на двух.
    Уже стало понятно, что надо писать либо модуль ротации, либо еще один путь применять на этой же машинке SoftPLC, например openPLC.

    Потому что настроить формулами смены режимов не представляется возможным. То есть под разные режимы, например N+1 при двух кондиционерах и N+1 при трех кондиционерах могут свести с ума, настраивать различные формулы. Ну и логика там получается похлеще, чем применение простых формул…

    Импортозамещение так его, так как то одних адаптеров к кондеям нет, то других и т.д.

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

    Можете написать примерный алгоритм обычным языком? Это помогло бы понять, ближе это к модулю автоуправления или помог бы полностью другой модуль.

    #28334
    manjey73
    Участник

    https://185504.selcdn.ru/static/parts.reshops.ru/media/cpk_d.pdf

    Планируется повторить это.
    Из нюансов, добавить режимы N+2 или настраиваемый. Так же количество кондиционеров.
    Управление возможно через драйвер XYE который я делал, протокол Мидеа.
    Либо используя Modbus адаптеры, либо добавляя очередной драйвер если будет найден протокол.

    Так же требуется драйвер 1Wire — сейчас я через скрипты датчики температуры читаю.
    Драйвер GPIO, аналогичный что делал для Raspberry, только скорее всего будет новый. Для управления выходами и контроля входов в зависимости от количества.

    Алгоритм на первый взгляд простой.
    Например есть 3 кондиционера и 1 в резерве.
    Переключение раз в несколько часов (настраиваться должно)
    При превышении температуры запуск резервного кондиционера с гистерезисов на отключение. Если два или три раза приходилось запускать резервный, оставить в работе и поднять флаг ошибки.
    При смене сперва запускается резервный, потом останавливается очередной на отдых.
    Так же контроль питания кондиционера, связи между ПК и модулем, контроль дренажа, если установлена помпа.

    А так же, возможность сменить адрес в опросе, включить или выключить активность опроса при смене количества кондиционеров.

    Так что тут формулами если делать + МАУ это настройка под каждый вариант индивидуально, что неудобно.
    При контроле нужно контролировать различные параметры, а не только один.
    Драйвером сделать не очень получится, так как проще реализовать взаимодействие модуля и драйверов, чем драйверов между собой.

    #28335
    manjey73
    Участник

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

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

    Если бы я решал данную задачу, то разработал бы отдельный модуль для исполнения Сервером. Входную информацию бы модуль получал из каналов и отправлял команды на включение/выключение кондиционеров.

    Если смотреть на проблему более глобально, то было бы желательно интегрировать в Rapid SCADA какой-нибудь графический язык программирования для реализации soft logic. Может быть у кого-то есть мысли, какой готовый программный модуль можно использовать.

    #28344
    manjey73
    Участник

    Да, графический язык не помешал бы, что-то из МЭК 61131/3 предпочтительно FBD и ST
    LAD не нужен точно, так как формат обработки каналов Scada и так по сути LAD.

    з.ы. идей по графическому языку нет откровенно. NodeRed или SoftPLC это все внешнее

    Кстати когда-то задавал вопрос по использованию out в скриптах, возможно применение в виде, чтобы в out указывать номер канала?

    Несколько выходов из функций часто не хватает.

    #28345
    manjey73
    Участник

    Собственно и планируется разработка модуля. Связка с Модулем Автоуправления не совсем решает все задачи.

    Собственно к МАУ есть замечания, кроме того, что нет возможности им самим сравнивать несколько каналов, делать вложенные триггеры.

    1. хотя бы наличие примитивных формул, пусть хотя бы математических и логических при передачи команд.
    2. Когда-то при запуске сервера у МАУ срабатывали триггеры, это как бы мешало, но иногда это все таки нужно. Добавить настройку в командах — игнорировать отсутствие предыдущего значения и все равно выполнить.

    • Ответ изменён 3 года, 3 месяца назад пользователем manjey73.
Просмотр 15 сообщений - с 1 по 15 (из 27 всего)
  • Для ответа в этой теме необходимо авторизоваться.