Resolving SIRIUS 3RW44 Soft Starter Driver Compilation Errors (IN_01-1 Already Exists) in SIMATIC PCS 7
The CFC compiler error 'address value IN_01-1 for hardware object as01 already exists' during module driver generation occurs when the SIMATIC PCS 7 Module Driver Generator encounters conflicting hardware I/O address allocations, duplicate symbolic names in the STEP 7 Symbol Table, or orphaned diagnostic @ charts from previously deleted slave objects. To resolve this error, verify that the SIRIUS 3RW44 DP slave has unique, non-overlapping input/output byte addresses, remove conflicting IN_01-1 symbols from the Symbol Table, purge orphaned @ charts from the CFC container, and execute a full hardware compile followed by an Entire Program CFC compilation.
Table of Contents
- Executive Summary
- Root Cause Analysis: Module Driver Generation Mechanics for SIRIUS Devices
- Why the 'Address Value IN_01-1 Already Exists' Conflict Occurs
- Step-by-Step Resolution Procedure
- Diagnostic and Troubleshooting Matrix for SIRIUS Driver Generation
- Verification
- Preventive Configuration Rules for PROFIBUS DP Motor Controls
- Limitations and Operational Precautions
- Engineer FAQ
- Technical References
- Related Articles
- Related Tags
Executive Summary
Integrating intelligent field devices such as the Siemens SIRIUS 3RW44 Soft Starter via PROFIBUS DP into SIMATIC PCS 7 V7.1 or V8.x standardizes motor control through dedicated block libraries. However, after installing the SIRIUS 3RW44 PCS 7 block library, configuring the slave in HW Config, and interconnecting driver blocks in Continuous Function Charts (CFC), engineers frequently encounter a fatal compiler error during driver generation:
address value IN_01-1 for hardware object as01 already exist
Even after deleting the affected CFC chart and hardware slave, the error often persists upon subsequent compilations. This technical article explains why the Module Driver Generator (GEN_MOD) creates this conflict, how symbolic address collisions trigger it, and how to cleanly eliminate the error without uninstalling the device library.
Root Cause Analysis: Module Driver Generation Mechanics for SIRIUS Devices
SIMATIC PCS 7 relies on an automated module driver generator to establish diagnostic and communication channels between field hardware and technological blocks:
- Hardware Scanning: When
Generate module driversis selected during CFC compilation, the compiler parses the HW Config database. - Driver Assignment: For a SIRIUS 3RW44 soft starter, the compiler reads XML driver rules from the SIRIUS library, identifying the slave's diagnostic address, input bytes, and output bytes.
- Diagnostic Chart Creation: The compiler automatically generates
@charts containing diagnostic blocks (MOD_D1,MOD_HA, or device-specific blocks) and interconnects them to technological blocks (such asSS_DIRorSS_DIR_L). - Symbolic Address Naming: To map module sub-slots, the compiler creates internal address tags labeled
IN_01-1,OUT_01-1, representing input/output byte ranges for submodule 1. If another hardware component or an orphaned symbolic entry shares this exact identifier, the driver generator halts with a duplicate address collision.
Why the 'Address Value IN_01-1 Already Exists' Conflict Occurs
Three distinct engineering anomalies cause the IN_01-1 collision:
- Overlapping Hardware I/O Addresses: If the 3RW44 slave shares input or diagnostic address ranges with another module (e.g., an existing ET 200M analog module or another motor starter) in HW Config, the driver generator attempts to create duplicate diagnostic tags for the same address offset.
- Symbol Table Collision: An engineer or automated tool manually entered a symbol named
IN_01-1in the S7 Symbol Table with an overlapping memory pointer, clashing with the driver generator's internal naming convention. - Orphaned
@Charts in the CFC Folder: If a prior compile failed or a hardware slave was removed without compiling withGenerate module drivers, residual@...charts remain in the chart folder. These charts retain stale interconnections and lock theIN_01-1hardware object reference.
Step-by-Step Resolution Procedure
Follow this exact sequence to clear the collision and successfully generate module drivers:
- Audit HW Config Address Space:
* Open HW Config for the affected AS station.
* SelectView -> Address Overview.
* Verify that the input bytes (typically 4, 8, or 16 bytes depending on the chosen DP telegram) and output bytes assigned to the 3RW44 soft starter do not overlap with any other module.
* Ensure the diagnostic address assigned to the slave is unique. - Clean Up the STEP 7 Symbol Table:
* In SIMATIC Manager, open the Symbols table in the S7 Program container.
* Search for symbols containingIN_01-1or referencing the 3RW44 base address.
* If duplicate or improperly assigned symbols exist, delete them. - Purge Orphaned
@Charts in CFC:
* In the CFC Chart container, locate all charts whose names begin with@(e.g.,@2(1),@(1)).
* If previous hardware components were removed, manually delete the orphaned@charts associated with old diagnostic drivers. - Save and Compile HW Config:
* In HW Config, selectStation -> Save and Compile.
* Ensure HW Config compiles without warnings. - Execute Full CFC Compilation with Driver Generation:
* Open CFC and selectChart -> Compile -> Charts as Program.
* Select Entire program.
* Check Generate module drivers.
* Click OK to execute compilation.
Diagnostic and Troubleshooting Matrix for SIRIUS Driver Generation
The following table summarizes driver generation failure modes, diagnostic indications, and verified resolutions:
address value IN_01-1 ... already existsModule driver cannot be generated for slaveNecessary files are missing for block SS_DIROptions -> Charts -> Update Block TypesDriver generator aborted: @chart locked@ charts from aborted compilation@ charts@ charts and recompile Entire ProgramSymbolic address collision in AS block folderVerification
Once compilation completes successfully without driver generation errors:
- Inspect Generated
@Charts: Open the newly generated@charts in the CFC container. Verify that the diagnostic block (e.g.,MOD_D1) is properly interconnected to the SIRIUS driver block input pins (LADDR,DIAG_INF). - Download to AS Controller: Perform a delta or full download to the AS in accordance with plant operational status.
- Online Status Check: In CFC, switch to Test Mode. Verify that
SS_DIR/SS_DIR_Lreports valid status words without communication faults (QBAD = FALSE,QCOMM_ERR = FALSE). - Diagnostic Buffer: Open CPU Module Information (
Ctrl + D) and verify that no PROFIBUS DP bus fault (OB86) or I/O access fault (OB122) events are logged.
Preventive Configuration Rules for PROFIBUS DP Motor Controls
To prevent recurring driver generator errors across complex motor control lineups:
- Use Standard Address Grouping: Group motor starters into contiguous, aligned byte blocks (e.g., starting on 16-byte boundaries) outside the standard process-image partition (OB1-PI) when using process-image partitions (TPA).
- Always Recompile HW Config Before CFC: Never make I/O changes in HW Config and immediately compile CFC. Always perform
Save and Compilein HW Config first to ensure database tables are synchronized. - Avoid Manual Symbol Entry for Generated Signals: Allow the PCS 7 driver generator to assign diagnostic symbols automatically rather than manually inserting preliminary symbols into the S7 Symbol Table.
Limitations and Operational Precautions
Uninstalling the SIRIUS library is never necessary to solve driver generator collisions. Library reinstallation merely deletes the driver rules, causing the compiler to skip diagnostic generation entirely, which leaves the motor starter without hardware diagnostics.
Before procuring SIRIUS 3RW44 soft starters, communication modules, or PCS 7 driver libraries, verify exact hardware part numbers, firmware versions, and PCS 7 library release compatibility against the Siemens Industry Mall catalog and an authorized distributor.
Engineer FAQ
What does the identifier 'IN_01-1' actually represent?
It is the internal symbolic designator used by the PCS 7 Module Driver Generator to represent the first input data channel of submodule 1 on a DP slave.
Why did deleting the CFC chart not clear the error?
Deleting the technological chart leaves the generated '@' diagnostic charts and Symbol Table entries intact. The driver generator still finds the conflicting reference.
Can I compile the CFC without 'Generate module drivers'?
You can, but the driver blocks will not be interconnected to the hardware I/O or diagnostic system, rendering alarms, trip signals, and faceplate status non-functional.
Does this error occur on PROFINET SIRIUS soft starters?
Yes, a similar naming collision can occur if PROFINET device names or submodule input ranges conflict in the Symbol Table.