Вы с Inovance работаете, у них есть привода с EoE. IS810N, IS650N и ещё какие-то. Но я не уврен это модификации или все такие привода поддерживают. И сам не пользовался.
Вопрос не мне, но если позволите. "период регулятора помноженный на максимальную скорость" это было бы если бы нужно было на ходу начать регулировать привод несущийся на максимальной скорости. А мы же регулируем движение с самого начала. Поэтому получится "период регулятора помноженный на максимальную ошибку между заданной скоростью и реальной". С поправкой, что в CSP эту заданную скорость привод посчитает сам из разницы между новым положением и старым.
С кадрами в очередях к нас всё так же: кадры гуськом, только порядок выхода. Для нас их основная польза в другом: они аппаратно независимы. Поэтому в то время пока одной очередью пользуется стандартная часть драйвера под управлением Windows, другой очередью управляет наш RT, который крутится вообще на изолированном ядре. И не надо думать про синхронизацию. Собственно всё это не от хорошей жизни, а из-за борьбы с Windows.
И дополню про то, что EtherCAT нужен не приводу а станку.
Тут же не только в приводах дело. Сейчас куча оборудования работает по EtherCAT. Входы/выходы, переходники для шин типа CAN, датчики всякие, лазерные головки, штамповка/высечка, шпиндели и т. д. и т. п. Плюс там же можно обычный Ethernet пустить (многие привода так настраиваются) и не надо второго подключения.
А синхронизировать несколько приводов если они ни чем не объединены я вообще не представляю как. Хотя может и есть способы. Но тут всё сразу есть.
Если это что-то простое, то вы сами решаете как и что делать, а если это CNC для управления разными станками где будет неизвестно что подключаться, то без EherCAT сложно будет. Ну, то есть, наверное есть другие технологии, просто я про них не знаю.
Про отсутствие необходимости наносекунд и узкое место в RT я с вами полостью согласен. У нас RT вообще самописный и из за борьбы с Windows и дошли до всего этого.
А для схем с другим траффиком есть ещё одна полезная вещь в карте: Multiple Transmit Queues. У нас, наример, циклические телеграммы идут через RT в драйвер напрямую в приоритетную очередь, а управляющие телеграмы, mailbox, EoE и т.п в другую, можно даже через обычный сетевой стек.
Как вы и написали, джиттер зависит от системы, которая обеспечивает real-time и от драйвера сетевой карты. Если есть возможность написать/модифицировать драйвер карты, то Intel i210 и тому подобные поддерживают 802.1Qav где есть функция Launch time. То есть вы для пакета задаете время отправки по внутреннему таймеру карты. Тогда джиттер будет измеряться в наносекундах, может в десятках наносекунд. Но кроме модификации драйвера карты нужно ещё иметь возможность обращаться к нему напрямую из real-time системы.
Вы с Inovance работаете, у них есть привода с EoE. IS810N, IS650N и ещё какие-то. Но я не уврен это модификации или все такие привода поддерживают. И сам не пользовался.
Вопрос не мне, но если позволите. "период регулятора помноженный на максимальную скорость" это было бы если бы нужно было на ходу начать регулировать привод несущийся на максимальной скорости. А мы же регулируем движение с самого начала. Поэтому получится "период регулятора помноженный на максимальную ошибку между заданной скоростью и реальной". С поправкой, что в CSP эту заданную скорость привод посчитает сам из разницы между новым положением и старым.
С кадрами в очередях к нас всё так же: кадры гуськом, только порядок выхода. Для нас их основная польза в другом: они аппаратно независимы. Поэтому в то время пока одной очередью пользуется стандартная часть драйвера под управлением Windows, другой очередью управляет наш RT, который крутится вообще на изолированном ядре. И не надо думать про синхронизацию. Собственно всё это не от хорошей жизни, а из-за борьбы с Windows.
И дополню про то, что EtherCAT нужен не приводу а станку.
Тут же не только в приводах дело. Сейчас куча оборудования работает по EtherCAT. Входы/выходы, переходники для шин типа CAN, датчики всякие, лазерные головки, штамповка/высечка, шпиндели и т. д. и т. п. Плюс там же можно обычный Ethernet пустить (многие привода так настраиваются) и не надо второго подключения.
А синхронизировать несколько приводов если они ни чем не объединены я вообще не представляю как. Хотя может и есть способы. Но тут всё сразу есть.
Если это что-то простое, то вы сами решаете как и что делать, а если это CNC для управления разными станками где будет неизвестно что подключаться, то без EherCAT сложно будет. Ну, то есть, наверное есть другие технологии, просто я про них не знаю.
Про отсутствие необходимости наносекунд и узкое место в RT я с вами полостью согласен. У нас RT вообще самописный и из за борьбы с Windows и дошли до всего этого.
А для схем с другим траффиком есть ещё одна полезная вещь в карте: Multiple Transmit Queues. У нас, наример, циклические телеграммы идут через RT в драйвер напрямую в приоритетную очередь, а управляющие телеграмы, mailbox, EoE и т.п в другую, можно даже через обычный сетевой стек.
Как вы и написали, джиттер зависит от системы, которая обеспечивает real-time и от драйвера сетевой карты. Если есть возможность написать/модифицировать драйвер карты, то Intel i210 и тому подобные поддерживают 802.1Qav где есть функция Launch time. То есть вы для пакета задаете время отправки по внутреннему таймеру карты. Тогда джиттер будет измеряться в наносекундах, может в десятках наносекунд. Но кроме модификации драйвера карты нужно ещё иметь возможность обращаться к нему напрямую из real-time системы.