Spool_4_3_X $—$ Template for a spool with three positions and four ports to be configured by the user

Use the Spool_4_3_X component to build a custom model of the spool of a directional control valve with three positions (that is, three stable states) and four ports.

Enter the valve behavior in the Parameters $\to$ Spool Geometry section (found under the Properties tab ( )) by populating the six connection vectors (open_P_A, open_P_B, open_A_T, open_B_T, open_P_T, and open_A_B). Each vector has nine entries corresponding to the nine normalized spool positions [ -1 -0.75 -0.5 -0.25 0 0.25 0.5 0.75 1 ]. Enter a 1 for the spool position if the connection is open at that spool position; enter a 0 for the spool position if the connection is closed at that spool position.

The Example section on this page provides more detail on how to configure a custom spool, including information on setting the parameters for leakage and nominal flow rates between ports.

Example

The following valve sketch will be used for this example:

Note: Information on how to sketch a valve is in the Sketching a Valve section on this page.

 1 In MapleSim, under the Libraries tab, browse to Modelon Hydraulics $\to$ Directional Control $\to$ Basic, and drag a Spool 4 2 X component to the Model Workspace.
 2 Under the Properties tab ( ), browse to the Parameters $\to$ Spool geometry section. The spool position (x-axis) is already given in the vector spool_x_axis with marks at [ -1 -0.75 -0.5 -0.25 0 0.25 0.5 0.75 1 ]. Enter values of either 1 or 0 in the vectors open_P_A, open_P_B, open_A_T, open_B_T, open_P_T, and open_A_B. Enter 1 if there is a connection between the ports at the respective position; enter 0 when there is no connection. For this example, the vectors are as follows:

open_P_A = [1, 1, 1, 0, 0, 0, 1, 0, 0]

open_P_B = [0, 0, 1, 0, 0, 0, 1, 1, 1]

open_A_T = [0, 0, 1, 0, 0, 0, 1, 1, 1]

open_B_T = [1, 1, 1, 0, 0, 0, 1, 0, 0]

open_P_T = [0, 0, 1, 1, 1, 1, 1, 0, 0]

open_A_B = [0, 0, 1, 0, 0, 0, 1, 0, 0]

 3 Specify the nominal value for the pressure drop ${\mathrm{Δp}}_{\mathrm{nom}}$ (in the Parameters $\to$ Flow section). This value is used to calculate the flow resistance for all six flow paths.
 4 Specify the nominal data for the flow rates for the six flow paths: qnom_P_A, qnom_P_B, qnom_A_T, qnom_B_T, qnom_P_T, and qnom_A_B. The parameter qnom gives the nominal flow rate of the fully opened flow path at the pressure drop ${\mathrm{Δp}}_{\mathrm{nom}}$.

${A}_{\mathrm{max}}={q}_{\mathrm{nom}}\sqrt{\frac{1}{2}\frac{\mathrm{\rho }{k}_{2}}{{\mathrm{Δp}}_{\mathrm{nom}}}}$

${d}_{\mathrm{max}}=2\sqrt{\frac{{A}_{\mathrm{max}}}{\mathrm{\pi }}}$

For example, the maximum diameter for the flow path from P to B is given by ${d}_{\mathrm{max}\left(\mathrm{PB}\right)}$:

${A}_{\mathrm{max}\left(\mathrm{PB}\right)}={q}_{\mathrm{nom}\left(\mathrm{PB}\right)}\sqrt{\frac{1}{2}\frac{\mathrm{\rho }{k}_{2}}{{\mathrm{Δp}}_{\mathrm{nom}}}}$

${A}_{\mathrm{max}\left(\mathrm{PB}\right)}={q}_{\mathrm{nom}\left(\mathrm{PB}\right)}\sqrt{\frac{1}{2}\frac{\mathrm{\rho }{k}_{2}}{{\mathrm{Δp}}_{\mathrm{nom}}}}$

${d}_{\mathrm{max}\left(\mathrm{PB}\right)}=2\sqrt{\frac{{A}_{\mathrm{max}\left(\mathrm{PB}\right)}}{\mathrm{\pi }}}$

 5 Enter a value for ${d}_{\mathrm{leak}}$.

