-
Вложений: 1
Цикл таймера? Нет, он стоит по умолчанию 20мкс. Минимальный цикл основной программы ПЛК менял в диапазоне 5-50мс. В данный момент при 5 мкс и скорости 9600 обрывов не наблюдается. При МинЦикле до 50мс обрывы случаются на любой скорости, выше 19200, но жутко тормозит отображение реалтайм переменных на ОП. В самой программе нет мощных вычислений, примитивная релейная логика. Правда есть несколько таймеров.
Вложение 24635
-
1. Снизьте цикл ПЛК до 2 мс. увеличивать стоит только при очень больших программах.
2. Прошейтесь 0.3.53
3. Попробуйте увеличить период вызова таймера до 50 мкс.
4. При цикле 50 мс отображение переменных и должно тормозить.
-
2. Сделано. Проблема есть.
3. Как я уже говорил, по моим наблюдения проблемы со связью не зависят от количества кода в прерывании таймера. Я пробовал сокращать, пробовал вообще крутить там "пустую" программу - безрезультатно.
-
Значит дело не в прерывании. У нас такое поведение не встречалось
-
Попробуйте пустую программу с прерыванием. И проверьте гальванику на порту, возможны наводки. Заземлите кабель (перед заземлением проверьте разность потенциалов) или воспользуётесь usb/ethernet
-
Пробовал сокращать программу в прерывании до одной банальной операции присваивания. Проблемы со связью наблюдаются.
ПЛК и ОП в данный момент пользую на столе, различных наводок быть не должно, т. к. рядом нет никаких источников помех. В качестве провода связи использовал витую пару длиной 30 см. Проблема все равно наблюдается. На скорости 9600 проблема отсутствует. Ставил прерывание таймера на 40мкс - результата это тоже не дало. Ethernet пользовать не получится, т. к. ОП не имеет этого порта (СП307-Б).
Заметил одну особенность: в момент подвисания обмена ПЛК продолжает работать, обсчет энкодера идет, счет не срывается.
Скорость отображения на 9600 устраивает вполне. Высокая скорость обмена не принципиальна для моей задачи, в приоритете надежность работы.
Сейчас работаю над изготовлением блока согласования уровней ПЛК-сервопривод. Решил всё же сделать предварительный счетчик-делитель для снижения частоты импульсов по высокоскоростному счетному входу. Поскольку использовать встроенные в ПЛК модули энкодера и высокоскоростного счетчика одновременно не получится, придется их обсчет организовывать программно.
-
Добрый день! Не буду создавать новую тему, напишу здесь - тем более, что тема полностью отражает мой вопров.
Задача - отслеживать положение плиты, которую перемещает винтовой домкрат.
Асинхронный двигатель нагружен на винтовой домкрат (двухвальный, с одной стороны двигатель, с другой стороны установлен инкрементальный энкодер), домкрат перемещает плиту.
Двигатель вращается со скоростью 1500 об/мин, энкодер - 1024 имп/об, т.е. получается 25,6 кГц (1500*1024/60). Необходимо определять текущее положение плиты с точностью +/- 0,5 мм.
Планируем приобрести ПЛК 110 М02 - сможет ли он подсчитывать импульсы при такой частоте без пропусков?
Спрашиваю потому, что первая редакция ПЛК110, при заявленных 10 кГц, реально работала до 2-3 кГц, об этом немало писали на форуме.
Спасибо.
-
А какова цена одного импульса энкодера ?
-
За 1 импульс (всего их 1024 на оборот вала энкодера) плита проезжает 0,00022 мм.
Но мне бы не хотелось, что бы ПЛК пропускал импульсы. Т.к. текущее положение будет хранится в ретейне, и, как я понимаю, со временем будет накапливаться ошибка. Если только не обнулять счетчик в нижнем положении, там ход плиты небольшой - порядка 500 мм.
-
Добрый день. Может проще взять энкодер с меньшим разрешением. В Вашем случае за один полный оборот перемещение плиты быдет 0,225мм. (согласно Вашим данным). Тогда, чтобы уложится в погрешность достаточно одного индуктивного датчика и болтика на валу, чтобы получить приемлемы результат. Или хотя бы энкодер 180имп/оборот. Тогда с частотой проблем не будет.
С уважением.