In the field of hydraulic servo control, precise, reliable, and flexible motion control is the core of improving the performance of mechanical equipment. For applications with strict requirements such as plastic processing machinery, press machines, specialized machine tools, and even rail vehicles, a shaft control system that can cope with complex working conditions, provide powerful programming capabilities, and integrate multiple controller types is crucial. Bosch Rexroth's VT-HNC100 digital axis controller was born for this purpose. This article will deeply analyze the hardware characteristics, software configuration process, core control algorithms, NC programming practices, and key fault diagnosis methods of HNC100 from the perspective of an engineering technician, aiming to provide a comprehensive application guide for engineers engaged in hydraulic system integration, debugging, and maintenance.
System Overview: Why is HNC100 suitable for harsh industrial environments?
HNC100 is not a simple control card, but a complete programmable NC control solution optimized for closed-loop control of hydraulic shafts, and can also be used to control electrical drives. Its original design intention was to cope with harsh industrial environments. According to its technical documentation, HNC100 meets high standards in terms of anti-interference ability (electromagnetic compatibility), mechanical resistance to vibration and impact, and adaptability to climate and environment, and complies with EU directives (CE mark). This means that whether it is an injection molding workshop filled with electromagnetic noise or a press with continuous vibration, the HNC100 can operate stably.
From a hardware architecture perspective, the HNC100 is based on a 16/32-bit MC68376 processor, equipped with 1 MB Flash EPROM, 8 KB EEPROM, and 256 KB RAM, providing ample resources for complex control algorithms and user programs. Its power supply voltage range is 18 to 36 VDC, with a power consumption of only 8W (excluding external sensors and actuators), reflecting the energy efficiency design of industrial grade products.
For engineers, the value of a controller is primarily reflected in its ability to interact with the external world. HNC100 provides rich process interfaces:
Digital I/O: 8, 16, or 24 point digital input and output can be selected according to the model, with clear logic levels (high level ≥ 10V to Uo, low level ≤ 5V), maximum output current of 50mA, and can directly drive small relays or indicator lights.
Analog input: includes multiple differential voltage inputs (± 10V, 16 bit resolution) and current inputs (4-20mA), used to connect various sensors such as pressure sensors, displacement sensors (non digital), etc. It is worth mentioning that it provides a high-precision ± 10V reference voltage internally to provide excitation for external sensors.
Analog output: Provides voltage output (± 10V) and current output for directly driving integrated electronic devices of servo valves and proportional valves.
Position sensor interface: Supports incremental encoders (TTL, up to 250kHz), SSI absolute encoders (Gray code, up to 28 bit data width), and inductive position sensors (such as LVDT). In addition, the EnDat interface is also being prepared. This provides great flexibility for design selection.
Software Defined Control: WIN-PED and the Birth of Engineering Projects
The soul of HNC100 lies in its concept of "software defined control". All control logic, motion curves, and parameter settings are not fixed, but are generated into a "Project" through a PC software called "WIN-PED" and downloaded into the controller. This process is very clear and divided into five steps, similar to writing a PLC program:
Define tasks and sequence chart: Engineers first need to clarify what tasks HNC100 needs to complete and record them in the form of a sequence chart. This includes defining the meaning of each digital input/output and the various parameters to be used.
Write NC program: Convert each functional step in the sequence diagram into a series of NC commands. HNC100 uses an NC language similar to G-code, which supports subroutine techniques and conditional jumps, providing powerful support for programming complex action sequences.
Configuring machine data: This step is the "handshake" between hardware and software. Engineers need to select the actual encoder type (incremental, SSI, or inductive) and configure the controller type (position, pressure, speed) in WIN-PED, and set relevant parameters.
Download project: Send complete project data to the flash memory of HNC100 via RS232 serial interface (standard configuration, 9.6 kBaud).
On site optimization: Execute programs on the machine, monitor process data in real-time, adjust parameters, optimize motion trajectories and control effects through the online function of WIN-PED or the handheld operation box BB-3.
The WIN-PED software itself is the core tool of this process. Its functionality goes far beyond just a text editor. It includes: an NC editor with syntax checking and compiler; A dialogue window for setting machine data online or offline; A polygon editor used for graphically defining special motion curves (such as cam curves); And powerful diagnostic tools that can simultaneously record and graphically display up to four process variables (such as position command value, actual position, tracking error, pressure feedback), and support trigger condition settings. This is extremely helpful for analyzing and optimizing dynamic responses.
It is worth noting that the WIN-PED software (model SYS-HNC-WINPED5-C01) is not included with the controller, but can be downloaded for free from the Bosch Rexroth official website or ordered in CD-ROM format. This strategy ensures that users can always use the latest version of the software.

