{"title":"数字模型铁路系统的实时软件控制器","authors":"R. Webster, D. Hess","doi":"10.1109/RTA.1993.263102","DOIUrl":null,"url":null,"abstract":"The paper describes a real-time software controller for a digital model railroad. The Unix real-time primitives of fork, pipe, and signal are used to perform interprocess communication among three concurrently executing tasks, (1) a scanning task, (2) a scheduler and collision avoidance task, and (3) a graphical user interface (GUI) task. The software engineering objective of this real-time system is to maintain control of multiple digital locomotives each running on the same track layout while at the same time allowing a computerized scheduling system to 'run' the trains. The control software continuously monitors reed contact sensors to keep track of each train's location and direction, and is constantly performing collision avoidance testing. The locomotives are digitally encoded with a chipset that is addressable, therefore messy block wiring to turn the power on and off is unnecessary. Each digital locomotive and digital turnout switch responds to computer commands that are sent to its address.<<ETX>>","PeriodicalId":293622,"journal":{"name":"[1993] Proceedings of the IEEE Workshop on Real-Time Applications","volume":"15 6 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1993-05-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"A real-time software controller for a digital model railroad system\",\"authors\":\"R. Webster, D. Hess\",\"doi\":\"10.1109/RTA.1993.263102\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The paper describes a real-time software controller for a digital model railroad. The Unix real-time primitives of fork, pipe, and signal are used to perform interprocess communication among three concurrently executing tasks, (1) a scanning task, (2) a scheduler and collision avoidance task, and (3) a graphical user interface (GUI) task. The software engineering objective of this real-time system is to maintain control of multiple digital locomotives each running on the same track layout while at the same time allowing a computerized scheduling system to 'run' the trains. The control software continuously monitors reed contact sensors to keep track of each train's location and direction, and is constantly performing collision avoidance testing. The locomotives are digitally encoded with a chipset that is addressable, therefore messy block wiring to turn the power on and off is unnecessary. Each digital locomotive and digital turnout switch responds to computer commands that are sent to its address.<<ETX>>\",\"PeriodicalId\":293622,\"journal\":{\"name\":\"[1993] Proceedings of the IEEE Workshop on Real-Time Applications\",\"volume\":\"15 6 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1993-05-13\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"[1993] Proceedings of the IEEE Workshop on Real-Time Applications\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/RTA.1993.263102\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"[1993] Proceedings of the IEEE Workshop on Real-Time Applications","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/RTA.1993.263102","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
A real-time software controller for a digital model railroad system
The paper describes a real-time software controller for a digital model railroad. The Unix real-time primitives of fork, pipe, and signal are used to perform interprocess communication among three concurrently executing tasks, (1) a scanning task, (2) a scheduler and collision avoidance task, and (3) a graphical user interface (GUI) task. The software engineering objective of this real-time system is to maintain control of multiple digital locomotives each running on the same track layout while at the same time allowing a computerized scheduling system to 'run' the trains. The control software continuously monitors reed contact sensors to keep track of each train's location and direction, and is constantly performing collision avoidance testing. The locomotives are digitally encoded with a chipset that is addressable, therefore messy block wiring to turn the power on and off is unnecessary. Each digital locomotive and digital turnout switch responds to computer commands that are sent to its address.<>