Applies To:
  • CitectSCADA

Summary:
I have configured my Citect project for multi-language support to allow users to switch between English and Russian at runtime. This works fine except when I try to print Alarms to lpt1.dos in Russian. I can see that the Alarms are translated correctly on the Alarm page yet the output to the printer is garbled.

I have checked that my printer supports the Russian character sets OEM855, OEM866 & ISO-8559, but selecting either of these does not seem to work. What could I be doing wrong?

 

Solution:
Citect uses the Windows default locale code pages when printing Alarms to the Lpt1.dos port. For most Western European languages (ie. English, Dutch, Spanish) the default code pages will be the same (ANSI1252 & OEM850).

If you wish to provide printing support for languages that require other code pages, such as Russian (ANSI1251 & OEM866) or Hebrew (ANSI1255 & OEM865), you must set the default locale to the appropriate language. For Windows 2000, use the 'Set Default' option in the 'General' tab of 'Regional Options' within the Control Panel to set the appropriate language.

Note: By default, Alarms will be sent to the printer using the default OEM code page. Set the Citect.ini parameter

[Device]
LptDosANSIToOEM=0

to use ANSI. The printer used must also provide support for the chosen code page.

 

Keywords:
 

Attachments