Graduation: Create a virtual logic analyser for low-level emulation
Assignment type: Graduation
Start date: Augustus/September
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!
The emulation happens in real-time. The PLC therefore talks to EmulatePD faster than a human can follow. The signals exchanged between the PLC and EmulatePD are virtual signal lines or busses. When something goes wrong, due to a bug in EmulatePD or in the PLC program, it would be helpful to have a logic analyzer view that shows what the signals do on a time axis in EmulatePD. With this we can record and analyze exactly in what order the signals occurred to try and find the problem. This tool would help us greatly in finding problems and quickly developing emulation blocks for new equipment.
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 include the logic analyser view described above.
- You will think about performance and usability: sometimes many signals will need to be recorded at the same time, and for the user it should be easy and intuitive to setup a measurement and view the results.
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: firstname.lastname@example.org or Jasper Pijnenburg (Campus Recruiter) by phone: +31 413 49 44 08.