{"title":"Control system development for test handler","authors":"K. John","doi":"10.1109/SMELEC.2002.1217855","DOIUrl":null,"url":null,"abstract":"This paper discuss on how to develop a hard real-time machine control system with Microsoft Windows NT Operating System, where the respond must be within 0.5 milliseconds. The attempt to use a general-purpose operating system (Microsoft Windows NT 4.0 Workstation) is because there is abundance of Commercial-Off-the-Shelf Components (COTS), easily available tools (compilers, and 3 party tools) and need not to learn another operating system behavior. The most important factor is there is no single dominant operating system or tools vendor for real-time operating system. Since the no single dominant real-time operating system development under real-time operating system is riskier and more costly. Ideally codes must be portable between different operating system where it is apparent with Windows platforms, Windows 95/98, Windows ME, Windows 2000, Windows XP or even Windows CE. Firstly study was done on how Microsoft Windows NT operating system works internally from materials from Microsoft Software Development Network (MSDN). Secondly study was done how to take advantage of the operating system to create a real time application. Microsoft Windows NT is a general purpose operating system that does not support real time application development, but it has all the vital elements that a real time operating system needs. The vital elements are priority-driven, preemptive scheduler, preemptive interrupt handler (for critical interrupts), deferred procedure calls (DPC) for non-critical (DPC executes after ISR), synchronization and deterministic response time. With these vital elements and some modification to application codes to enable it to execute in higher priority level, would result a real time application. This does not mean changing all the codes to higher priority is the solution, as it would cause system to malfunction as other device driver or low-level interface run at high priority too and this would lock up the system. With the combination of priority level, synchronization a complete real time solution can be implemented and this paper covers the concept. This concept also explains what was done to overcome the need of special hardware (as recommended) to accomplish hard real-time application with the response of 0.5 milliseconds.","PeriodicalId":211819,"journal":{"name":"ICONIP '02. Proceedings of the 9th International Conference on Neural Information Processing. Computational Intelligence for the E-Age (IEEE Cat. No.02EX575)","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2002-12-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"ICONIP '02. Proceedings of the 9th International Conference on Neural Information Processing. Computational Intelligence for the E-Age (IEEE Cat. No.02EX575)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SMELEC.2002.1217855","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
This paper discuss on how to develop a hard real-time machine control system with Microsoft Windows NT Operating System, where the respond must be within 0.5 milliseconds. The attempt to use a general-purpose operating system (Microsoft Windows NT 4.0 Workstation) is because there is abundance of Commercial-Off-the-Shelf Components (COTS), easily available tools (compilers, and 3 party tools) and need not to learn another operating system behavior. The most important factor is there is no single dominant operating system or tools vendor for real-time operating system. Since the no single dominant real-time operating system development under real-time operating system is riskier and more costly. Ideally codes must be portable between different operating system where it is apparent with Windows platforms, Windows 95/98, Windows ME, Windows 2000, Windows XP or even Windows CE. Firstly study was done on how Microsoft Windows NT operating system works internally from materials from Microsoft Software Development Network (MSDN). Secondly study was done how to take advantage of the operating system to create a real time application. Microsoft Windows NT is a general purpose operating system that does not support real time application development, but it has all the vital elements that a real time operating system needs. The vital elements are priority-driven, preemptive scheduler, preemptive interrupt handler (for critical interrupts), deferred procedure calls (DPC) for non-critical (DPC executes after ISR), synchronization and deterministic response time. With these vital elements and some modification to application codes to enable it to execute in higher priority level, would result a real time application. This does not mean changing all the codes to higher priority is the solution, as it would cause system to malfunction as other device driver or low-level interface run at high priority too and this would lock up the system. With the combination of priority level, synchronization a complete real time solution can be implemented and this paper covers the concept. This concept also explains what was done to overcome the need of special hardware (as recommended) to accomplish hard real-time application with the response of 0.5 milliseconds.
本文讨论了如何在Microsoft Windows NT操作系统下开发一个响应时间必须在0.5毫秒以内的硬实时机床控制系统。尝试使用通用操作系统(Microsoft Windows NT 4.0工作站)是因为有大量的商用现成组件(COTS),容易获得的工具(编译器和三方工具),并且不需要学习其他操作系统的行为。最重要的因素是,实时操作系统没有单一的主导操作系统或工具供应商。由于没有单一的占主导地位的实时操作系统,在实时操作系统下开发风险更大,成本更高。理想情况下,代码必须在不同的操作系统之间可移植,这在Windows平台、Windows 95/98、Windows ME、Windows 2000、Windows XP甚至Windows CE上都很明显。首先利用微软软件开发网络(MSDN)的资料对微软Windows NT操作系统的内部工作原理进行了研究。其次,研究了如何利用操作系统的优势创建实时应用程序。Microsoft Windows NT是一个通用的操作系统,它不支持实时应用程序开发,但它具有实时操作系统所需的所有重要元素。关键要素是优先级驱动、抢占式调度器、抢占式中断处理程序(用于关键中断)、用于非关键中断的延迟过程调用(DPC在ISR之后执行)、同步和确定性响应时间。有了这些重要元素,再对应用程序代码进行一些修改,使其能够在更高的优先级级别上执行,就会产生一个实时应用程序。这并不意味着将所有代码更改为更高优先级是解决方案,因为它会导致系统故障,因为其他设备驱动程序或低级接口也以高优先级运行,这将锁定系统。结合优先级,可以实现完整的实时同步解决方案,本文介绍了这一概念。这个概念还解释了如何克服对特殊硬件(按照建议)的需求,以实现响应为0.5毫秒的硬实时应用程序。