Application Using NI Hardware and Windows Embedded Software 2 Windows Embedded Software Andrew Mierau Project Engineer Definition of: HMI (Human Machine Interface) The user interface in a manufacturing or process control system. It provides a graphics-based visualization of an industrial control and monitoring system. An HMI typically resides in an office-based Windows computer that communicates with a specialized computer in the plant 3 in an office-based Windows computer that communicates with a specialized computer in the plant such as a programmable automation controller (PAC), programmable logic controller (PLC) or distributed control system (DCS). PC Magazine http://www.pcmag.com/encyclopedia_term/0,2542,t%3DHMI&i%3D44300,00.asp HMI Essentials Use Case Deployment and not Development Hardware TPC-22xx, cRIO-908x, etc Industrial PCs 4 Industrial PCs Servers User Interface LabVIEW Operating System Windows Linux Why Would I Choose Windows? Graphical User Interface Extensive driver and application support Complete tool chain Well documented APIs Wide availability 5 Wide availability Extensive hardware support Fast time to market Standard conformity Extensibility (no-closed box) Built-in manageability Localized language support Why Wouldnt I Choose Windows? Large footprint Only x86 Support High minimum hardware requirements 6 High minimum hardware requirements Perceived quality issues Not reliable Not resilient Not stable 7 What can developers do to create a reliable, custom HMI solution based on Windows? 8 Step #1 Pick the correct version of Windows for your use- case 9 Windows Embedded Overview 10 National Instruments Windows Offerings Windows Embedded Enterprise x86-based development systems PXI(e) Controllers Rack Mount Servers Windows XP and Windows 7 11 Windows XP and Windows 7 Windows Embedded Standard x86-based deployment systems cRIO-908x TPC-22xx Windows Embedded Standard 7 (WES7) Windows Embedded Standard 7 (WES7) Modularized version of Windows 7 Ultimate Binary Compatibility with Windows 7 Ultimate Rich operating system functionality 12 Rich operating system functionality Reduced operating system size Embedded Enabling Features Modularized WES7 1 Embedded Core Package 150 System Packages 500 Driver Packages 13 500 Driver Packages 37 Language Packages Windows XP Embedded/WES2009 10,000 Components 1,000 OS Components 9,000 Driver Components Compatibility Windows API Support Any application that runs on Windows 7 Client can also run on WES7* Windows Driver Support 14 Windows Driver Support Existing Windows 7 Client drivers will work on WES7* *Provided the correct packages are included in the image Footprint Minimum Configuration 550MB No GUI/Explorer Shell 15 No GUI/Explorer Shell Typical Configuration ~1.4GB Nearly Identical to Windows 7 experience Default Windows 7 OEM install is 16GB!! Recommendation #1 For Windows-based HMI systems, National Instruments recommends using Windows Embedded Standard 7 16 Embedded Standard 7 Step #2 Utilize features available in the OS 17 Embedded Enabling Features (EEF) Specifically targeted to embedded customers Unique to Windows Embedded Standard Enhance reliability and robustness of the OS 18 Enhance reliability and robustness of the OS Target specific use-cases Enhanced Write Filter (EWF) Benefits Protects a volume from write access All volume writes are redirected to a RAM overlay 19 All volume writes are redirected to a RAM overlay Volume writes are not persistent across reboots Extends life of flash media Protects against malicious or unintended changes to the system EWF in Detail Upper filter driver in the volume stack that is located between the file system and the class drivers that 20 class drivers that interface with the physical disk EWF Commands Enable* Disable* Commit* 21 Commit* Commit and Disable* Commit and Disable Live *Requires reboot Enhanced Write Filter (EWF) Limitations Not ideal for data logging Persistent data should be logged to unprotected partitions, removable devices or network locations Memory Usage 22 Memory Usage Memory usage should be monitored Virtual Memory (Page File) is not recommended Normally requires reboots Normally set up during development/maintenance Requires Administrative privileges Hibernate Once, Resume Many (HORM) Benefits Always boot to the same hibernation image Requires EWF on all mounted, fixed disks 23 Requires EWF on all mounted, fixed disks Ideal for Kiosk-type applications Once active, hibernate normally to create a resume point Hibernate Once, Resume Many (HORM) Limitations Requires EWF on all mounted, fixed disks Not ideal for data logging 24 Not ideal for data logging Persistent data should be logged to removable devices or network locations HORM state lost when committing EWF Inherits all limitations of EWF File Based Write Filter (FBWF) Benefits Protects the disk against write access at a file/directory level as opposed to the volume level in EWF 25 Selective write through Exclusion List for files/directories Selective commit/restore Limitations Does not support HORM FBWF Commands Enable* Disable* Add/Remove Volume* 26 Add/Remove Volume* Add/Remove Exclusion* Commit/Restore *Requires reboot Controlling EEF LabVIEWUtility LabVIEWAPI Command Line 27 Command Line EWF and HORM Demo 28 Recommendation #2 Utilize Embedded Enabling Features to increase reliability and stability when they fit your end use-case 29 use-case Step #3 Customize the OS to meet project requirements 30 Automatic Restart on System Failure Control Panel -> System -> Advanced -> Startup and Recovery 31 User Interface Background Change Logon Background C:\Windows\System32\oobe\info\backgrounds 32 C:\Windows\System32\oobe\info\backgrounds backgroundDefault.jpg Must be less than 256KB in size User Interface Auto Logon HKLM\Microsoft\Windows NT\CurrentVersion\Winlogon\ 33 NT\CurrentVersion\Winlogon\ AutoAdminLogon DefaultUsername DefaultPassword User Interface Cursor Make cursor transparent Taskbar 34 Taskbar Auto-hide or lock Startup Put a shortcut to your application in Startup Shell Replacement Replace the Explorer, Windows shell Per System HKLM\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell 35 NT\CurrentVersion\Winlogon\Shell Per User HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell Always have a way to execute Explorer.exe Customization Demo 36 Recommendation #3 Customize your solution for your users specific needs. 37 Conclusions WES7 is ideal for HMI applications Utilize EEF to make your system more reliable and robust 38 and robust Customize your solution for your users specific needs 39