• Skip to main content
  • Skip to header right navigation
  • Skip to site footer
CDP Studio logo

CDP Studio

The no-code and full-code software development tool for distributed control systems and HMI

  • Doc
  • Why CDP
    • Software developers
    • Automation engineers
    • Managers
  • Products
    • Automation Designer
    • HMI Designer
    • Maritime HMIs
  • Services
  • Use cases
  • Pricing
  • Try CDP

CDP Studio Documentation

  • Examples and Tutorials
  • Using Anti-Sway on a Crane

Implementing a Custom Protocol Using Sequence Steps to Operate Doors

Using Anti-Sway on a Crane

Introduction

The purpose of this example is to demonstrate how to use the CDP open-loop Anti-Sway operator to profile speed inputs in a way that cancels out the sway of the load when moved. It also demonstrates how to use Simulator to simulate the physical load for a simple Gantry Crane.

Open-loop Anti-Sway does not require any measurement devices to be attached to the load or crane hook making retrofitting cranes with Anti-Sway functionality simpler.

The example makes use of NoCode and LowCode programming similar to PLC IEC 61131-3. The only actual code in this example is the physics formulas declared in the two provided simulator models.

This example also makes use of CDPPort as interfaces to simplify the overall system design.

How to Run the Example

To run the example from CDP Studio, open Welcome mode and find it under Examples. Next, in Configure mode right-click on the library project and select Build, then right-click on the system project and select Run & Connect. See the Running the Example Project tutorial for more information.

Project Overview

This example includes:

  • A library project containing NoCode helper blocks and two simulation models
    • FFJoystic - ForceFeedback IO container with GUI override option and input scalers and filters.
    • SpeedTaper - Filter to taper speed to 0 on edges of allowed movement region.
    • PositionSim - Small simulator model to convert speed changes over time to the current position.
    • CraneLoad - Crane Load simulator model for calculating Phi and Position for one load axis.
  • A system project containing three applications:
    • CraneApp - contains the optional joystick support, bounds checking and Anti-Sway operators.
    • CraneGUI - contains widgets to display crane positions/controls and math operators for position calculations.
    • CraneSim - contains gantry crane simulation models and filters to emulate hardware response.

In this example, a real gaming Joystick or UI override sliders control the Gantry Crane simulator with the Anti-Sway feature.

The Joystick IO block is CraneApp.JoysticIO.FFJoystic.ForceFeedbackJoystick and is by default set up to use Linux joystick device /dev/input/js0. The Device property shoud refer to hardware Joystick location, if available. The UI is setup to use sliders to control the Crane form startup.

The user inputs from UI (CraneGUI) or Joystick (CraneApp) are speed requests for cable, girder and crab.

The raw values from controls are scaled to SI units and filtered to allow the maximum rate of change of 1 meter per second. Additional bounds filtering is applied to avoid edge collisions.

The girder and crab speed requests are passed trough Anti-Sway operators before they get used by the simulation model of the Gantry Crane (CraneSim).

The CraneSim application provides the simulation results for cable length, X Y positions and angles.

Implementing a Custom Protocol Using Sequence Steps to Operate Doors

The content of this document is confidential information not to be published without the consent of CDP Technologies AS.

CDP Technologies AS, www.cdpstudio.com

Get started with CDP Studio today

Let us help you take your great ideas and turn them into the products your customer will love.

Try CDP Studio for free
Why CDP Studio?

CDP Technologies AS
Hundsværgata 8,
P.O. Box 144
6001 Ålesund, Norway

Tel: +47 990 80 900
E-mail: info@cdptech.com

Company

About CDP

Contact us

Services

Partners

Blog

Developers

Get started

User manuals

Support

Document download

Release notes

My account

Follow CDP

  • LinkedIn
  • YouTube
  • GitHub

© Copyright 2025 CDP Technologies. Privacy and cookie policy.

Return to top