ProSoft Insights / White papers

LDM: A “Blank Slate” Multi-tasking Solution


Search Insights




Recent Posts

Guide to setting up remote access to your control systems

19 Jan, 2018 / Videos

This video walks you through the steps required to remotely access your control systems...

Castings manufacturer sees better ROI via phased modernization

12 Jan, 2018 / Application stories

American Castings, headquartered in Pryor, Oklahoma, has been in the metal casting busi...

LDM: A “Blank Slate” Multi-tasking Solution

09 Jan, 2018 / White papers

Any system integrator who’s worked in the field has come across some protocol that is s...

ProSoft Insights' Top 10 articles for 2017!

02 Jan, 2018 / News & Events

ProSoft Technology’s teams wish you a wonderful new year filled with abundance, joy, an...

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