Implementation of Virtualized Control Systems: My Experiences with Rockwell SoftLogix

Implementation of Virtualized Control Systems: My Experiences with Rockwell SoftLogix

Introduction

Hello everyone! I am your old friend Xiaoshuai, and I have been working in the field of automation control for fifteen years, mainly responsible for the design and implementation of industrial control systems. Today, I would like to share some experiences and insights regarding Rockwell’s SoftLogix virtualized control system.

I remember when I first encountered SoftLogix, I was quite skeptical about this “soft PLC”—without physical hardware, could it really stably control field devices? After several years, from doubt to reliance, I have been completely “conquered” by it. Especially for those with limited budgets who want to experience advanced automation control, SoftLogix is definitely a direction worth exploring.

Implementation of Virtualized Control Systems: My Experiences with Rockwell SoftLogix

What is SoftLogix? What Problems Can It Solve?

SoftLogix is a software PLC system based on PC launched by Rockwell Automation, allowing us to run control programs with the same functionality as hardware PLCs on ordinary computers. In simple terms, it is a “PLC dressed in software clothing”.

SoftLogix is particularly suitable for the following scenarios:

  • Small and medium-sized enterprises that need to start automation projects at a lower cost
  • PLC programming learning in educational training environments
  • System testing and validation phases
  • Applications that are highly integrated with IT systems
  • Projects that require high flexibility in control systems

Hardware Configuration and Environmental Requirements

Basic Hardware Requirements

When I first configured the SoftLogix system, I chose an over-spec industrial computer, which turned out to be somewhat wasteful. After several adjustments, I summarized a more economical configuration:

  • Processor: At least Intel Core i5 or equivalent AMD processor
  • Memory: Minimum 8GB, recommended 16GB
  • Hard Drive: SSD recommended, at least 120GB
  • Network: Dual network card configuration (one for control network, one for office network)

Tip: Do not underestimate the importance of network cards! I once encountered unstable communication due to network card quality issues in a project, and after switching to Intel series network cards, the problem was resolved.

Software Environment

The basic software environment requires:

  • Windows 10/11 Professional (Enterprise version is better)
  • RSLogix 5000 (now called Studio 5000)
  • RSLinx Classic
  • SoftLogix 5800 controller software

Recommendation: It is best to turn off Windows Firewall and antivirus software before installing these programs, and configure the corresponding exception rules after installation. This is a major pitfall I encountered; I once had intermittent communication issues due to firewall problems.

Core Principles of System Design

Basic Architecture of Virtualized Control

The core idea of SoftLogix is to virtualize the functions of traditional PLCs to run on a PC platform. Its architecture mainly includes three levels:

  1. Application Layer: Control logic developed in the Studio 5000 environment
  2. Execution Layer: SoftLogix control engine (responsible for logic execution)
  3. Communication Layer: Interacting with field devices through RSLinx

Compared to traditional PLCs, the biggest difference of SoftLogix lies in the execution environment. Traditional PLCs use dedicated operating systems and hardware, while SoftLogix runs on Windows, which requires us to pay special attention to resource management and system stability.

Real-Time Assurance Strategies

In a project at a food processing plant, the client was particularly concerned about the real-time performance of the control system. To ensure the real-time performance of SoftLogix, we took the following measures:

  • Adjust Windows services, disabling unnecessary services
  • Set the SoftLogix process to high priority
  • Disable automatic system updates
  • Configure a dedicated control network to avoid interference from the office network

Tip: Windows has a very useful “Performance Options” setting; adjusting it to “Adjust for best performance” can significantly improve the response speed of SoftLogix.

Key Points of Actual Code Implementation

Program Structure Design

Similar to traditional PLC programming, but SoftLogix allows for a more flexible program organization. I am accustomed to organizing programs in the following structure:

- Main Program
  |- System Initialization
  |- Device Status Monitoring
  |- Main Control Logic
  |- Alarm Handling
  |- Data Logging
  |- Communication Management

Personal Experience: Modularizing the program is very important! I once took over a project with “spaghetti code” where all logic was mixed together, and even slight modifications could trigger a chain reaction. After restructuring it into a modular format, maintenance difficulty was reduced by 80%.

Key Code Example

Below is a simplified implementation of a typical data acquisition and processing task in SoftLogix:

// Timed acquisition task
IF Timer.DN THEN
    // Reset timer
    Timer.PRE := T#100MS;
    Timer.EN := 1;
    
    // Data acquisition
    RawData := AnalogInput;
    
    // Data filtering
    IF ABS(RawData - LastData) > NoiseThreshold THEN
        FilteredData := RawData;
    ELSE
        FilteredData := LastData;
    END_IF;
    
    // Data storage
    DataBuffer[DataIndex] := FilteredData;
    DataIndex := (DataIndex + 1) MOD BufferSize;
    
    LastData := FilteredData;
