Профиль должен быть заполнен на русском языке кириллицей. Заполнение профиля заведомо ложными или некорректными данными - причина возможного отказа в регистрации на форуме.

Хранение трендов в контроллере

PLC, прочие контроллеры, промышленные компьютеры, операторские панели

Автор темы
ZIV
здесь недавно
здесь недавно
Сообщения: 48
Зарегистрирован: 31 мар 2010, 08:01
Ф.И.О.: Igor V. Zhdanov
Откуда: Orenburg

Хранение трендов в контроллере

Сообщение ZIV » 23 апр 2010, 14:13

Имеем систему PLC --> InTouch & Historian. Вообщем, такая задача: хранение трендов в контроллере на время потери связи с ПК так, чтобы после восстановления они дописывались в базу (не было провала на тренде).
Мои соображения: берем одну переменную, сохраняем ее значения с определенной периодичностью, например, 1 раз в 100 мсек.
Сохраняем значения в одномерном массиве. А вот как организовать передачу в InTouch & Historian даже не представляю. В какую сторону копать??? :ges_hmm:


T_Vlad
освоился
освоился
Сообщения: 247
Зарегистрирован: 05 мар 2010, 15:01
Ф.И.О.: Тихомиров Владимир Владимирович
Поблагодарили: 1 раз

Re: Хранение трендов в контроллере

Сообщение T_Vlad » 23 апр 2010, 14:25

ZIV писал(а): например, 1 раз в 100 мсек.

В контроллере нет столько памяти.
Тренды реального времени, которые хранятся в контроллерах обычно не чаще 0.5 сек. Да и то это нужно для очень уж крутых аварийных процессов.
Сохранённые точки наверное можно передавать последовательно через какой то тег.


Автор темы
ZIV
здесь недавно
здесь недавно
Сообщения: 48
Зарегистрирован: 31 мар 2010, 08:01
Ф.И.О.: Igor V. Zhdanov
Откуда: Orenburg

Re: Хранение трендов в контроллере

Сообщение ZIV » 23 апр 2010, 14:51

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


Михайло
почётный участник форума
почётный участник форума
Сообщения: 2228
Зарегистрирован: 10 ноя 2009, 04:58
Ф.И.О.: Толмачев Михаил Алексеевич
Благодарил (а): 1 раз
Поблагодарили: 23 раза
Контактная информация:

Re: Хранение трендов в контроллере

Сообщение Михайло » 23 апр 2010, 16:22

В S7-1200 есть флэшка на 24 Мб. Может поможет?


pike
не первый раз у нас
не первый раз у нас
Сообщения: 362
Зарегистрирован: 08 авг 2008, 09:43
Ф.И.О.: Щукин Андрей Александрович
Благодарил (а): 1 раз
Поблагодарили: 3 раза

Re: Хранение трендов в контроллере

Сообщение pike » 23 апр 2010, 16:59

T_Vlad писал(а):
ZIV писал(а): например, 1 раз в 100 мсек.

В контроллере нет столько памяти.
Тренды реального времени, которые хранятся в контроллерах обычно не чаще 0.5 сек. Да и то это нужно для очень уж крутых аварийных процессов.
Сохранённые точки наверное можно передавать последовательно через какой то тег.

Для таких задач, производители контроллеров выпускают специальные модули, которые быстро (иногда с частотой в мсек), ведут большие логи для последующей предачи на верхний уровень. У Омрона это модули CJ(S)1W-SPUxx, у Митсубиши в серии Q вроде такой модуль появился.
Запись на флэш (как я понимаю в виде файла?) не всегда удобна, так как процесс этот не особо быстрый по сравненю с циклом контроллера. Да, и потом возникает вопрос как от туда потом данные передать наверх.
Авторы ТЗ, с которыми я работаю, не имеют права жаловаться на дороги, ЖКХ, бюрократию и правительство.


Автор темы
ZIV
здесь недавно
здесь недавно
Сообщения: 48
Зарегистрирован: 31 мар 2010, 08:01
Ф.И.О.: Igor V. Zhdanov
Откуда: Orenburg

Re: Хранение трендов в контроллере

Сообщение ZIV » 23 апр 2010, 19:07

О чем и речь - как передать.
Посчитаем грубо. Сохраняем значение 1 раз в сек. Получается 3600 значений в час. 1 значение = 32 бит = 4 байта. 1 час = 14400 байт ~ 14 кбайт. В принципе, немного.
Теперь передача. Имеем часовой архив. Допустим, цикл контроллера 50 мсек. Присваиваем каждый цикл тегу тренда значение из архива. 3600 значений передадим за 3 мин. Это в идеале. В Historian сформируется тренд. Но без привязки ко времени создания архивных значений.


Автор темы
ZIV
здесь недавно
здесь недавно
Сообщения: 48
Зарегистрирован: 31 мар 2010, 08:01
Ф.И.О.: Igor V. Zhdanov
Откуда: Orenburg

Re: Хранение трендов в контроллере

Сообщение ZIV » 25 апр 2010, 05:16

И кто победитель?


pike
не первый раз у нас
не первый раз у нас
Сообщения: 362
Зарегистрирован: 08 авг 2008, 09:43
Ф.И.О.: Щукин Андрей Александрович
Благодарил (а): 1 раз
Поблагодарили: 3 раза

Re: Хранение трендов в контроллере

Сообщение pike » 26 апр 2010, 08:45

ZIV писал(а):О чем и речь - как передать.

