- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Отличие аппаратных счетчиков от программных. Работа высокоскоростных прерываний. Особенности ШИМ инструкции
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 32
- Зарегистрирован: 24 май 2020, 12:16
- Имя: Сергей С
- Страна: Россия
- город/регион: Калининград
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
Отличие аппаратных счетчиков от программных. Работа высокоскоростных прерываний. Особенности ШИМ инструкции
День добрый. ПЛК DVP SV2
На сегодня вопроса 3.
1. Отличие программных высокоскоростных счетчиков от аппаратных. Где-то натыкался на статью, что и там и там есть свои плюсы и минусы. Но снова найти её не могу. Может кто пояснит. Не хочу по граблям ходить.
2. Есть программа запускаемая по высокоскоростному прерыванию I010. По программе меняется состояние выходов, регистров и маркеров. Вопрос в следующем: Выходы обновятся после завершения программы-прерывания или после завершения цикла основной программы? Если нужно их обновлять, то куда ставить инструкцию REF (в программу прерывание или в основную программу на место возврата)
По завершению программы-прерывания цикл продолжается же с того же места или сначала?
3. Особенности PWM-инструкции. Допустим я меняю скважность на ходу по программе-прерыванию. PWM - в основной программе. Когда изменится скважность по факту? После завершения цикла основной программы или когда выполнится инструкция по ходу программы?
Будет ли работать команда REF для инструкции PWM?
Отправлено спустя 2 минуты 34 секунды:
1. Преимущества программных высокоскоростного счетчиков в том, что каждое сосчитанное значение напрямую передается в регистр "С", тогда как их недостаток в значительной загрузке центрального процессора, в результате чего процессор может пропустить импульсы. Преимущество аппаратных высокоскоростных счетчиков в том, что они практически не загружают ЦПУ, но их недостатком является то, что значение в регистре "C" будет обновляться только в момент сканирования команды DCNT в программе.
Первый вопрос похоже снят, хотя читал я что-то более развернутое
На сегодня вопроса 3.
1. Отличие программных высокоскоростных счетчиков от аппаратных. Где-то натыкался на статью, что и там и там есть свои плюсы и минусы. Но снова найти её не могу. Может кто пояснит. Не хочу по граблям ходить.
2. Есть программа запускаемая по высокоскоростному прерыванию I010. По программе меняется состояние выходов, регистров и маркеров. Вопрос в следующем: Выходы обновятся после завершения программы-прерывания или после завершения цикла основной программы? Если нужно их обновлять, то куда ставить инструкцию REF (в программу прерывание или в основную программу на место возврата)
По завершению программы-прерывания цикл продолжается же с того же места или сначала?
3. Особенности PWM-инструкции. Допустим я меняю скважность на ходу по программе-прерыванию. PWM - в основной программе. Когда изменится скважность по факту? После завершения цикла основной программы или когда выполнится инструкция по ходу программы?
Будет ли работать команда REF для инструкции PWM?
Отправлено спустя 2 минуты 34 секунды:
1. Преимущества программных высокоскоростного счетчиков в том, что каждое сосчитанное значение напрямую передается в регистр "С", тогда как их недостаток в значительной загрузке центрального процессора, в результате чего процессор может пропустить импульсы. Преимущество аппаратных высокоскоростных счетчиков в том, что они практически не загружают ЦПУ, но их недостатком является то, что значение в регистре "C" будет обновляться только в момент сканирования команды DCNT в программе.
Первый вопрос похоже снят, хотя читал я что-то более развернутое
-
- завсегдатай
- Сообщения: 544
- Зарегистрирован: 19 мар 2012, 20:04
- Имя: Павел
- Страна: Россия
- Благодарил (а): 6 раз
- Поблагодарили: 59 раз
Отличие аппаратных счетчиков от программных. Работа высокоскоростных прерываний. Особенности ШИМ инструкции
Не претендую на истину.
1. Программные счетчики считают во время цикла основной программы. Аппаратные выполнены вне цикла программы.
2. Обновятся после цикла основной программы. REF в прерывании. Продолжится с того же места.
1. Программные счетчики считают во время цикла основной программы. Аппаратные выполнены вне цикла программы.
2. Обновятся после цикла основной программы. REF в прерывании. Продолжится с того же места.
-
- здесь недавно
- Сообщения: 32
- Зарегистрирован: 24 май 2020, 12:16
- Имя: Сергей С
- Страна: Россия
- город/регион: Калининград
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
Отличие аппаратных счетчиков от программных. Работа высокоскоростных прерываний. Особенности ШИМ инструкции
Как и вы не претендую на истину. Теперь я считаю, что работает это так:
На самом деле и те и те считают независимо от цикла, но если добавить инструкцию сравнения C237 = 1000, то программный счетчик её может пропустить, поскольку значение обновится в цикле программы и пропустит 1000, но зато можно хоть десять раз за цикл передавать значения С237 в регистры и оно будет более актуальным чем у аппаратного счетчика.
(нужно конечно это всё проверять... )
Аппаратный счетчик считает внутри себя и поэтому отлично работает с высокоскоростными прерываниями, но данные о счете будут корректные только в месте обработки команды DCNT (а цикл-то может быть длинный) и если мы в конце цикла программы запросим значение С251, то оно будет с погрешностью на часть времени исполнения цикла.
Вывод:
1. При использовании программных счетчиков желательно использовать C237 >= 1000. Если значение и будет пропущено, то это уже не критично.
Использование программных счетчиков должно быть удобнее для отладки, когда хочется точно знать что и в какой момент конкретно произошло.
2. При использовании аппаратных счетчиков все инструкции связанные с передачей значений располагаем как можно ближе к DCNT. Так по крайней мере исключим погрешность между значением C251 и действительным значением счетчика.
Вопрос:
При использовании высокоскоростных счетчиков мы используем команды высокоскоростного сравнения, но я постоянно страхуюсь и добавляю обычные инструкции сравнения C251 >= 1000. На случай какого-либо пропуска, чтобы точно процесс продолжился.. Нужно ли это или я впустую трачу время ПЛК?
Добавляете ли вы в свои программы защиту (или может аварию) от неправильного направления энкодера?
Всё-таки хотелось что-то по PWM инструкции. Может кто уже разбирался..
-
- завсегдатай
- Сообщения: 544
- Зарегистрирован: 19 мар 2012, 20:04
- Имя: Павел
- Страна: Россия
- Благодарил (а): 6 раз
- Поблагодарили: 59 раз
Отличие аппаратных счетчиков от программных. Работа высокоскоростных прерываний. Особенности ШИМ инструкции
Не согласен.Kapally3 писал(а): ↑11 апр 2024, 07:36 Аппаратный счетчик считает внутри себя и поэтому отлично работает с высокоскоростными прерываниями, но данные о счете будут корректные только в месте обработки команды DCNT (а цикл-то может быть длинный) и если мы в конце цикла программы запросим значение С251, то оно будет с погрешностью на часть времени исполнения цикла.
-
- эксперт
- Сообщения: 3643
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 8 раз
- Поблагодарили: 286 раз
Отличие аппаратных счетчиков от программных. Работа высокоскоростных прерываний. Особенности ШИМ инструкции
Я не знаю Дельту, но... Значение аппаратного счетчика считывается не в момент DCNT, а в начале цикла. В начале цикла обновляется все: Q-область, I-область... Вполне вероятно, что связь в другую сторону срабатывает лишь в начале цикла, а не в момент команды DCNT. Эта команда лишь подготавливает в нужной памяти новые настройки счетчика.
-
- эксперт
- Сообщения: 1735
- Зарегистрирован: 06 янв 2016, 19:45
- Имя: Петров В.Л.
- Страна: Россия
- город/регион: Красноярск
- Благодарил (а): 78 раз
- Поблагодарили: 235 раз
Отличие аппаратных счетчиков от программных. Работа высокоскоростных прерываний. Особенности ШИМ инструкции
Есть еще отличие для серии DVP, программные счетчики не более 10кГц, а аппаратные, в зависимости от моделей,
скажем та, что у меня 2 по 100кГц и 2 по 20кГц.
скажем та, что у меня 2 по 100кГц и 2 по 20кГц.
-
- завсегдатай
- Сообщения: 544
- Зарегистрирован: 19 мар 2012, 20:04
- Имя: Павел
- Страна: Россия
- Благодарил (а): 6 раз
- Поблагодарили: 59 раз
Отличие аппаратных счетчиков от программных. Работа высокоскоростных прерываний. Особенности ШИМ инструкции
Вот что пишет Дельта:
Иначе - все обрабатывается в скане ПЛК.
Другими словами если хотите немедленного обновления используйте прерывания.Иначе - все обрабатывается в скане ПЛК.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- здесь недавно
- Сообщения: 32
- Зарегистрирован: 24 май 2020, 12:16
- Имя: Сергей С
- Страна: Россия
- город/регион: Калининград
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
Отличие аппаратных счетчиков от программных. Работа высокоскоростных прерываний. Особенности ШИМ инструкции
А кто-то проверял?
Да. Я тоже так думаю.. но цитата была приведена с сайта deltronics.ru
Ну, будет время, проверю..
-
- эксперт
- Сообщения: 2469
- Зарегистрирован: 20 дек 2018, 04:45
- Имя: Сергей
- Страна: РБ/РФ
- город/регион: РФ Сергиев Посад
- Благодарил (а): 2119 раз
- Поблагодарили: 207 раз
Отличие аппаратных счетчиков от программных. Работа высокоскоростных прерываний. Особенности ШИМ инструкции
В прерывании, вы можете изменять счет, выставлять выходы, проверять входы, но если основная логика - не в прерывании - разницы нет.
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.
-
- здесь недавно
- Сообщения: 32
- Зарегистрирован: 24 май 2020, 12:16
- Имя: Сергей С
- Страна: Россия
- город/регион: Калининград
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
Отличие аппаратных счетчиков от программных. Работа высокоскоростных прерываний. Особенности ШИМ инструкции
Да. Я на это наткнулся, хотя и понимал, что так будет. Да, лучше цикл программы делать более коротким. Я сначала прокушал, что такое время работы реле, потом, что такое цикл, а только потом нашел прелесть прерываний... но и тут меня ждало разочарование.. я получал неверную обратную связь.. Дело в том, что та логика, которая в основной программе работает да.. в цикле..
Короче.. Избегайте задач реального времени.. делайте всё медленно.. больше 10мс и всё будет трололо)))