<< Click to Display Table of Contents >> Navigation: Проект > Архивы > Настройки архива для отдельных узлов системы > Архивирование данных в контроллере |
При использовании контроллеров с исполнительной системой MasterPLC возможна архивация данных в контроллере. Данные пишутся в оперативную или Flash память контроллера, а SCADA при каждом цикле опроса сохраняет данные в собственный архив (то есть нет необходимости обеспечивать большую длительность хранения архива в контроллере).
На первый взгляд настройки архивирования в контроллере не имеют никаких отличий.
Переменные, для которых будет задан флажок Архивировать, будут считываться из контроллера, и сохраняться в архиве как обычные переменные. Период получения данных от контроллера и поступления их в архив будет определяться Периодом опроса, установленным в настройках контроллера.
Но при более внимательном изучении вопроса окажется, что доступ к данным контроллера, в зависимости от архитектуры системы и используемого канала связи, может иметь значительные ограничения. Особенно это касается удаленных контроллеров, подключаемых по коммутируемому или медленному каналу (радио, GSM, телефон). В этом случае контроллер может не успеть передать MasterSCADA за отведенное время все свои данные. Как правило, период опроса существенно больше цикла программы контроллера, а, следовательно, при опросе текущих значений мы потеряем все изменения параметров с момента предыдущего опроса. Для медленных процессов с редким переключением исполнительных механизмов это может быть несущественным, но часто бывает желательно ничего не пропустить.
Для решения этих проблем в MasterSCADA предусмотрена возможность архивирования переменных непосредственно в оперативной памяти контроллера (с исполнительной системой MasterPLC) в темпе его собственного цикла, который может составлять десятки миллисекунд. При каждом цикле опроса MasterSCADA получает из контроллера сохраненные архивы и записывает в собственный (файловый или БД). Для включения функции архивирования в контроллере нужно в палитре свойств контроллера на вкладке Настройки установить для параметра Выполнять архивирование в контроллере значение "Истина".
При этом, для ограничения объема передаваемых в систему данных, для каждой архивируемой переменной может быть определена своя "мертвая зона" изменений и, следовательно, период опроса контроллера системой может быть выбран намного больше, чем период архивирования данных в контроллере. Переменные в контроллере архивируются (и передаются наверх) с использованием меток времени на момент записи, что позволяет вести архив быстроизменяющихся параметров и полный журнал срабатывания дискретных датчиков.
Таким образом, несмотря на то, что цикл опроса контроллера, как и цикл работы самой MasterSCADA, обычно бывает на порядок медленнее цикла контроллера, все данные оказываются доступны для просмотра и обработки с частотой их записи в контроллере. Важно отметить при этом, что все отметки времени корректны, благодаря встроенной в MasterSCADA системе единого времени.
На приведены параметры архивирования в контроллере, доступные для настройки. Перечислим наиболее значимые из них:
•Ограничение на глубину чтения из архива определяет промежуток времени, за который данные должны считываться из архива контроллера при очередном опросе При этом более старые архивы не передаются на верхний уровень, но из контроллера не удаляются. Эта настройка бывает важна для ограничения объема считываемых данных при первом подключении компьютера к автономно работавшему контроллеру, накопившему за время отсутствия связи большой объем непрочитанных "верхом" архивов.
•Размер архива сообщений в памяти контроллера, kB ограничивает объем памяти контроллера, доступной для хранения архива сообщений.
•Параметр Контролировать мертвую зону в контроллере позволяет включить запись по изменению для минимизацию размера архива контроллера.
•Поле Хранить настройки архивирования в отдельном файле позволяет использовать для этих настроек отдельный файл archives.bin, который можно загружать в контроллер отдельно от всей его конфигурации, что бывает удобно в процессе пусконаладки системы.
•Параметр Максимальное расхождение времен в архиве позволяет задать максимальный интервал между записями в случае сохранения в архив контроллера архивных данных, получаемых контроллером через драйверы связи уже с метками времени от "чужих" внешних устройств, например, счетчиков коммерческого учета, не включенных из-за отсутствия в них такой возможности в систему единого времени MasterSCADA
•Размер архива в памяти контроллера, kB ограничивает объем памяти контроллера, доступной для хранения архива данных
•Период периодической записи значений (с) определяет интервал времени, через который переменные должны записываться в архив, в случае, когда запись идет не по изменению (параметр Контролировать мертвую зону в контроллере установлен в значение "Ложь" или значение параметра меняется медленно и не выходит за установленные пределы значений "мертвой зоны", но его нужно обязательно сохранять в архиве с заданной периодичностью.
•Обратите внимание на то, что для обеспечения гибкости записи параметров с разным темпом изменения в контроллере можно вести несколько архивов одновременно. Для этого используется параметр Количество дополнительных задач архивирования. По умолчанию задачи именуются Дополнительный архив N. Для каждой задачи можно задать имя и максимальный объем в памяти контроллера. На закладке Архив объектов, групп, ФБ, контроллеров, модулей в проекте добавляется список этих архивов, чтобы можно было хранить в выбранного архиве параметры данного выполняемого в контроллере элемента.
При проектировании и эксплуатации системы с использованием функции архивирования в контроллере следует помнить, что, данные, хранимые в оперативной памяти контроллера, могут быть потеряны при отключении питания, его перезапуске и т.п. Для некоторых типов контроллера возможно хранение архивов в энергонезависимой памяти типа SRAM или Flash.
Физически архив переменной, обрабатываемой в контроллере, хранится и в контроллере, и ТОЛЬКО в том компьютере (с отставанием, не превышающем период опроса), которому "принадлежит" контроллер. На это стоит обратить внимание при проектировании систем с несколькими компьютерами.