ProSoft Insights / White papers

LDM: A “Blank Slate” Multi-tasking Solution

Search Insights




Yes, I would like to receive marketing information from ProSoft Technology, Inc., and its affiliates, subsidiary companies and brands indicated below.

I therefore provide my consent to the use of the personal information submitted here for the purpose of providing me marketing information related to ProSoft Technology, Inc. and its affiliates’ and subsidiaries’ products, services and marketing events. I understand that I may withdraw my consent at any time. Additional information regarding ProSoft’s data privacy policies, including how to withdraw this consent, is available at ProSoft Technology, Inc. is a subsidiary of Belden Inc., and their affiliates, subsidiary companies and brands include ProSoft Technology SAS, ProLinx Comunicacao Industria, LTDA; Global Blue Networks Inc., and ProSoft Technology (Asia Pacific) SDN BHD.

Recent Posts

How Utilities Benefit from Remote Connectivity

12 Jul, 2024 / Technology focus

For utilities, remote connectivity offers has the potential to limit field visits, redu...

New Updates Add (Even More) Versatility to AN-X4 Modernization Gateway

12 Jun, 2024 / Product focus

Recently, ProSoft’s Modernization Gateway got two new firmware updates to add to its us...

Reduce Energy Usage by Connecting Building Automation Equipment

22 May, 2024 / Technology focus

Data from your facility’s equipment like boilers, chillers, HVAC systems, air compresso...

Your Most-Asked Remote Connectivity Questions

02 May, 2024 / Technology focus

We’ve got the answers to your most frequently asked questions about industrial remote c...

LDM: A “Blank Slate” Multi-tasking Solution

Any system integrator who’s worked in the field has come across some protocol that is so old, so specialized, or so rare that they end up calling ProSoft Technology’s support line to find out if we have a solution that might allow them to connect to this old device.

We do have one especially unique solution for just such an occurrence: the Linux Development Module for ControlLogix® and CompactLogix™ systems. If you don’t know Linux, you may be a little concerned now, but no worries: There are companies out there that can offer custom programming of the module to relieve you of the burden.

So, what is the LDM, why would you need it, and lastly, what has it been used for?


A little history lesson 

The original precursor to the Linux Development Module allowed users to write custom code to control serial ports on a BASIC module, and write custom protocols while having access to the backplane. This was a popular solution for complicated tasks, custom protocols, and even DH485 access to other PLCs. From there, ProSoft created a DOS-based in-chassis module for just about every backplane Rockwell Automation® offered. This solution had customers and OEMs using it to implement their machines into a ControlLogix rack, without having to reinvent a wheel that would have to be shoe-horned into digital logic chips in the existing machine. 

The next step – the current Linux solution – gave users even more power by allowing OEMs and SIs to write custom programs in an in-chassis module. The solution essentially serves as a computer running in your control panel, allowing you to connect with a variety of IP protocols without the IT support hassles of a traditional Windows PC. 

You can now FTP into your rack, and upload or download files that could be used as part of your control system. These capabilities allow for more streamlined data integration. Concerned about being vulnerable to attacks given these features? Good news: Because it is Linux, it has all the strength of a Linux Kernel, with 100 percent control over what is allowed to connect, and even what protocols you want to allow. 


A multi-tasking superstar 

So why exactly might you need a Linux Development Module? The LDM not only acts as a PC in the rack - it can also run your custom-developed drivers for protocols, interface with serial devices, and record changes to tags in the host PLC. And it can do all of that simultaneously. Because of the natural ability of the LDM to multi-task, it is very simple to design multiple tasks at the same time without limiting yourself to that reality.

(If the multi-functional nature of the module isn’t needed for your application, you can also set up the LDM to launch your driver daemon, and then not allow the command line user interface to boot up, leaving the module in more of a single-purpose mode.) 

The LDM is lovingly referred to in Technical Support as a “Blank Slate Module.” This solution allows anyone the ability to write a C/C++ program that uses any number of protocols that they see fit to develop. It opens up a whole new world of access for the OEM or the SI, without having to write everything that it takes to create a full module. For example, the LDM already comes with an API for communicating with the PLC and has an HTTP server running on it. This can be used to flash the firmware, saving time and effort when designing a new custom module. And remember - the LDM runs your compiled code, so you can run proprietary algorithms without the worry of others viewing your code. 


What it’s been used for 

So what has the LDM been used for in the real world? Some OEMs we’ve talked with are using the LDM as a co-processor for the main controller in the rack. Sure, just about anything you would ever want to accomplish with a number can be done in ladder. However, several customers have found that when they do this it slows down the ladder processing to an unacceptable level. It is much faster to hand off the data across the backplane, have the LDM handle it in machine language, and return the dataset back to the controller. 

The LDM has been used to control robots - more than 1,200 of them, to be exact. It has been used to create a full HMI/SCADA server that comes built into your rack – the real-world benefit being that it is not a PC and you don’t have to worry about how to get dissimilar systems to communicate. It has also been used to record tag values, and keep logs of the changes that could then be parsed by other software running on your desktop instead of the LDM itself. 


Learn more about the LinuxDevelopment Module at