Здравствуйте уважаемые форумчане. Назрела проблема.
Есть проект автоматизации подготовки материала.
Написан он криво...нет никакой обратной связи с механизмами (обратных сигналов с пускателей, концевиков и т.д).
Сам алгоритм управления в ручном и автоматическом режиме реализован на SCL.
С ним я разобрался, исправил,но есть один минус, невозможно остановив цикл запустить его с того же момента.
Операторам приходится доводить тех процесс до необходимых начальных условий описанных в алгоритме (набирать или опустошать емкости и т.д).
Необходимо реализовать алгоритм таким образом, чтобы остановив процесс в любой момент времени можно было его запустить дальше.
Отсюда вопрос!
Возможно ли сделать это посредством какого-то OB прерывания или придется переписывать сам алгоритм управления.
В данный момент он исполняется в ОВ35.
В Step7 работать только начинаю так что сильно не бейте...лучше помогите...
Заранее благодарен.
[?]: Реализация прерывания программы от кнопки
-
- Posts: 6
- Joined: Mon Mar 07, 2011 11:34 am
-
- Posts: 501
- Joined: Tue Jun 27, 2006 5:52 am
- Location: Russia
Re: [?]: Реализация прерывания программы от кнопки
Контроллер какой?
-
- Posts: 6
- Joined: Mon Mar 07, 2011 11:34 am
Re: [?]: Реализация прерывания программы от кнопки
Контроллер CPU 313C 6ES7 313-5BF03-0AB0. Попутно возник еще вопрос...возможно ли вызывать один и тот же FC блок несколько раз в одном FB (например FC106),
-
- Posts: 501
- Joined: Tue Jun 27, 2006 5:52 am
- Location: Russia
Re: [?]: Реализация прерывания программы от кнопки
1) В S7-300 есть сохраняемые области памяти, таймеров, счетчиков. Задаются при конфигурировании ЦПУ. Задачу придется решать алгоритмически. Не забудьте и сброс алгоритма предусмотреть. Лучше реализовать с использованием языка SFC. Разбить задачу на состояния и постоянно проверять кнопку пуск/стоп.Eugyn_Ch wrote:Контроллер CPU 313C 6ES7 313-5BF03-0AB0. Попутно возник еще вопрос...возможно ли вызывать один и тот же FC блок несколько раз в одном FB (например FC106),
2) Вызывать FC в FB можно. И наоборот. Для S7-300 до восьми вложений.
-
- Posts: 6
- Joined: Mon Mar 07, 2011 11:34 am
Re: [?]: Реализация прерывания программы от кнопки
Огромное спасибо за помощь. Пообщавшись с опытными технологами пришли к выводу, что останавливать тех.процесс можно только в определенных состояниях, что весьма упростило задачу. На мой взгляд алгоритм на SCL не лучший вариант, хочу попробовать переписать его на языке GRAPH. Тех процесс практически полностью последователен за исключением одного участка. Скажите есть ли смысл переделывать или оставить как есть на SCL ??? И еще вопрос. Системой управляют 2 независимых друг от друга контроллера 313С с 1 разъемом MPI/DP на каждом. У каждого своя Touch Panel(панелька + проект на WinCCFlex). В дальнейшем планируется расширить объем автоматизации. Отсюда вопрос. Возможно ли связать эти 2 контроллера по профибасу, если разъем уже занят панелькой? И как можно вывести сигнал с панели/контроллера на обычный TV(т.е. VGA сигнал)?
-
- Posts: 501
- Joined: Tue Jun 27, 2006 5:52 am
- Location: Russia
Re: [?]: Реализация прерывания программы от кнопки
Не в SCL дело. Сама методика разработки алгоритма в виде графа нужна. А на каком языке она будет реализована не важно. Для начала конечно будет лучше разобраться с S7-CRAPH. Составьте с технологом граф - кружочки (состояния), стрелки (переходы с состояния на другое состояние) это условия перехода и тогда на S7-CRAPH будет проще перенести. А нотации перевода графов в код программы есть и для SCL, и для STL, и для LAD. Но, нужно освоить программирование как дисциплину и Step7 как инструмент.
можноОтсюда вопрос. Возможно ли связать эти 2 контроллера по профибасу, если разъем уже занят панелькой?
Наверное никак. Либо через Антарктиду с кучей устройств в цепочкеИ как можно вывести сигнал с панели/контроллера на обычный TV(т.е. VGA сигнал)?
-
- Posts: 6
- Joined: Mon Mar 07, 2011 11:34 am
Re: [?]: Реализация прерывания программы от кнопки
Спасибо. С алгоритмизацией и программирование я знаком на твердые 3+ (Basic, Pascal, Delphi). А вот со Step7 не особо, т.к. обучения не проходил, а все познаю чтением мануалов и практикой.Да и работа была больше связана с аппаратной частью автоматики. Блок FB состоит в основном из многочисленных многоуровневых условий/циклов и читать это не всегда удобно(читать графы куда проще). Если можно подробнее о соединении контроллеров. Насколько я понял придется использовать Simatic NEt. И конфигурировать соединение Master - Slave или как то по другому???
К вопросу о выводе на TV. А если, как вариант, взять станцию(или обычный ПК) с сетевой картой Profibas, установить туда WinCC и привязать тегами к контроллеру. Возможен ли такой вариант?
К вопросу о выводе на TV. А если, как вариант, взять станцию(или обычный ПК) с сетевой картой Profibas, установить туда WinCC и привязать тегами к контроллеру. Возможен ли такой вариант?
-
- Posts: 501
- Joined: Tue Jun 27, 2006 5:52 am
- Location: Russia
Re: [?]: Реализация прерывания программы от кнопки
Вы бы разбивали темы смешалось в кучу все - и кони и люди
Код можно структурировать как Вам нравится, но с учетом того что контроллер исполняет циклически и постоянно.
Сначала технология и алгоритм.Eugyn_Ch wrote:Спасибо. С алгоритмизацией и программирование я знаком на твердые 3+ (Basic, Pascal, Delphi). А вот со Step7 не особо, т.к. обучения не проходил, а все познаю чтением мануалов и практикой.Да и работа была больше связана с аппаратной частью автоматики.
FB это подпрограмма которая вызывается в циклической программе называемой ОВ, в других средах еще называют POU.Eugyn_Ch wrote: Блок FB состоит в основном из многочисленных многоуровневых условий/циклов и читать это не всегда удобно(читать графы куда проще).
Код можно структурировать как Вам нравится, но с учетом того что контроллер исполняет циклически и постоянно.
Масса способов и системных функций для такого обмена. С оф. сайта качайте документацию - все в свободном доступе. Как и по S7-CRAPH. Курсы, вт.ч. и по GRAPH - http://curswincc.narod.ru/Eugyn_Ch wrote: Если можно подробнее о соединении контроллеров. Насколько я понял придется использовать Simatic NEt. И конфигурировать соединение Master - Slave или как то по другому???
Можно не только WinCC, но и WinCCFlexible RunTime, да и еще практически любую скаду но тогда понадобится Simatic NEt.Eugyn_Ch wrote:К вопросу о выводе на TV. А если, как вариант, взять станцию(или обычный ПК) с сетевой картой Profibas, установить туда WinCC и привязать тегами к контроллеру. Возможен ли такой вариант?
-
- Posts: 6
- Joined: Mon Mar 07, 2011 11:34 am
Re: [?]: Реализация прерывания программы от кнопки
Да действительно вопросов много и информация начинает перемешиваться как в голове так и тут. По долгу службы приходиться обслуживать несколько крупных объектов с проектами на базе PCS7 (от 3 до 5 S7-400, несколько серверов, кучу клиентов), и кучу устройств с различными S7 -300. Но обслуживать готовое и создавать самому разные вещи. Так что некоторое представление о структуре контроллеров, программ, блоков, циклов имею. А вот многих нюансов с которыми не сталкивался не знаю. Да и помочь особо некому, коллектив молодой не особо опытный. Спасибо за помощь и толчок в нужном направлении. Закончу с этим алгоритмом и начну дорабатывать/разрабатывать проект Hardware под следующие пожелания боссов!
-
- Posts: 6
- Joined: Mon Mar 07, 2011 11:34 am
Re: [?]: Реализация прерывания программы от кнопки
Здравствуйте. Если не затруднит помогите решить еще одну проблему. Существует FB, который содержит алгоритм управления тех.процессом. Для запуска и контроля приводов(эл.двигателей, задвижек) был написан простой универсальный блок FC. Вопрос: каким образом можно вызывать этот блок, каждый раз подставляя во внутренние переменные адреса управления различными приводами(1 вызов FC= адреса для 1 привода, 2 вызов этого FC = адреса для 2 привода). Можно написать много FC блоков под каждый привод, можно создать много DB блоков под каждый привод, но мне кажется это не совсем оптимальный вариант. И еще вопрос: в блоке используется 2 таймера для компенсации задержки реле, будут ли они правильно отрабатывать если FC блок вызван одновременно несколько раз. Может кто-то сталкивался с такой проблемой? Если не жалко своего труда, пришлите свои варианты аналогичных блоков управления приводами или заслонками. Буду рад любой помощи...проект горит.
-
- Posts: 501
- Joined: Tue Jun 27, 2006 5:52 am
- Location: Russia
Re: [?]: Реализация прерывания программы от кнопки
Да нет никаких проблем. Главное внутри FC или FB не использовать абсолютную адресацию памяти контроллера или DB. Также как и номер используемого таймера и базу времени таймеров можно вывести на вход функции и при различных вызовах использовать различные значения. Да и DB можно в мультиэкземплярах... Вообще - первый класс, первая четверть. Скачайте ,базовые курсы по Step7 http://www.plcforum.uz.ua/viewtopic.php?f=9&t=10756
-
- Posts: 11
- Joined: Tue Sep 28, 2010 7:39 am
Re: [?]: Реализация прерывания программы от кнопки
А почему бы не использовать под каждый привод отдельный DB, где хранить всю инфу по данному приводу? В программе дергать fc с соответствующими значениями из соответствующего DB блока. По-моему это будет самый оптимальный вариант.