Initial commit: Home automation docs and CODESYS project
- Reorganized project: codesys/, docs/codesys|redesign|integration|reference/, scripts/ - CODESYS project and exports in codesys/ - Documentation index in docs/README.md - Redesign and light naming configuration - Water boiler control and safety design Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
147
docs/codesys/codesys-export-guide.md
Normal file
147
docs/codesys/codesys-export-guide.md
Normal file
@@ -0,0 +1,147 @@
|
||||
# CODESYS Project Export Guide
|
||||
|
||||
## Overview
|
||||
|
||||
CODESYS projects can be exported to readable XML formats that allow for better analysis, documentation, and version control. The binary `.project` file format is proprietary and not human-readable, but CODESYS provides export options that create XML files.
|
||||
|
||||
## Export Formats
|
||||
|
||||
### 1. CODESYS XML Format (*.export)
|
||||
|
||||
**Best for:** Full project export, version control, complete documentation
|
||||
|
||||
- **Format:** Fully compatible CODESYS XML format
|
||||
- **Content:** Complete project structure in machine-parsable XML
|
||||
- **Compatibility:** 100% compatible with CODESYS
|
||||
- **Use Cases:**
|
||||
- Full project backup
|
||||
- Version control systems
|
||||
- Automated analysis and documentation
|
||||
- Project migration
|
||||
|
||||
**How to Export:**
|
||||
1. Open your project in CODESYS IDE
|
||||
2. Go to **Project → Export**
|
||||
3. Select the objects you want to export (or select all)
|
||||
4. Choose **CODESYS XML Format (*.export)** as the file type
|
||||
5. Save the file (e.g., `Home_Automation.export`)
|
||||
|
||||
### 2. PLCopen XML Format (*.xml)
|
||||
|
||||
**Best for:** Interoperability, documentation tools, program structure
|
||||
|
||||
- **Format:** PLCopen XML standard
|
||||
- **Content:** Subset of CODESYS elements (programs, function blocks, variables)
|
||||
- **Compatibility:** May not include all CODESYS-specific features
|
||||
- **Use Cases:**
|
||||
- Documentation generation
|
||||
- Integration with other tools
|
||||
- Program structure analysis
|
||||
- Cross-platform compatibility
|
||||
|
||||
**How to Export:**
|
||||
1. Open your project in CODESYS IDE
|
||||
2. Go to **Project → Export PLCopenXML**
|
||||
3. Select the objects to export
|
||||
4. Save the file (e.g., `Home_Automation.xml`)
|
||||
|
||||
## What Information Can Be Extracted
|
||||
|
||||
From exported XML files, we can extract:
|
||||
|
||||
### Project Structure
|
||||
- Program Organization Units (POUs)
|
||||
- Function blocks and functions
|
||||
- Libraries and dependencies
|
||||
- Project hierarchy
|
||||
|
||||
### Network Variables
|
||||
- Variable names
|
||||
- Data types
|
||||
- Initial values
|
||||
- Network variable declarations
|
||||
- Direction (input/output)
|
||||
|
||||
### I/O Configuration
|
||||
- EtherCAT device configuration
|
||||
- I/O channel mappings
|
||||
- Device parameters
|
||||
- Scan rates
|
||||
|
||||
### Control Logic
|
||||
- Program code structure
|
||||
- Variable declarations
|
||||
- Function block instances
|
||||
- Logic flow
|
||||
|
||||
### Hardware Configuration
|
||||
- Device configurations
|
||||
- Network settings
|
||||
- Communication parameters
|
||||
|
||||
## Recommended Export Process
|
||||
|
||||
For comprehensive documentation, export both formats:
|
||||
|
||||
1. **Full Export (CODESYS XML):**
|
||||
```
|
||||
File: Home_Automation.export
|
||||
- Complete project structure
|
||||
- All configurations
|
||||
- Network variables
|
||||
- I/O mappings
|
||||
```
|
||||
|
||||
2. **Program Export (PLCopen XML):**
|
||||
```
|
||||
File: Home_Automation.xml
|
||||
- Program structure
|
||||
- Variable declarations
|
||||
- Logic organization
|
||||
```
|
||||
|
||||
## After Export
|
||||
|
||||
Once you have the exported XML files:
|
||||
|
||||
1. **Share the files** - The XML files can be analyzed and documented
|
||||
2. **Version control** - XML files are text-based and work well with Git
|
||||
3. **Documentation** - Information can be extracted and added to the docs
|
||||
4. **Analysis** - Scripts can parse the XML to extract specific information
|
||||
|
||||
## Next Steps
|
||||
|
||||
After exporting:
|
||||
|
||||
1. Place exported files in the project directory
|
||||
2. Update `.gitignore` if needed (or commit the exports)
|
||||
3. Use the exported files to:
|
||||
- Document network variables
|
||||
- Map I/O configurations
|
||||
- Understand control logic
|
||||
- Complete the documentation templates
|
||||
|
||||
## Example Export Workflow
|
||||
|
||||
```bash
|
||||
# In CODESYS IDE:
|
||||
1. File → Open → "Home_Automation (1).project"
|
||||
2. Project → Export
|
||||
- Select: All objects
|
||||
- Format: CODESYS XML (*.export)
|
||||
- Save as: "Home_Automation.export"
|
||||
3. Project → Export PLCopenXML
|
||||
- Select: Programs, POUs
|
||||
- Save as: "Home_Automation.xml"
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
- Export files are typically much larger than binary project files
|
||||
- XML exports are human-readable and can be opened in any text editor
|
||||
- Some CODESYS-specific features may not be fully represented in PLCopen XML
|
||||
- Exported files can be re-imported into CODESYS if needed
|
||||
|
||||
---
|
||||
|
||||
**Status:** Ready for export - follow the steps above to create readable project files
|
||||
Reference in New Issue
Block a user