IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Новичок. Нужен пример таймера работающий от переменной. LD
demiurg1978
сообщение 4.01.2015 - 13:25
Сообщение #1


Читатель
*

Группа: Пользователи
Сообщений: 3
Регистрация: 4.01.2015
Пользователь №: 10402



Здравствуйте! Я новичок в программировании ПЛК. Думаю, Alpha\Alpha 2 не считается smile.gif.

Работаю электронщиком. Ремонт, модернизация, разработка блоков управления пром. обоудования. Сборка, монтаж шкафов управления. Электромонтажные работы. Работал с простенькими ПЛК Mitsubushi Alpha\Alpha 2 . Программирование микронтроллеров AVR. Асм, последние пару лет Си.

С Mitsubishi FX и подобными ПЛК периодически сталкивался постольку-постольку. Проверить питание, входные, выходные сигналы.

Так как свободного времени мало, периодически пытался знакомиться с ПЛК. Дальше этого дело не заходило по некоторым причинам: составление релейно-контактных схем. А я их всегда ненавидел. FBD - наелся с Alpha\Alpha 2. Если требуется внести изменения, приходится перелопачивать большой кусок схемы. Структурный текст как-то излишне усложнен. На Си мне гораздо проще и быстрее написать программу. Тем более, что я приверженец автоматного программирования (поисковик, конечные автоматы).

В новогодние праздники выдалось немного свободного времени, почитал давно уже скачанные материалы, попробовал составить проектик. Хотел бы попросить вас посмотреть проект, на комплименты не напрашиваюсь smile.gif, посмотрите, выскажите свое мнение.

Алгоритм следующий:
Есть 4 кнопки. Стоп, Наладка, Автомат, Пуск.
Стоп - мягкий стоп. При нажатии цикл завершается и станок останавливается.
Наладка - При нажатии на кнопку работают соответствующие исполнительные механизмы.
При нажатии на кнопку автомат станок входит в этот режим, цикл начинается после нажатия на кнопку Пуск.

Цикл:
1 - Закрывается матрица, и срабатывает нож.
2 - Когда матрица закрывается, срабатывает датчик KD1.
3 - После срабатывания датчика KD1 включается клапан нагрев и таймер нагрева.
4 - Таймер отключается, отключается клапан нагрева.

Есть вопросы по таймерам. Скажем, поставить таймер с жестко заданным временем, вопросов нет. А вот чтобы таймер отсчитал заданное время, тут у меня возникли затруднения. Есть следующие вопросы:
Есть переменная Dxxx. Я правильно понимаю, что таймер начинает считать, если в переменной есть какое-то значение, отличное от 0? Если в переменной 0, каково состояние таймера? Заданное значение должно быть в своей переменной, перед включением таймера значение нужно скопировать в "счетчик" таймера? В общем, хотел бы понять, как работают таймеры, также хотел бы попросить у вас пример таймеров с задаваемым значением времени для ПЛК. И в каких значениях должно быть задаваемое время. Так как в LD пишем: T0 K10 (1 c).

Заранее благодарен.
Прикрепленные файлы
Прикрепленный файл  1.zip ( 60.34 килобайт ) Кол-во скачиваний: 23
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ivgtrk
сообщение 5.01.2015 - 18:01
Сообщение #2


Гигант мысли
****

Группа: Пользователи
Сообщений: 459
Регистрация: 5.02.2014
Пользователь №: 10203



Цитата(demiurg1978 @ 4.01.2015 - 17:25) *
... FBD - наелся с Alpha\Alpha 2.

И тем не менее это наиболее простой и наглядный подход к программированию, особенно с позиции "зрительного" понимания программы.

Цитата(demiurg1978 @ 4.01.2015 - 17:25) *
Если требуется внести изменения, приходится перелопачивать большой кусок схемы.

Далеко не факт! Все зависит от того, насколько грамотно и оптимально написана программа.

Цитата(demiurg1978 @ 4.01.2015 - 17:25) *
Структурный текст как-то излишне усложнен. На Си мне гораздо проще и быстрее написать программу. Тем более, что я приверженец автоматного программирования (поисковик, конечные автоматы).

