Main Content

Cable

Cable connection that enables tension transfer

Since R2021a

Libraries:
Simscape / Driveline / Couplings & Drives

Description

The Cable block represents an element that transfers tension between two contact points. You can treat the block as an arbitrary tension transfer device to simulate a variety of situations, including pulley networks, cable drives, and serpentine belts. You can choose whether the cable exhibits slack upon loss of tension. The block has a base port, B, and a follower port, F. The cable stretches in tension when the base port leads the follower port.

The block considers only the longitudinal translational motion and force of the cable ends. The first figure shows a Translational Spring and Translational Damper block in parallel, which is functionally equivalent to the Cable block with zero mass. The second figure shows the same spring and damper blocks but with an additional Mass block on either side, which is functionally equivalent to the Cable block with a nonzero mass.

Parallel spring and damper with an in port and an out port.Parallel spring and damper with an in port, an out port, and mass at both ends.

These figures only apply when the cable is in tension.

Tip

Confirm that your model operates as expected before you select the Model slack and Model mass parameters. Verify that the B and F ports are oriented properly by viewing the tension plots of each cable in the Simscape Results Viewer and looking for unexpected negative values.

The Cable block can act as a rope, belt, cable, or any other device that has tensile strength and transmits tension between two contact points. A contact point can be a pulley, a drum, or an ideal source. You can use the Cable parameterization parameter to control whether the block acts as a constant or tabulated connection.

You can use this block to model stationary or travelling pulley networks. You can drive the Cable block with sources like the Ideal Translational Velocity Source block, or a Rope Drum block attached to an Ideal Force Source block.

For greater fidelity or numerical stability, you can choose to model the effect of mass on the system. When you select Model mass, the block distributes half of the total mass to either end of the cable. Adding a small amount of mass can improve the initialization of your model. You can also specify the initial conditions of the cable. If you choose to simulate slack, the block does not apply stiffness and damping when the cable is in slack.

Equations

The block equations refer to these quantities:

  • F is the tension force, where F=FB=FF.

  • K is the spring stiffness coefficient. K(xs)=0 when you select Model slack and xs<0.

  • D is the damping coefficient.

  • m is the total mass, which you specify by using the Mass parameter. The block distributes half of the total mass to each end.

  • xB is the position of the base node.

  • xF is the position of the follower node.

  • xs is the deformation due to stretching, which you specify by using the Stretch variable.

  • s is the stretch velocity.

The Cable block characterizes the external load at the port B as

FB(xs(t),t)=m2x¨B(t)+D(xs(t))x˙s(t)+K(xs(t))xs(t),

and port F as,

FF(xs(t),t)=m2x¨F(t)D(xs(t))x˙s(t)K(xs(t))xs(t),

where xs(t)=xB(t)xF(t). The forces vary as functions of time and the stretch deformation, xs. K and B are functions of xs, such that K(xs)=K when there is no slack or you are not simulating slack. Otherwise, K(xs)=0 when slack occurs at xs<0. The same logic applies for B. The terms that involve mass only apply when you select the Model mass parameter.

Variables

To set the priority and initial target values for the block variables prior to simulation, use the Initial Targets section in the block dialog box or Property Inspector. For more information, see Set Priority and Initial Target for Block Variables.

Nominal values provide a way to specify the expected magnitude of a variable in a model. Using system scaling based on nominal values increases the simulation robustness. Nominal values can come from different sources, one of which is the Nominal Values section in the block dialog box or Property Inspector. For more information, see Modify Nominal Values for a Block Variable.

Ports

Conserving

expand all

Mechanical translational conserving port associated with the base end of the cable.

Mechanical translational conserving port associated with the following end of the cable.

Parameters

expand all

Whether to model slack. The block does not transfer spring force when the cable is not in tension. When you select this parameter, the Cable block is equivalent to a Translational Hard Stop block with Upper bound set to 0 and Lower bound set to -inf. For more information, see Translational Hard Stop.

Option to parameterize the cable using constants or tabulated values.

Whether to model mass. When you select Model mass, the block considers the mass of the cable segment that it represents. Including mass can help initialize some models but can also be more computationally costly.

Mass of the cable segment that the block represents. The block distributes half of the total mass to each end of the cable.

Dependencies

To enable this parameter, select Model mass or Model slack.

Effective translational spring stiffness of the cable segment.

Dependencies

To enable this parameter, set Cable parameterization to Constant.

Effective translational damping of the cable segment. When you select the Model slack parameter and xs<0, the block ignores damping.

Dependencies

To enable this parameter, set Cable parameterization to Constant.

Stretch displacement of any given point along the cable. The vector must have a minimum length of two and must be strictly increasing. The block determines the displacement as a function of the cable velocity.

Dependencies

To enable this parameter, set Cable parameterization to Tabulated.

Cable stiffness for a given stretch displacement. The elements in this parameter correspond one-to-one with the Stretch vector parameter.

Dependencies

To enable this parameter, set Cable parameterization to Tabulated.

Cable damping for a given stretch displacement. The elements in this parameter correspond one-to-one with the Stretch vector parameter.

Dependencies

To enable this parameter, set Cable parameterization to Tabulated.

Stiffness and rebound options for the slack model. The slack model is equivalent to a Translational Hard Stop block. You can choose from these options:

  • Stiffness and damping applied smoothly through transition region, damped rebound

  • Full stiffness and damping applied at bounds, undamped rebound

  • Full stiffness and damping applied at bounds, damped rebound

Dependencies

To enable this parameter, select Model slack.

Distance from full compression or full extension where the effects of stiffness and damping are partially applied. When you set Slack model to Stiffness and damping applied smoothly through transition region, damped rebound, the block smoothly transitions the onset of stiffness and damping as the spring approaches full extension or full compression.

Dependencies

To enable this parameter, select Model slack.

Whether to specify the maximum tension of the cable.

Tension value error target. When the tension in the cable segment exceeds this parameter, the block generates an error.

Dependencies

To enable this parameter, set Specify maximum tension.

Whether to generate a warning when the cable segment is no longer in tension. Use this parameter to identify if your system experiences instances of slack.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced in R2021a

expand all