У модулей встроенный Ethernet. В принципе модуль виден с компа, как ftp с файлами, но в действительности используется программный модуль для ПК, что бы подвязаться (синхронизироваться) с базам данных. Файлы в контроллере в пишутся в обязательном порядке с привязкой к часам ПЛК.
Авторы ТЗ, с которыми я работаю, не имеют права жаловаться на дороги, ЖКХ, бюрократию и правительство.


alti

Re: Хранение трендов в контроллере

Сообщение alti » 27 май 2010, 10:12

Можно ещё сделать так: при обрыве связи хранить даннные в ПЛК (в виде файлов или просто двоичных массивов не важно, а при восстановлении передать недостающие данные SQL серверу на АРМе при помощи команды UPDATE). Реализовать запросы к SQL серверу по каналу Ehternet очень просто.


andrmur
освоился
освоился
Сообщения: 218
Зарегистрирован: 24 июл 2008, 08:22
Ф.И.О.: Мурашко Андрей Викторович
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 2 раза
Контактная информация:

Re: Хранение трендов в контроллере

Сообщение andrmur » 28 май 2010, 12:37

Ziv,

посмотрите на вот этот модуль - http://discover.rockwellautomation.com/ ... rofile.pdf
он специально выпущен под платформу ControlLogix для хранения истории (трендов).
Синхронизируется с "большим" архиватором FT Historian SE на сервере.


alex_ugrumov
почётный участник форума
почётный участник форума
Сообщения: 556
Зарегистрирован: 29 сен 2008, 16:05
Ф.И.О.: Алексей Угрюмов
Благодарил (а): 5 раз
Поблагодарили: 15 раз

Re: Хранение трендов в контроллере

Сообщение alex_ugrumov » 01 июн 2010, 14:56

А какой контроллер-то? Кроме хранения переменной, надо хранить метку времени. Как правильно сказал Дмитрий Милосердов для, экономии места надо сохранять точку при отклонении от предыдущей на некое дельта. Что касается метки времени, то тут встаёт отдельный вопрос о том, как это время синхронизировать со временем на сервере. Дальше вопрос какой транспорт используется для передачи данных от контроллера к серверу (как в плане железа, так в плане протокола и механизма подключения - OPC/драйвер в СКАДА). У некоторых производителей есть поддержка исторических данных. У других ручками - запросили точку, приняли точку, приняли метку времени, сделали INSERT, подтвердили получение точки и т.д. Дальше тренды у InTouch по архивным данным из базы строятся?
Alex.


abbat81
освоился
освоился
Сообщения: 238
Зарегистрирован: 30 май 2009, 19:21
Ф.И.О.: Науменко Александр Сергеевич
Откуда: Шатура
Поблагодарили: 1 раз
Контактная информация:

Re: Хранение трендов в контроллере

Сообщение abbat81 » 07 июн 2010, 08:41

Намного проще будет организовать систему автоматического резервирования канала связи. Единственное место, где я встречал хранение данных в контроллерах- это системы коммерческого либо технического учета, да и то данные хранились там в виде массивов значений вида : среднечасовое, среднесуточное и. т.д.
а не с интервалом в виде 0,5 сек. и менее


Автор темы
ZIV
здесь недавно
здесь недавно
Сообщения: 48
Зарегистрирован: 31 мар 2010, 08:01
Ф.И.О.: Igor V. Zhdanov
Откуда: Orenburg

Re: Хранение трендов в контроллере

Сообщение ZIV » 10 июн 2010, 11:31

Вопрос был без привязки к конкретному железу. Удалось выяснить, что в Historian существует функция Update, строящая недостающую часть тренда. Спасибо всем высказавшимся по данному вопросу, задача обрела ястность. Теперь дело за экспериментами.


DDmitry
здесь недавно
здесь недавно
Сообщения: 17
Зарегистрирован: 31 янв 2011, 11:00
Ф.И.О.: Двоеглазов Дмитрий Николаевич

Re: Хранение трендов в контроллере

Сообщение DDmitry » 31 янв 2011, 11:21

Данную задачу возможно сделать. В простейшем виде она реализована в контроллерах Triconex * SOE.
У Allen-Bradley в 1756, 1769 есть возможность подключить флешку CompactFlash.
Остается сделать
-Систему выбора данных для сохранения данных с привязкой даты и времении (запись одного события менее 14 байт не сделать),
-Сохранение/чтение на флеш,
-Подготовка и передача данных ПЭВМ,
-Приложение, принимающее и сохраняющее данные на SQL-сервер или др.БД.

В итоге может получится следующее (вырезано из документации реальной работающей системы):
Система регистрации событий и значений аналоговых параметров с высокой временной точностью (до 1 мс) реализованная на базе промышленного микропроцессорного комплекса Allen-Bradley.
Функциональность системы:
- сохранение истории технологического процесса в контроллере на энергонезависимой памяти на временном интервале до 10 лет;
- дата и время возникновения события присваивается в контроллере;
- синхронизация времени по GPS (опционально);
- временная точность регистрации параметров практически не зависит от количества параметров;
- определение сложных правил регистрации параметров, например, при появлении определенного события записать значения заданных параметров;
- данные, считанные с микропроцессорного комплекса, сохраняются в базу данных MSSQL,MySQL, пригодную для отображения в RSView с помощью TrendX, пример представлен на рисунке 1.
- передача данных с микропроцессорного комплекса осуществляется по мере их поступления посредством COM-порта и EtherNet (internet) или считывание данных производится пользователем с энергонезависимой памяти посредством считывателя карт памяти (CartReader);


Вернуться в «Средний уровень автоматизации»



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость