программа RTX Расширение реального времени для Windows

ledokol1

Кто нибудь использует?Есть смысл ее устанавливать?
Описание
Расширение реального времени RTX (Real Time Extention) для операционной системы Windows (NT, NT Embedded, 2000, XP, XP Embedded) фирмы VenturCom позволяет создавать приложения с детерминированным и очень малым временем реакции на внешние события. Кроме того, RTX обеспечивает пользователя средствами и утилитами для построения и выполнения программ реального времени, а также средствами для измерения и “тонкой” настройки производительности как аппаратных, так и программных средств. RTX глубоко интегрировано в ядро Windows и для обеспечения необходимых функций использует сервис Windows и WIN32 API.
Расширения реального времени добавляют к Windows специфическую для реального времени функциональность, а именно:

* Процессы реального времени, управляемые собственным планировщиком. Этот планировщик работает уже по всем правилам планировщиков реального времени и использует алгоритм вытеснения по приоритетам. Кроме того, процессы реального времени имеют преимущество перед стандартными процессами Win32, вытесняя их. Процессы реального времени имеют совсем иную, по сравнению со стандартными процессами Windows, степень надёжности и специфическую функциональность.
* Взаимодействие процессов реального времени и стандартных процессов Win32 друг с другом.
* Программный интерфейс RTAPI для процессов реального времени, реализующий развитый набор средств, характерный для программных интерфейсов (API) операционных систем реального времени.
* Одно и то же приложение может использовать как стандартные функции Win32, так и специфические функции API реального времени (RTAPI), что позволяет выделять критические участки кода приложений Windows и контролировать время и надёжность их выполнения.
* Контроль над работоспособностью и временем реакции системы. “Зависания” стандартных приложений Windows или “крах” системы не приводят к “зависанию” приложений реального времени.
* Работа с быстрыми часами и таймерами высокого разрешения.
* Прямой доступ к памяти и физическим устройствам. и т.д и тому подобное обсуждаем…

Soling

Боюсь, что это именно *расширитель*. Сама архитектура PC не позволяет работать в истенно реальном времени.
Можно говорить только об увеличении периодов такой работы. Системы реального времени не отвлекаются ни на какие посторонние объекты, кроме тех, которые обслуживают.Даже при попытках передачи данных по нескольким каналам возникает дискретность. РС же, по своей природе обязана поддерживать работу своих компонентов. Да еще Винды постоянно дергают систему, в силу своей навороченности. Можно только попытаться максимально ограничить Виндовскую прыть. Для процессов типа управления станком, которые по сравнению со скорострельностью современных компов, просто черепашьи такие меры вполне достаточны. Но, называть это работой в реальном времени, я бы не стал.
Хотя, это скорее вопрос терминологии.
😁

bVa

Более того, весь вопрос о области применения систем реального времени (РВ). В некоторых задачах управляющее воздействие к примеру раз в час будет достаточно, в других и микросекунды все решают.

из статей…
www.asutp.ru/?p=600255
Стандарт POSIX 1003.4 (рабочего комитета IEEE [3-7]) определяет ОС как систему реального времени, если она обеспечивает требуемый уровень сервиса за вполне определенное, ограниченное время. То есть ОС реального времени должна быть предсказуемой.

Примеры систем жесткого реального времени - бортовые системы управления, системы аварийной защиты, регистраторы аварийных событий.
Системы мягкого реального времени характеризуются тем, что задержка реакции не критична, хотя и может привести к увеличинию стоимости результатов и снижению производительности системы в целом.

Чтоже касаемо RTX, то он использует модифицированный HAL системы.
RTX включает в себя следующие компоненты:
* уровень абстракции аппаратуры HAL (Hardware Abstraction Layer) реального времени (Real-Time HAL). HAL является программным компонентом самого низкого уровня при взаимодействии драйверов ядра с аппаратурой. В частности, именно на уровне HAL происходит первоначальная обработка прерываний от таймера,
* подсистему реального времени RTSS (Real-Time Subsystem),
* программный интерфейс расширений реального времени RTAPI (Real-Time Application Programming Interface). HAL реального времени подменяет стандартный HAL Windows NT.

Например Enhanced Machine Controller (sourceforge.net/projects/emc) под Linux использует расширение реального времени RTLinux or RTAI.
Сам Linux запускается в этой системе как отдельная задача с наименьшим приоритетом.

ну и ссылочки…
www.asutp.ru/?p=600255
www.asutp.ru/?p=600493
www.asutp.ru/?p=600591&PHPSESSID=e419b1e8caf5fb9e9…
citforum.univ.kiev.ua/…/index.shtml
www.osp.ru/text/print/302/179265.html
offline.computerra.ru/print/offline/1998/…/1687/

GOOD

GOOD DAY

“система реального времени” и Windows понятия не совместимые !
если так критично используйте LINUX или например QNX

GOOD LUCK

toxa

если отвлечься от демагогии и говорить по существу, то для того, чтобы использовать преимущества предоставляемые RTX необходимо будет написать программу, которая этим RTX умеет пользоваться. то же самое касается RTAI для Linux, с той лишь разницей, что для нее писать ничего не надо, а можно пользоваться готовой EMC. mach2, равно как и другому общедоступному софту для CNC под windows от присутствия или отсутствия RTX ни тепло, ни холодно.

ACB

если так критично используйте LINUX или например QNX

Ни Linux ни QNX - не являются операционными системами жесткого реального времени. Любая операционная система - ЭТО НЕ REAL TIME!

Практик
ACB:

Ни Linux ни QNX - не являются операционными системами жесткого реального времени. Любая операционная система - ЭТО НЕ REAL TIME!

Ну так поведайте-же нам скорее, что есть РЕАЛТАЙМ !!!

mura
ACB:

Ни Linux ни QNX - не являются операционными системами жесткого реального времени. Любая операционная система - ЭТО НЕ REAL TIME!

Ну-ну,

если система имеет ПРОГНОЗИРУЕМОЕ время реакции на прерывание - реалтайм.

Практик
mura:

Ну-ну,

если система имеет ПРОГНОЗИРУЕМОЕ время реакции на прерывание - реалтайм.

Ну а если прога под DOS крутит движки часами и даже не собирается никуда прерываться,
это реалтайм или просто НУ-НУ?

GOOD
ACB:

Ни Linux ни QNX - не являются операционными системами жесткого реального времени. Любая операционная система - ЭТО НЕ REAL TIME!

GOOD DAY

зачем спорить ! прочтите раздел стандарта POSIX 1003.1
о определении и особенностях операционных систем реального времени и будет все ясно.

если кому надо выбирайте -

Название Год выпуска Фирма-разработчик Сайт

AMX 1980 Kadak www.kadak.com
C Executive 1981 JMI Software Systems www.jmi.com
CMX 1990 CMX Systems www.cmx.com
CsLeos* 2002 BAE Systems www.csleos.com
ECOS 2000 eCosCentric (Cygnus Solutions, Red Hat) www.ecoscentric.com
EmbOS 1993 Segger Microcontroller Systeme GmbH www.segger.com
INTEGRITY 1982 Green Hills Software www.ghs.com
LynxOS 1988 LynuxWorks (Lynx Real Time Systems) www.lynuxworks.com
Nucleus PLUS 1990 Mentor Graphics (Accelerated Technology Inc.)www.acceleratedtechnology.com
OS-9 1979 RadiSys (Microware system Сorp.) www.radisys.com/products/microware_OS-9.cfm
OSE 1995 OSE (Enea) www.enea.com
Precise/MQX 1991 Precise Software www.psti.com
QNX Neutrino 1982 (QNX 2) QNX Software System www.qnx.com
RTEMS 1989 On-Line Applications Research Corp. www.rtems.org
TTPos 1998 TTTech www.tttech.com
UC/OS-II 1999 Micrium, Inc www.micrium.com
VxWorks 1981 Wind River Systems www.windriver.com

но зачем городить огород для ЧПУ наверно будет достаточно

  1. отдельный комп ТОЛЬКО для работы станка с устойчивой ОС
  2. защита от сбоя электропитания и помех эл. сети.

GOOD LUCK

mura
Практик:

Ну а если прога под DOS крутит движки часами и даже не собирается никуда прерываться,
это реалтайм или просто НУ-НУ?

конечно реалтайм, часы висят на прерывании, а реакция на прерывания под ДОСом вполне прогнозируема (это не винды, хотя и там
можно добится приемливых результатов отключив кучу различных служб)

Ivan_K2
GOOD:

если кому надо выбирайте -

Вчера скопировал CF со своего “китайца”, поскольку, исходя из опыта,
от многократной записи CF обычно через один год становится непригодным к употреблению.

