The acontis Windows Real-time Extension
acontis’ modern, sophisticated Windows real-time platform
More and more applications, especially in the Industrial Automation, Medical and Data Acquisition and Measurement Market require deterministic real-time behavior. Using the acontis Windows real-time extension it is possible to run Windows in conjunction with an extremely fast real-time environment in parallel. Plenty of existing drivers, e.g. for fieldbus controllers or GigE camera systems, communication stacks (EtherCAT, Profinet, OPC, OPC UA, TSN, ...) or complex software solutions like CNC controller or software PLCs are available for the real-time part.
Microsoft Visual Studio support
The core part for developing and debugging real-time applications is the support for Visual Studio. Project Wizards help to enable customers getting real-time applications created in an easy and logical way – as simple as creating Windows application projects.
Also debugging is done in the same way as debugging regular Windows applications.
Most important features at a glance
- Available for Windows 7 and later Windows versions (32 Bit and 64 Bit)
- Support for Windows 10 IoT (Windows 10 IoT Core on request)
- Ultra high speed response time within microseconds and full independence from Windows, if Windows crashes, the real-time part continues to work!
- Optimized utilization of multi core systems (scalable from one to multiple CPU cores for the real-time part)
- Intuitive and popular real-time API (processes, threads, events, sockets, POSIX support, ...)
- Support of the Microsoft Development Tools (Visual Studio)
- Very comfortable Debugging environment for the real-time part using the Microsoft tools, real-time applications will be developed and debugged just like a normal Windows application
New approach for a sophisticated Windows real-time solution
Not all Windows real-time extensions (Windows RTXs) or real-time solutions for Windows are implemented the same, and there are important benefits and trade-offs to consider. Contrary to what users might be led to believe, these real-time extensions do not make Windows itself a real-time OS (RTOS). Existing Windows applications are not automatically going to behave like real-time applications when a Windows real-time extension is implemented - in no way there will be deterministic and in-time Windows behavior.
Typically, Windows real-time extensions implement a proprietary real-time operating system (or proprietary real-time environment) in parallel to Windows, or sometimes even embedded into Windows. In these solutions any application that wants to be a real-time application with real-time behavior must run in this proprietary kernel, or in this proprietary real-time environment. This can be a challenge for developers as they must learn and use the proprietary environment for developing their real-time applications. Furthermore, they must rely on the features that have been decided to be implemented by the manufacturer of the real-time kernel or environment, which can sometimes be lacking or take time before things are fully available.
acontis’ Windows real-time extensions works differently than a traditional Windows real-time extension and provides an interesting alternative that users and implementors of real-time applications should consider.
First, acontis uses a more segregated approach for the real-time applications and the non-real-time Windows part. Rather than using a proprietary RTOS or real-time environment, a standard hard real-time kernel on top of a hypervisor environment is used. This hypervisor environment is key and ensures much better isolation from Windows compared to traditional real-time extensions.
The acontis Windows real-time solution is hard real-time and easy to use!
Customers may be concerned about the need to learn how to use a new real-time kernel environment and additional efforts compared to other solutions, but this is not the case. First, customers do not have to care at all about how to configure this environment. The solution is shipped with a ready to use properly configured, hard real-time optimized kernel which includes everything necessary to create applications on top of this environment. As a result, extremely short cycle times down to 50 microseconds can be achieved.
Developing real-time applications is as simple as developing native Windows applications. There are plenty of examples available and acontis’ support will provide the right answer for all technical questions. Furthermore, as standards are used for the real-time part, there is no other environment where customers can get more answers through the global developer community.
Besides the real-time kernel itself, using a standard brings with it many useful benefits. Sophisticated features like sockets, a full POSIX API, user space / kernel space isolation, multitasking and multiprocessing are all available. For almost any hardware available on the market today, a driver is available. This means that developers do not need to wait for a specific driver to be implemented and released by the manufacturer of a proprietary real-time extension platform. Finally, there is a wealth of software libraries, protocol stacks, and middleware (both open source as well as closed source commercial products) available: C++ STL, Boost, Corba, OPC/UA, DDS, AVB/TSN, EtherCAT, PROFINET, Software-based PLC, motion control Libraries, CNC solutions, and many, many more.
The core components of the real-time kernel can be provided in source code as well, and customers are even able to debug deep into the kernel if necessary. This would never be possible with a proprietary RTOS implementation.
Finally, developers using the acontis solution do not need to give up their preferred Microsoft development environment. Software development and debugging of real-time applications is fully supported using Microsoft Visual Studio.