Deep analysis of core control algorithms: not just PID
The strength of HNC100 lies in its specially optimized controller library for hydraulic shaft characteristics. The inherent nonlinearity of hydraulic systems, such as friction, oil compressibility, and dead zone characteristics of valves, often makes it difficult for standard PID controllers to achieve ideal results. HNC100 provides multiple advanced control strategies to address these challenges.
1. Position controller:
Type: PDT1 controller. This is a proportional controller with differential and delay elements, which is very suitable for hydraulic systems with large inertia or pure integral characteristics.
Nonlinear gain: Supports direction dependent gain adjustment and "inflection point" gain characteristics. For example, different proportional gains can be used when moving up and down to compensate for the influence of gravity.
Fine positioning: Provides the principle of "residual voltage" and zero error compensation function, effectively eliminating crawling and positioning dead zones caused by static friction, achieving micrometer level positioning accuracy.
State feedback and feedforward: supports state feedback control, which can improve the damping ratio of the system; Simultaneously providing Command value feedforward significantly reduces tracking errors and improves dynamic tracking accuracy.
Position related braking: This is a very practical function that can automatically generate a deceleration curve based on the distance from the target position, achieving smooth and accurate stopping, avoiding impact and overshoot.
2. Pressure/Force Controller:
Type: PIDT1 controller.
Feature: The I component (integral) can be cut in and out through a window function. For example, when the pressure error is large, the integration function can be turned off to prevent integration saturation; When the error enters the window, activate the integration function to eliminate the static error.
Differential pressure assessment: capable of processing differential pressure signals to improve system response speed.
Independent scanning cycle: The scanning cycle of pressure control can be different from that of position control to adapt to the characteristics of pressure signals that usually change faster or require faster response.
3. Speed controller:
Type: PI controller.
Feature: It also supports window entry/exit function for integral components, ensuring steady-state accuracy while preventing integral saturation.
4. Advanced control functions:
Alternating closed-loop control: This is an extremely important function in hydraulic systems, and its typical application is "position pressure" alternating control. For example, during a pressing process, the HNC100 can first rapidly feed in the position closed loop, seamlessly switch to the pressure closed loop for pressing when in contact with the workpiece, and then switch back to the position closed loop for return after the pressure holding is completed. This gentle switching requires extremely high performance from the controller, and HNC100 provides dedicated support.
Synchronisation control: used for synchronous movement of two hydraulic shafts, such as synchronous lifting platforms or large sliders driven by dual cylinders. The controller can dynamically adjust its control output based on the real-time position difference between the two axes to maintain synchronization accuracy.
Electronic cam (Curve function): By using NC commands such as KURVE, an electronic cam curve defined by a polygon can be activated to achieve nonlinear position synchronization between the master and slave axes.
Practical NC Programming: Defining Machine Motion with Code
The programming language of HNC100 is a typical motion control language, and engineers familiar with G-code can quickly get started. Its command set is divided into several key parts:
Sequence control:
G01: Linear interpolation (point-to-point motion) is a fundamental motion command.
G30: Point to point motion optimized for oscillatory motion.
G26/G25: Limit block approximation with closed-loop/open-loop control. G26 precisely presses against a mechanical stopper through closed-loop control and can stop after reaching the set pressure, which is a standard action in many press fit applications.
G60/G61/G62: Activate pressure controller, activate pressure limit, cancel pressure limit. This makes it possible to dynamically switch control modes based on conditions during movement.
Logic and Control Flow:
IF, JMP, JSR, M17, M02: Provides complete program flow control capabilities such as conditional branching, unconditional jumping, subroutine calling, subroutine termination, and main program termination.
M00, G04: Waiting for input signal or delay, used to coordinate external device actions.
Parameters and Variables:
R parameter: a universal variable used for assignment and operation.
B. C: Global and local variables.
SET, CLR: Directly set or reset the digital output or internal flag.
Special Features:
/TRIG: Define a trigger point that can perform certain actions when moving to a specific position.
/OVER: Overpass, which can dynamically adjust the feed rate while the program is running.
G64: Limit the output of control variables and serve as a software limiter.
A typical press fit program fragment may be as follows:
text
N10 G01 X100.0 F500 ; Quickly move at a speed of 500mm/min to the 100mm position
N20 G26 X105.0 F50 ; Approaching the mechanical stopper at a speed of 50mm/min
N30 G61 ; Activate pressure limit
N40 G01 X110.0 ; Continue moving forward until the pressure limit value is reached (maintained by the pressure controller)
N50 G04 F2.0 ; Maintain pressure for 2 seconds
N60 G60 ; Activate pressure controller (for precise pressure control, such as pressure relief)
N70 G04 F0.5
N80 G62 ; Cancel pressure restriction/pressure control
N90 G01 X20.0 F500 ; Quick Return
M02 ; Program ends
This code clearly demonstrates the entire process of position control, block approximation, pressure limitation, holding pressure, and exit, which is a classic combination in hydraulic applications.

