Просмотр полной версии : ПЛК110-60М (старый). Как работать с прерываниями?
Всем доброго времени суток.
Возникла необходимость в применении высокочастного таймера. Теорию почитал (и не один раз). Сделал проект, а прерываний по таймеру не происходит (это я сужу по тому, что переменные мои не обрабатываются). Ок, делаю просто сверхлёгкий проектик, в котором при прерывании таймера каждые 5 мс реал переменная увеличивается. Т.е. в глобальных переменных я должен видеть постоянно растущую переменную, чего не происходит.
Прошу тех, кто работал с этим таймером, ну либо у кого будут светлые мысли, подсказать, что делаю не так. Проект (простой который, чисто на пощупать таймер) и инфа от ПЛК во вложении. И да, тестил на живом контроллере. Кстати, шрифт имени POU прерывания таймера при первом подключении к ПЛК сменяет цвет с чёрного на серый (не знаю, что это могло бы значить)). Чувствую, что ларчик просто открывается, но пока не понял, как.
Решение: для корректной работы прерываний на старых контроллерах необходимо использовать прошивку 2.10.9 - http://www.owen.ru/catalog/codesys_v2/13294651
А Run при запуске программы нажимаете ?
А Run при запуске программы нажимаете ?
Разумеется. Уже давно прошёл этап прикола со Стартом).
Надо в PLC_PRG добавить B:=B+1; и посмотреть результат. Может ПЛК вообще не дышит.
ПЛК какого года выпуска ? Может прошивку надо обновить.
Период прерывания попробуйте сделать поменьше, например 200 мкс.
Да не, ПЛК живой, неделю назад из коробки достал. Крутил на нём до этого и после этого другой проект, без проблем. Сделан в мае этого года.
Уменьшение времени не помогло. Так же менял таргет и бибку Timer.lib (таргет с овен.ру, бибку с диска, который в нагрузку с ПЛК идёт).
Запустил (на живом ПЛК110-60М) пример hi_timer.pro. сразу после старта программы включаются первые четыре выхода, выключаются и ПЛК перезагружается.
Увеличил время между прерываниями (сделал 100 мкс), ПЛК перестал перезагружаться, прерывания в примере есть. Буду сравнивать.
Гарчев Евгений
26.07.2017, 14:15
Для ПЛК110 не М02 (т.е. старой модификации) для корректной работы прерываний необходимо использовать прошивку 2.10.9 - http://www.owen.ru/catalog/codesys_v2/13294651
Для ПЛК110 не М02 (т.е. старой модификации) для корректной работы прерываний необходимо использовать прошивку 2.10.9 - http://www.owen.ru/catalog/codesys_v2/13294651
Чудесно... а эту процедуру можно как-то проделать без разборок/джамперов/паяльников, не подскажите?
Перепрошить не удалось, оно может и к лучшему, потому что в результате продолжительных мытарств удалось установить, что программа, обрабатывающая прерывания высокочастотного таймера, не будет исполняться, если в ней не объявлены локальные переменные (хотя бы одна). Даже неиспользуемые, но должны быть. Добавил булёвую переменную в TIMER_POU и всё заработало.
Гарчев Евгений
26.07.2017, 21:07
Вы пробовали вызывать программу по прерыванию с периодом менее 100 мкс и обращаться к быстрым входам/выходам напрямую на текущей прошивке? И с каким периодом требуется вызывать программу для Вашей задачи?
На текущей прошивке я использую обращение к быстрым входам, но без direct control. У меня ожидаемая частота следования импульсов, которые надо обработать, около 200 Гц (точнее, это синхроимпульс, которым я буду стробировать отклик, который либо будет, либо нет, вот он и интересен). Получается 5 мс между импульсами. Думаю, как-нибудь уложусь и за меньшее время . В настоящее время поставил прерывания на 2 мс.
Гарчев Евгений
28.07.2017, 13:47
Ну в таком случае (без direct control и с нечастым вызовом программы по прерыванию) возможно и на текущей прошивке прерывания будут работать корректно.
Ну в таком случае (без direct control и с нечастым вызовом программы по прерыванию) возможно и на текущей прошивке прерывания будут работать корректно.
Попробую, по возможности отпишусь. Стало интересно, немного не в тему, но всё же, какой смысл в прошивке, которая режет годный функционал ПЛК. Я к тому, что ПЛК из коробки прошит более свежей прошивкой, а с прерываниями можно корректно работать лишь откатившись.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot