Work Related Programming Experience
Delmia D5 FANUC Rj Downloader
Written in: .GSL script
Delmia D5 is an older simulation software package with a proprietary cripting language called .GSL. .GSL is a mix of old C and Pascal languages with a set of proprietary Delmia D5 functions built in. Because the simulation portion of the software is so old, and in fact the program which creates the text files for downloads is completely out of date and unsupported, I created my own downloader using the .GSL scripting langueage. When the script was applied to a robot and run through the simulation portion of Delmia D5, it would prompt the user how many paths to run, prompt them to select the paths, and it would download them one by one, in order, and create a basic mainline operation as well. The mainline programs were created to show the robot programmers what order the programs were intended to be run in. The positions were downloaded in joint representation.
ABB Post Processor
Written in: C#
Due to the limitations of the software, Delmia's proprietary downloader would not create correct downloads for the most recent version of ABB's RAPID controller. Because of this and customer specifications, I was forced to write a post processing utility that would take the quaternions that were created during Delmia D5's download process and would format it correctly for the current ABB RAPID specification and group MIG welding operation locations together. To provide this application, I created an ABB library with Regular Expressions to capture each location and its associated values in an organized way, and renamed each location that was between a start of a MIG operation and the end of a MIG operation to match the MIG line's manufacturing ID. Since simulation uses the manufacturing ID to identify welds and robot programming uses the location name, this ensured that each of the involved groups was speaking the same language in terms of weld locations, for ease of communications.
KUKA SRC Post Processor for Aerospace
Written in: C#
Delmia V5 is one of the newer simulation software packages. One of the outsource providers that creates utilities for KUKA created a utility that generated an XML file. This XML file was then parsed for location information using XPath expressions in my C# program. Once all of the locations were found in the file, the program would create a .SRC file to be read into the KUKA robots that were being used in the Aerospace project. This allowed us to create quick, efficient downloads with the level of security that was demanded of on that project.
General Motors Weld Timing Chart
Written in: C#
General Motors has a standard format for outputting a list of welds and the materials of the joined surfaces. These materials and their thicknesses are the determining factor for the weld time factor in the simulation. Originally, the General Motors team was creating the formatted weld report file, and would read through the file and compare the material code against the second most thick metal's thickness to find in a table what the weld time was. My program would read through the file for the user and would generate a list of welds and their weld times in a graphical user interface so that the user could set the weld times more quickly. This allowed the user to set the weld times about three times faster.
Delmia D5 FANUC Dual Check Safety
Written in: .GSL script
Dual Check Safety is a technology came out after Delmia D5 became obsolete. Some customers that still requre the simulation be delivered in Delmia D5 are now requiring Dual Check Safety (DCS) to be created and included in the simulation. I created an application that takes as input a path created in the Delmia D5 environment and outputs a .CM file, which can be imported into the robot controller, and run, thus setting the DCS variables in the controller. This allowed for DCS to be created for an entire project in Delmia D5 much faster than previously possible.
Process Simulate OLP Customizations
Written in: XML
Many customers such as Ford, Chrysler and General Motors have a speicifcaiton for robotic simulation output, mainly for offline programs, or OLP for short. This causes many suppliers to create custom applications that reformat the OLP to match the customer speicification. Utilizing XML, Process Simulate is able to define rules for output of the OLP, which offers a way for companies to interchange output formats without having to worry about giving away any trade secrets, because all of the styling is done in XML, while Process Simulate filters its output using the declared styling. This allows for fast downloads out of the simulation software, and if done right, allows for ease of use debugging from the simulation users perspective. I have worked very deeply in the XML customization for Process Simulate to provide users with a fluid experience, allowing the simulation user to converse using the same terminologies as a robot programmer, because the customization allows them to see exactly what the resultant download will look like when a OLP command is added into the simulation on a location. This allows for simulation users to very easily debug their programs collaboratively with the robot programming devisions from inside the simulation, and will lead into a very fluid experience during virtual commissioning projects.