Реклама / ООО «ИЗОЛПРОЕКТ» / ИНН: 7725566484 | ERID: 2Vtzqx6kV7S
IPB IPB
Проектирование, монтаж, наладка, сервис


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

- Стандарт НП «АВОК» 7.11-2024
«Рекомендации по проектированию инженерных систем
дошкольных образовательных организаций»

АВОК в соц. сетях
ИНН: 7714824045 | erid: 2VtzqwzKQiU
 
Добавить ответ в эту темуОткрыть тему
> Вопрос по обработке прерываний ПЛК - Kinco K306-ar и написанию основного цикла.
sed_alex
сообщение 17.8.2013, 10:43
Сообщение #1





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



Приветствую!

Это мой первый опыт работы с ПЛК и языком LD (взрыв мозга уже 5й день, но приходится учится smile.gif )



Итак в проекте будет работать следующая связка:
Частотник: LS IG5A (7,5 кВт) + Мотор редуктор на эту же мощность
HMI: Kinco MT4414T
PLC: Kinco K306-AR + Инкрементальный энкодер от Autonics (100 оборотов - комплиментарка) + пульт управления из 5 кнопок, сирена, мигалка и прочая мелочевка.

Есть 2 режима работы:

1) Автоматический - включается при нажатии на пульте кнопки "START" после чего контроллер гоняет каретку вправо до позиции "UST_Hi", останавливается, дает "Delay_1" сек задержки и идет влево до позиции UST_Lo, опять останавливается и ждет "Delay_2" сек задержки.
Цикл повторяется либо "X" кругов, либо "Y" минут (если выставлено условие по времени, по достижении заданного периода - цикл не сразу останавливается, а дожидается когда положение Энкодера будет равно "UST_Lo" т.е. каретка приедет в точку старта)
В управлении циклом задействованы 3 кнопки пульта: "START", "Pause", "Stop-RESET"
В случае нажатия кнопки Пауза - кнопками вправо, влево можно менять положения транспортера вручную, после повторного нажатия программа продолжает выполнятся.

2) Ручной режим работы - кроме описанных выше работают кнопки пульта: "Вправо", "Влево" контроллер "ждет нажатия кнопки "старт" или повторного нажатия кнопки "пауза"


Теперь самое интересное:

При выполнении основной программы мне придется обрабатывать сразу 3 прерывания:

1) Прерывание от HSC (счетчика энкодера) по условию CV=PV при достижении верхней или нижней уставки , уход на паузу и реверсирование двигателя.
(как мне уже подсказали нижняя уставка не должна быть равна 0 чтоб не возникало проблем с минусовыми значениями в случае если не смогли быстро затормозится и пролетели нижнюю уставку.

2) Прерывание по нажатию кнопок (тут немного проще в основном цикле это может быть даже не прерывание а проверка условия на IL будет выглядеть наверное так:

LD %V0.4 (Не нажата ли кнопка паузы)
Cal Pause
LD %V0.5 (не нажата ли кнопка стоп)
Cal Stop_engine

3) Прерывание по времени - тут вроде тоже все понятно задаем обработчик в цикле таймер TOF при достижении 0 отрабатываем прерывание ET=PT и ставим флаг (как достигли UST_Lo - останавливаемся) .


Собственно вопрос следующий:

Как правильно последовательно реализовать основной цикл и вход выход по прерываниями, чтобы с одной стороны не перегружать контроллер циклом в цикле, с другой стороны корректно считать импульсы от энкодера без пропусков (у ПЛК почти 20 кратный запас по скорости счета).

Мозг просто отказывается понимать как это все уложить вместе.

В настоящий момент написаны только:
1) подпрограммы опроса счетчика (переписана из примера).
2) Написал 10 строк подпрограммы реверсирования двигателя (в самом частотнике заложено что при нажатии кнопки "5" тормозим и включаем реверс) подпрограмма у меня просто тупо включает выходное реле ПЛК и тем самым замыкает кнопку "5" частотника.

Пытаюсь продумать основной цикл программы и не понимаю с чего начать...






Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
sed_alex
сообщение 17.8.2013, 18:47
Сообщение #2





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



В общем написал обработчики:

1) Проверка установки точек разворота (пока не установлены не дает работать в автоматическом режиме)
2) Опрос пульта управления (писал 4 часа ) могу привести здесь - опознает нажатие защелкивает тригер на 1 такт выполняет подпрограмму и выходит в основую прогу установив флаг исполнения.
3) Обработчик прерывания от счетчика - вот тут засада обработчик то я написал но как заставить счетчик при достижении верхней уставки по прерыванию не обнулятся, а остановится и начать крутить движок в обратную сторону - ломаю голову.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
sed_alex
сообщение 5.9.2013, 22:36
Сообщение #3





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



Тему можно прибить.
Программа написана вопросы закрыты.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

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

 

Реклама
ООО «Арктика групп» ИНН: 7713634274




Реклама: ООО «СибСтронг» | ИНН 6670013662 | ERID: 2VtzqvWgxEU

ООО «УНИСПЛИТ» ИНН: 6453155081 erid:2VtzqvybpdW

Реклама: ООО «СЛ-ЛАЗЕР» ИНН 7727447267 | erid: 2VtzquvhFWx
Последние сообщения Форума






RSS Текстовая версия Сейчас: 10.8.2025, 6:24
Политика ООО ИИП «АВОК-ПРЕСС» в отношении обработки персональных данных