Здравствуйте, есть ПР103 ( с быстрыми входами), И есть плата которая (самодельная), подключена к сети переменного тока и на выходе дает импульс на положительный и отрицательный период волны. Задача: вычислить частоту сети переменного тока. Нужно засечь время между импульсами и все разделить на 1. Подскажите как лучше делать отсчет времени с учетом времени цикла программы (думаю это будет влиять), есть какие то готовые программные решения? Частота может меняться от 20 до 60Гц
Импульс на полупериод - это 120Hz на максималке (8мс между фронтами при 1мс цикла).
Может лучше переключить в режим счетчика и считать импульсы в сек, например.
В итоге сделал следующим образом, по советам выше:
2025-07-09_19-06-20.png
Есть вход настроенный считать количество импульсов, есть таймер на 1 сек, который в свою очередь сбрасывает счетчик. Ну а дальше математика деление, умножение и тд.
На скрине реальные значения с датчика. частота колеблется 45.5 - 50Гц
Оставлю здесь, вдруг кому еще пригодится
ЗЫ Переменная INFreq - физический вход, freq_count_rset - переменная привязана к сбросу счетчика, все остальное внутренние
Последний раз редактировалось yaroslavcik; 09.07.2025 в 19:16.
Еще вопрос: Приобрели ПР103-24.1610.06.2.0 - с 2мя RS485, на RS485 (1) - мастер - будут висеть устройства, а на RS485 (2) слейв - панель Weintek. Связка не работает. Подцепил ПР к компу и через OPC (Мастерскада) пытаюсь опросить - не работает. Настройка слейва 19200 8N1 адрес 17. Карту сетевых переменных составил
2025-07-10_17-14-04.png
2025-07-10_17-15-05.png
Может этот RS485 (2) надо где то физически включить или галочку поставить? может что не так делаю?