Post-processing marks the final step of laminate programming. A post-processor takes the digital manufacturing information and transfers these into machine code, which the manufacturing machine can then run in order to manufacture the laminate.
Depending on the manufacturing system, the post-processor may utilize different, control-system-specific functions and instructions that are implemented on the machine. Since the software components of the control system can be configured and extended, different interfaces and functions are available for different setups. A good post-processor will utilize all these highly specific functionalities to optimize the layup program for the control system. This means removing unnecessary external calculations and calls to system functions.
An example: Let’s assume that the goal is to move the tool in a circle. One could go ahead and imitate a circular movement by approximating the circle at many positions (thus creating a polyline) and program the tool to move to each position. If the control system has implemented a function to move in a circle already, all these calls could be reduced to a single one. This would reduce many lines of code to one and reduce additional overhead. For this to work, however, the post-processor needs to be up to date with the latest changes in the control system.
Since all machines differ, it is possible to utilize different post-processors to export the same manufacturing program to different machines. This also means that the laminate only needs to be programmed once!
To showcase this, we have programmed an example ply and used three different post-processors to create the manufacturing programs for three different systems.
Figure 1: The example ply on a layup table.
Figure 2: The full program of a course made of 16 tows. CONFIGURE_COURSES sets the start and end distance of the tow of the given spool. (The tow from spool 1 starts after 95.285mm and ends after 325.510mm with respect to the start of the tool path.). CONFIGURE_COURSES is defined in the control system. This function has been developed by the control system engineers and calculates internal parameters such as valve pressures, forces, indices, etc. These values might also be set from the external program, but by simplifying these to a single, simple function call, the probability of errors is minimized. SET_HEATER sets the heater’s power to 0% or 50% respectively. The G1 commands are movement instructions, which direct the end-effector to move to the location given by the X, Y, and Z position and the A, B, C angle.
Figure 3: The full program of a course made of 4 tows. This program is used for a robot system that uses a custom end-effector. First, the start and end position of the tapes are set to the layup tool's feeding units. Afterward, the tool path is defined by using the G01 commands and the corresponding X, Y, and Z coordinates and the A, B, and C angles for the orientation of the end-effector.
Figure 4: The full program of a course made of 3 tows. This program is used for a machine that can only manufacture flat laminates since it has no axis that moves the layup tool along the “up” direction. This makes the resulting programs as simple as just defining the required distances (feeding start, cutting, feeding end, etc.) along the tool path of the course. The control system of this machine does not have any additional functions for simplifying the programs like the first one. The parameters are set directly.
Note: The programs have been simplified to better illustrate the differences between the same commands for different machines.
This article will mark the end of the first segment of this series of articles. We introduced you to the very basics of the CFRP manufacturing components – what carbon fiber reinforced plastics are, how a layup tool works, and what effects their design has on laminates. We have furthermore given insight on different optimization methods and which parameters of a laminate are essential to evaluate them. We then showed you how CAM software utilizes the layup paths and simulates the machine that is to be used for manufacturing. Post-processing is the last step to transfer the laminate program to the machine.
The next articles will give insight into a specific project that SWMS has worked on: the project OptiTape. We will showcase the extended requirements and functionalities that were placed on the layup machine and how they have been implemented.
Afterward, we will progressively go into more detail on the specifics of CAM software and even layup algorithms and layup analyses of complex curved laminates. We hope to have sparked your interest and to see you again soon. We also highly appreciate any questions and feedback!
Until then, stay safe and stay tuned.