Iveco Develops a Shift Range Inhibitor System for Mechanical 9- and 16-Speed Transmissions in Six Weeks
- Development time cut by 40%
- Specification and implementation errors eliminated
- PLC design reused on a microprocessor
To capitalize on a market opportunity in Latin America for a range of medium- to heavy-duty vehicles, Iveco had to design, implement, test, and deliver a shift range inhibitor system for vehicles with 9- and 16-speed transmissions in about six weeks. The aggressive deadline required a compressed software development schedule that left no room for specification or implementation errors.
Model-Based Design with Simulink® and Simulink PLC Coder™ enabled Iveco engineers to complete the transmission management system on schedule using existing programmable logic controller (PLC) hardware.
“Because we had so little time on this project, we could not use our usual development approach,” says Demetrio Cortese, embedded software manager at Iveco. “Instead, we adopted Model-Based Design and a custom workflow. Our system engineers and software engineers worked closely together using MATLAB and Simulink, which helped eliminate errors in requirements. The software engineers then generated the production code using Simulink PLC Coder, which accelerated development and minimized implementation errors.”
Due to the tight time constraints on the project, the team planned to use a preexisting hardware configuration that included a PLC. The software engineers, however, had no experience in writing structured text for PLCs. To avoid implementation errors and increased development time, Iveco needed to generate structured text automatically.
Iveco’s traditional approach, in which system engineers define requirements and specifications that are handed off to software engineers, was not feasible given the project’s short timeline. “To save time, we needed our system and software engineers to collaborate in defining and elaborating the system,” explains Cortese.
Engineers planned to reuse the system on other processor-based projects, so they needed a way to retarget the initial PLC design once it was completed.
Iveco used MATLAB®, Simulink, and Simulink PLC Coder to develop, implement, and test the PLC version of the transmission management system.
Working together, system engineers and software engineers developed a preliminary model of the system in Simulink.
Software engineers refined and customized the model, adding constraints, data types, built-in tests, and diagnostics. They simulated the model in Simulink to verify the design’s integrity and to identify overflow conditions, unexercised blocks, and other potential issues.
The team generated structured text from the model using Simulink PLC Coder. They integrated this structured text into the supplier’s PLC development environment, and deployed the system to a PLC running on a test bench.
The engineers conducted real-time lab tests using the PLC and the actual transmission, quickly adjusting the model, regenerating the code, and rerunning tests until the management system met its functional and performance requirements.
The verified system was then deployed to an actual vehicle for on-road tests. The team continued to fine-tune the system in the field, using Simulink and Simulink PLC Coder to quickly update and redeploy the software between tests.
With Simulink Report Generator™, the team generated the documentation for the system.
The PLC version of the management system is entering production on Iveco vehicles for the Latin American market. The engineering team is reusing the Simulink model with Embedded Coder® to deploy the system on a Master Vehicle Computer.
Development time cut by 40%. “We delivered the software in less than 35 days and used the remaining time for road testing,” says Cortese. “Model-Based Design has enabled us to reduce time-to-delivery of new software systems by about 40%.”
Specification and implementation errors eliminated. “With Simulink we create an executable specification: one model that is used by system engineers and software engineers. Close cooperation between these engineers reduces specification errors,” notes Cortese. “With Model-Based Design we have also eliminated implementation errors, because we automatically generate production code.”
PLC design reused on a microprocessor. “After implementing the PLC version with Simulink PLC Coder, we reused the model, with few modifications, and generated the microprocessor code using Embedded Coder,” says Cortese. “We switched from a structured text implementation to C, just by changing the code generation product we used.”