Installation and Interface: Key Points for Hardware Integration
Successful projects cannot be achieved without proper hardware integration. HNC100 offers multiple models to accommodate different numbers of I/O points. For example, the single axis versions VT-HNC100-1-2X/-08...,/-16...,/-24... correspond to 8, 16, and 24 I/O points respectively, and the external dimensions also change accordingly (with a maximum width of 106.5mm). Its installation method is standard guide rail or base plate installation.
When wiring, there are several key points that need special attention:
Power supply: The X6 interface provides 18-36 VDC power input and has independent shielding and ground pins (GND).
Analog interface (X2): All analog inputs are in differential form (such as Uin 1+, Uin 1-), which helps to suppress common mode interference. A reference voltage of ± 10V (Uref) can directly supply power to potentiometers or sensors. Multiple analog outputs (Uout1-4) can be flexibly assigned to different control variables.
Encoder interface (X3): Connect different wires according to the type of encoder used (incremental, SSI). For example, the A,/A, B, and/B signals of an incremental encoder are connected to the corresponding Ua0,/Ua0, Ua1, and/Ua1 pins. The SSI encoder needs to connect the Clock and Data signals. Please note that HNC100 offers two sensor power supply options: 5V TTL (maximum 150mA) and 24V N (maximum 200mA), depending on the encoder specifications.
Digital I/O (X1. x): The input is high level active (≥ 10V), and the output is high side switching, which means the output high level is Uo (power supply voltage). All outputs are equipped with short-circuit protection.
Fieldbus (X5, X7, X4): The standard configuration is RS232 serial port. If integration into higher-level control networks is required, Profibus DP (up to 12 MBaud), CANopen, or INTERBUS-S can be selected. The X4 port also provides a local CAN bus for parameterization or data exchange between multiple HNC100 controllers.
The 'res' pin: The document clearly states that the pin marked as' res' is reserved and must not be connected. This must be strictly followed in engineering implementation.
Troubleshooting and Maintenance Strategy
Although the HNC100 is designed to be sturdy, it may still encounter problems in practical applications. The troubleshooting of the system should follow the logic:
Power supply inspection: First, confirm whether the 18-36V power supply of X6 is normal and whether the power consumption is within the allowable range. Observe the LED indicator lights on the controller (although not detailed in the document, there are usually power and error indicators).
Communication failure: If unable to connect to WIN-PED, check if the RS232 cable (to be ordered by yourself, material number R900842349) is correct and if the baud rate setting matches (default 9.6 kBaud). For Profibus DP users, please note that the bus connector (material number R900050152) needs to be ordered separately.
Encoder/sensor malfunction: The HNC100 is equipped with critical monitoring functions, which is an important manifestation of its reliability.
Cable breakage monitoring: For incremental, SSI encoders, and 4-20mA sensors, the controller can detect signal line breakage.
Dynamic tracking error monitoring: If the difference between the actual position and the commanded position exceeds the set threshold (such as due to mechanical jamming or valve failure), the controller will immediately reset the "no error" output and deactivate the controller to prevent equipment damage.
When the 'no error' output signal is lost, the system enters a safe state, which is the primary clue for troubleshooting.
Sports performance issues:
Shake or crawl: Check the gain (KP) of the position controller, which may need to be adjusted. Attempt to activate the "residual voltage" principle or adjust zero point compensation.
Endpoint oscillation: Reduce the proportional gain or increase the differential (if used) effect, check the speed feedforward setting.
Pressure overshoot: Adjust the PID parameters of the pressure controller, especially the integration time. Check the response speed and installation position of the pressure sensor.
Program logic error: Using WIN-PED's online debugging function. It is possible to execute NC programs in single steps, monitor R parameters, flag bits, and I/O status, and observe the execution of motion instructions such as G01 and G26. Use the M00 instruction to set breakpoints and analyze program flow.
