Graduation: Create logging for low-level emulation
Assignment type: Graduation
Start date: January/February 2022
Assignment duration: 6 months
Educational level: WO
Desired study: Computer science or related
Language: Dutch and/or English
EmulatePD is a software tool that emulates the conveying system that is controlled by a PLC (programmable logic controller). The PLC talks to EmulatePD as if EmulatePD is the actual system, and EmulatePD will respond as the actual system would. This allows our engineers to test and debug the PLC software in office, instead of on site, where they would have to wait until the whole system has been built. Imagine we want to know if enough items per hour can be processed by the system (the capacity). If you do this on site, imagine the amount of man-hours needed, carrying items (bags, parcels) around to properly test this. Then imagine we need a redesign because the capacity is not large enough… if the system has already been built!
Emulation of the system is often complex. Both the physical properties of the system need to be understood and emulated, the communication with the PLC is often complex and time-critical. Edge cases also become more and more important as emulation is used more every year and users expect more accuracy as our emulation software improves. To keep up with this, it is often critical to know what is happening under the hood in EmulatePD, when edge cases occur when our users use EmulatePD, and we don’t have Visual Studio available to step through the code. For this, we need logging, that can be viewed in a UI, both on the emulation computer itself or on a remote computer.
You will be working at the TIS (Technical Information Systems) department. We make software in house that is used throughout VanderLande to help in the engineering process of our conveying and sorting systems. Think of design tools to draw and design the conveying systems, tools for PLC software generation, and test tools, such as EmulatePD. The EmulatePD team itself currently consists of 3 people.
Tasks / responsibilities
- You will be tasked with expanding the EmulatePD software to expand the logging capabilities of EmulatePD as described above.
- You will think about performance and usability: in emulation, performance is very important as the PLC needs short and accurate response times, so the act of logging an event or error should cost as little processing time as possible. The UI should be easy and intuitive.
We are looking for computer science students, or students of another technical study with programming knowledge and experience. EmulatePD is programmed in a combination of two languages: C and C#.
- C is used in all components that require high performance. Our programming style in C is not unlike what you might expect to be used in embedded systems with limited power. Every clock cycle counts for accurate emulation.
- C# is used for the user interface components, where latency and a somewhat slower response isn’t an issue. In this assignment, you will work in both languages.
- Languages: Fluent English or Dutch is required. The report may be in either language.
Do you recognize yourself in this challenging profile? And are you looking for an internship/graduation assignment in an organization that has been elected as “Best Employer” for years in a row? Please fill out the application form and upload your resume and cover letter. For more information, contact us by e-mail: email@example.com or contact Stef Alferink (Campus Recruiter) by phone: +31 (0)413 – 75 50 87.