Новичок. Нужен пример таймера работающий от переменной. LD |
Здравствуйте, гость ( Вход | Регистрация )
Новичок. Нужен пример таймера работающий от переменной. LD |
4.01.2015 - 13:25
Сообщение
#1
|
|
Читатель Группа: Пользователи Сообщений: 3 Регистрация: 4.01.2015 Пользователь №: 10402 |
Здравствуйте! Я новичок в программировании ПЛК. Думаю, Alpha\Alpha 2 не считается .
Работаю электронщиком. Ремонт, модернизация, разработка блоков управления пром. обоудования. Сборка, монтаж шкафов управления. Электромонтажные работы. Работал с простенькими ПЛК Mitsubushi Alpha\Alpha 2 . Программирование микронтроллеров AVR. Асм, последние пару лет Си. С Mitsubishi FX и подобными ПЛК периодически сталкивался постольку-постольку. Проверить питание, входные, выходные сигналы. Так как свободного времени мало, периодически пытался знакомиться с ПЛК. Дальше этого дело не заходило по некоторым причинам: составление релейно-контактных схем. А я их всегда ненавидел. FBD - наелся с Alpha\Alpha 2. Если требуется внести изменения, приходится перелопачивать большой кусок схемы. Структурный текст как-то излишне усложнен. На Си мне гораздо проще и быстрее написать программу. Тем более, что я приверженец автоматного программирования (поисковик, конечные автоматы). В новогодние праздники выдалось немного свободного времени, почитал давно уже скачанные материалы, попробовал составить проектик. Хотел бы попросить вас посмотреть проект, на комплименты не напрашиваюсь , посмотрите, выскажите свое мнение. Алгоритм следующий: Есть 4 кнопки. Стоп, Наладка, Автомат, Пуск. Стоп - мягкий стоп. При нажатии цикл завершается и станок останавливается. Наладка - При нажатии на кнопку работают соответствующие исполнительные механизмы. При нажатии на кнопку автомат станок входит в этот режим, цикл начинается после нажатия на кнопку Пуск. Цикл: 1 - Закрывается матрица, и срабатывает нож. 2 - Когда матрица закрывается, срабатывает датчик KD1. 3 - После срабатывания датчика KD1 включается клапан нагрев и таймер нагрева. 4 - Таймер отключается, отключается клапан нагрева. Есть вопросы по таймерам. Скажем, поставить таймер с жестко заданным временем, вопросов нет. А вот чтобы таймер отсчитал заданное время, тут у меня возникли затруднения. Есть следующие вопросы: Есть переменная Dxxx. Я правильно понимаю, что таймер начинает считать, если в переменной есть какое-то значение, отличное от 0? Если в переменной 0, каково состояние таймера? Заданное значение должно быть в своей переменной, перед включением таймера значение нужно скопировать в "счетчик" таймера? В общем, хотел бы понять, как работают таймеры, также хотел бы попросить у вас пример таймеров с задаваемым значением времени для ПЛК. И в каких значениях должно быть задаваемое время. Так как в LD пишем: T0 K10 (1 c). Заранее благодарен.
Прикрепленные файлы
|
|
|
5.01.2015 - 18:01
Сообщение
#2
|
|
Гигант мысли Группа: Пользователи Сообщений: 459 Регистрация: 5.02.2014 Пользователь №: 10203 |
... FBD - наелся с Alpha\Alpha 2. И тем не менее это наиболее простой и наглядный подход к программированию, особенно с позиции "зрительного" понимания программы. Если требуется внести изменения, приходится перелопачивать большой кусок схемы. Далеко не факт! Все зависит от того, насколько грамотно и оптимально написана программа. Структурный текст как-то излишне усложнен. На Си мне гораздо проще и быстрее написать программу. Тем более, что я приверженец автоматного программирования (поисковик, конечные автоматы). И действительно, режим написания "структурный текст" хоть и якобы введен в угоду "пишущим" программистам, но все же невероятно слабоват и одновременно не всегда понятен. Однако, хочу заверить, что для выполнения абсолютного большинства задач с применением ПЛК совершенно не требуется прибегать к подобному типу программирования. Это как несколько дорог, ведущих, в итоге, к одной цели. Я как и Вы, много лет собирал свои устройства на AVR-ах и подобных, писал программы преимущественно на Си. Но в данном процессе, как мы понимаем - заключены следующие стадии: программирование чипа, разработка и создание печатных плат в качестве готового устройства, а так же, как правило, весьма трудоемкая их отладка, особенно в части электрической схемы... Посему, если перенести этот вопрос в плоскость ПЛК, имеем: сразу готовое к монтажу/эксплуатации изделие после стадии его программирования/наладки/настройки. Значительное ускорение процесса с минимальными трудо-затратами при внедрении. В некоторых отношениях, наиболее гибкое представление вариантов решения тех или иных задач в плане программирования, в отличие от микросхем. Вообщем, время не стоит на месте - наиболее прагматично работать с ПЛК, чем шить микросхемы... А если еще требуется, к примеру, вывести какие-либо цифры на ЖК-панельку, плюс кнопки управления и пр. Я Вас уверяю, пока вы будете все это программировать, а в последствии паять-собирать - за это время я сдам три-четыре таких работающих установки на ПЛК и HMI устройствах. Все мы приверженцы т.н. "старой школы", однако не всегда полезно придерживаться своих амбиций, якобы мы знаем только это и посему только так работаем... Так или иначе, все же все вынуждены будут переходить на новые методы работы, изучать что-то новое и т.д. Да и заказчику выгоднее работать с теми, кто сделает работу за неделю, а не за месяц... Примерно так. Есть переменная Dxxx. Я правильно понимаю, что таймер начинает считать, если в переменной есть какое-то значение, отличное от 0? Если в переменной 0, каково состояние таймера? Если в переменной "0", то выход таймера включиться сразу после того, как условие его включения станет истинным. Т.е. при значении счета "0" - таймера как бы нет. И в каких значениях должно быть задаваемое время. Так как в LD пишем: T0 K10 (1 c). Значение таймера задается исходя из его шага отсчета; используемые Вами таймеры и их шаги времени подробно расписаны в руководстве. К примеру, в большинстве типе плк FX таймеры T0-T199 имеют шаг в 100мс, что означает, что при записи "1" в переменную - таймер отсчитает 1*100мс = 100мс. Для того, чтобы задать время включения, допустим 2,5 сек, в переменную необходимо записать значение 25 ( 25 отсчетов по 100мс = 2500мс = 2,5сек). ... также хотел бы попросить у вас пример таймеров с задаваемым значением времени для ПЛК. С удовольствием бы с Вами поделился примером, но я не располагаю пакетом GX Developer. Я работаю в GX IEC Developer, структура файлов проекта которого, как и принцип написания программ несколько отличается от пакета, используемого Вами. -------------------- Никому никогда ничего не объясняйте — каждый всё равно поймёт так, как ему выгодно.
|
|
|
6.01.2015 - 22:26
Сообщение
#3
|
|
Читатель Группа: Пользователи Сообщений: 3 Регистрация: 4.01.2015 Пользователь №: 10402 |
Да и заказчику выгоднее работать с теми, кто сделает работу за неделю, а не за месяц... Примерно так. Именно поэтому решил форсировать переход на ПЛК. С удовольствием бы с Вами поделился примером, но я не располагаю пакетом GX Developer. Я работаю в GX IEC Developer, структура файлов проекта которого, как и принцип написания программ несколько отличается от пакета, используемого Вами. Есть этот пакет. Жду от вас пример. Сообщение отредактировал demiurg1978 - 6.01.2015 - 22:28 |
|
|
12.01.2015 - 19:50
Сообщение
#4
|
|
Гигант мысли Группа: Пользователи Сообщений: 459 Регистрация: 5.02.2014 Пользователь №: 10203 |
-------------------- Никому никогда ничего не объясняйте — каждый всё равно поймёт так, как ему выгодно.
|
|
|
Текстовая версия | Сейчас: 29.03.2024 - 17:59 |