1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Отличие аппаратных счетчиков от программных. Работа высокоскоростных прерываний. Особенности ШИМ инструкции

Модератор: Глоб.модераторы

Ответить

Автор темы
Kapally3
здесь недавно
здесь недавно
Сообщения: 32
Зарегистрирован: 24 май 2020, 12:16
Имя: Сергей С
Страна: Россия
город/регион: Калининград
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Отличие аппаратных счетчиков от программных. Работа высокоскоростных прерываний. Особенности ШИМ инструкции

Сообщение Kapally3 »

День добрый. ПЛК DVP SV2
На сегодня вопроса 3.
1. Отличие программных высокоскоростных счетчиков от аппаратных. Где-то натыкался на статью, что и там и там есть свои плюсы и минусы. Но снова найти её не могу. Может кто пояснит. Не хочу по граблям ходить.

2. Есть программа запускаемая по высокоскоростному прерыванию I010. По программе меняется состояние выходов, регистров и маркеров. Вопрос в следующем: Выходы обновятся после завершения программы-прерывания или после завершения цикла основной программы? Если нужно их обновлять, то куда ставить инструкцию REF (в программу прерывание или в основную программу на место возврата)
По завершению программы-прерывания цикл продолжается же с того же места или сначала?

3. Особенности PWM-инструкции. Допустим я меняю скважность на ходу по программе-прерыванию. PWM - в основной программе. Когда изменится скважность по факту? После завершения цикла основной программы или когда выполнится инструкция по ходу программы?
Будет ли работать команда REF для инструкции PWM?

Отправлено спустя 2 минуты 34 секунды:
1. Преимущества программных высокоскоростного счетчиков в том, что каждое сосчитанное значение напрямую передается в регистр "С", тогда как их недостаток в значительной загрузке центрального процессора, в результате чего процессор может пропустить импульсы. Преимущество аппаратных высокоскоростных счетчиков в том, что они практически не загружают ЦПУ, но их недостатком является то, что значение в регистре "C" будет обновляться только в момент сканирования команды DCNT в программе.
Первый вопрос похоже снят, хотя читал я что-то более развернутое

pkl58
завсегдатай
завсегдатай
Сообщения: 544
Зарегистрирован: 19 мар 2012, 20:04
Имя: Павел
Страна: Россия
Благодарил (а): 6 раз
Поблагодарили: 59 раз

Отличие аппаратных счетчиков от программных. Работа высокоскоростных прерываний. Особенности ШИМ инструкции

Сообщение pkl58 »

Не претендую на истину.
1. Программные счетчики считают во время цикла основной программы. Аппаратные выполнены вне цикла программы.
2. Обновятся после цикла основной программы. REF в прерывании. Продолжится с того же места.

Автор темы
Kapally3
здесь недавно
здесь недавно
Сообщения: 32
Зарегистрирован: 24 май 2020, 12:16
Имя: Сергей С
Страна: Россия
город/регион: Калининград
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Отличие аппаратных счетчиков от программных. Работа высокоскоростных прерываний. Особенности ШИМ инструкции

Сообщение Kapally3 »

pkl58 писал(а): 09 апр 2024, 14:26 REF в прерывании.
Попробую

Автор темы
Kapally3
здесь недавно
здесь недавно
Сообщения: 32
Зарегистрирован: 24 май 2020, 12:16
Имя: Сергей С
Страна: Россия
город/регион: Калининград
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Отличие аппаратных счетчиков от программных. Работа высокоскоростных прерываний. Особенности ШИМ инструкции

Сообщение Kapally3 »

pkl58 писал(а): 09 апр 2024, 14:26 Программные счетчики считают во время цикла основной программы. Аппаратные выполнены вне цикла программы.
Как и вы не претендую на истину. Теперь я считаю, что работает это так:

