Главная   Downloads   Разное  
FAQ     Поиск   Регистрация   Вход 
Текущее время: Чт мар 28, 2024 18:20

Часовой пояс: UTC + 3 часа (Russia: MSK)




Начать новую тему Ответить на тему  [ 7 сообщений ] 
Автор Сообщение
 Заголовок сообщения: время цикла
СообщениеДобавлено: Вт июл 27, 2021 16:57 
Не в сети

Регистрация: Вт фев 19, 2019 11:39
Сообщения: 10
Требуется уменьшить скорость выполнения программы. Максимальное время выполнения цикла - 32ms. В настройках контроллера CP1L установлено значение по умолчанию (т.е. постоянное время цикла - выключено). Можно ли эту настройку изменить и установить значение 2ms ?


В начало
 Профиль  
 
 Заголовок сообщения: Re: время цикла
СообщениеДобавлено: Ср июл 28, 2021 21:08 
Не в сети
Site Admin
Аватара пользователя

Регистрация: Вт сен 19, 2006 21:13
Сообщения: 3510
Откуда: Москва
Ветер дует не потому что деревья качаются, изменение этой настройки в вашем случае ничего не даст.

Оптимизируйте прогу, разбейте на подпрограммы, если нужно то и на задачи. И в зависимости от условий вызывайте только то, что необходимо в данный момент. Например ручной режим и автомат могут быть разными подпрограммами, не пересекающимися друг с другом. Так даже писать проги проще.
Громоздкие вычисления тоже в подпрограммы, иногда их можно разбить на несколько циклов.
Тихоходные, неспешные операции так же можно разнести по разным циклам проги.
Если на несколько входов нужна быстрая реакция, настройте эти входа на вызов прерывания.
Как вариант запустить прерывание по таймеру, т.е. создать в проге отдельный цикл с обновлением входов выходов. Но это похоже не ваш способ, т.к. раздует основной цикл хрен знает до скольки мс.

--------
Способов оптимизации дофига, что то да и подойдёт.


В начало
 Профиль  
 
 Заголовок сообщения: Re: время цикла
СообщениеДобавлено: Чт авг 05, 2021 21:52 
Не в сети

Регистрация: Вт фев 19, 2019 11:39
Сообщения: 10
тогда какой смысл настройки - Постоянная времени цикла ?


В начало
 Профиль  
 
 Заголовок сообщения: Re: время цикла
СообщениеДобавлено: Пт авг 06, 2021 00:17 
Не в сети

Регистрация: Пт янв 30, 2009 21:25
Сообщения: 518
Излишне короткие циклы программ - сделать с равномерным временем исполнения. Но не слишком длинные циклы - делать короче.

_________________
А нам, все равно, и ровно.


В начало
 Профиль  
 
 Заголовок сообщения: Re: время цикла
СообщениеДобавлено: Пт авг 06, 2021 09:23 
Не в сети
Site Admin
Аватара пользователя

Регистрация: Вт сен 19, 2006 21:13
Сообщения: 3510
Откуда: Москва
veterok_19 писал(а):
тогда какой смысл настройки - Постоянная времени цикла ?

Бывают задачи где это нужно, за кучу лет, только один раз фиксировал время на 20 мс. Нужно было выполнять половину проги с этим временем, делать операции по фронту системного бита не прокатило, за время прохода проги он успевал поменять своё состояние и из-за этого прога выполнялась не корректно. Зафиксировал время цикла проги на 20 мс. и все мои проблемы ушли.
Причины для постоянного времени цикла могут быть разные, у каждого свои. В Овене традиционно только это и пользуют, а нафига, толком объяснить не могут.


В начало
 Профиль  
 
 Заголовок сообщения: Re: время цикла
СообщениеДобавлено: Пт авг 06, 2021 10:46 
Не в сети

Регистрация: Вт фев 19, 2019 11:39
Сообщения: 10
У меня задача - аппликатор этикеток на шаговом двигателе в режиме старт-стоп выдает этикетки со скоростью 400 мм/с на тару, которая двигается на роторной машине. И стар и стоп - по прерываниям от датчиков. Но... результат такой, что этикетки клеятся не точно - разбег на таре 5мм, вместо 1-2 мм. Те, кто делают такие узлы на шнейдере MODICON посоветовали изменить настройку цикла. У меня максимальное время цикла - 32ms, я выставил постоянное время цикла - 35 ms. Результат - стало точнее выдавать, вместо 5мм стало 2мм. НО это как бы я сделал из -за безысходности и хотел под это действие подвести логическое объяснение.


В начало
 Профиль  
 
 Заголовок сообщения: Re: время цикла
СообщениеДобавлено: Вт авг 17, 2021 10:39 
Не в сети

Регистрация: Вт фев 19, 2019 11:39
Сообщения: 10
Зачем задавать постоянное время цикла. На MODICONе можно реализовать режим многозадачности - т.е. например 3 ведущие задачи, которые работают параллельно. Основная задача, например обработка modbus, математика и пр. - стоит 20ms, а старт/стоп этикеток - быстрые задачи - стоят 2ms. В прерываниях как таковых нет надобности. За счет этого достигается быстродействие системы.


В начало
 Профиль  
 
Показать сообщения за:  Сортировка  
Начать новую тему Ответить на тему  [ 7 сообщений ] 

Часовой пояс: UTC + 3 часа (Russia: MSK)


Кто сейчас на конференции

Сейчас этот форум просматривают: в настоящее время на конференции нет зарегистрированных пользователей и гости: 10


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Переход:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская документация по phpBB 3