И действительно, режим написания "структурный текст" хоть и якобы введен в угоду "пишущим" программистам, но все же невероятно слабоват и одновременно не всегда понятен. Однако, хочу заверить, что для выполнения абсолютного большинства задач с применением ПЛК совершенно не требуется прибегать к подобному типу программирования. Это как несколько дорог, ведущих, в итоге, к одной цели.
Я как и Вы, много лет собирал свои устройства на AVR-ах и подобных, писал программы преимущественно на Си. Но в данном процессе, как мы понимаем - заключены следующие стадии: программирование чипа, разработка и создание печатных плат в качестве готового устройства, а так же, как правило, весьма трудоемкая их отладка, особенно в части электрической схемы... Посему, если перенести этот вопрос в плоскость ПЛК, имеем: сразу готовое к монтажу/эксплуатации изделие после стадии его программирования/наладки/настройки. Значительное ускорение процесса с минимальными трудо-затратами при внедрении. В некоторых отношениях, наиболее гибкое представление вариантов решения тех или иных задач в плане программирования, в отличие от микросхем.
Вообщем, время не стоит на месте - наиболее прагматично работать с ПЛК, чем шить микросхемы... А если еще требуется, к примеру, вывести какие-либо цифры на ЖК-панельку, плюс кнопки управления и пр. Я Вас уверяю, пока вы будете все это программировать, а в последствии паять-собирать - за это время я сдам три-четыре таких работающих установки на ПЛК и HMI устройствах. Все мы приверженцы т.н. "старой школы", однако не всегда полезно придерживаться своих амбиций, якобы мы знаем только это и посему только так работаем... Так или иначе, все же все вынуждены будут переходить на новые методы работы, изучать что-то новое и т.д. Да и заказчику выгоднее работать с теми, кто сделает работу за неделю, а не за месяц... Примерно так.

Цитата(demiurg1978 @ 4.01.2015 - 17:25) *
Есть переменная Dxxx. Я правильно понимаю, что таймер начинает считать, если в переменной есть какое-то значение, отличное от 0? Если в переменной 0, каково состояние таймера?

Если в переменной "0", то выход таймера включиться сразу после того, как условие его включения станет истинным. Т.е. при значении счета "0" - таймера как бы нет.

Цитата(demiurg1978 @ 4.01.2015 - 17:25) *
И в каких значениях должно быть задаваемое время. Так как в LD пишем: T0 K10 (1 c).

Значение таймера задается исходя из его шага отсчета; используемые Вами таймеры и их шаги времени подробно расписаны в руководстве. К примеру, в большинстве типе плк FX таймеры T0-T199 имеют шаг в 100мс, что означает, что при записи "1" в переменную - таймер отсчитает 1*100мс = 100мс. Для того, чтобы задать время включения, допустим 2,5 сек, в переменную необходимо записать значение 25 ( 25 отсчетов по 100мс = 2500мс = 2,5сек).

Цитата(demiurg1978 @ 4.01.2015 - 17:25) *
... также хотел бы попросить у вас пример таймеров с задаваемым значением времени для ПЛК.

С удовольствием бы с Вами поделился примером, но я не располагаю пакетом GX Developer. Я работаю в GX IEC Developer, структура файлов проекта которого, как и принцип написания программ несколько отличается от пакета, используемого Вами.


--------------------
Никому никогда ничего не объясняйте — каждый всё равно поймёт так, как ему выгодно.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
demiurg1978
сообщение 6.01.2015 - 22:26
Сообщение #3


Читатель
*

Группа: Пользователи
Сообщений: 3
Регистрация: 4.01.2015
Пользователь №: 10402



Цитата(ivgtrk @ 5.01.2015 - 20:01) *
Да и заказчику выгоднее работать с теми, кто сделает работу за неделю, а не за месяц... Примерно так.

Именно поэтому решил форсировать переход на ПЛК.

Цитата(ivgtrk @ 5.01.2015 - 20:01) *
С удовольствием бы с Вами поделился примером, но я не располагаю пакетом GX Developer. Я работаю в GX IEC Developer, структура файлов проекта которого, как и принцип написания программ несколько отличается от пакета, используемого Вами.

Есть этот пакет. Жду от вас пример.

Сообщение отредактировал demiurg1978 - 6.01.2015 - 22:28
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ivgtrk
сообщение 12.01.2015 - 19:50
Сообщение #4


Гигант мысли
****

Группа: Пользователи
Сообщений: 459
Регистрация: 5.02.2014
Пользователь №: 10203



Пример вот.

Написан для FX1N, в 7.01 версии IEC Dev.


--------------------
Никому никогда ничего не объясняйте — каждый всё равно поймёт так, как ему выгодно.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 29.03.2024 - 17:59