На самом деле и те и те считают независимо от цикла, но если добавить инструкцию сравнения C237 = 1000, то программный счетчик её может пропустить, поскольку значение обновится в цикле программы и пропустит 1000, но зато можно хоть десять раз за цикл передавать значения С237 в регистры и оно будет более актуальным чем у аппаратного счетчика.
(нужно конечно это всё проверять... )
Аппаратный счетчик считает внутри себя и поэтому отлично работает с высокоскоростными прерываниями, но данные о счете будут корректные только в месте обработки команды DCNT (а цикл-то может быть длинный) и если мы в конце цикла программы запросим значение С251, то оно будет с погрешностью на часть времени исполнения цикла.

Вывод:
1. При использовании программных счетчиков желательно использовать C237 >= 1000. Если значение и будет пропущено, то это уже не критично.
Использование программных счетчиков должно быть удобнее для отладки, когда хочется точно знать что и в какой момент конкретно произошло.
2. При использовании аппаратных счетчиков все инструкции связанные с передачей значений располагаем как можно ближе к DCNT. Так по крайней мере исключим погрешность между значением C251 и действительным значением счетчика.

Вопрос:
При использовании высокоскоростных счетчиков мы используем команды высокоскоростного сравнения, но я постоянно страхуюсь и добавляю обычные инструкции сравнения C251 >= 1000. На случай какого-либо пропуска, чтобы точно процесс продолжился.. Нужно ли это или я впустую трачу время ПЛК?

Добавляете ли вы в свои программы защиту (или может аварию) от неправильного направления энкодера?

Всё-таки хотелось что-то по PWM инструкции. Может кто уже разбирался..

pkl58
завсегдатай
завсегдатай
Сообщения: 544
Зарегистрирован: 19 мар 2012, 20:04
Имя: Павел
Страна: Россия
Благодарил (а): 6 раз
Поблагодарили: 59 раз

Отличие аппаратных счетчиков от программных. Работа высокоскоростных прерываний. Особенности ШИМ инструкции

Сообщение pkl58 »

Kapally3 писал(а): 11 апр 2024, 07:36 Аппаратный счетчик считает внутри себя и поэтому отлично работает с высокоскоростными прерываниями, но данные о счете будут корректные только в месте обработки команды DCNT (а цикл-то может быть длинный) и если мы в конце цикла программы запросим значение С251, то оно будет с погрешностью на часть времени исполнения цикла.
Не согласен.

Михайло
эксперт
эксперт
Сообщения: 3643
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
город/регион: г. Чехов, МО
Благодарил (а): 8 раз
Поблагодарили: 286 раз

Отличие аппаратных счетчиков от программных. Работа высокоскоростных прерываний. Особенности ШИМ инструкции

Сообщение Михайло »

Я не знаю Дельту, но... Значение аппаратного счетчика считывается не в момент DCNT, а в начале цикла. В начале цикла обновляется все: Q-область, I-область... Вполне вероятно, что связь в другую сторону срабатывает лишь в начале цикла, а не в момент команды DCNT. Эта команда лишь подготавливает в нужной памяти новые настройки счетчика.
Аватара пользователя

petr2off
эксперт
эксперт
Сообщения: 1737
Зарегистрирован: 06 янв 2016, 19:45
Имя: Петров В.Л.
Страна: Россия
город/регион: Красноярск
Благодарил (а): 78 раз
Поблагодарили: 235 раз

Отличие аппаратных счетчиков от программных. Работа высокоскоростных прерываний. Особенности ШИМ инструкции

Сообщение petr2off »

Есть еще отличие для серии DVP, программные счетчики не более 10кГц, а аппаратные, в зависимости от моделей,
скажем та, что у меня 2 по 100кГц и 2 по 20кГц.

pkl58
завсегдатай
завсегдатай
Сообщения: 544
Зарегистрирован: 19 мар 2012, 20:04
Имя: Павел
Страна: Россия
Благодарил (а): 6 раз
Поблагодарили: 59 раз

