Assignment type: Graduation
Assignment data: As soon as possible
Assignment duration: 6 months, possibility to extend
Desired study: Computer Science or related (knowledge and experience of programming is required)
Language: Dutch 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!
We would like to offer students the opportunity to contribute to the development of our software tools. Therefore, you have the option to choose from the following assignments. Please feel free to indicate during your application which assignment appeals to you the most, and we can further discuss the details of that assignment during the interview.
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.
In order to create loads on the virtual conveying system, the EmulatePD is provided with a loadgenerator. In the stand-alone test environment there are 2 possibilities to create load in the system. In pattern generation the user can generate a fixed pattern loads according to a set of predefined parameters. These parameters can be changed by the user in a Graphical User Interface, prior to the creation of loads. In scenario file generation, the user can select a scenario file. This xml file provides the possibility to uniquely describe all the properties for each individual load. As you can imagine, the creation of such a file is very time consuming and difficult as the user cannot afford to type a mistake.
In order to ease the process of using scenario files, you shall develop a scenario file generator. This shall take away the risk of type errors and still allow the user to create unique deviations in the set of loads. A very important aspect of this assignment is the Graphical User Interface. It shall be intuitive for every controls project engineer.
The EmulatePD software is released 4 times a year. Development is still on going. Since EmulatePD is being used for validation of our OT software, we cannot afford to make mistakes. For this reason we need an (automated) creation and running on an integrated test. In such an integrated test environment, multiple virtual PLCs run against EmulatePD in multiple different Virtual Machines.
The whole installation of the setup is automated via a Virtual Testroom Manager. Yet there is still no possibility for automatically running an integrated test and validating whether the test went successfully. Especially the validation can be extremely difficult since the criteria to approve the test results can vary for each different system layout. The automate Integrated Test environment shall be used for nightly runs to validate correctness of EmulatePD, PLCSIM Advanced or even Windows updates. Since any of these 3 may cause an unexpected behavior.
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.
- Experience with C and C# as EmulatePD is programmed in both languages
- 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.
- Fluent English or Dutch is required. The report is expected to be written in English.
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.