Archives
D Programming
DD.gnu digitalmars.D digitalmars.D.bugs digitalmars.D.dtl digitalmars.D.dwt digitalmars.D.announce digitalmars.D.learn digitalmars.D.debugger C/C++ Programming
c++c++.announce c++.atl c++.beta c++.chat c++.command-line c++.dos c++.dos.16-bits c++.dos.32-bits c++.idde c++.mfc c++.rtl c++.stl c++.stl.hp c++.stl.port c++.stl.sgi c++.stlsoft c++.windows c++.windows.16-bits c++.windows.32-bits c++.wxwindows digitalmars.empire digitalmars.DMDScript |
c++ - Windows response time and advices
One of our program is a DOSX program. We make real time with it on pure Dos: drives a cnc machine tool. It works fine, and i think nothing is faster than DOSX associated with DM C++. but i have some worries for the future: 1- will we be able to run in pure DOS mode in the future ? (i think Win 2000 and Win Me as well don't support pure dos mode), 2- PC's hardware are less and less PC Compatible.. as hardware is more and more virtualized, 3- for network, scanner and web cam, we have to restart windows, witch is pretty long.. We are studying different solution for the future. One is to put more hardware in the machine (buffer) and port our program on Windows. The question is: What is the maximum response time of windows on hardware request ? There is already some real time program on windows: software audio and image decompression, web cam, CD-R engraving, etc... I would like to have some general informations about those kind of software, do i have to make a device driver, is there someting special to know, advices, etc.. Thanks very much Roland May 23 2001
Why not just stick with vanilla DOS? If it solves the problem, there's no need to upgrade. After all, for running a machine tool, what does Windows 2000 offer? If the future is a concern, buy a few backup computers that will run DOS, and save copies of your DOS disks in a safe place. -Walter May 23 2001
well, we will sell 20 of our micro machine tools on 2001 and 50 on 2002, each one networked with one or two pc's.. regards rolland Walter a écrit :Why not just stick with vanilla DOS? If it solves the problem, there's no need to upgrade. After all, for running a machine tool, what does Windows 2000 offer? If the future is a concern, buy a few backup computers that will run DOS, and save copies of your DOS disks in a safe place. -Walter May 24 2001
There will always be PC-104 and it will always run DOS. PC-104 is an ISA bus PC architecture having a different mechanical form factor which is tailored for embedded applications. PC-104+ is the PCI version of same. Both should be around a good long time. Check into it. http://www.pc104.org/ Mark On Thu, 24 May 2001 10:37:02 +0200, NancyEtRoland <nancyetroland free.fr> wrote:well, we will sell 20 of our micro machine tools on 2001 and 50 on 2002, each one networked with one or two pc's.. regards rolland Walter a écrit :Why not just stick with vanilla DOS? If it solves the problem, there's no need to upgrade. After all, for running a machine tool, what does Windows 2000 offer? If the future is a concern, buy a few backup computers that will run DOS, and save copies of your DOS disks in a safe place. -Walter May 24 2001
Cool! I didn't know they were that serious about it! Jan Mark Evans wrote:There will always be PC-104 and it will always run DOS. PC-104 is an ISA bus PC architecture having a different mechanical form factor which is tailored for embedded applications. PC-104+ is the PCI version of same. Both should be around a good long time. Check into it. http://www.pc104.org/ Mark On Thu, 24 May 2001 10:37:02 +0200, NancyEtRoland <nancyetroland free.fr> wrote:well, we will sell 20 of our micro machine tools on 2001 and 50 on 2002, each one networked with one or two pc's.. regards rolland Walter a écrit :Why not just stick with vanilla DOS? If it solves the problem, there's no need to upgrade. After all, for running a machine tool, what does Windows 2000 offer? If the future is a concern, buy a few backup computers that will run DOS, and save copies of your DOS disks in a safe place. -Walter May 24 2001
Yeah, they are sweet. However I consider DOS ugly, something that should have died a long time ago, especially for embedded apps. My hope is that Real-Time Linux will get to a point of stability such that it displaces all the old DOS stuff in the embedded world. RT Linux will run on PC-104 too. You have to realize that PC- 104 is the same PC as sits on your desk except for the mechanical aspects. For those interested in a Windows-compliant embedded tool check out Real Time Target (RTT) out of Germany which is a Win API emulation for real-time targets. You end up writing code that pretty much reads, walks, and quacks like Windows or DOS code, but which actually runs on a real-time kernel. It will even call DLLs. Still it's great that Digital Mars supports 16-bit code and the DOS extended stuff. Very few compilers still do. Mark On Thu, 24 May 2001 12:26:22 -0400, Jan Knepper <jan smartsoft.cc> wrote:Cool! I didn't know they were that serious about it! Jan Mark Evans wrote:There will always be PC-104 and it will always run DOS. PC-104 is an ISA bus PC architecture having a different mechanical form factor which is tailored for embedded applications. PC- May 24 2001
Mark Evans wrote:My hope is that Real-Time Linux will get to a point of stability such that it displaces all the old DOS stuff in the embedded world. RT Linux will run on PC-104 too. You have to realize that PC- 104 is the same PC as sits on your desk except for the mechanical aspects. May 24 2001
Mark Evans wrote:Yeah, they are sweet. However I consider DOS ugly, something that should have died a long time ago, especially for embedded apps. May 24 2001
Mark Evans a écrit :Yeah, they are sweet. However I consider DOS ugly, something that should have died a long time ago, especially for embedded apps. May 25 2001
Thanks well some years ago we used industrial pc board. the problem is 1- only the board is the price of a complete pc, 2- pc-104 is ISA isn't it ? now we put the complete pc inside an industrial box regard Mark Evans a écrit :There will always be PC-104 and it will always run DOS. PC-104 is an ISA bus PC architecture having a different mechanical form factor which is tailored for embedded applications. PC-104+ is the PCI version of same. Both should be around a good long time. Check into it. http://www.pc104.org/ Mark On Thu, 24 May 2001 10:37:02 +0200, NancyEtRoland <nancyetroland free.fr> wrote:well, we will sell 20 of our micro machine tools on 2001 and 50 on 2002, each one networked with one or two pc's.. regards rolland Walter a écrit :Why not just stick with vanilla DOS? If it solves the problem, there's no need to upgrade. After all, for running a machine tool, what does Windows 2000 offer? If the future is a concern, buy a few backup computers that will run DOS, and save copies of your DOS disks in a safe place. -Walter May 25 2001
NancyEtRoland a écrit :2- pc-104 is ISA isn't it ? May 25 2001
first i esitate to expose my problem here as it is not specificaly DM C++. but i would like it to have a DM C++ based solution.. More informations: a PC based little cnc machine: - must run a real time softwear, - must run a "'evoluted" OS because it is plugged on a LAN with other pc's, a web cam is plugged on it, it is plugged on Internet for remote mantenance (Symantec pcAnywhere), etc.. well i don't feel like making all those drivers on MS-DOS.. The actual solution is: A windows CAD/CAM program on the cnc and on the pc networked with it, a DOSX program only on the cnc, for driving the cnc itself on real time mode on pure dos. The problems are: - i wrote my worries about the future of DOS but especially the fact that pc motherboard are less and less pc compatible, (yes pc-104 is a solution) - i'm afraid pure dos mode will not exist any more on windows, - switching from windows to pure dos and back is long, - two programs to mantain. The ideal solution would be to integrate the DOSX real time program inside the Windows CAD/CAM program. I think Linux can be a solution. I think Windows can do it two. We have a Windows programmer but he is not a system programmer, i'm rather system programing oriented, but not a Windows programmer. that is the reason i asked for help for system programming on Windows Thanks Roland Roland a écrit :One of our program is a DOSX program. We make real time with it on pure Dos: drives a cnc machine tool. It works fine, and i think nothing is faster than DOSX associated with DM C++. but i have some worries for the future: 1- will we be able to run in pure DOS mode in the future ? (i think Win 2000 and Win Me as well don't support pure dos mode), 2- PC's hardware are less and less PC Compatible.. as hardware is more and more virtualized, 3- for network, scanner and web cam, we have to restart windows, witch is pretty long.. We are studying different solution for the future. One is to put more hardware in the machine (buffer) and port our program on Windows. The question is: What is the maximum response time of windows on hardware request ? There is already some real time program on windows: software audio and image decompression, web cam, CD-R engraving, etc... I would like to have some general informations about those kind of software, do i have to make a device driver, is there someting special to know, advices, etc.. Thanks very much Roland May 25 2001
Roland, You might want to look into writing a Windows NT device driver for this. I have no idea what the required response times are your program needs. If you want to get something working I would suggest, try a "service" on Windows NT/2000 first. If that is reliable enough you're done easy. If not, you might want to put the code into a device driver and see if that will work. The problem with Windows NT/2000 is that everything seems to run in kernel mode as the Unix people call it. Unix has split off the operating system which runs in level-0 while userland is in level-1. This way the operating system can always repond as it controls the system. I think that most (if not everyone) of the people on this newgroup know that: while ( 1 ) ; Has a rather great effect on Windows NT/2000. Start a number of threads with these kind of things and you probably won't be able anymore to decently shutdown the system. Anyways, for information on how to write a Windows NT/2000 device driver check http://www.osr.com/., Patrick van Hoorn Alkema (PvHA compuserve.com), who also used to use Symantec C++ and may be still does, forwarded me to this site and the book they sell has been of great help to me. If it were not that I am swamped with work already I would offer you to help to convert the current program to a Windows NT/2000 service, but I can not decently offer that right now. Don't worry, be Kneppie! Jan NancyEtRoland wrote:I think Windows can do it two. We have a Windows programmer but he is not a system programmer, i'm rather system programing oriented, but not a Windows programmer. that is the reason i asked for help for system programming on Windows May 26 2001
... Patrick van Hoorn Alkema (PvHA compuserve.com), who also May 28 2001
My advice is the following. If you want true real-time performance with Windows compatibility, then you need a Windows API emulator that runs on a real-time kernel. On-time sells exactly that. http://www.on-time.com/ Personally I would never bother with Windows for hard real-time requirements. You might also consider the WINE project with Real-Time Linux, but I am told that RT Linux is much less mature (more buggy) than Linux per se. I'm no expert on DOSX but presumably if it runs under DOSX then it will run under Windows emulation. Mark On Sat, 26 May 2001 01:48:30 +0200, NancyEtRoland <nancyetroland free.fr> wrote:first i esitate to expose my problem here as it is not specificaly DM C++. but i would like it to have a DM C++ based solution.. More informations: a PC based little cnc machine: - must run a real time softwear, - must run a "'evoluted" OS because it is plugged on a LAN with other pc's, a web cam is plugged on it, it is plugged on Internet for remote mantenance (Symantec pcAnywhere), etc.. well i don't feel like making all those drivers on MS-DOS.. The actual solution is: A windows CAD/CAM program on the cnc and on the pc networked with it, a DOSX program only on the cnc, for driving the cnc itself on real time mode on pure dos. May 28 2001
I would suggest looking at spliting up your system so that the realtime element of the CNC controller runs on a small embedded board. You will then only need to write a simple windows program to send commands to the CNC controller to instruct it how to cut (start position, stop position, speed, depth and path). You could probably get away with using RS232 or the printer port for the comm's. Regards, Damian On Mon, 28 May 2001 22:15:28 GMT, Mark Evans <mevans zyvex.com> wrote:My advice is the following. If you want true real-time performance with Windows compatibility, then you need a Windows API emulator that runs on a real-time kernel. On-time sells exactly that. http://www.on-time.com/ Personally I would never bother with Windows for hard real-time requirements. You might also consider the WINE project with Real-Time Linux, but I am told that RT Linux is much less mature (more buggy) than Linux per se. I'm no expert on DOSX but presumably if it runs under DOSX then it will run under Windows emulation. Mark On Sat, 26 May 2001 01:48:30 +0200, NancyEtRoland <nancyetroland free.fr> wrote:first i esitate to expose my problem here as it is not specificaly DM C++. but i would like it to have a DM C++ based solution.. More informations: a PC based little cnc machine: - must run a real time softwear, - must run a "'evoluted" OS because it is plugged on a LAN with other pc's, a web cam is plugged on it, it is plugged on Internet for remote mantenance (Symantec pcAnywhere), etc.. well i don't feel like making all those drivers on MS-DOS.. The actual solution is: A windows CAD/CAM program on the cnc and on the pc networked with it, a DOSX program only on the cnc, for driving the cnc itself on real time mode on pure dos. May 31 2001
Yes Actually with DOSX we run at 40000 hardware interrups per seconds. I think i will never go as fast on Windows. So i need to make some harware (buffer) to help Windows. But how much ? The faster i can go on Windows, the cheaper and simpler is the hardware associated with it. Thanks Roland Damian Dixon a écrit :I would suggest looking at spliting up your system so that the realtime element of the CNC controller runs on a small embedded board. You will then only need to write a simple windows program to send commands to the CNC controller to instruct it how to cut (start position, stop position, speed, depth and path). You could probably get away with using RS232 or the printer port for the comm's. Regards, Damian On Mon, 28 May 2001 22:15:28 GMT, Mark Evans <mevans zyvex.com> wrote:My advice is the following. If you want true real-time performance with Windows compatibility, then you need a Windows API emulator that runs on a real-time kernel. On-time sells exactly that. http://www.on-time.com/ Personally I would never bother with Windows for hard real-time requirements. You might also consider the WINE project with Real-Time Linux, but I am told that RT Linux is much less mature (more buggy) than Linux per se. I'm no expert on DOSX but presumably if it runs under DOSX then it will run under Windows emulation. Mark On Sat, 26 May 2001 01:48:30 +0200, NancyEtRoland <nancyetroland free.fr> wrote:first i esitate to expose my problem here as it is not specificaly DM C++. but i would like it to have a DM C++ based solution.. More informations: a PC based little cnc machine: - must run a real time softwear, - must run a "'evoluted" OS because it is plugged on a LAN with other pc's, a web cam is plugged on it, it is plugged on Internet for remote mantenance (Symantec pcAnywhere), etc.. well i don't feel like making all those drivers on MS-DOS.. The actual solution is: A windows CAD/CAM program on the cnc and on the pc networked with it, a DOSX program only on the cnc, for driving the cnc itself on real time mode on pure dos. May 31 2001
On Thu, 31 May 2001 11:07:13 +0200, Roland <rv ronetech.com> wrote:Yes Actually with DOSX we run at 40000 hardware interrups per seconds. I think i will never go as fast on Windows. May 31 2001
I avoid Windows for real-time applications if at all possible, but my main reason is uptime of the OS :> Jun 01 2001
I think this discussion belongs on some other newsgroup now. It is asking how to design a CNC system and that's not what we're here for. Good luck though. -- Mark On Fri, 01 Jun 2001 15:08:46 +0200, Roland <rv ronetech.com> wrote:I avoid Windows for real-time applications if at all possible, but my main reason is uptime of the OS :> Jun 03 2001
Mark Evans a écrit :I think this discussion belongs on some other newsgroup now. It is asking how to design a CNC system and that's not what we're here for. Good luck though. Jun 04 2001
Thank you very much everybody, I'm always surprised how powerful internet is, thank to people like you. Now i have to "digest" all those information and use some of usefull links you give me. Roland NancyEtRoland a écrit :first i esitate to expose my problem here as it is not specificaly DM C++. but i would like it to have a DM C++ based solution.. More informations: a PC based little cnc machine: - must run a real time softwear, - must run a "'evoluted" OS because it is plugged on a LAN with other pc's, a web cam is plugged on it, it is plugged on Internet for remote mantenance (Symantec pcAnywhere), etc.. well i don't feel like making all those drivers on MS-DOS.. The actual solution is: A windows CAD/CAM program on the cnc and on the pc networked with it, a DOSX program only on the cnc, for driving the cnc itself on real time mode on pure dos. The problems are: - i wrote my worries about the future of DOS but especially the fact that pc motherboard are less and less pc compatible, (yes pc-104 is a solution) - i'm afraid pure dos mode will not exist any more on windows, - switching from windows to pure dos and back is long, - two programs to mantain. The ideal solution would be to integrate the DOSX real time program inside the Windows CAD/CAM program. I think Linux can be a solution. I think Windows can do it two. We have a Windows programmer but he is not a system programmer, i'm rather system programing oriented, but not a Windows programmer. that is the reason i asked for help for system programming on Windows Thanks Roland Roland a écrit :One of our program is a DOSX program. We make real time with it on pure Dos: drives a cnc machine tool. It works fine, and i think nothing is faster than DOSX associated with DM C++. but i have some worries for the future: 1- will we be able to run in pure DOS mode in the future ? (i think Win 2000 and Win Me as well don't support pure dos mode), 2- PC's hardware are less and less PC Compatible.. as hardware is more and more virtualized, 3- for network, scanner and web cam, we have to restart windows, witch is pretty long.. We are studying different solution for the future. One is to put more hardware in the machine (buffer) and port our program on Windows. The question is: What is the maximum response time of windows on hardware request ? There is already some real time program on windows: software audio and image decompression, web cam, CD-R engraving, etc... I would like to have some general informations about those kind of software, do i have to make a device driver, is there someting special to know, advices, etc.. Thanks very much Roland May 31 2001
|