Device profile: Eason 5000 family industrial HMIs
May 8, 2003 — by LinuxDevices Staff — from the LinuxDevices Archive — 37 viewsEason Technology recently introduced a family of Linux-based “intelligent operator interfaces” that are used in industrial automation applications requiring operator input and prompting, process monitoring, and connection to other control and process equipment. The Eason 5000 HMI (human-machine interfaces) family currently includes… two models — the model 5400, with an 8-inch color TFT LCD display; and the model 5800, with a 14-inch display. In all other respects, the two models are identical.
The Eason HMIs can communicate with a broad range of other equipment including PLCs (programmable logic controllers), motion controllers, bar code readers, vision systems, and other devices and technologies commonly used in factory automation and process control environments. Operator input is by means of an analog resistive touchscreen, with pop-up dialog boxes used for alpha and numeric data entry.
The devices can be programmed using a Windows-based tool (WinBuild 5000) that enables drag-and-drop HMI creation and easy Basic scripting, making it possible to create powerful interfaces in a small amount of time and with little training. The systems can be also customized via expansion hardware and user-developed application software.
Embedded computer
The embedded computer is based on a 300 MHz National Semiconductor Geode GX1 system-on-chip processor, with 64MB of system RAM. Other features of the hardware include . . .
- RS-232 dedicated programming port
- Two RS-232 serial ports to communicate with PLCs and motion controllers
- RS-422/485 serial port to communicate to multiple devices
- Two USB ports for future input, storage, and I/O expansion
- 10/100 Ethernet port
- Keyboard/mouse port
- Touchscreen input
- PC/104 expansion location for additional I/O and networking modules
- Removable CompactFlash (32MB standard)
- 128KB battery-backed RAM drive provides nonvolatile data storage
Linux-based software platform
“We use a 2.4.20 Linux kernel with added drivers for the Geode's framebuffer display, plus some modifications to the serial code to allow for tight control of the RS-485 serial port,” explained Eason Technology software engineer Alex Pavloff. “We also wrote our own driver to allow access to the touchscreen, and used the MTD subsystem to create a driver for the battery backed RAM.”
The system boots Linux from a FAT-formatted CompactFlash card using a loopback image to hold the majority of the Linux filesystem. The boot process is currently started by FreeDOS, with Linux loaded into RAM via loadlin — but Pavloff anticipates moving to SYSLINUX in a future revision.
The graphical environment is based on the TinyX Xfbdev server, which had to be modified to support the required touchcreen input. “We use the TWM-Kiosk window manager, and our main application is a gtkmm 2.0 (the C++ bindings for GTK 2.0) application. We used C++ and chose to 'spend' the extra disk and memory overhead because our developers were very familiar with C++. We also use the GNU project's Common C++ networking libraries that wrap much of the UNIX API in easy to use C++ classes.”
Embedding Linux
Why use Linux? “We chose to use Linux for a variety of reasons,” recalled Pavloff. “The price was right, as we did not have a lot of money for development tools. Linux on x86 with gcc 3.x also had extremely good C++ support. The ability to modify the Linux kernel itself allowed us to easily add in support for our RS-485 and battery backed RAM drive.”
Rather than making use of one of the available commercial embedded Linux distributions, Eason opted to do its Linux development in-house. “Since the Geode is an x86 processor, there was no need for cross compilers or different libraries, which made development quick and easy,” explained Pavloff. “If we had used an alternate processor architecture (RISC, StrongARM, etc.), we would most likely have gotten a Linux support contract from one of the major embedded Linux vendors.”
“Compared to the last project we did, which utilized a closed-source DOS-based embedded RTOS by a company that has since gone out of business, the Linux development was a dream,” Pavloff noted. “The availability of high-quality source made all problems solvable in a short amount of time, with no 'trial-and-error' debugging required.”
“Most of the problems that we encountered in development were caused by the need to manually figure out the dependencies of the various components of Linux. Since we were, in effect, creating our own custom distribution, a fair amount of time was required to figure out what were the minimum files necessary to run an TinyX/GTK application.”
Now that a workable system exists, Pavloff is looking forward to extending the product with new features. “Since we're using Linux, adding additional networking features to the device will be extremely simple. The customizability of the system will also allow for a savvy integrators to add extended features to the device,” he said.
What does Pavloff see for the future of embedded Linux? “I predict Linux will go far. Its customizability and low cost make it ideal for small companies. Its robust networking stack and ever-increasing list of supported processors also ensure that it will be an excellent choice for networked embedded appliances.”
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.