High Level Folder Structure
Structure
The packages in the logical view are traditionally arranged in order of importance as below with corresponding descriptions. Order of packages may differ between projects.
- Documentation - Project documentation.
- Infrastructure - Project infrastructure. Some notable tasks contained in this package include:
- FirstInitProg - Task for initializing the machine. This is the first task run on startup. It ensures that certain conditions are met before other programs initialize. This could include loading a configuration file, initializing the logging system, defining File Devices, etc. It should not have any cyclic code.
- getRevInfo.sh - Build tracking (see Tracking Machine Builds).
- ErrorProg - ErrorCollector or AlarmLib cyclic task.
- HMI - User facing variables, tasks, and resources.
- DataHandling - Handles database management, some file management, and recording data.
- MotionControl - Motor control, CNC, Robotics, Synchro, and anything motion related.
- ProcessControl - Low level control of process tasks such as temperature control, metrology data, and control of peripheral systems.
- Communication - Communication between machine components.
- Machine Control - Top level control, safety programs, and machine commands and statuses.
- Diagnostics - Error management and logging.
- Utilities - Any auxiliary helper functions.
- Mapp - Mapp components.
- Test - Tasks used for testing machine functionality.
- Libraries - Holds any libraries needed for the project.
- _AS - BR libraries.
- <Client> - Client libraries. ex Loupe.