Была поставлена задача составления универсальных алгоритмов управления различными устройствами (задвижками, насосами и т.д.) для упрощения проектировния АСУТП в целом. Кто-нибудь занимался этим вопросом.
Мною был составлен универсальный алгоритм управления элктрозадвижкой с реализацией 8-ми различных режимов управления в виде одного функционального блока (на SCL 2.4 Кб). Если кого-то этот вопрос заинтересует отвечайте обязательно вышлю описанние.
--------------------------------------
вот ссылка на описание алгоритма. смотрите все кому интересно. За дополнительной информацией обращайтесь http://rapidshare.de/files/10836004/___ ... _.doc.html
[?]: Универсальные алгоритмы управления устройствами
-
- Posts: 10
- Joined: Fri Jan 11, 2008 7:58 am
- Location: Kazakhstan
Универсальные алгоритмы управления устройствами
Мне интересен именно универсальный вариант.
Именно как вариант реализации. В моем случае нужно отладить симулятор, а железо как такого еще нет чтоб попробовать...
Как придет надо сразу пробовать.
А с чего начинать чтобы все было как надо и потом минимум переделок - только в этом вопрос.
Именно как вариант реализации. В моем случае нужно отладить симулятор, а железо как такого еще нет чтоб попробовать...
Как придет надо сразу пробовать.
А с чего начинать чтобы все было как надо и потом минимум переделок - только в этом вопрос.
-
- Posts: 501
- Joined: Tue Jun 27, 2006 5:52 am
- Location: Russia
Re: Универсальные алгоритмы управления устройствами
Начинать надо с принципиальных электрических схем питания, управления и сигнализации этой задвижки. Сколько команд управления будет? Сколько сигналов сигнализации положения (открыта, закрыта)? Будет ли аналоговая величина положения штока задвижки и.т.д. и.т.п. От этого будет зависить алгоритм. Задвижка, клапан, кран это ведь, движение исполнительного органа (штока) в какую-то сторону. Соответственно, если нет величины положения штока, то есть определенное время работы привода от концевика до концевика. Как частный случай: для симулятора - по команде "открыть" включается таймер, по окончанию таймера выставляется сигнал "открыта". По команде "стоп" сбрасываем таймер. То же на закрытие. Алгоритм устройства должен проконтролировать по таймеру от команды пуск , до появления сигнала "открыто", если через отведенное время нет сигнала - авария. Но это упрощенный частный случай... Варианты будут зависить как от типа привода, так и от цепей управления и сигнализации.ruslan_nur wrote: А с чего начинать чтобы все было как надо и потом минимум переделок - только в этом вопрос.
-
- Posts: 10
- Joined: Fri Jan 11, 2008 7:58 am
- Location: Kazakhstan
Потихоньку есть прояснения в данном вопросе.
Задвижки все будут запорные. То есть на них небудет позиционера,
команда на открытие и команда на закрытие...
Два концевика - нормально разомкнутые, в крайних положениях
отображающие положение закрыто и соотвественно открыто.
Привод к задвижке будет в смешанном режиме:
автоматический и ручной.
команда на открытие и команда на закрытие...
Два концевика - нормально разомкнутые, в крайних положениях
отображающие положение закрыто и соотвественно открыто.
Привод к задвижке будет в смешанном режиме:
автоматический и ручной.
-
- Posts: 501
- Joined: Tue Jun 27, 2006 5:52 am
- Location: Russia
Re: Потихоньку есть прояснения в данном вопросе.
Концевики тогда лучще сделать нормальнозамкнутыми - пропало питание с цепей сигнализации, глядь - а у тебя две единички...В момент хода задвижки обе релюшки подтянуты, соответственно при ходе sp@@m арматуры - два нолика на входах контроллера. Что надо то, пример кода для такой задвижки? Симулятор тут не нужен, достаточно возможностей plcsim.
-
- Posts: 10
- Joined: Fri Jan 11, 2008 7:58 am
- Location: Kazakhstan
-
- Posts: 501
- Joined: Tue Jun 27, 2006 5:52 am
- Location: Russia
http://narod.ru/disk/14601000/Valve.rar
Алгоритм в Визио, и функция на STL. В примере использована нотация SWITCH-технологии - ресурс http://is.ifmo.ru
Можно использовать стандартный FB82 MCAT из системных функций - описание на оф. сайте в разделе "Стандартные функции для S7-300 и S7-400. STEP V5.3 Часть 2" - файл 05_SFC-part_2_Taimer_Funct_r.pdf
Алгоритм в Визио, и функция на STL. В примере использована нотация SWITCH-технологии - ресурс http://is.ifmo.ru
Можно использовать стандартный FB82 MCAT из системных функций - описание на оф. сайте в разделе "Стандартные функции для S7-300 и S7-400. STEP V5.3 Часть 2" - файл 05_SFC-part_2_Taimer_Funct_r.pdf
-
- Posts: 501
- Joined: Tue Jun 27, 2006 5:52 am
- Location: Russia
http://narod.ru/disk/14631000/Valve_Switch.rar
Приложил еще алгоритм и функцию определения состояния задвижки
Приложил еще алгоритм и функцию определения состояния задвижки
-
- Posts: 10
- Joined: Fri Jan 11, 2008 7:58 am
- Location: Kazakhstan
Спасибо большое...
Спасибо большое... Хотел уточнить, какой версии VISIО необходим?
-
- Posts: 501
- Joined: Tue Jun 27, 2006 5:52 am
- Location: Russia
Даный алгоритм применялся к "старым" задвижкам, без внесения изменений в электрическую схему сборки РТЗО (объект был действующий). Т.е. промежуточные реле подсоединялись параллельно к кнопкам управления шкафа и цепям сигнализации (лампочкам). Не самый лучший вариант, но работает...
Подход перевода с графа на STL шаблонирован. На первый взгляд покажется что код функции избыточен. Это верно, но при создании больших алгоритмов оправдан и поиск технологических ошибок происходит в графе, а не в коде функции. На ранее указанном ресурсе (http://is.ifmo.ru ) появился конвертер с графа в код программы (пока только Си и Ассемблер). Это правильный подход, автоматизация процесса формирования листинга позволит избежать ошибок при наборе кода. В принципе, насколько мне известно, идет работа по созданию шаблона XML, для микровина. Со временем появятся и шаблоны под SCL & STL как дополнение к конвертеру...
Алгоритм можно создать как функцию, а не как функциональный блок. В любом случае, необходимо и как обязательное условие, сбрасывать темповые переменные, так как при вызове функции для обработки следующей задвижки может возникнуть "бардак". А реализацию команд можно вынести за пределы функции с конкретным адресом М х.х
Подход перевода с графа на STL шаблонирован. На первый взгляд покажется что код функции избыточен. Это верно, но при создании больших алгоритмов оправдан и поиск технологических ошибок происходит в графе, а не в коде функции. На ранее указанном ресурсе (http://is.ifmo.ru ) появился конвертер с графа в код программы (пока только Си и Ассемблер). Это правильный подход, автоматизация процесса формирования листинга позволит избежать ошибок при наборе кода. В принципе, насколько мне известно, идет работа по созданию шаблона XML, для микровина. Со временем появятся и шаблоны под SCL & STL как дополнение к конвертеру...
Алгоритм можно создать как функцию, а не как функциональный блок. В любом случае, необходимо и как обязательное условие, сбрасывать темповые переменные, так как при вызове функции для обработки следующей задвижки может возникнуть "бардак". А реализацию команд можно вынести за пределы функции с конкретным адресом М х.х