When the valve is closed (both input signals false), there is leakage from P $\to$ A, P $\to$ B, A $\to$ T, B $\to$ T, P $\to$ T, and A $\to$ B. This leakage flow is described by the diameter of an equivalent orifice ${d}_{\mathrm{leak}}$. If in doubt about the value for ${d}_{\mathrm{leak}}$, build a small model consisting of a pressure source, an orifice, and a tank and vary the orifice diameter until the required flow rate is reached at the specified pressure.

 6 Enter values for P_max and coeff_P.

When the pump pressure and the flow rate are high, the unbalanced forces and flow forces acting on the spool are higher than the force generated by the solenoid and the valve is partially closed. This effect can be modeled by the parameters P_max and coeff_P. Specify the maximum hydraulic power in $W$ (where the valve is still completely open) and use coeff_P to adjust the model to the manufacturer's data.

 7 (Optional) To give your custom valve the correct icon, convert the Spool 4 3 X component to a subsystem, and then draw an icon on the subsystem.
 8 Save the model and build a small test circuit to compare the catalogue data with the model.

Sketching a Valve

This is a brief discussion on how to generate the connection versus spool position plots for a valve. We will be using the following valve icon as an example.

The preceding figure shows a valve with four ports (A, B, P, and T) and three states based on three spool positions. The connections and flow paths for the three states are given in the following table.

 Spool Position Command signals Flow paths -1 (Left square) $\mathrm{commandA}=\mathrm{true}$ and $\mathrm{commandB}=\mathrm{false}$ Flow from P $\to$ A. Flow from B $\to$ T. 0 (Middle square) $\mathrm{commandA}=\mathrm{false}$ and $\mathrm{commandB}=\mathrm{false}$ Flow from P $\to$ T. +1 (Right Square) $\mathrm{commandA}=\mathrm{false}$ and $\mathrm{commandB}=\mathrm{true}$ Flow from P $\to$ B. Flow from A $\to$ T.

To generate the connection versus spool position plots for a valve

 1 Redraw your valve icon as three large separate squares (one for each stable position). Include all arrows and lines connecting the ports.
 2 Sketch two smaller squares for connections between the stable positions (see your valve catalogue for details). The left small square shows the transition between the left stable position and the middle position. The right small square corresponds to the transition between the middle square and right square.

 Each square also corresponds to a spool position of the custom valve. The left square corresponds to a spool position of -1, the middle square to a spool position of 0, and the right square to a spool position of +1. The left small square corresponds to -0.5 and the right small square to +0.5.
 3 Draw six horizontal lines representing the 6 possible flow paths: P $\to$ A, P $\to$ B, A $\to$ T, B $\to$ T, P $\to$ T, and A $\to$ B.  The x-axes represent the spool positions [-1..1] and the y-axes the connection state (1 or 0).
 4 For flow path P $\to$ A, sketch the connection as a function of spool position. A 1 means the connection is open, a 0 means there is no connection.
 a. Left square: if there is flow from P $\to$ A (that is, an arrow from P to A in the left square), put marks at x = -1 and y = 1 and at x = -0.75 and y = 1. If there is no flow from P $\to$ A (no arrow from P to A in the left square), put marks at x = -1 and y = 0 and at x = -0.75 and y = 0.
 b. Middle square: if there is flow from P $\to$ A, put marks at x = -0.25 and y = 1; at x = 0 and y = 1; and at x = 0.25 and y = 1. If there is no flow from P $\to$ A, put marks at x = -0.25 and y = 0; at x = 0 and y = 0; and at x = 0.25 and y = 0.
 c. Right square: if there is flow from P $\to$ A, put marks at x = 0.75 and y = 1 and at x = 1 and y = 1. If there is no flow from P $\to$ A, put marks at x = 0.75 and y = 0 and at x = 1 and y = 0.
 d. Left small square (left intermediate position): if there is flow from P $\to$ A, put marks at x = -0.5 and y = 1. If there is no flow from P $\to$ A, put a mark at x = -0.5 and y = 0.
 e. Right small square (right intermediate position): if there is flow from P $\to$ A, put marks at x = 0.5 and y = 1. If there is no flow from P $\to$ A, put a mark at x = 0.5 and y = 0.

The P $\to$ A connection versus spool position plot for the valve in this example is represented in the following figure.

 1 Repeat the marking process for the other flow paths: P $\to$ B, A $\to$ T, B $\to$ T, P $\to$ T, and A $\to$ B. For the example used in this section, the connection versus spool position plots for all six connections are represented in the following figure.

