- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Погрешность таймера
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 41
- Зарегистрирован: 08 сен 2021, 09:02
- Имя: Стас
- Страна: РФ
- город/регион: Краснодар
Погрешность таймера
Добрый день! Стоит задача сделать подсчет времени работы установки для замены батареи по выработке определенного времени. Написал программу подсчета секунд, минут, часов. Сравнив с реальным временем выяснилось что таймер отстает от реального времени на 15 секунд за время 5 минут. Далее добавил выход таймера на 1000 мс в тренд. График показывает что выход таймера срабатывает чуть позже и накапливает погрешность. Получается что нужно подгадывать заданное время? Т.е. ставить не 1000 в PRE, а где-то 900-950. В чем причина такого явления? Хотелось бы точности, т.к. за 5000 часов реального времени установка не покажет, что истекло время наработки.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- эксперт
- Сообщения: 1146
- Зарегистрирован: 25 июл 2008, 10:06
- Имя: Леонид
- Страна: РФ
- Благодарил (а): 49 раз
- Поблагодарили: 134 раза
Погрешность таймера
С программой детально не разбирался, но подозреваю, что погрешность на одну секунду равна скану контроллера.
В этой среде нет системного регистра с микросекундами? На его основе можно посчитать более точно.
В этой среде нет системного регистра с микросекундами? На его основе можно посчитать более точно.
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.
-
- освоился
- Сообщения: 233
- Зарегистрирован: 26 мар 2017, 13:05
- Имя: Денис
- Страна: Россия
- город/регион: Самара
- Благодарил (а): 15 раз
- Поблагодарили: 38 раз
Погрешность таймера
Я в таких случаях считаю только часы.Stasyllius_83 писал(а): ↑02 мар 2022, 12:56 Хотелось бы точности, т.к. за 5000 часов реального времени установка не покажет, что истекло время наработки.
Даже если каждый час будет измерен с точностью 0.01с (время цикла ПЛК), то за 5000 часов накопится максимальная погрешность 50 секунд, что довольно приемлемо в этой задаче.
А если всё же нужно максимально точно интервал времени отсчитывать, то нужно прерывания использовать.
Отправлено спустя 2 минуты 5 секунд:
А еще проще - использовать один таймер с уставкой 5000 часов. Тогда погрешность будет сопоставима с временем цикла ПЛК
-
- здесь недавно
- Сообщения: 41
- Зарегистрирован: 08 сен 2021, 09:02
- Имя: Стас
- Страна: РФ
- город/регион: Краснодар
-
- почётный участник форума
- Сообщения: 1181
- Зарегистрирован: 09 фев 2011, 11:32
- Имя: Дитрих Евгений Линусович
- город/регион: Донецк
- Благодарил (а): 351 раз
- Поблагодарили: 241 раз
Погрешность таймера
Таймерами такое не делают, в руководствах есть упоминания про точность таймеров, см. в сторону команды GSV: системное время (дельту обрабатывай сам) или время между вызовами задачи, разрешение 1 микросекунда. Могу поделиться AOI см. картинку:
При желании можно задать ограничение на количество пусков в час ("ползущие" 60 минут).
При желании можно задать ограничение на количество пусков в час ("ползущие" 60 минут).
У вас нет необходимых прав для просмотра вложений в этом сообщении.
_______________________________________________
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу
-
- эксперт
- Сообщения: 2471
- Зарегистрирован: 20 дек 2018, 04:45
- Имя: Сергей
- Страна: РБ/РФ
- город/регион: РФ Сергиев Посад
- Благодарил (а): 2121 раз
- Поблагодарили: 208 раз
Погрешность таймера
Вы часы считаете в ~0.1с цикле контроллера?
ЗЫ. Я понимаю о чем вы, но автор говорит о том же.
Отправлено спустя 6 минут 53 секунды:
Вызывание прерывания на время часов зависит от времени цикла программы.
Представьте себе таймер в 0.1с, который вызывается из OB с циклом 1с
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.
-
- здесь недавно
- Сообщения: 41
- Зарегистрирован: 08 сен 2021, 09:02
- Имя: Стас
- Страна: РФ
- город/регион: Краснодар
Погрешность таймера
Добрый день! Этот AOI собственного производства? Буду благодарен, если поделитесь( на данный момент остановился на подсчете часов)!Looker писал(а): ↑03 мар 2022, 18:08 Таймерами такое не делают, в руководствах есть упоминания про точность таймеров, см. в сторону команды GSV: системное время (дельту обрабатывай сам) или время между вызовами задачи, разрешение 1 микросекунда. Могу поделиться AOI см. картинку:
looker_pic.png
При желании можно задать ограничение на количество пусков в час ("ползущие" 60 минут).
-
- почётный участник форума
- Сообщения: 1181
- Зарегистрирован: 09 фев 2011, 11:32
- Имя: Дитрих Евгений Линусович
- город/регион: Донецк
- Благодарил (а): 351 раз
- Поблагодарили: 241 раз
Погрешность таймера
Да. На основе таймера. Если не нужны "ползущие" 60 минут, тогда можно уменьшить занимаемую память.Stasyllius_83 писал(а): ↑09 мар 2022, 13:20 Этот AOI собственного производства? Буду благодарен, если поделитесь( на данный момент остановился на подсчете часов)!
Отправлено спустя 40 минут 16 секунд:
Без Source Protection размер 2.63 К.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
_______________________________________________
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу
-
- освоился
- Сообщения: 233
- Зарегистрирован: 26 мар 2017, 13:05
- Имя: Денис
- Страна: Россия
- город/регион: Самара
- Благодарил (а): 15 раз
- Поблагодарили: 38 раз
Погрешность таймера
В исходном посте автор пишет
Моя идея состоит в том, что если нужно отсчитать один интервал времени 5000 часов, то не нужно отдельно считать секунды, минуты, часы, т.к. в каждом счетчике будет копиться погрешность. Лучше использовать один таймер с уставкой 5000ч.
Конечно, это глупость. Прерывание оно потому и называется "прерывание", что вызывается не в цикле, а по событию. Событием может являться приход сигнала на вход, истечение заданного интервала времени и т.п.
-
- почётный участник форума
- Сообщения: 1181
- Зарегистрирован: 09 фев 2011, 11:32
- Имя: Дитрих Евгений Линусович
- город/регион: Донецк
- Благодарил (а): 351 раз
- Поблагодарили: 241 раз
Погрешность таймера
У него Logix, предел таймера 2147483647 (2^31-1), "тик" таймера 1 мс. Не попадает на 5000 часов. Иначе бы RTO - самое оно.
Отправлено спустя 36 минут 3 секунды:
Точность с таймером можно повысить: например таймер до 1000. Когда стоит бит DN, в расчетах использовать не 1000, а ACC (там всегда будет более 1000). И не забывать про порядок исполнения. В моем AOI - это не учтено, но тому AOI уже 12 лет, код открытый - дорабатывайте.
_______________________________________________
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу
-
- эксперт
- Сообщения: 2471
- Зарегистрирован: 20 дек 2018, 04:45
- Имя: Сергей
- Страна: РБ/РФ
- город/регион: РФ Сергиев Посад
- Благодарил (а): 2121 раз
- Поблагодарили: 208 раз
Погрешность таймера
Немного позанудствую ) Дело в том, что OB, которые работают по таймеру - тоже по прерыванию работают.
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.
-
- почётный участник форума
- Сообщения: 1181
- Зарегистрирован: 09 фев 2011, 11:32
- Имя: Дитрих Евгений Линусович
- город/регион: Донецк
- Благодарил (а): 351 раз
- Поблагодарили: 241 раз
Погрешность таймера
Не стоит занудствовать, т.е. применять идеологию Сименса к Allen Bradley.
_______________________________________________
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу
-
- освоился
- Сообщения: 233
- Зарегистрирован: 26 мар 2017, 13:05
- Имя: Денис
- Страна: Россия
- город/регион: Самара
- Благодарил (а): 15 раз
- Поблагодарили: 38 раз
Погрешность таймера
Да, я в этом ключе и думал, только забыл о максимальной уставке таймера. Действительно, сейчас проверил, 5000ч это слишком много, придётся ограничиться 1000ч.
-
- эксперт
- Сообщения: 2471
- Зарегистрирован: 20 дек 2018, 04:45
- Имя: Сергей
- Страна: РБ/РФ
- город/регион: РФ Сергиев Посад
- Благодарил (а): 2121 раз
- Поблагодарили: 208 раз
Погрешность таймера
А как в AB обеспечивают точность цикла OB?
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.
-
- почётный участник форума
- Сообщения: 1181
- Зарегистрирован: 09 фев 2011, 11:32
- Имя: Дитрих Евгений Линусович
- город/регион: Донецк
- Благодарил (а): 351 раз
- Поблагодарили: 241 раз
Погрешность таймера
Что есть OB? Про Сименс мои "освоения" закончились 30 лет назад, после Бергера про Step5. У AB только одна задача периодическая, все другие - задается время или событие. Каждой задаче выставляется приоритет. Периодическую может прервать любая.
_______________________________________________
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу
-
- эксперт
- Сообщения: 2471
- Зарегистрирован: 20 дек 2018, 04:45
- Имя: Сергей
- Страна: РБ/РФ
- город/регион: РФ Сергиев Посад
- Благодарил (а): 2121 раз
- Поблагодарили: 208 раз
Погрешность таймера
Задача, выполняемая по прерыванию (по времени или событию).
Это не прерывание?
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.
-
- почётный участник форума
- Сообщения: 1181
- Зарегистрирован: 09 фев 2011, 11:32
- Имя: Дитрих Евгений Линусович
- город/регион: Донецк
- Благодарил (а): 351 раз
- Поблагодарили: 241 раз
Погрешность таймера
Прерывание, только не в стиле Сименса со своими OB*: имена вразумительные, времена вызова задаются, как и приоритеты. Внутри задачи есть программы, память не пересекается, имена тегов какие задашь. Сименсовское DB - отдыхает.
Делал задачу для интегрирования расхода, самая приоритетная, но время учитывал по команде GSV - отличия были.
_______________________________________________
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу
-
- эксперт
- Сообщения: 2471
- Зарегистрирован: 20 дек 2018, 04:45
- Имя: Сергей
- Страна: РБ/РФ
- город/регион: РФ Сергиев Посад
- Благодарил (а): 2121 раз
- Поблагодарили: 208 раз
Погрешность таймера
Как-то так было изначально...
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.
-
- почётный участник форума
- Сообщения: 1181
- Зарегистрирован: 09 фев 2011, 11:32
- Имя: Дитрих Евгений Линусович
- город/регион: Донецк
- Благодарил (а): 351 раз
- Поблагодарили: 241 раз
Погрешность таймера
Повторю про повышение точности:
_______________________________________________
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу
-
- эксперт
- Сообщения: 2471
- Зарегистрирован: 20 дек 2018, 04:45
- Имя: Сергей
- Страна: РБ/РФ
- город/регион: РФ Сергиев Посад
- Благодарил (а): 2121 раз
- Поблагодарили: 208 раз
Погрешность таймера
Вы отвечали вот на это сообщение.
Я просто позанудствовал в общем случае, в итоге выяснили, что я правильно позанудствовал и для AllenBradley. )
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.