ELSE
    // Start timer
    Timer.EN := 1;
END_IF;

Practical Advice: There are subtle differences in timer handling between SoftLogix and traditional PLCs. Traditional PLCs have hardware interrupt guarantees, while SoftLogix relies on Windows scheduling, so it is advisable to avoid using very short timing cycles, as this may lead to jitter.

Function Expansion and Integration

Database Integration

One of the biggest advantages of SoftLogix is its ease of integration with IT systems. For example, in database integration, we can achieve this in the following ways:

  1. Using FactoryTalk Transaction Manager
  2. Connecting with custom data collection programs via OPC
  3. Using the .NET interface in SoftLogix to interact directly with SQL Server

In a project at a paper mill, we used the OPC interface to write SoftLogix control data in real-time to SQL Server, and then built real-time data dashboards using Power BI, greatly enhancing production transparency.

Visual System Integration

Personal Experience: In a packaging inspection project, we needed to integrate camera inspection results with SoftLogix control logic. Initially, we tried traditional I/O methods, but the large data volume led to low transmission efficiency. Later, we switched to TCP/IP communication, and the problem was resolved.

Integration code example:

// TCP reception handling
IF TCP_Socket.Connected AND TCP_Socket.DataAvailable THEN
    // Read data
    TCP_Socket.Receive(RecvBuffer, 0, RecvBuffer.Length);
    
    // Parse image inspection results
    IF ParseImageResult(RecvBuffer, OUT DetectionResult) THEN
        // Decision based on inspection results
        IF DetectionResult.QualityScore > QualityThreshold THEN
            SetQualityGrade := GOOD_PRODUCT;
        ELSE
            SetQualityGrade := DEFECT_PRODUCT;
            DefectType := DetectionResult.DefectType;
        END_IF;
    END_IF;
END_IF;

Debugging Tips and Troubleshooting

Efficient Debugging Methods

Debugging SoftLogix is much more convenient than traditional PLCs, but it also has its own “quirks”. Here are a few debugging tips I commonly use:

  1. Use Online Monitoring: The online monitoring feature of Studio 5000 allows real-time viewing of variable value changes
  2. Establish a Simulation Environment: Use software to simulate I/O signals to avoid risks during on-site debugging
  3. Log Recording: Add log recording at key points for easier post-analysis

Painful Lesson: Once during on-site debugging, I forgot to back up the program before modifications. During debugging, the system crashed, and all modifications were lost. Since then, I have developed the habit of “backing up every hour”.

Common Issues and Solutions

  1. Communication Interruption Issues

  • Symptoms: Devices intermittently connect and disconnect
  • Solution: Check network card settings and disable the “Allow the computer to turn off this device to save power” option in power management
  • System Overload

    • Symptoms: Scanning cycle is unstable
    • Solution: Disable unnecessary Windows services and limit background applications
  • License Issues

    • Symptoms: Random controller stops
    • Solution: Ensure the license is correctly installed and avoid using virtual machines (unless specially configured)

    Sharing Practical Application Cases

    Automation Transformation of Small and Medium-Sized Breweries

    I participated in a project for a small brewery with a limited budget but complex requirements. Through the SoftLogix solution, we achieved:

    • Precise temperature control (±0.1℃)
    • Fully automated fermentation process
    • Real-time recording and analysis of production data
    • Remote monitoring and control

    In the end, we saved about 40% on hardware costs compared to traditional PLC solutions while gaining greater system flexibility.

    Key Experience: In this project, we found that random updates in the Windows system were a major issue. Later, we used the Windows 10 LTSC version and completely disabled the update service, significantly improving system stability.

    Educational Training System

    Another interesting application was the PLC training system built for a vocational technical school. With SoftLogix, each student only needs an ordinary computer to conduct complete PLC programming practice, no longer limited by the availability of hardware devices.

    We also developed a series of virtual scenarios to simulate different industrial environments, allowing students to “experience” solving various control problems.

    Conclusion

    After several years of “interacting” with SoftLogix, I increasingly recognize the value of this virtualized control system. It may not completely replace traditional PLCs, especially in high-reliability scenarios, but it indeed provides a cost-effective and powerful option for many small and medium-sized enterprises and specific application scenarios.

    I remember having many doubts and discomforts when I first encountered SoftLogix. But like many other things in the technology field, as long as we are willing to keep an open mind, virtualized control systems can bring us unexpected surprises.

    I hope my sharing is helpful to everyone. If you also have experiences or questions about using SoftLogix, feel free to leave a message for discussion. On the road of automation, let’s learn and progress together!

    Leave a Comment