Variables

 Name Value Units Description Modelica ID ${\mathrm{mor}}_{\mathrm{PA}}$ mor_P_A ${\mathrm{mor}}_{\mathrm{BT}}$ mor_B_T ${\mathrm{mor}}_{\mathrm{PB}}$ mor_P_B ${\mathrm{mor}}_{\mathrm{AT}}$ mor_A_T ${\mathrm{mor}}_{\mathrm{AB}}$ mor_A_B ${\mathrm{mor}}_{\mathrm{PT}}$ mor_P_T $\mathrm{checkFlow}$ checkFlow ${\mathrm{command}}_{\mathrm{diameter}}$ command_diameter ${\mathrm{port}}_{\mathrm{pressure}}$ port_pressure ${\mathrm{port}}_{\mathrm{flow}}$ port_flow ${p}_{P\left(\mathrm{abs}\right)}$ ${p}_{P}+\mathrm{oil.p_atm}$ $\mathrm{Pa}$ Absolute pressure at port P pP_abs ${p}_{\mathrm{sat}}$ [1] $\mathrm{Pa}$ Gas saturation pressure p_sat ${p}_{A\left(\mathrm{summary}\right)}$ ${p}_{A}$ $\mathrm{Pa}$ Pressure at port A summary_pA ${p}_{B\left(\mathrm{summary}\right)}$ ${p}_{B}$ $\mathrm{Pa}$ Pressure at port B summary_pB ${p}_{P\left(\mathrm{summary}\right)}$ ${p}_{P}$ $\mathrm{Pa}$ Pressure at port P summary_pP ${p}_{T\left(\mathrm{summary}\right)}$ ${p}_{T}$ $\mathrm{Pa}$ Pressure at port T summary_pT ${\mathrm{Δp}}_{\mathrm{PA}\left(\mathrm{summary}\right)}$ ${p}_{A}-{p}_{P}$ $\mathrm{Pa}$ Pressure drop summary_dp_PA ${\mathrm{Δp}}_{\mathrm{PB}\left(\mathrm{summary}\right)}$ ${p}_{B}-{p}_{P}$ $\mathrm{Pa}$ Pressure drop summary_dp_PB ${\mathrm{Δp}}_{\mathrm{AT}\left(\mathrm{summary}\right)}$ ${p}_{T}-{p}_{A}$ $\mathrm{Pa}$ Pressure drop summary_dp_AT ${\mathrm{Δp}}_{\mathrm{BT}\left(\mathrm{summary}\right)}$ ${p}_{T}-{p}_{B}$ $\mathrm{Pa}$ Pressure drop summary_dp_BT ${q}_{\mathrm{PA}\left(\mathrm{summary}\right)}$ $\mathrm{mor_PA.q}$ $\frac{{m}^{3}}{s}$ Flow rate flowing port_P to port_A summary_qPA ${q}_{\mathrm{PB}\left(\mathrm{summary}\right)}$ $\mathrm{mor_PB.q}$ $\frac{{m}^{3}}{s}$ Flow rate flowing port_P to port_B summary_qPB ${q}_{\mathrm{AT}\left(\mathrm{summary}\right)}$ $\mathrm{mor_AT.q}$ $\frac{{m}^{3}}{s}$ Flow rate flowing port_A to port_T summary_qAT ${q}_{\mathrm{BT}\left(\mathrm{summary}\right)}$ $\mathrm{mor_BT.q}$ $\frac{{m}^{3}}{s}$ Flow rate flowing port_B to port_T summary_qBT $\mathrm{spoolGeometry}$ spoolGeometry

[1] $\mathrm{oil.gasSaturationPressure}\left(T={\mathrm{oil.T}}_{0}+{\mathrm{ΔT}}_{\mathrm{system}},{v}_{\mathrm{gas}}={\mathrm{oil.v}}_{\mathrm{gas}}\right)$

Connections

 Name Description Modelica ID ${\mathrm{port}}_{A}$ Port A, one of valve connections to actuator or motor port_A ${\mathrm{port}}_{B}$ Port B, one of valve connections to actuator or motor port_B ${\mathrm{port}}_{P}$ Port P, where oil enters the component from the pump port_P ${\mathrm{port}}_{T}$ Port T, where oil flows to the tank port_T ${\mathrm{spool}}_{\mathrm{position}}$ Command signal for spool position spool_position $\mathrm{oil}$ oil

