"Разрешение таймера (tick) может варьироваться в следующих пределах:
в MS Windows – не менее 0.01c; "
Судя по HELP средствами TM в windows можно достичь скорости работы в 10 мс. У нас такая задача обмен с нашим контроллером должен влаживаться в эти 10 мс, при этом значений для считывания немного - 8 word. Выполнима ли эта задача? И с каким интрфейсом передачи данных?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1. Время цикла МРВ 10 мс должно было бы поддерживаться ОС, но реально эта величина колеблется от 10 до 12-15 мс. 2. Реактивность системы в данном случае зависит от времени обработки внешнего сигнала в устройстве, скорости обмена по последовательному интерфейсу, реальной задержки ответа и общей нагруженности последовательного канала. Если кроме этого анализируемого параметра по той же линии передаются другие запросы, то они выстраивются в очередь (режим обмена - полудуплекс: следующая транзакция будет осуществлена только после получения ответа на предыдущий запрос или команду). Создается общий асинхронный поток, который и будет определять реактивность системы в целом. 3. Если же речь идет о регистрации процесса с нужной точностью, то надо делать внизу локальный архив с высоким временным разрешением и блочным образом поднимать его наверх, где и записывать в архив с метками времени, полученными с нижнего уровня.