Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Но суть вопроса остаётся. Цикл у меня 23 мс, минимально выставлено 50 мс, максимально - 1 с. Почему такие задержки? Так как ваши ссылки на решение проблемы увеличением времени цикла уже не попадают.
Пост скриптум: давайте без срача, это не то место где его можно развести. Если кому-то утром в понедельник всё же хочется его устроить, то у меня указана почта, прошу туда.
нет такого ни в одном официальном описании, перечитайте еще раз документацию, чтоб у других не вызывало усмешку Ваши высказывания. Если код настолько не оптимизирован, что занимает целых 23мс, то придется выкладывать свой проект здесь, чтоб его можно было поправить кем то другим, потому что у Вас это точно не получится с такими то знаниями
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
23 мс в стандартной конфигурации это признак торможения не только вашей программы, но и софтовой части сетевого стека. На похожей задаче (позиционирование штока гидроцилиндра) у меня цикл получается 1-2 мс. Конфигурация похожая: ПЛК160, датчик перемещения 4-20, цифровой тензоусилитель с проприетарным протоколом (по сложности как модбас, то есть очень простой), ПК оператора через Ethernet. Контроллер за 1 секунду успевает 200 раз считывать показания с тензоусилителя по RS-485, 50 раз отдавать результат на ПК по Modbus TCP и около 10 раз в секунду менять уставку скорости на карте управления гидроприводом (только потому что аналоговые выходы у ПЛК медленные). В случае чего врубает разгрузочный клапан так быстро, что оператор и глазом моргнуть не успевает. При этом в статистике я наблюдаю значение в пределах 20 единиц, т.е. 2 мс.То бишь этого мало?
Не знаю, как часто народ тут идёт к спрашивающим за программой, но я ещё ни разу так не делал. Стесняетесь публиковать весь проект открыто? Считаете его слишком большим? Не беда — изолируйте проблемную часть в чистый проект и выкладывайте. Не можете изолировать с ходу и вообще не знаете, где проблема? Воспроизводите ключевые части по кусочкам и постоянно удостоверяйтесь, что всё работает. Или наоборот отключайте то да другое в существующем проекте, чтобы выяснить, откуда берётся задержка. Отключенное заменяйте загулшками-генераторами по необходимости. Как на stackoverflow говорят: "show your effort" — покажите, что уже попробовали сделать и продемонстрируйте усердие. Зачем специалистам с нуля в вашем проекте копаться, если он вам самому кажется достаточно серьёзным, чтобы его скрывать?
Последний раз редактировалось Yegor; 16.11.2015 в 11:33.
Время цикла выставляете - Вы ))) а контроллер может успеть, либо не успеть за это время, в зависимости от программы. Выставляемое стабильное время - от 1 мс. Так что просто внимательно почитайте руководство.
В задачах перемещения используется понятие "ДОТЯЖКА", когда основное расстояние проходится на большой скорости, а при приближении к финишу скорость понижают и останавливаются с минимальными выбегами.