-
У Вас неправильное понимание функционирования ПЛК
Нет никаких отдельных циклов входов и выходов.
Цикл ПЛК состоит из:
чтение входов в область I
Выполнение программы пользователя
Запись выходов из области O
Наши счетчики и etc. по сути код на С, к-й мы написали и привязали к изменению значений на входах, в котором и крутится весь функционал
ПЛК, несвязанный с CoDeSys. Можно вставить еще модули для обработки входов, но пользователь этого сделать не может, только мы.
Вы хотите получить прерывание при изменении входа? Это в принципе возможно.
-
Согласен, что система реального времени требует жестких условий.
Но все что вы перечислили (отладка, просмотр переменных, файловой системы, последовательных портов и т.д.) необходимо только на начальной стадии при проектировании. А при эксплуатации нужна бесперебойная работа. И при возникновении какой-то неисправности просто меняют блок. Я не скажу от чего могу отказаться, так как не знаю всех значащих функций, но скажу что мне нужно.
1. Создание загрузочных файлов по готовому проекту и возможность их поместить в ПЛК (отладку программы можно сделать и в режиме симуляции).
2. Из встроенных стандартных функций желательно оставить входные счетчики (цифровая фильтрация не нужна).
3. Необходимо оставить системные события в частности загрузка программы после reset-а. Чтобы при подаче питания программа запускалась автоматически и не нужно было нажимать кнопку Старт.
4. И конечно время обновления входов/выходов 100мкс.
Вот в общих чертах и все.
А на счет неактуальности "такого разгона" можно поспорить. В мелкосерийных производствах с системами реального времени это очень даже необходимая вещь.
-
Теперь стало понятнее.
Давайте сократим выполнение программы пользователя за счет вычеркивания ненужных операций. Моя программа укладывается в 100мкс.
-
В том то и дело, что реального времени НЕПОЛУЧИТСЯ!
Сейчас - цикл ПЛК 1 мс, т.е 4-х кратный запас на всевозможные системные события, связь, "кривизну рук" и пр. Реальное время - да.
4 кГц (Цикл ПЛК) как можно чаще (частота ограничивается накладными расходами ядра СoDesys - 200 мкс/цикл) - возможны задержки вызова сл. цикла на 50-100 % от времени цикла. Реальное время - с большими оговорками и исп. аппаратных часов высокого разрешения.
А все НЕНУЖНЫЕ функции сразу становятся жизненно необходимыми, как только их удаляют :)
Для такой быстрой системы нужно другое, более легкое ядро CoDeSys, к-го нет!
-
Если гора не идет к Магомету, то Магомет идет к горе.
Давайте откажемся от CoDeSys. Вышлите мне (или скажите где найти)
документацию на микроконтроллер к ПЛК 100-24.КL чтобы я смог самостоятельно его перепрограмировать. Так же необходимы адреса переферийных устройств. Короче необходимое и достаточное количество документации и програмных средств.
imp78@mail.ru
-
Вряд ли это получится. Ни схемы, ни исходники ПО фирман не выдает. Были прецеденты...
Обратное предложение - Вы приходите к нам и мы для Вас разрабатываем контроллер, к-й будет удовлетворять Вас по быстродействию. И функционал ПЛК сохранится. Однако это будет выгодно, если вам нужен не 1 контроллер, а много... И все будут довольны и счастливы...
Если же нужен единичный экземпляр - берите 8051 и за 2 недели прибор готов. Программу писать легко, процессор очень простой.
-
Тогда давайте обрежем цикл ПЛК. Я уже писал, что мне нужно из функциональных возможностей. Тперь еще немного уточню.
Контроллер в моей задаче является автономной системой. Поэтому порты связи как таковые вообще ненужны (кроме RS232 для записи программы).
Всю программу можно написать в одном POU (это к вопросу о файловой системе). От отладки и просмотра преремнных также можно отказаться.
-
Уважаемый Вячеслав!
Мы не можем изменять ядро CoDeSys с целью сокращения цикла, на внутренние функции просто нет документации и лезть туда не стоит.
Чем вас не устраивает вариант с доп. модулем для управления тиристорами? В любом случае такой модуль будет работать точнее.
И от функций отказываться не придется.
Тогда следующий аппарат плазменной резки уже будет с панелью управления:)
-
Расскажите подробнее про модуль управления тиристорами.
-
Это вы нам расскажите, как вы хотите управлять тиристорами.
А мы сделаем модуль в конфигурации, в котором будут задаваться необходимые параметры, будет канал управления мощностью и к-й будет ими управлять