Rapid software development for manufacturing equipment can often be difficult due to (among many factors) the extended testing times required for the process and the cost of raw materials to execute the test runs. In order to efficiently and cost-effectively ensure quality application software development for our client at a rapid pace, DMC simulated the target hardware and software.
To create a simulation engine for our customer’s hardware, which is based on the Siemens S7 PLC platform, we utilized the Siemens SIMBA Profibus hardware interface, which is a device that appears to a connected PLC as an entire network of Profibus slave devices. Provided that the SIMBA interface is configured with a compatible hardware configuration to the S7 program, the original PLC project can be run without modification. This removes the need to maintain a separate hardware configuration for testing purposes, and eliminates a source of error in the testing process.
Siemens provides a C# DLL wrapper that allowed us to quickly develop a C#/.NET-based user interface and simulation engine that connects to the SIMBA over an Ethernet interface. Because the simulation cycles and intra-device communications were time-critical, multithreading was used. The application was written with the intent that multiple hardware platforms should be supported with a minimum number of changes to the codebase. As a result, each platform is specified by an XML file that is loaded at runtime and much of the user interface is generated dynamically based on the contents of that file.
In addition to simulating the physical model of the hardware platform, the simulation engine supports fault injection and white noise generation on analog inputs, which can be used to test the response of the application software to real-world operating conditions. This is a critical aspect of software simulation, as discovering bugs in these situations on actual hardware platforms can often be very costly in terms of both time and money.
The customer was able to use this simulator to test rapidly-developing application software and discover bugs. As an additional benefit, the simulation station functions as a conduit for operator and developer training without requiring the use of the actual manufacturing equipment. This translates to less downtime and more cost savings.
Learn more about DMC's Siemens S7 PLC programming services.