What’s new with CIMControlFrameworkTM (CCF)?
CCF is a software development kit (SDK) that enables users to design and implement a high-quality equipment control solution using provided components for supervisory control, material handling, operator interface, platform and process control, and automation requirements. CCF is built on the reliable Cimetrix connectivity products which provide GEM/GEM300/EDA interface functionality.
We released CCF 6.0 in March of 2021. Since that time, we have released four additional versions of CCF. In CCF 6.1 we added a continuous flow sample. We created a blog post for that sample that can be read here. We thought it would be fun to create another blog to keep readers up to date on some of the additional cool things that have been added to CCF in these subsequent releases.
Many of the visible changes to CCF have been made in the operator interface.
New WPF OI for vacuum sample
The trend for most of our CCF customers has been to implement their equipment control application GUI using Windows Presentation Foundation (WPF). In previous releases, CCF had fully functional WPF GUIs for the Atmospheric and Continuous Flow samples. CCF now has a full WPF operator interface for the Vacuum Sample. The picture below shows the default main screen for the WPF GUI for the Vacuum Sample.
New visualization library
In addition to full operator interfaces created with WPF, a visualization library has been added to CCF. In previous versions, visualizations were achieved using bitmaps that were updated when states changed. While the results were adequate, they did not scale very well, and it was difficult to customize the visualizations. The new visualization library uses vector graphics to draw the visualizations. This makes the lines and images in the visualizations crisp and clear regardless of the scale. It also allows for easy customization so that CCF application developers can create a visualization to exactly match their equipment. The Developer Guide and training labs have instructions for using the new visualization library.
The picture of the full GUI main screen above shows the default visualization for the vacuum sample. The following image is a visualization from the continuous flow sample.
Both visualization examples were created with the same visualization library.
Additional GUI changes
In addition to the GUI changes listed above, Cimetrix has made more changes to the GUI and added new screens for both WinForms and WPF. These screens include:
- GEM300 E39 objects screen
- GEM Traces screen
- GEM Reports screen
- EFEM Robot service screen
- Aligner Service screen
Cimetrix has always been a proponent of using simulators as much as possible during equipment control application development and testing. (See blog post on simulation here.) Simulation in CCF has always been easy to use, but now it is even easier and has more functionality. Simulators should be interchangeable with hardware so that regardless of whether you are running against simulation or real hardware, the application makes the same calls and receives the same feedback. In the latest versions of CCF, Cimetrix has:
- Added simulation for Kawasaki D60 robot
- Added simulation for TDK TAS300 LP
- Made simulation more extensible
- Added simulation templates
A change that is not very flashy but is probably one of the most important changes made to CCF is that the efficiency has been greatly improved. While CCF has never been a resource hog, there were some instances where it was using more CPU and memory than was needed. This was the case especially when GUI screens were being updated with large amounts of data.
In these instances, a data structure dealing with material locations and another dealing with process and control job data were being sent from the supervisory layer to the GUI more frequently than was needed. By being more intelligent about sending these data structures, we have greatly reduced the CPU usage.
Another change that has reduced CPU usage and data traffic is that the user can now set up trace reports to the GUI that are only sent when data changes rather than on a 10 Hz timer.
Additionally, CCF now has a performance monitor class that allows users to monitor performance counters like CPU, Disk usage, and memory usage.
CCF provides history objects for storing certain data to a database. This history includes:
- Wafer history
- Equipment Performance Tracking (EPT)
As a final efficiency enhancement, these objects now share a base class and are more efficient in writing to the database.
Software interlocks are designed to prevent executing an unsafe command. Using multiple levels to do safety checks provides redundancy and reduces the chance an unsafe command could be executed.
These interlocks are generally based on states and are equipment-dependent. Software interlocks are not a replacement for hardware interlocks. Software interlocks are like a safety net—they are not normally needed, but when they are, there is a much lower risk of damage.
CCF has previously had interlock functionality available. However, in the latest release, the interlock functionality has been consolidated, centralized, and simplified. Using a single interlock class gathers all the interlock code into one location instead of scattering interlock code through all the Components.
Interlocks have been added to each of the CCF samples to show how they work and how they could be implemented in your application.
These are just some of the cool and useful features that have been added to CCF in the last two years since the release of CCF 6.0. To learn more about these features or the other new features that have been added, please schedule a time to talk with a Cimetrix representative.