Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
DelphiDeveloper InterviewsRAD StudioShowcase

This Is How SCULi Silently Oversees Liebherr’s Sumptuous Construction Machines

This Is How SCULi Silently Oversees Liebherrs Sumptuous Construction Machines

Today’s enterprise article focuses on a long-running Windows development large-scale project brought to us by Didier Cabalé. Didier describes “SCULi” which forms the backbone of diagnosing maintenance issues for Liebherr’s extensive range of products used in the construction, maritime, and mining industries. SCULi is entirely written in Delphi and began life 17 years ago and has successfully journeyed through various changes in Windows operating system and the evolution of RAD Studio itself. This is what Delph does – runs well, and keeps on running silently, rock solid and reliable – virtually nothing else can make that claim. There are over 6000 internal and external Liebherr users using SCULi every single day.

What is the SCULi enterprise development?

“SCULI” is an abbreviation for the “Service Client Universal” that is used within Development, Production and Service of various Liebherr products for construction machines, maritime cranes, mining. This system permits the diagnosis and execution of regular service maintenances on the Liebherr electronic devices or ECU’s (Electronic Control Unit).

Sculi is not only a “simple” diagnosis tool, but also an integration system in which various services can be offered. Those services, that can be functions or communication protocols, are integrated through the so-called extensions.

What are the functions of SCULI?

The various functions are as follows (not exhaustively listed):

– For the Engine:

This Is How SCULi Silently Oversees Liebherr's Sumptuous Construction Machines - monitored variables
The quickview dashboard

Other SCULI enterprise development dashboards

This Is How SCULi Silently Oversees Liebherr's Sumptuous Construction Machines - picture 2
This Is How SCULi Silently Oversees Liebherr's Sumptuous Construction Machines - picture3
  • Pump codes (not shown)
  • Error memory
  • Cylinder cut-off
This Is How SCULi Silently Oversees Liebherr's Sumptuous Construction Machines - picture4
  • Click test (not shown)
  • Bleeding
  • Compression test
  • DPF filter maintenance
  • Dozens of graphical Tools that represent the overall engine schema with their related key-variables.

For the Engine and the Machine controllers

This Is How SCULi Silently Oversees Liebherr's Sumptuous Construction Machines - picture5
Variable editor
This Is How SCULi Silently Oversees Liebherr's Sumptuous Construction Machines - picture6
Message analyzer
This Is How SCULi Silently Oversees Liebherr's Sumptuous Construction Machines - picture7
Message finder
This Is How SCULi Silently Oversees Liebherr's Sumptuous Construction Machines - oscilloscope
Oscilloscope

For the machine controllers.

This Is How SCULi Silently Oversees Liebherr's Sumptuous Construction Machines - picture9
Terminal emulator
  • Module info (not shown)
  • File transfer
  • Monitor emulator
This Is How SCULi Silently Oversees Liebherr's Sumptuous Construction Machines - picture10
SCOTTi and Wizard emulators
This Is How SCULi Silently Oversees Liebherr's Sumptuous Construction Machines picture 11
Code generator

“Extensions” are the libraries that are part of the SCULi program and refer to functional bricks. They are handling:

  • specific connection to “engine” type controllers
  • specific connection to “machine” type controllers
  • Messages extracted from the controller
  • Messages database retrieval and presentation
  • controller’s specific interface and monitor
  • the program’s resources, like pictures
  • application’s Framework
  • the Liuid, the home-made identification system for any machine or engine.
  • the application’s Events broker.

SCULi is used by over 6000 internal and external Liebherr users world-wide.

It allows On-board and remote control.

What is the SCULi enterprise development architecture?

The target system is from Windows 7 to Windows 11.

The licensing system was formerly based on a configurable Marx dongle. It is now based on a proprietary access management system that requires a hardware dongle for certificate storage and a license file. The resulting license system enables or not the functionalities depending on the user’s level for targeted ECU’s identifier pattern (LiUIP).

How does Microsoft COM play its part in the SCULi enterprise development?

COM architecture permits to decouple the extensions from the main application back-bone. This has some advantages:

  • Enable a distributed development, among several Liebherr subsidiaries.
This Is How SCULi Silently Oversees Liebherr's Sumptuous Construction Machines - picture 12
  • Enables integration tests
  • Enables us to command SCULi with scripts

How did you integrate COM with Delphi?

Delphi provides a .tlb file editor:

This Is How SCULi Silently Oversees Liebherr's Sumptuous Construction Machines - picture13

…and transforms it to a *TLB.pas Interface source file, used overall in the project.

This Is How SCULi Silently Oversees Liebherr's Sumptuous Construction Machines - picture14

How does SCULi communicate with the ECU hardware?

Before 2014, the communication layer between SCULi and the ECU’s was part of the framework extension. According the type of the ECU, different communication protocols had to be used.

Since 2014, the communication with the ECU’s has been delegated to an external specialized layer, MCom.

  • Logging and Error tracking system: SmartInspect and EurekaLog
  • Translation: POEdit and DXGetText.
  • Setup: build with Inno Setup
  • Project volume: ~1000 unit files.

Why did you choose Delphi for SCULi?

The SCULi project started in 2006. At that time Delphi had been estimated as the best candidate for building robust and fast Win32 applications.
Delphi was also, at that time, the best candidate to develop against the COM based architecture we want to follow.

In addition it offered a wide range of third-party libraries that covered all of the functional spectrum. In 2009, the whole project has been migrated to Delphi 2009.

What third-party libraries did you use?

We used the following third-party libraries

  • DCPCrypt2
  • DISQLite3
  • GDIPlus
  • Indy10
  • JCL + JVCL
  • Python for Delphi
  • RE (Regular Expression)
  • TeeChart-Pro
  • TMS
  • TurboPower
  • Virtual TreeView
  • wPDF
  • XML Parser (from destructor.de)

What other things should we know about the SCULi enterprise development project?

Today, in 2023, 17 years after its start, Delphi keeps getting its incomparable advantage over the other development tools in the market for building Win32 application, due to its high compactness /speed of the resulting binaries together with a flexible + powerful toolbox component set. Migrating from Delphi 2009 to the next Delphi versions could have even improved the developer’s productivity (lot of language enhancements) and overpass the limit of developing only for Win32 platforms (Android, Linux, Mac-OS, iOS).


This article was submitted as part of our Enterprise Article Showcase. If you have a success story to tell about a project which makes use of RAD Studio with Delphi or C++ Builder, or any of our other great enterprise products please get in touch. Read all about it here: Enterprise Article Showcase

See What's New in 12.2 Athens See What's New in 12.2 Athens Dev Days of Summer 2-24

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

About author

Ian is the Embarcadero Developer Advocate, a professional writer, presenter, and host. He is a prolific software developer, voice actor, designer and poet. Ian is British American, born in London, now living in Dallas, Texas. "I get up early every day and write code".

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

IN THE ARTICLES