В “китайце 1212” установлен так называемый DSP (VIA + AT89C55) который работает под WinCE.NET 4.20
Это не RTOS и не система для CNC, поскольку например клавишу “STOP” на пульте
может отработать а может и не отработать и т.д.

RTOS для CNC это система которая оптимально использует механизмы прерываний и семафоров именно для CNC.
Такую систему необходимо создавать, поскольку на сегодня она не создана, насколько я понял.

VxWorks это комерческая версия BSD.
VxWorks начали “создавать” 06sep87. Сейчас Wind River Systems начала уже продавать и Linux.

toxa
Ivan_K2:

VxWorks это комерческая версия BSD.

мягко говоря, это не совсем так. как человек имевший дело и с vxWorks и с BSD говорю. 😃

Ivan_K2
toxa:

мягко говоря, это не совсем так. как человек имевший дело и с vxWorks и с BSD говорю. 😃

Пускай будет не совсем так.
Это по сути ничего не изменяет.

Если создавать RTOS для CNC то это будет уже не VxWorks и не BSD и уж тем более не Linux.
А так пользуюсь вот системой под WinCE.NET … которая уже одну дырку в столе фрезой сделала,
потому как вовремя ethernet кабель не отключил … RTOS.

Soling
Практик:

Ну а если прога под DOS крутит движки часами и даже не собирается никуда прерываться,
это реалтайм или просто НУ-НУ?

Просто НУ-НУ, пользуясь Вашей терминологией.
😁 😁 😁
Любая система “отвлекаюшаяся” на обслуживание чего либо, кроме объекта управления имеет погрешности по времени. То есть не реал тайм. Предположим,- энкодер выдает сигнал длящийся 1мкс. В момент его появления система отвлеклась на обслуживание прерывания от… ну, скажем, клавиатуры. Процесс занял 2мкс. По скольку в момент выполнения обслуживания система не следила за сигналом энкодера, она его потеряла.
( Сразу, предвидя… цифры от фонаря и просто для наглядности процесса. )
ДОС может годами крутить движки, по скольку вероятность такой ситуации мала. Причина - минимальное количество “отвлечений”. Винды же отнимают на свои нужды огромное количество времени. И не все их процессы можно блокировать. Спасает только быстродействие железа, которое успевает за “медленными”, по его меркам, процессами управления станком.

Практик:

Ну так поведайте-же нам скорее, что есть РЕАЛТАЙМ !!!

Тупой автомат, не занятый ничем, кроме выдачи или приема сигнала. Это в идеале. Более ближе к реальности - устройство, все процессы в котором предсказуемы, измеримы и могут быть учтены.

mobiserv

Или, грубо говоря, любая система на базе РС не может быть реалтайм из-за архитектуры, хотя бы потому что нет внешней синхронизации процессора.

den_k

Достаточно долго разбирался в теории и пришёл к выводу, что массовые ОС с реалтайм примочками (Win+RTX или Linux+RTAI) - самая подходящая база для софта ЧПУ. И самая прогрессивная на сегодняшний день. Реализация реалтайма в них - изящно и теоретически грамотно сделана. Респект чувакам, которые придумали такие решения.

mobiserv:

Или, грубо говоря, любая система на базе РС не может быть реалтайм из-за архитектуры, хотя бы потому что нет внешней синхронизации процессора.

А вот это не понял. Нафига там какая-то внешняя синхронизация? Да, можно сказать, что тактовые генераторы обычных офисных компов далеко не идеальны. Но эти погрешности мизерные и могут быть решены выбором соответствующей материнки или промPC. Какое отношение это имеет к софту? Поясните свою мысль, плз.

Ivan_K2
den_k:

Достаточно долго разбирался в теории и пришёл к выводу

Практика критерий истины.
Поэтому берем лист 500х500 мм Д16Т и делаем выборку
цилиндрической фрезой по всей поверхности.
Подсчитываем количество “кружочков” для сравнения систем по критерию RTOS.

Если “кружочки” отсутсвуют то это CNC с RTOS.
Если “кружочки” присутсвуют то это не RTOS,
большее или меньшее количество “кружочков” свидетельствует о степени приближения к RTOS.

Creolka

Про “кружочки” - это круто!!!
Надо только иметь в виду что “кружочки” появляются не только от “прерываний” но ещё и от налипшей стружки.
На промышленых ЧПУ такое тоже наблюдается, а они далеко не под виндами.

toxa

