Creating a secure, Internet-based control system
A client in the automotive test industry asked me to design a control system for a high-speed electrohydraulic servo mechanism. I was given free reign in the selection of a control system platform that could handle the task of running a control loop at the specified rate of 10,000 updates per second while facilitating control algorithm experimentation and rapid prototyping of graphical user int...
A client in the automotive test industry asked me to design a control system for a high-speed electrohydraulic servo mechanism. I was given free reign in the selection of a control system platform that could handle the task of running a control loop at the specified rate of 10,000 updates per second while facilitating control algorithm experimentation and rapid prototyping of graphical user interfaces.
I decided to initially adopt the desktop version of National Instruments’ LabView running on a fast Microsoft Windows XP machine. If things went smoothly, I envisioned migrating to the more expensive, and more reliable, LabView RT (this platform consists of LabView plus the LabView Real-Time Module and special-purpose computing hardware which together provide deterministic behavior).
The prototype system graphic above shows the basic setup using a National Instruments multi-function data acquisition board to provide the analog interface to the hydraulic system.
Segmenting the application into its real-time and non-real-time components was the first step in the development process. The real-time segment would run on the computer physically attached to the hydraulic package and communicate over the Internet with a second computer running the non-real-time segment. LabView provides a mechanism known as VI Server, which allows LabView virtual instruments (VIs) to communicate with one another remotely across a network.
Using VI Server functionality, I segmented the application into two pieces: the real-time control loop and the user interface. The control loop is a relatively simple VI which acquires sensor data, executes the control algorithm, and updates the servo valve command signals. The user interface handles things like file I/O signals, data display, and control optimization. Communication between the two VIs is non-real-time and the control loop does not block communication between to the two. In other words, Internet slowdowns don’t impair the behavior of the real-time control loop.
The prototype system using NI’s multi-function data acquistion board as the annalog interface to a hydraulic system.
With the networked system working properly, the next task was to protect it from unauthorized users. The built-in password protection scheme provided inadequate security, so I proposed that we implement a virtual private network (VPN) between my office and the client’s facility. The client agreed to support this since implementing a VPN would also allow its other off-site workers to access company computing resources in a more secure manner. We purchased a pair of VPN routers from Linksys that made it relatively easy to implement a VPN connection between the two locations.
The success of this prototype proves that by using off-the-shelf hardware and a relatively inexpensive version of LabView, we could rapidly develop prototype control software for a high-performance electrohydraulic system. VI Server functionality allowed remote software development (from my home base in Idaho) while VPN technology provided needed network security.
Author Information
Hugh Shane is a consulting electrical engineer with experience in real-time embedded software, digital systems, signal processing, and controls.
Do you have experience and expertise with the topics mentioned in this content? You should consider contributing to our WTWH Media editorial team and getting the recognition you and your company deserve. Click here to start this process.