PDA

Просмотр полной версии : ПЛК100 и время цикла



Радик
16.01.2009, 14:55
Получили новый ПЛК100-24-КМ, версия прошивки 2.05.6, PIC lower version is 0b. Поставили, как положено, таргет 2.05.
ПЛК как будто тормозит. В проекте где выход ПЛК = значению на его входе, выход изменяется через 60 мсек после изменения сигнала на входе.

Николаев Андрей
18.01.2009, 12:15
Разбираемся

Николаев Андрей
19.01.2009, 12:39
На самом деле проблемма не во времени выполнения вычислений, а в программе - по тому как Ваша программа считает не время между преобразованием, а время от запуска и как то некорректно его сравнивает.
У меня значение изменялось от 70 до секунды с чем то, в зависимости от времени удержания кнопки, курса доллара и видимо погоды в эфиопии.

Высылаю простую программу, для отслеживания коничество циклов ПЛК. Цикл ПЛК<=1мс

Радик
19.01.2009, 14:33
Забыл сказать, что выход соединен со входом.
И я пытался измерить задержку между физическим включением\выключением выхода и командой на его вкл.\выкл.
А скачать ваш пример не могу. Все время отправляют на страницу авторизации.

Филоненко Владислав
19.01.2009, 15:19
Напишите простой пример:

out1:=in1; И проверьте скорость. А не того монстра, к-й непонятно как функционирует.

Радик
20.01.2009, 08:33
Да. Так проще. Я сделал out1:= not in1. Получился генератор с меандром , примерно, 60 мсек. Время фильтрации входа равно 10,
Cikl Time в модуле статистики показывает, примерно, 800.
Для время фильтрации=1, меандр равен , примерно, 7 мсек.
Мне кажется должно быть быстрее.

Филоненко Владислав
20.01.2009, 09:11
Выход релейный или ключёвой? Для ключевого частота 500 Гц должна быть. Но надо поставить фильтрацию в 0.

Радик
20.01.2009, 10:24
Ключевой. 500 гц получается при фильтрации "-1".

Филоненко Владислав
20.01.2009, 16:52
Давно уже делал. Память уже не та...

Радик
09.03.2009, 09:44
Уточните пожалуйста параметр "Время фильтрации". А то в ПЛК100 с прошивкой 2_05_07, устанавливаю Время фильтрации = 100, судя по документации получается - 100 Х 100мкс=10мс, а фактически получается примерно 5 сек. Сужу по сигналу на выходе, который зависит от сигнала на входе.

Филоненко Владислав
10.03.2009, 10:17
1. По документации, значение 100 означает, что при переходе входного сигнала с нуля до 1 значение на входе в программе изменится с нуля до 1 через 100х100х6 мкс, т.е. через 60 мс.
2. Какой у Вас цикл ПЛК - в 2.05.7 есть бага, нельзя ставить цикл ПЛК !=1 мс.
3. Такая задержка на пустом проекте или на непустом? Если 2-е - надо немного соптимизировать код программы и не рассчитывать сложные арифметические выражения в 1 цикле ПЛК. Ориентируйтесь на показатия времени с модуле статистики. Если они выше установленных, то код надо оптимизировать.

Радик
10.03.2009, 11:14
Время цикла = 1 мс. "Cicl Time in 100mks" = 780. Выполняется всего одна команда : выход 1= вход 1.

Радик
10.03.2009, 11:17
И это уже второй контроллер с такой прошивкой.

Филоненко Владислав
10.03.2009, 13:10
И с такой простой программой выход включается через 5 секунд после замыкания входа?
Не может быть!
Выложите проект.
Этот вопрос досконально изучался весьма пристрастными людьми, и такие задержки возникали, если пытаться каждый цикл ПЛК вычислять 3700 синусов.

Радик
10.03.2009, 13:36
На ПЛК соединил выход со входом, чтобы зациклить.
Проверял на ПЛК с прошивкой 2.02.8, там все честно, как в описании.

Филоненко Владислав
10.03.2009, 16:01
Да, ещё одна бага. Время фильтрации неправильно считается неправильно. Используйте меньшие значения.
В прошивках 2.07.х поправлено.