Регистрироваться нигде не нужно. Макрос загружается из программы Овен Лоджик. Файл-Менеджер компонентов (для ОЛ 1.12) или Файл-Онлайн база макросов (для младших версий ОЛ)
Регистрироваться нигде не нужно. Макрос загружается из программы Овен Лоджик. Файл-Менеджер компонентов (для ОЛ 1.12) или Файл-Онлайн база макросов (для младших версий ОЛ)
В базе присутствуют два макроса для вычисления времени цикла ПР
В группе Общие - CycleTime
В группе Таймеры и счетчики - TIME_CYCLE
Оба вычисляют время цикла в мс в формате float
Теперь вопрос
Как показала практика время цикла ПР зависит от сложности программы, но ВСЕГДА меняется дискретно как 1, 2, 3,..,10, 11, 12... это по информации в меню ПР или в ОЛ или в результате расчетов в самой программе.
Ни разу не встречал дробных чисел, типа 3.24, 5,67 и пр.
Так зачем при расчетах в макросах использовать арифметику с плав. точкой и получать результат float, когда по факту нужны целые числа?
С уважением, Ревака Юрий.
Инженер группы технической поддержки компании "ОВЕН"
e-mail: yu.revaka@owen.ru
Шаблон описания ошибки ПР или OL http://ftp-ow.owen.ru/softupdate/OWE...s/Shablon.docx
Видео уроки по ПР200 и OWEN Logic http://edu.owen.ru/series/pr200_rev/
Другие видеоролики по тематике ПР https://www.youtube.com/channel/UCj4...H5H3d_t6iDlQOQ
Мимоход информация о времени цикла в системном меню не имеет никакого отношения к макросам измерения времени цикла.
В порядке академического интереса хотел поинтересоваться: а может время цикла в ПР быть не целым?
Так в том, то и дело
Сам раньше думал, что может быть не целым и городил аналогичные макросы для его измерения
Но практика показывает, что по мере увеличения сложности проекта, врем цикла, хоть измеренное макросом, хоть полученное из ОЛ, всегда увеличивается на целое значение мс
Просто в макросе, если маленький интервал измерения, то можно получить и не целые числа, например 5,32 мс
Если интервал измерения увеличивать, то цифра 5,32 стремится и в конце концов становится 5 мс, что честно сразу показывает меню ПР или ОЛ, подключенный к ПР
Последний раз редактировалось Мимоход; 22.10.2018 в 13:14.
Ну так макросами и пытаются померить дробное, что не показывает меню... Мне лично фиолетово, сколько длится цикл. Все равно у процессоров не хватит тямы выполнять программы ровно 1 мс....
Ни какое оно не дробное! Говорю Вам - оно всегда целое!
Фиолетово, пока не возникнет задача точного измерения интервалов времени,
Вот, например таймер TON с паузой
Фактически используется количество циклов от старта или от паузы и длительность одного цикла
Захват-1.png
Захват-2.png
На выходе ЕТ время от старта таймера в мс, дискретность - время цикла, например 1 или 2 или 5 мс ну или сколько там будет по факту
Точность отработки времени +- время одного цикла, проверял на интервалах времени в несколько часов.
На каждое событие паузы вносит погрешность времени всего в один цикл, не более.
На бликах и счетчиках таймер с паузой с такой точностью сделать нельзя.
ЗЫ
При этом макрос, который у меня измеряет dT(float) показывает ВСЕГДА целые числа, с нулями после точки! Вывожу на дисплей как хх.ххх
Последний раз редактировалось Мимоход; 22.10.2018 в 13:47.
Мимоход скажу вам по секрету, что даже в ПК если вы будете писать таймер, его точность будет привязана к циклу выполнения программы. Это принцип работы любого процессора к сожалению.... Для увеличения точности разделяют потоки, используют многопроцессорность и т.д. чего просто НЕТ в ПР.
Ну макрос измерения цикла бы привели в догонку.
Если нужны дробные и короткое время цикла не надо ставить ПР. Не по Сеньке шапка... да, у ПР хорошая математика, если сравнивать с Zelio, Logo, ABB-шными программируемыми реле, но все же у него есть предел. Который еще ограничен самим ПО в виде ОЛ, что тоже не надо забывать.
Последний раз редактировалось melky; 22.10.2018 в 14:52.