Configuration Management and Simultaneous Work with CANoe Configurations
For the configuration management of CANoe configurations the following facts and policies apply:
- Working on a CANoe configuration is file-based, all configuration files are stored on the file system
- Vector suggests using a file structure consisting of one main folder and multiple subfolders:
- One main configuration folder where the .CFG (and .STCFG) file is saved
- This configuration folder contains e.g. the following subfolders
- Database (for database(s), if necessary with subfolders for the different networks)
- DLL (if additional DLLs are in use)
- Logging (for CANoe logging files)
- Media (for video and audio files)
- Nodes (for C# or CAPL scripts e.g. of the network nodes, include files)
- Panels (for configuration panels, if necessary with subfolder for e.g. .BMP, .JPG, …)
- SysVars (for external system variable files)
- Test (for test environments and test modules)
Screenshot of a folder structure of a CANoe sample configuration
- These files can be managed using common configuration management systems (e.g. GIT, Subversion, …).
- All these files must be checked-in into the configuration management system.
- Depending on the test design and test execution workflow in a department it might be necessary as well to check-in the following files:
- DLL files (e.g. for security access to the ECU, …)
- The following files do not have to be checked-in:
- compiled .CBF files of the CAPL scripts
- standalone .STCFG file
For the simultaneous work on CANoe configurations under version control the following policies apply:
- The CANoe configuration file (.CFG) is a readable (and non-binary) file. Conflicts can arise if this file is merged. Therefore modifications to a configuration file should only be done by a single user at a time.
- Following the first point, changes that lead to a change of the .CFG file, should be avoided when working in parallel.
Use cases that change the configuration file are:
- Any changes inside the configuration (e.g. configuration of a network node, diagnostic configuration, XCP configuration, …)
- Adding panels to the configuration
- Adding nodes into the simulation or measurement setup
- Possible use cases of simultaneously working on CANoe configurations are:
- Working on different CAPL nodes
- Working on external system variable files
- To have all the necessary add-ons (add-on = OEM specific extension e.g. for Interaction Layer) installed on all systems, on which users are working on the corresponding CANoe configurations (in case special DLLs of these add-ons are needed, e.g. modeling libraries)
- Instead of merging CANoe configuration files in the configuration management tool it is better using one master configuration (changed on one PC, with a lock in the configuration management system) and extend this configuration with the (in parallel developed) external CAPL / C# / system variable files.