Our printing machines consist primarily of discrete I/O with a small quantity of analog I/O. We ship these machines worldwide, and to reduce startup time and travel we plan to start doing more extensive shop testing. Right now, we test on-machine I/O to some extent. But some I/O cannot be tested easily as it's either field installed or requires actual production for responses to make sense. For those I/O points, is software simulation the answer? Or should we go with hardware simulation by wiring at least some outputs to devices and reading responses at the inputs?
—from July'09 Control Design
Test Multiple Configurations
To guarantee a robust machine, responses of the control system should be tested for every possible I/O configuration under every process. Doing this with hardware usually means wiring outputs to safety inputs to simulate specific fault or sensor conditions. Unfortunately, even a system with relatively few I/O and processes still will require several man hours, days or even weeks to test all possible conditions. This investment in manpower is usually necessary unless the control system inputs and processes can be simulated fully with software. This requires a powerful simulator that can emulate the real-time machine control application completely and also must provide the user the ability to simulate system inputs and fault conditions during machine operation.
Controller simulators having this full functionality allow the user to simply implement a routine that will run simultaneously and independently of the machine control application, systematically simulating input configurations and fault conditions during different machine operation modes. Such a simulation can run overnight in a lab and test many thousands or even millions of conditions, potentially many more than could be done by a technician over several months. Compared to hardware simulation, this method will save the machine builder the cost of hardware testing equipment and the much-more-significant cost of many man hours. Ultimately, production experience is invaluable for judging the robustness of a machine, but efficient software simulation with a fully capable machine simulator will improve overall quality greatly and reduce time to market.
Control and Application Engineer
ACS Motion Control
Weigh Field I/O's Role
The choice between hardware- and software-based simulations comes down to the role the inaccessible field I/O has on the final product. If the field I/O is only partially critical to machine function, it is perfectly acceptable to simulate these scenarios with software implementations, especially if the simulation software can provide a graphic user interface to visualize the running simulation.
However, if the timing and functionality of the I/O is critical to basic machine function or the amount of simulated I/O is too great, it is probably better to implement hardware-based simulations. This should be done with test boxes. These test boxes should use quick disconnection so no hardwiring issues are created on re-install, have their own logic controllers so they can be customized quickly for each application and use flexible I/O solutions to be flexible enough for any type of I/O that would need to be simulated.
Two Ways to Test
There are two options. One option is to make a dedicated controller that emulates the process/field and thus tests the machine. This would be another controller, additional to the one in the machine. This controller could be configured to interact with the same control program running on the machine controller, thereby providing the ability to test the machine for normal and extreme conditions.
The other option is to make a handheld test panel that connects those few points that cannot be connected otherwise. For example, this could be a panel of knobs and switches that supplies the voltages expected by the machine. An operator would need to be trained to provide or simulate the signals from the field as part of the machine test process.
Don't Confuse Simulation With Validation
I'm a huge fan of simulation for software development, but it seems like they are asking about validating a machine before shipment. I strongly encourage simulation for software development and early testing of the machine without hardware, however, validation before shipment requires actual connection to the I/O points as close to the actual field/optional hardware. I would value switches over a non-hardware simulation. Best would be a simulation in a box with its own I/O to connect into the field connections.
This test system must have sufficient value to be a small project that is tested, managed and documented. To do less can lead to false results and over-reliance on tribal knowledge.
This is a complex issue that must be managed dependent on the company's culture, expertise and known problems with current procedures. Documentation on actual problems encountered can lead to the low-hanging fruit such as simple wiring checks or automated cable checking.
Senior Software Engineer
Mimic to Save Time
Use desktop and real-time simulation to perform system-level design and testing before final validation on the actual machine.
Develop a system model in Simulink that captures the dynamic behavior of the printing machine, the control system and I/O. Use this system model to run desktop simulations. This lets you begin testing very early in your development schedule. You can validate requirements, identify and correct integration issues and gain a better understanding of the machine before you get into detailed design and before committing to controls and I/O hardware. Then you can use these system models to thoroughly test the system by simulating conditions that would be difficult or dangerous to do in the field.