The Cimetrix Open Development Environment (CODE) software is a suite of open architecture machine modeling and motion control. CODE software designed to ease the design process of the most challenging multi-axis machine applications. CODE was the first fully developed product Cimetrix introduced to support the demanding applications in various industries-from surface mount (SMT), semiconductor, and electronic assembly to multi-axis robots, packaging and machine tools. It continues to be deployed as part of complex manufacturing equipment delivered throughout the world.
Based on our knowledge and experience with CODE, Cimetrix has now designed and launched CIMControlFramework, a more robust, feature-rich software framework for equipment automation for motion-intensive applications such as semiconductor, PV and LED equipment; high-speed component placement machines, assembly cells, and packaging machines.
The CODE Architecture
Underlying CODE is Cimetrix's CIMServerTM technology, which is a client/server engine that provides full motion & I/O control, and machine solid modeling.
CODE is provided in either an off-line simulation version - CIMulation™, or an on-line control version - CIMControl. Both versions include CODE Support Tools.
Development and Real-Time Application
CIMulation is the development and simulation component of CODE that provides 3-D solid-model simulation of automated machines and work cells. Using CIMulation, developers can build machine models and application software. Once the 3-D models and application program is developed, CIMulation is used for machine testing, optimization, and "what if" scenario testing and analysis.
Finally, the calibrated model and the application are deployed with CIMControl, which is a multi-threaded engine that performs motion and I/O control. CIMControl works with off-the-shelf motion and I/O cards and enables developers to connect directly to amplifiers and feedback devices.
Sample machine model in CIMulation
CODE Support Tools
Deployment Utilities for CIMControl & CIMulation
Provided with CIMControl & CIMulation, CODE Support Tools includes:
- CIMTools - create, edit & manipulation CODE workcell databases
- Sample Application - pick and place sample including design and source code documentation
- CIMAppObjects - Object Oriented packages providing a framework for application development
Using CODE
Step 1 - Project Planning
CODE provides an off-line development environment integrated with on-line control for concurrent engineering. You can develop application software independent of the hardware then integrate the application later.
Step 2: Workcell/Machine Modeling
Create your work cell/machine model using CIMulation and the modeling tools provided with CIMTools. You can develop new models and import previously developed models - mechanisms, conveyors, tooling, and fixtures.
Use the completed machine or work cell model to evaluate different layouts and alternative mechanism and tooling designs, and communicate key decisions to end-users and project team members. This model in encapsulated in the CIMServer and is independent of the application software.
Step 3: Architect The Solution
CODE provides design flexibility for developing real-time applications.
- CODE is multi-threaded and capable of efficient, simultaneous control of multiple mechanisms and I/O events
- CODE uses a client-server architecture, allowing multiple processes to attach as clients to the same CIMServer. These clients can be on the same CPU or network-distributed.
- CODE clients can communicate with each other, either through software signals or through standard inter-process communication methods supported by the OS (e.g. shared memory).
Step 4: Application Development
Develop your application software, (operator GUI's, machine processes, error handling and recovery, etc.), off-line.
Step 5: Off-line Testing
Use CIMulation to test your application software - and optimize layout. You can test alternative workflows, predict cycle times, and evaluate MMIs and operational sequences with end-users without the need to access physical hardware.
Step 6: On-line Integration
As hardware becomes available, go on-line with CIMControl. Test and continue development in parallel with your hardware team.



