PDA

Просмотр полной версии : время цикла плк100.. а какое оно собственно?



Дмитрий Артюховский
02.06.2009, 16:26
навеяно темой методами измерения длительности цикла.....
крутиться программка, "task configuration" показывает ее длительность 200 - 300 мкс, вроде все хорошо.... Но, в программке в начале цикла стоит считывание времени Systime64, а затем из этого отсчета вычитается предыдущий (по младшему слову)..... и разность получается 1200 - 1300 ..... откуда лишняя микросекунда?
при полностью закомментированном программном блоке время соответственно уменьшается до 1000 - 1020.... параллельных процессов нет, обмен по модбасу (мастер) по команде, и при закоментированном тексте программы выполняться не должен.
прошивка 2.10. Время цикла по умолчанию 1 мс.

Филоненко Владислав
02.06.2009, 22:40
"task configuration" показывает длительность выполнения конкретной задачи, а не период её вызова.
При установке 1 мс, цикл вызывается НЕ ЧАЩЕ 1 мс.
+ среда разработки вносит из-за коммуникации дополнительные задержки.

Дмитрий Артюховский
03.06.2009, 13:28
.... опаньки... значит ли это, что получение 1000 обработанных отсчетов в секунду теоретически недостижимо? а коммуникация со средой фактически является теневым таском, нигде не документированном, но забирающим каждую вторую миллисекунду?

.... моем предствалении цикл в 1 мс содержит в себе следующие фазы : 1. служебное время, считывание входов и пр. 2. пользовательское время 3. служебное время, запись выходов, коммуникации и пр.

служебное время понятно тяжело подвинуть, поэтому гибкая часть - пользовательское время. контроллер крутит цикл, считывая входы в начале каждой!!! мс, далее пользовательская программа... пока она невелика (:d оптимизирована:d ) время цикла, по фиксации в начальный момент, должно быть 1 мс.. т.е. цикл крутиться не чаще 1 мс, дополняя время холостыми циклами или теневыми задачами. когда прога большая, понятно, цикл растягивается. но когда программа коротка, почему она не влезает в цикл ??? известо же всем что цифровая обработка сигналов построена на фиксированной частоте взятия отсчетов... а если эта частота произвольна, что же намеряется в конце концов???

бред и засада!!!

кстати, пришла идея!! и вот результат - при установке времени цикла в 2 мс все начинает работать правильно...... таким образом, делаем вывод что ПЛК100 имеет время цикла 2 мс .. и не меньше!!!!!!!!
а 1 мс или ошибка или обман народу (((

Филоненко Владислав
03.06.2009, 13:58
Вы все описали верно. Дело в том, что служебные задачи непредсказуемы по времени. И если 1 цикл она отнимет 20 мкс, то другой - может и 300-400 мкс.
Поэтому возникает джитер - колебания периода цикла ПЛК. Чем больше время цикла - тем меньше джитер.
Привязывать выполнение задач к циклу неверно, их надо привязывать к системному таймеру.
В модуле статистики время показывается огрублёно, более того, показывается с момент связи со средой разработки - когда джиттер максимален.
Чем больше нагрузка на ПЛК (мастера/slave, обработчики входов/выходов, архиватор, связь со средой разработки и пр.), тем больше джиттер.
В ПЛК других производителей ситуация не отличается. Если не говорить о приборах на основе ПК, время цикла обычно составляет от1 до 30 мс.
И никак не нормируется. Приводится только время исполнения "стандартной" логической инструкции.
Для обработки более быстрых событий используются прерывания, как это сделано в ПЛК110 - можно вызвать свою специфическую задачу 50 тыс. раз в секунду с высокой точностью и получить прямой доступ к входам/выходам.

ПЛК100-150-154 никогда не предназначался для управления процессами в 1 мс. Цикл в 1 мс был задан для обеспечения запаса по времени обработки сигнала для более медленных процессов.
На ПЛК100 имеются решения, например управление станками или шаговыми двигателями с временем цикла ~1 мс и менее. Однако ПЛК там выступает как интеллектуальный контролер, управляющий простыми, но быстродействующими исполнительными устройствами. Т.о. наличие джиттера на уровне 0,5 мс не оказывает никакого влияния на качество управления.
Попытки выжать 200% из прибора ни к чему хорошему никогда не приведут. Это как попытка обработать сигнал 22 кГц, имея частоту семплирования в 44 кГц. В теории вроде должно работать, но на практике лучше удесятерить частоту семплирования.

Никакого обмана нет, мы гарантируем, что цикл вызывается не чаще 1 раза в мс. О чем и сообщаем.

Сергей71
03.06.2009, 16:02
поэтому я в свох проектах сразу ставлю 2 мсек.

Евгений_Томск
03.06.2009, 19:11
"для обработки более быстрых событий используются прерывания, как это сделано в плк110 - можно вызвать свою специфическую задачу 50 тыс. раз в секунду с высокой точностью и получить прямой доступ к входам/выходам."

планируются ли подобные решения , для контроллеров
плк100,150 ,в плане модернизации прошивки и таргета,
с целью получения прямого управления быстрыми входами/выходами хотя бы с частотой 10000 раз в секунду(50000 ещё лучше). это бы во многом расширило сферы применения контроллеров плк100,150 и соответственно объёмы продаж. так как попытки снижения времени цикла ,как правило,упираются в 2...5мсек .

magirus
03.06.2009, 20:07
прямого управления быстрыми входами/выходами хотя бы с частотой 10000 раз в секунду(50000 ещё лучше).
это что за процессы такие?

Филоненко Владислав
03.06.2009, 21:17
мы никогда не планировали этого для плк100-150-154 и поэтому на входах там заложены низкоскоростные опторазвязки.
110 - выхода и входа (скоростные) позволяют реализовать требуемую скорость.

по поводу включения поддержки высокоскоростных прерываний - обращайтесь в гтп. но более 10 кгц без перепайки оптронов не получится в любом случае.

вы бы видели, что на наших плк делают! выжимают все до капли и ещё немного больше.

magirus
03.06.2009, 21:19
то есть скорость входов фактически ограничена быстродействием оптронов?

Филоненко Владислав
04.06.2009, 11:03
да, именно оптронами

Малышев Олег
04.06.2009, 12:44
уточняю - количество быстрых входов/выходов у 110 ограниченно (остальные медленные)- обращайте внимание при покупке - сколько необходимо.

Евгений_Томск
04.06.2009, 16:55
Cудя по конфигурациям , работа с быстрыми входами/выходами совместно с 20мкс таймером возможна
только на Plc110-60 , а на Plc110-32 нет ?

Малышев Олег
04.06.2009, 19:22
откуда такой вывод? таргет какой стоит?
плк 110 как 32 так и 60 имеют быстрые входы-выходы , но у 32 их меньше.

Евгений_Томск
05.06.2009, 21:53
В ПЛК 110-32 не предлагается при замене входов-выходов режима: fast_discrete_inputs (output)-direct_control , в отличии от ПЛК 110-60.
Target 2.10 (файлы с сайта).

Филоненко Владислав
07.06.2009, 06:09
это не помешает ему работать с ними через библиотеку