Тема / Topic: 300 идентичных объектов управления на одном контроллере
com_net
Junior Member / Новичок
Участник № / Member № 6104
отправлено / posted
День добрый. Есть проект в котором от одного контроллера управляются от 50 до 300 абсолютно идентичных независимых объектов управления. Т.е. каждому объекту соответствуют пяток экранов и несколько программ. Различаются объекты - только каналами ввода-вывода и наборами данных, с которыми оперируют экраны и программы. Желательно ведение единого архива. Каков рекомендуемый подход к проектированию такой системы?
Сообщения / Posts 19 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Притакой общей постановке задачи ответить можно только рекомендациями общего характера.
Для мониторинга и управления этими объектами придется создавать каналы для каждого параметра конроля и управления в каждом объекте (по крайней мере, для архивируемых параметров). Все контролируемые параметры могут регистрироваться в общих архивах.
В Trace Mode 6 существуют методы перепривязки экранов и программ к различным объектам. Выбор методов зависит от проектных ограничений, накладываемых на процедуры математической обработки параметров и организацию опреаторского интерфейса.
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |
com_net
Junior Member / Новичок
Участник № / Member № 6104
отправлено / posted
ок, уточню ситуацию. Есть много коробочек, в каждой из которых должна поддерживаться определенная температура. Соответственно в каждой коробочке есть датчик температуры и нагреватель. Каждой коробочке соответствуют: экран настройки поддерживаемых параметров, экран трендов, экран настройки пределов, при которых ситуация признается аварийной. Кроме этого есть три сводных экрана: "состояние системы" (отображает разноцветные квадратики - "норма/авария"), "общие настройки системы" и некая графика со схемой размещения коробочек и индикацией что включено, а что выключено. Что характерно - все процессы безумно медленные. Т.е. характерные времена изменения параметров - десятки минут, например от включения нагревателя до момента, когда можно зафиксировать отличимое от шума начало изменения температуры.
Сообщения / Posts 19 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Экраны "настроек" и трендов отдельных объектов можно сделать в одном экземпляре каждый и перепривязывать по необходимости к разным объектам. Программа управления нагревателем и, возможно, диагностики (1 канал вызова), тоже может вызываться последовательно, с перепривязкой к каждому объекту.
Сводные экраны, видимо, будут общими и своими аргументами привязываются непосредственно к каналам, отображающим объекты.
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |
com_net
Junior Member / Новичок
Участник № / Member № 6104
отправлено / posted
а нету ли где посмотреть работоспособный пример конструкции с а) перепривязкой агрументов экранов к разным каналам в зависимости от значения некоторой переменной (номер объекта управления) б) с последовательной перепривязкой шаблона программы к разным каналам по таймеру - чтобы программа включения печки последовательно обходила все объекты, анализировала условия и выдавала/снимала сигнал включения Н-го нагревателя. И совсем бестолковый вопрос - есть где н-ть на посмотреть работоспособный пример однократного срабатывания FBD программы по таймеру? Потому как всякими привязками каналов CALL к шаблонам программы пока удалось лишь поменять время, отведенное программе для работы, но не удается заставить ее остановиться после первого цикла. Собственно что к чему должно быть привязано: канал CALL, настроенный как "раз в секунду" к шаблону программы (поле "привязка" вкладки "дополнительно" на форме редактирования параметров канала) или же шаблон программы к оному каналу (поле "привязка" вкладки "информация" формы редактирования шаблона программы?
Сообщения / Posts 19 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Шаблон программы методом D&D перетащите в какую либо группу узла RTM. Там автоматически будет создан канал CALL.Program, вызывающий эту программу. Если необходимо, чтобы программа выполнялась с периодом, например, 2 минуты, надо в редакторе канала CALL.Program (на вкладке "Основные") задать "Период"=2 "Единица измерения"=мин
Чтобы программу включать принудительно на 1 цикл, надо сделать канал CALL.Program типа OUT и включать программу подачей "1" в атрибут 39 (EXEC) (от любой другой программы или с экрана).
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |