Applies To:
  • CitectSCADA 4.xx, 5.xx

When I run my Citect project which is logging alarms to LPT1.DOS, my alarms print very slowly or fail to print at all until I shut down Citect when the project is running on Windows NT. When I run my project on Windows 95, everything prints fine. Why is this happening? 

This problem only occurs on Windows NT. The solution is to not install a printer driver for the printer on that printer port. For Example, if you are printing alarms to LPT1.DOS, it is necessary to make sure no printers drivers (In the Control Panel, Printers folder) are installed that point to LPT1:. This creates a limitation that you can only use the alarm printer to print to LPT1.DOS and anything that references LPT1: will not be able to use that printer (including other Windows programs).

The problem stems from NT itself, which does not run on DOS at all, and does not rely on the DOS stream mechanism to print.

Windows NT differs from Windows 95 in that it maintains it's own stream mechanism which is separate from NT's emulated DOS stream mechanism which runs as a separate subsystem. There are mappings between these two mechanisms, however the stream does not behave as a standard stream in that it is buffered, and needs to be flushed manually.