Отличие аппаратных счетчиков от программных. Работа высокоскоростных прерываний. Особенности ШИМ инструкции

Сообщение pkl58 »

Вот что пишет Дельта:
Screenshot 2024-04-12 075646.png
Другими словами если хотите немедленного обновления используйте прерывания.
Иначе - все обрабатывается в скане ПЛК.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Автор темы
Kapally3
здесь недавно
здесь недавно
Сообщения: 32
Зарегистрирован: 24 май 2020, 12:16
Имя: Сергей С
Страна: Россия
город/регион: Калининград
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Отличие аппаратных счетчиков от программных. Работа высокоскоростных прерываний. Особенности ШИМ инструкции

Сообщение Kapally3 »

pkl58 писал(а): 11 апр 2024, 07:59Не согласен.
А кто-то проверял?
Михайло писал(а): 11 апр 2024, 19:46 не в момент DCNT, а в начале цикла.
Да. Я тоже так думаю.. но цитата была приведена с сайта deltronics.ru
Ну, будет время, проверю..

pkl58
завсегдатай
завсегдатай
Сообщения: 544
Зарегистрирован: 19 мар 2012, 20:04
Имя: Павел
Страна: Россия
Благодарил (а): 6 раз
Поблагодарили: 59 раз

Отличие аппаратных счетчиков от программных. Работа высокоскоростных прерываний. Особенности ШИМ инструкции

Сообщение pkl58 »

Kapally3 писал(а): 13 апр 2024, 17:56 цитата была приведена с сайта deltronics.ru
Ссылку можно?

Автор темы
Kapally3
здесь недавно
здесь недавно
Сообщения: 32
Зарегистрирован: 24 май 2020, 12:16
Имя: Сергей С
Страна: Россия
город/регион: Калининград
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Отличие аппаратных счетчиков от программных. Работа высокоскоростных прерываний. Особенности ШИМ инструкции

Сообщение Kapally3 »

pkl58 писал(а): 15 апр 2024, 07:56Ссылку можно?
https://deltronics.ru/support/voprosyi- ... yu/?page=6
Аватара пользователя

keysansa
эксперт
эксперт
Сообщения: 2471
Зарегистрирован: 20 дек 2018, 04:45
Имя: Сергей
Страна: РБ/РФ
город/регион: РФ Сергиев Посад
Благодарил (а): 2121 раз
Поблагодарили: 208 раз

Отличие аппаратных счетчиков от программных. Работа высокоскоростных прерываний. Особенности ШИМ инструкции

Сообщение keysansa »

pkl58 писал(а): 12 апр 2024, 07:58 Другими словами если хотите немедленного обновления используйте прерывания.
В прерывании, вы можете изменять счет, выставлять выходы, проверять входы, но если основная логика - не в прерывании - разницы нет.
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.

Автор темы
Kapally3
здесь недавно
здесь недавно
Сообщения: 32
Зарегистрирован: 24 май 2020, 12:16
Имя: Сергей С
Страна: Россия
город/регион: Калининград
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Отличие аппаратных счетчиков от программных. Работа высокоскоростных прерываний. Особенности ШИМ инструкции

Сообщение Kapally3 »

keysansa писал(а): 15 апр 2024, 21:15 В прерывании, вы можете изменять счет, выставлять выходы, проверять входы, но если основная логика - не в прерывании - разницы нет.
Да. Я на это наткнулся, хотя и понимал, что так будет. Да, лучше цикл программы делать более коротким. Я сначала прокушал, что такое время работы реле, потом, что такое цикл, а только потом нашел прелесть прерываний... но и тут меня ждало разочарование.. я получал неверную обратную связь.. Дело в том, что та логика, которая в основной программе работает да.. в цикле..

Короче.. Избегайте задач реального времени.. делайте всё медленно.. больше 10мс и всё будет трололо)))
Ответить

Вернуться в «ПЛК, операторские панели, промышленные ПК»