народ, вы о чем вообще пишете? система реального времени - это система с гарантированным временем реакции не больше заданного. если максимальное допустимое время реакции - один месяц а период исполнения задачи одна секунда, то пофигу какой там генератор, внешний или внутренний.

“кружочки” и “ртос” и “не ртос” понятия слабо связанные. кружочки будут получаться всегда, если система не пропускает шаги.

“ртос” нужна только для системы, которая непосредственно генерит шаги. например, программа под виндами читает g-код, просчитывает его, генерит некие макрокоманды и отсылает их в контроллер через интерфейс rs232 (usb, что угодно). контроллер получает эти команды, буферизует, и генерит импульсы step-dir для контроллеров (драйверов) в высочайшей точностью. ну и чем не система реального времени?

Soling
toxa:

народ, вы о чем вообще пишете?

Вот так всегда! Пришел лесник и всех разогнал.
😁
Это же чисто теоритические размышления об истинно реальным времени и псевдо реальным.
( К практике CNC они слабо относятся, потому как станки прекрасно работают даже под слегка подчищенными Виндами. Но… зима, до сезона далеко, почему бы не выяснить фундаментальные понятия? )
😁 😁 😁

Soling

Однако, из написанного можно сделать вывод, чисто практический: более надежными являются аппараты с шаговыми двигателями. Они наиболее близки к “тупому автомату”. Прога выставила сигнал, двигун сделал шаг. Что там происходит помимо этих событий может повлиять, разве что, на среднюю скорость движения. Что не так критично, как ошибка позиционирования при потере сигналов энкодера. Которая ко всему имеет дурную привычку накапливаться.

Ivan_K2
Creolka:

На промышленых ЧПУ такое тоже наблюдается, а они далеко не под виндами.

Это у тех которые под WinCE ? Да, наблюдается,
причем очень явно, в “рядочки” так “кружочки”, стружка так не умеет.
У нормальных ЧПУ такое не наблюдается.
И если потребитель нормальных ЧПУ такие “кружочки” обнаружил,
например в местах со сложным рельефом, то обычно следует апгрейд.

toxa:

“ртос” нужна только для системы, которая непосредственно генерит шаги. например, программа под виндами читает g-код, просчитывает его, генерит некие макрокоманды и отсылает их в контроллер через интерфейс rs232 (usb, что угодно). контроллер получает эти команды, буферизует, и генерит импульсы step-dir для контроллеров (драйверов) в высочайшей точностью. ну и чем не система реального времени?

У меня именно такой CNC, с WinCE.
Контроллер этот :
www.leadshine.com/eBusiness/EN/product_list.asp?ca…

Работа этой системы весьма далека от идеала.
Скорее всего буду её кардинально изменять.

toxa
Soling:

Это же чисто теоритические размышления об истинно реальным времени и псевдо реальным.

нет в природе никакого реального времени. никто даже не знает толком, время непрерывно или есть кванты. слово “реальное”, которое так смущает означает ничто иное, как то, что система ГАРАНТИРОВАННО УСПЕВАЕТ делать свою работу за некий фиксированный промежуток времени.

den_k
toxa:

“ртос” нужна только для системы, которая непосредственно генерит шаги. например, программа под виндами читает g-код, просчитывает его, генерит некие макрокоманды и отсылает их в контроллер через интерфейс rs232 (usb, что угодно). контроллер получает эти команды, буферизует, и генерит импульсы step-dir для контроллеров (драйверов) в высочайшей точностью. ну и чем не система реального времени?

Полностью согласен. Я бы назвал такую схему разделения функций - классической. По ней работают и большинство ЧПУ и вся офисная техника типа принтеров. Все функции, для которых требуется малое время реакции выполняются там отдельным аппаратным устройством (контроллером в принтере или приводе).
Реалтайм ОС нужна, если мы делаем этот контроллер в программе. Тогда некоторые функции программы должны иметь предсказуемое время выполнения. Например, генерация шаговых импульсов.

Не согласен, что этот топик не имеет никакого отношения к практике. Большинство трудящихся считает, что управление шаговиком по ЛПТ из под мача - это верх мечтаний хоббита, а для всего остального нужны системы ЧПУ за большие K$. Если хотя бы несколько активных человек поймут, чем отличаются эти системы - вскоре появится достойные ЧПУ по нормальной цене. Технически - проблем не много. 90% компонентов для этого уже давно есть на рынке.