|
About MSI Tec
MSI Tec, Inc. is a distribution leader in motion control, industrial computing, industrial Ethernet, device networking and machine to machine (M2M) communications.
Our engineers can help plan, design and implement solutions in virtually any industry.
Visit our website today and contact one of our sales engineers to see how we can help,
OR CALL US TOLL-FREE AT
(866) 397-7388
Our Line Card
View and download our line card (PDF, 3MB) to see all of our product lines on one printable page. Adobe Acrobat Reader 6.0 or above required.
|
|
Taking Out the Garbage:
Making Windows XP Suitable
as an HMI Platform
By Marty Huff,
MSI Tec, Inc.
You’ve finished your design, developed the Human Machine Interface (HMI), and your machine has been installed on the factory floor. The operator clicks the "Start Proces s" button on the HMI application you created and, lo and behold, a balloon tip pops up at the bottom of the screen informing you that "There are unused icons on your desktop." In Windows Task Manager, you see about two dozen processes running you’ve never heard of which are eating up precious processor and memory resources. Not to mention the thought of an operator playing Solitaire or surfing the web, and opening the computer to risks of becoming infected with a virus, spyware or even being hacked. You’re asking yourself why you used Windows XP for an HMI platform in the first place!
Why use Windows XP? In fact, Windows XP can provide a robust HMI environment, and has several advantages over either Windows CE or Linux. Windows XP is compatible with most applications and provides a familiar environment for development. Windows XP is easily configured to go beyond a simple HMI / SCADA platform to provide services such as networking and remote monitoring, remote access, web browser access, database connectivity and many others. Windows XP is also favored by IT departments because of its familiarity and interoperability. There are many HMI development packages that are designed for Windows XP such as Wonderware, Indusoft, Intellution, and others which provide an easy-to-use graphical interface that allows for speedier development than starting from scratch.
Out of the box, however, Windows XP is not suitable to act as a HMI / SCADA platform. The XP OS is made to be an end-user interface to applications, not an application platform running in the background. There are several "tricks" that can be performed to "take out the garbage" thus creating a stable, robust, and secure environment for your application.
Reducing Annoyances. Going back to the example used at the beginning of this article, one of the most annoying issues when using XP for an application environment is the "informative" balloon that pops up in the System Tray at the lower right of your screen (Fig. 1).

Fig. 1
It’s actually quite simple to get rid of those annoying Windows balloon pop-ups once and for all. Open the Registry Editor by going to StartRun and typing regedit. Navigate to:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Current Version\Explorer\Advanced
Right click on the Advanced folder and choose New DWORD Value (Fig. 2). Name the new value EnableBalloonTips and leave the data value at zero. No more annoying pop-ups. Keep in mind that this entry suppresses not only the annoying pop-ups, but all such pop-ups. This task can also be done by using the Windows Group Policy Editor, which will be discussed later in this article.
Fig. 2
Have you ever been annoyed by the beep you hear every time you press more than one key by accident? Or maybe it occurs when the PC freezes and you can’t push any key without hearing it. Well, here is how you disable the sound.
Again from the Registry Editor, navigate to:
HKEY_CURRENT_USER\Control Panel\Sound
Right click on Beep on the right side of the screen and select Modify. Change the value in the box to No. Exit and reboot the computer. Voila! No more beeping. There are a couple of different ways to accomplish this, including using Device Manager or using the Sounds applet in the Control Panel.
Optimizing Performance.
You can do several things in Windows XP to optimize performance, reduce start up times and create a reliable environment. One measure is to disable unneeded services and programs that are running in the background. A typical Windows XP installation has around 45 running by default. Depending upon the application, up to 30 can be disabled. Many services are obviously not needed, and can be set to start manually instead of automatically upon Windows startup. To see all running services, click on Start-Control Panel-Administrative Tools-Services (Fig. 3). To modify how a service runs, double-click on it to reveal the Properties page. The startup-type options are Automatic, Manual, and Disabled. Setting a service to Automatic causes it to start when Windows boots. Setting a service to Manual allows for the service to start if it’s needed by other dependent services. Disabling a service will not allow it to start, nor will any dependent services start. If you are going to change a service from automatically starting, Manual is usually a safe bet.
Fig. 3
Below is a list of services that can usually be set to Manual or Disabled.
Error Reporting Service - This service is responsible for the annoying "This program has encountered a problem" pop-up which gives you the option to send the report to Microsoft.
IIS Admin and World Wide Web Publishing - Unless your application is "web" or “browser” based, these services are not needed. WWW Publishing introduces huge security threats, and introduces even more vulnerabilities by introducing FTP and Mail services. Changing the startup type of these two services not only increases performance, but decreases security threats as well.
Automatic Updates - This process is best done manually so that you know exactly what updates from Microsoft are being installed. If, for some reason, an update causes instability, it’s much easier to troubleshoot than when you have no idea what was installed and when.
Remote Registry Service - The capabilities provided by the Remote Registry service are frightening to consider from a security perspective. They allow remote users (in theory, and only under controlled circumstances) to edit the Windows Registry. This Service should be set to "Disabled".
Routing and Remote Access - This service provides router functionality. It’s unlikely that you will be using the system as a network gateway or VPN server. This service can usually be disabled.
Messenger - Also known as the Windows Messenger Service, this service is highly vulnerable to hackers and should always be disabled unless specifically required.
SSDP Discovery Service / Universal Plug and Play Host - These services are used in conjunction with each other to detect and configure UPnP devices on a network. They are seldom used and introduce a security risk. It is best to disable them.
Telnet - The Telnet service is an old mechanism for providing remote access to a computer, most commonly known from its uses for remote command shell access on UNIX servers. Telnet allows remote access to the computer and is a huge security threat. Always disable this one.
Windows Time Service - This service contacts time servers on the Internet or within a Windows Domain to synchronize your clock’s time. If the computer is not a member of a Domain, it is configured by default to synchronize with time.windows.com. In most cases, for the purpose of and HMI, this service is not necessary and can be set to "Disabled".
Simple File Sharing - When a computer isn't part of a Microsoft Windows Domain, it's assumed by the default settings that all file system shares are meant to be universally accessible. If you are going to use file sharing at all you will want to provide shares only to specific, authorized users. Simple File Sharing, which provides blanket access to shares without exceptions, is not what we want to use for sharing file system resources. The Simple File Sharing service is active by default. This Service cannot be disabled from the Services Management Console, but can be disabled at My Computer-Tools-Folder Options, then clicking the View tab and clearing the Use Simple File Sharing (Recommended) check box in the Advanced settings pane.
Help and Support - This service is pretty much useless for anyone who has used a computer at all, and is nothing but an annoyance. Even if you disable this service, it will change back to automatic startup if you accidentally click on Help and Support on the start menu.
Obviously, there are many more services that can be disabled. Any service that is not being used poses security risks, and uses resources. Disabling these services will not only increase overall performance and reduce startup and shutdown times, but will also provide a more secure and stable environment. Try an experiment by timing how long it takes for Windows to start, then disable the services mentioned above and time it again. You’ll be surprised by the result.
A very useful tool for optimizing Windows Performance is the System Configuration utility (Fig. 4). You can access it at Start-Run, then typing msconfig. You can change service startup types here, but you can only disable services and not change them to manually start. You can also stop programs from running at start-up on the Startup tab. Some applications will add an executable to the startup directory to make them start faster or get updates. These programs can decrease overall performance. You can safely uncheck all programs to stop them from running at boot time. The only applications that you may want running are your anti virus software, and perhaps the HMI application you’re using.

