Stijn Schacht of VAPO Hydraulics explains how a custom control algorithm was developed for use in National Instruments' CompactRIO hardware to control four hydraulic cylinders for moving unbalanced 20ton trays of fluid concrete.
At VAPO Hydraulics we specialise in custom industrial hydraulics. We manufacture a series of custom and special cylinders including large hydraulic cylinders with strokes of up to 8m in length and cylinders with bores of up to 700mm.
Recently customers started to request complete mechanical control of these custom hydraulic systems. For this reason we wanted to further develop our expertise in precision positioning and control systems.
For relatively simple hydraulic systems, such as systems where one or two cylinders need to be controlled, custom control mechanisms can usually be developed using off-the-shelf controllers and programmable logic controllers (PLCs). The communication with these systems is typically established with industrial fieldbuses and digital I/O lines.
To control more complex machines, however, we apply NI CompactRIO. These systems are useful for applications that need additional custom requirements, such as precise position control over the whole stroke, or high velocity and synchronised motion of multiple cylinders. While adding these requirements to off-the-shelf PID controllers is usually not possible, CompactRIO provided a rugged and reliable alternative for custom control in an industrial environment.
Our customer manufactures prefabricated (prefab) concrete slabs, which need to be dried for 24 hours before they can be taken out of their trays and stored vertically. To save space in the factory, a storage system was built with 10 shelves positioned around a central elevator. The concrete at this point is still fluid and needs to be stored perfectly flat.
Each filled tray weighs 20tons, with the 12m x 2.5m x 10cm slab weighing 10tons and the tray itself weighing a further 10tons. To store the tray on the shelf it needs to be lifted to the same level as the shelf and then moved onto it.
For the lifting operation, the system has four hydraulic cylinders that each have a 3m stroke; a chain is used to lift the shelf above 6m.
While the position of each cylinder during this movement must be accurate to within 2mm, the measurements showed that 0.1mm accuracy could be achieved.
Each cylinder is actively controlled to compensate for slight weight abnormalities; it is common for some concrete slabs have an uneven weight distribution due to holes that accommodate staircases or windows.
Since such a heavy weight cannot be stopped or moved instantly, a gradual velocity profile is used to start and ramp up to the maximum velocities of 45mm/s (for the cylinder) and 90mm/s (for the table), and to ramp down and stop the movement.
Position feedback is obtained from a magnetostrictive encoder that is integrated inside the cylinder, which helps to protect the encoder from damage. The accuracy of this position sensor is 5-10um, and it communicates using the SSI (Synchronised Serial Interface) protocol.
Hydraulic control is often seen as an easy control system. But to position hydraulic cylinders accurately over a whole stroke requires extensive knowledge and control intelligence, since hydraulic systems are non-linear by nature; the dynamic behaviour of a cylinder that is at its initial position is not comparable to the dynamic behaviour when the cylinder is at its middle or end position.
The resonance stiffness and frequency vary as a function of the piston's position, caused by the compressibility of the hydraulic fluid. This resonance frequency needed to be taken into account to meet the accuracy requirements of the heavyweight system.
To control the movement accurately, a PID controller would need to adapt continuously to the control parameters, depending on the piston's position. This is something that cannot be achieved using a PLC. In addition, analogue measurements needed to be included within the control system. The problem here is that PLCs often contain considerable amounts of noise, since they are not measurement-class hardware.
Accurate control of hydraulic cylinders needs a non-linear control algorithm based on a linear quadratic regulator (LQR), H-infinity or model based controllers (MBCS). These control algorithms provide tighter process tolerance, faster settling, less overshoot and more efficient tuning capabilities. After evaluation we found that a full state feedback control algorithm proved to give the best results.
The system setup consists of an operator interface and a CompactRIO controller. The operator interface is realised using a touch panel and communicates with CompactRIO over Ethernet. The CompactRIO hardware combines a real-time processor, a reconfigurable field-programmable gate array (FPGA) and industrial I/O modules. All parts have been programmed using LabVIEW graphical programming software.
The FPGA on the CompactRIO is used in our application as a high-speed custom parallel processing unit. With the FPGA we read the digital signals from each of the cylinder encoders over SSI and convert this to an actual position and transfer it to the real-time processor.
This communication protocol requires the master to send 26 clock signals. After the first clock signal a bit is transmitted on each following clock pulse. These bits then need to be decoded. With the NI cRIO-9401 digital I/O module (cRIO-9401) we could connect to the sensor and implement the communication protocol on the FPGA. Every 50 microseconds (20kHz) the FPGA reads the sensor bits at a 1MHz rate and converts these to a position and velocity and sends these to the Real-Time processor for every cylinder.
In parallel, the FPGA uses several digital I/O lines for handling emergency stops. To prevent equipment damage, the cylinders need to be halted safely within a short period. If an emergency stop occurs, this is fed directly to the RT controller to calculate a controlled stop of the system (using a steep velocity ramp down). The FPGA keeps track of the time so that if the system is not completely stopped within a short period the FPGA stops any movement directly.
In addition, the FPGA is used to sample 16 analogue input sensors that measure cylinder pressures and other states. This is all converted to measurement units and transferred to the real-time control loop.
All acquired sensor data, such as pressures, positions and velocities, is fed to the LabVIEW real-time control algorithm. The control loop is based around a full state feedback control algorithm. The FPGA sends a clock signal (interrupt) every 5ms to the real-time controller to start its control calculation for all four cylinders. The reason for this is that the clock signal on the FPGA is more accurate and the most recent data is used, so the control loop is in the same state as the mechanical system. Current data is used to determine the actual state and adjust settings accordingly. The controller then calculates new values for the regulated flow, as the steerable unit.
The real-time controller also checks if the system is working within tolerance. Pressures, valve positions and reference positions are read. If these values are not within preset tolerances, the control software can compensate for mechanical wear, or detect when a sensor or actuator wears or fails. This error management and diagnosis is active during usage and pre-startup.
The operator controls the elevator using a touch panel. Communication with the CompactRIO system is implemented using Ethernet over TCP/IP communications. The touch panel application is written in LabVIEW, using the Touch Panel module, and is based on command-based communication. The application uses a clear menu and runs a state machine (with states such as start lifting, diagnose, stop). The current state, as well as error conditions and diagnosis information, is displayed on the panel when needed.
After installation it was discovered that the hydraulic system was capable of lifting a concrete slab with an accuracy of 0.1mm at 45mm/s.
This application was developed in just two months. Since the software was developed in the form of modules, most of the content can be reused and adapted for use in new systems within weeks.