Parameters

General Parameters

 Name Default Units Description Modelica ID flow path A to B $\mathrm{true}$ There is a spool position with flow from port A to B flowPath_AB flow path P to T $\mathrm{true}$ There is a spool position with flow from port P to T flowPath_PT ${\mathrm{ΔT}}_{\mathrm{system}}$ $0$ $K$ Temperature offset from system temperature dT_system

Flow Parameters

 Name Default Units Description Modelica ID use CheckFlow $\mathrm{true}$ True, if a warning should be printed to user useCheckFlow ${\mathrm{Δp}}_{\mathrm{nom}}$ $7.·{10}^{5}$ $\mathrm{Pa}$ Pressure drop at nominal flow rate qnom dpnom ${q}_{\mathrm{nom}\left(\mathrm{PA}\right)}$ $0.00158$ $\frac{{m}^{3}}{s}$ Nominal flow rate from P -> A qnom_P_A ${q}_{\mathrm{nom}\left(\mathrm{PB}\right)}$ ${q}_{\mathrm{nom}\left(\mathrm{PA}\right)}$ $\frac{{m}^{3}}{s}$ Nominal flow rate from P -> B qnom_P_B ${q}_{\mathrm{nom}\left(\mathrm{AT}\right)}$ ${q}_{\mathrm{nom}\left(\mathrm{PA}\right)}$ $\frac{{m}^{3}}{s}$ Nominal flow rate from A -> T qnom_A_T ${q}_{\mathrm{nom}\left(\mathrm{BT}\right)}$ ${q}_{\mathrm{nom}\left(\mathrm{PA}\right)}$ $\frac{{m}^{3}}{s}$ Nominal flow rate from B -> T qnom_B_T ${q}_{\mathrm{nom}\left(\mathrm{AB}\right)}$ $0$ $\frac{{m}^{3}}{s}$ Nominal flow rate from A -> B qnom_A_B ${q}_{\mathrm{nom}\left(\mathrm{PT}\right)}$ $0$ $\frac{{m}^{3}}{s}$ Nominal flow rate from P -> T qnom_P_T ${P}_{\mathrm{max}}$ $1.26·{10}^{5}$ $W$ Max. hydraulic power P_max ${\mathrm{coeff}}_{P}$ $10$ Influence of hydraulic power on flow rate coeff_P ${k}_{1}$ $10$ Laminar part of orifice model k1 ${k}_{2}$ $2$ Turbulent part of orifice model, ${k}_{2}=\frac{1}{{C}_{d}^{2}}$ k2

Spool Geometry Parameters

 Name Default Units Description Modelica ID ${d}_{\mathrm{leak}}$ $1.67·{10}^{-5}$ $m$ Diameter of equivalent orifice to model leakage of closed valve dleak ${\mathrm{spool}}_{x-\mathrm{axis}}$ [1] Normalized spool position spool_x_axis ${\mathrm{open}}_{\mathrm{PA}}$ [2] Open (1) and closed (0) path P -> A as function of normalized spool position open_P_A ${\mathrm{open}}_{\mathrm{PB}}$ [2] Open (1) and closed (0) path P -> B as function of normalized spool position open_P_B ${\mathrm{open}}_{\mathrm{AT}}$ [2] Open (1) and closed (0) path A -> T as function of normalized spool position open_A_T ${\mathrm{open}}_{\mathrm{BT}}$ [2] Open (1) and closed (0) path B -> T as function of normalized spool position open_B_T ${\mathrm{open}}_{\mathrm{PT}}$ [2] Open (1) and closed (0) path P -> T as function of normalized spool position open_P_T ${\mathrm{open}}_{\mathrm{AB}}$ [2] Open (1) and closed (0) path A -> B as function of normalized spool position open_A_B

[1] $\left[-1.,-0.750,-0.500,-0.250,0.,0.250,0.500,0.750,1.\right]$

[2] $\left[0.,0.,0.,0.,0.,0.,0.,0.,0.\right]$

Constant Parameters

 Name Default Units Description Modelica ID ${\mathrm{spool}}_{\mathrm{data}}$ [spool_x_axis; open_P_A; open_P_B; open_A_T; open_B_T; open_A_B; open_P_T] spool_data