Assignment type: Graduation
Start date: 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!
A whole conveying system (e.g. an airport) consists of multiple area’s, each controlled by a PLC. All these areas have to work together. To test this, we use VMs (Virtual Machines), with one area emulated in each VM, and all the VMs talk to one another. What we would like to have is an overview of the entire system, all areas, in one window. There we could see where all the bags/parcels/products are in the entire system, and spot problems, such as collisions or congestion easily, and test to make sure the high-level information that the operator gets to see is accurate. A very important aspect of this assignment is, off course, scalability.
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 overview described above. All information (layout of the system, locations of the items on the conveyors) needs to be gathered from all the VMs and displayed
- You will think about performance and scalability: the additional load on the VMs should be minimal, and a large number of VMs (an entire airport) needs to be visualized at once.
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 Stef Alferink (Campus Recruiter) by phone: +31 413 755 087.