Измерение частоты контроллером DVP SV
-
- Сообщения: 7
- Зарегистрирован: 26 янв 2016, 11:59
Измерение частоты контроллером DVP SV
Добрый день.
Нужна помощь. Задача измерить частоту на входах ПЛК DVP SV2 (до 1 кГц) c высокой точностью.
Используется принцип:
- для измерение времени используется тактовый генератор на основе функции PLSY c заданной частотой 10 кГц,
частота измеряется эталоном при поверке и вносится поправка на реальное значение (регистр D212). Таким образом в регистре D1336 cодержится "время" нарастающим итогом.
- для измерения кол-ва импульсов используются высокочастотные входа (в частности С235).
При пуске (М0) регистрируется начальное время измерений (D2). При прохождении 100 импульсов (используется для компенсации времени скана программы) срабатывает функция DHCS с прерыванием i010 (записывается время 100 импульса D2112).
При стопе через определенное время (таймер T1, D10 - время измерений) регистрируется конечное время измерений (D4). Через 100 импульсов срабатывает функция DHCS с прерыванием i010 (записывается время 100+X импульса D2118). Вычисляется частота.
Вырезка из программы присутствует (возможны ошибки, в виде урезки программы для читаемости). Частота измеряется, однако, при задании времени 10 с (нужно) погрешность измерения составляет 0,25 % - не устраивает. Пробовал модификацию программы, не помогает. Пару нормальных измерений, пару нет.
Что можно сделать?
Нужна помощь. Задача измерить частоту на входах ПЛК DVP SV2 (до 1 кГц) c высокой точностью.
Используется принцип:
- для измерение времени используется тактовый генератор на основе функции PLSY c заданной частотой 10 кГц,
частота измеряется эталоном при поверке и вносится поправка на реальное значение (регистр D212). Таким образом в регистре D1336 cодержится "время" нарастающим итогом.
- для измерения кол-ва импульсов используются высокочастотные входа (в частности С235).
При пуске (М0) регистрируется начальное время измерений (D2). При прохождении 100 импульсов (используется для компенсации времени скана программы) срабатывает функция DHCS с прерыванием i010 (записывается время 100 импульса D2112).
При стопе через определенное время (таймер T1, D10 - время измерений) регистрируется конечное время измерений (D4). Через 100 импульсов срабатывает функция DHCS с прерыванием i010 (записывается время 100+X импульса D2118). Вычисляется частота.
Вырезка из программы присутствует (возможны ошибки, в виде урезки программы для читаемости). Частота измеряется, однако, при задании времени 10 с (нужно) погрешность измерения составляет 0,25 % - не устраивает. Пробовал модификацию программы, не помогает. Пару нормальных измерений, пару нет.
Что можно сделать?
- Вложения
-
- Programm proliv 03.rar
- (15.77 КБ) 172 скачивания
Re: Измерение частоты контроллером DVP SV
SPD
Фиксирование числа импульсов в течении заданного времени
Описание
• Импульсы на (S1) подсчитываются за время в (S2) в мс и результат записывается в
(D).
• Задействуются операнды (D), (D+1), (D+2), (D+3), (D+4).
(D+1), (D): сумма импульсов после отсчета времени
(D+3), (D+2): текущее значение импульсов внутри интервала времени
(D+4): остающееся отсчитываемое время (32767 мс макс.)
После отсчета времени содержание (D+3), (D+2) передается в (D+1), (D), а само (D+3),
(D+2) отключается.
Входы высокоскоростного счетчика, используемые в инструкции, не могут
применяться в других высокоскоростных операциях.
Для каждого высокоскоростного входа можно задать максимум одну SPDинструкцию.
-
- Сообщения: 7
- Зарегистрирован: 26 янв 2016, 11:59
Re: Измерение частоты контроллером DVP SV
у SPD большая погрешность, использовать можно только 6 входов, маленькое время измерений.
Re: Измерение частоты контроллером DVP SV
Не заметил, тестировал выходом омроновского контроллера.Werozzo2010 писал(а):у SPD большая погрешность
32767 мс макс. полминуты это мало???маленькое время измерений.
-
- Сообщения: 7
- Зарегистрирован: 26 янв 2016, 11:59
Re: Измерение частоты контроллером DVP SV
Мне мало. Нужно от 10 с до 10 мин. минимум. Придется писать промежуточное сохранение данных. Вопрос, пробовал подключать SPD.
Написано что в регистре D, сохраняет данные частоты, я вижу что в D+1, D+2, D+3 счет и время идет, а в D - "0" и не меняется.
Написано что в регистре D, сохраняет данные частоты, я вижу что в D+1, D+2, D+3 счет и время идет, а в D - "0" и не меняется.
Re: Измерение частоты контроллером DVP SV
Вы другие инструкции для счётного входа не используете?
У меня эта инструкция нормально без проблем работала.
У меня эта инструкция нормально без проблем работала.
Re: Измерение частоты контроллером DVP SV
Автору темы
1) зафиксируйте время цикла программы
2) вынесите SPD в начало программы
Вопрос : а как вы убедились в большой погрешности
Может использовать усреднение , допустим по 10 измерениям .
1) зафиксируйте время цикла программы
2) вынесите SPD в начало программы
Вопрос : а как вы убедились в большой погрешности
Может использовать усреднение , допустим по 10 измерениям .
Re: Измерение частоты контроллером DVP SV
Почему то не работает SPD:
вход с энкодера на X0 - задействую X1 для входа SPD
время измерения - 1000 (S2)
выход D100
Компиляция проходит нормально, а при запуске RUN пишет:
SPD misuses Operand
Reference Step Number 248
Что можно сделать, чтобы запустить SPD ?
вход с энкодера на X0 - задействую X1 для входа SPD
время измерения - 1000 (S2)
выход D100
Компиляция проходит нормально, а при запуске RUN пишет:
SPD misuses Operand
Reference Step Number 248
Что можно сделать, чтобы запустить SPD ?
-
- Сообщения: 955
- Зарегистрирован: 31 окт 2011, 15:18
Re: Измерение частоты контроллером DVP SV
Хм-м... Смотрю на поиски коллег, и не вижу, почему нельзя-то использовать стандартное измерение частоты, непосредственно в регистрах D1056, D1057, ну и т.д.? Или там точность не устраивает, или еще что?
Re: Измерение частоты контроллером DVP SV
День добрый. Перерыл все мануалы , ничего не нашел про "Хм-м... Смотрю на поиски коллег, и не вижу, почему нельзя-то использовать стандартное измерение частоты, непосредственно в регистрах D1056, D1057, ну и т."
Ткните носом пожалуйста
Ткните носом пожалуйста