Вопрос о том, что из себя может представлять такой real-time. Хочется управлять серводвигателями, но из ОС windows.
Поискав решение на уровне физического уровня передачи данных, нашёл модули на ПЛИС с протоколом EtherCAT. Это протокол гарантирует real-time.
На физическом уровне ethernet более-менее понятно что происходит. От контроллера на материнке до slave устройства на ПЛИС данные идут без формирования паузы, slave-устройство вписывает свои данные, заполняя некую таблицу, которую в составе данных ethernet-фрейма отправил к нему master. Далее, эта таблица отправляется по кольцу к другому slave устройству и т.д. пока заполненная не вернётся к мастеру.
Вопрос: В ОС windows время запуска пакета данных формата EtherCAT как-то обеспечивается?
Т.е. как гарантируется, что процессор под управлением ОС windows выдаст управляющий сигнал на порт ethernet контроллера материнки строго по расписанию, а не свалится в прерывание на непонятно какое время?
Обеспечивается ли это драйверами master`a EtherCAT, устанавливаемых на ПК с ОС windows? Может они запрещают прерывания или повышают приоритет для ethernet или что-то ещё делают?
Т.е. real-time на уровне передачи данных есть. Есть ли он на уровне старта самой команды на запуск данных по real-time протоколу?
Задержка на запуск предачи данных может съедать разное время в зависимости от того, что под windows запущено в это время, и тогда от real-time ничего не останется.
Подскажите, пожалуйста, как это делается и делается ли вообще без ОС real-time?
На данным момент я чисто теоретик в промышленном real-time, мне пока можно глупости спрашивать.

Вариант управления без ПК, при помощи модулей с той же ПЛИС или на промышленных контроллерах понятен и в данном вопросе не рассматривается.
Спасибо.