Fig. 4
An additional method of increasing performance is to optimize the environment. Right-click on My Computer and choose Properties. On the Advanced tab, under Performance, choose the Settings button. Click the Adjust for Best Performance radial dialog box, which will disable all of Windows’ visual effects. The only one of these worth re-checking is "Use drop shadows for icon labels on the desktop", which appears second-from-bottom on the list and is helpful for reading desktop icon names.
You can also place the Windows Kernel into RAM to make the system run faster.
It’s a given that anything that runs in physical memory will be faster than a process that is cached to the hard drive as Virtual Memory. Running the foundation of Windows directly in RAM will obviously speed up operations. The following Registry edit will perform this task. It’s recommended that you perform this registry edit only if the system has 512MB or more of installed RAM. Navigate to the following Registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\DisablePagingExecutive
Set the value to 1 to
disable paging and have the kernel run in RAM. Exit the Registry and reboot.
Our last step in increasing the performance of your application is to set it to run at a higher priority than other applications and processes. From time to time you may see your application pause intermittently because another process is starting or running. These "glitches" can be avoided. You can grant your application priority over other applications by using the Task Manager. While your application is running, press Ctrl+Alt+Delete and choose Task Manager or right-click on the taskbar and choose Task Manager. On the Processes tab, right-click on the name of your application. When you mouse over Set Priority, you will have the option to choose from six different priority types (Fig. 5). Use caution when choosing the "Realtime" option, however, because it could affect other programs and processes adversely.

Fig. 5
Security.
One potential issue with Windows XP is the vulnerability to the end user. Sure, you can configure it so that the application runs on start-up and the user never sees the Windows background, but there are usually ways that the user can get access to windows such as plugging in a USB keyboard and striking Ctrl+Alt+Delete.
One powerful XP tool is the Group Policy Editor. Here you can turn off CD auto-play, hide desktop icons and customize the start menu. You can also and perform many other customizations to increase security such as limiting control-panel access either completely, or on an icon-by-icon basis.
To access Group Policy Editor, click StartàRun and type gpedit.msc. If it is not already installed on your computer, you can add it easily. Again at the Run prompt, type mmc. On the File menu, choose Add/Remove Snap-in, then click Add. Under Available Stand-alone Snap-ins, click Group Policy, and then click Add.
The two categories of policies are Computer Configuration and User Configuration. Most of the settings that can be changed are under the Administrative Templates folder in both categories. Choosing the Extended tab at the bottom of the console will display detailed descriptions of each item. As you will see by expanding the folders on the left and double clicking on the items, GPE is a very user-friendly and simple-to-use tool. Your only choices for the state of each setting are Not configured, Enabled, or Disabled, each of which is self-explanatory.
Conclusion.
Even though we may have only skimmed the surface of Windows XP "IT-guy tricks" that can be used to create a suitable environment for your HMI, following the above procedures to "take out the garbage" will assist you in creating an efficient, secure, intuitive platform for your application, not to mention avoiding some common XP annoyances.

Marty Huff is
MSI Tec's Director of Industrial Computing and Networking and is an expert in industrial communications, a frequent lecturer on topics related to computing and networking and, most recently, a blogger.
Marty assists customers daily with intelligent machine interfaces, device connectivity and systems design, and is available for dedicated training programs and seminars. Call Marty today at (866) 397-7388.
"Making XP Suitable as an HMI Platform" is also available as a free lunch-and-learn on-site educational seminar. See an overview of all of our on-site seminars here or go directly to the signup form.
For more information on any of the products we carry, visit our website or call a sales engineer today at (866) 397-7388.
MSI Tec is a provider of intelligent machine control components and systems, industrial networking and the value-adding engineering resources necessary for the successful identification and implementation of their use.
©
2008 MSI Tec, Inc. All Rights Reserved.
|