Overview
The SINAMICS G120C is a compact frequency inverter from Siemens used in conveyor, pump, fan, agitator, and simple speed-controlled applications. The CU240E-2 PN (or CU250S-2 PN) Control Unit fitted to the G120C exposes one or two analog inputs (AI0 and AI1) and a PROFINET interface. A common field requirement is to read the value of an external sensor wired to the drive's analog input in the SIMATIC S7-1500 controller without installing a separate AI module in the PLC rack. The drive transfers the analog value to the PLC inside the same cyclic PROFINET frame that already carries the speed setpoint and the actual speed feedback.
This article covers the full engineering workflow to send the G120C's analog input (parameter r0755) over PROFINET to an S7-1500 CPU. It documents the standard PROFIdrive telegram selection, the free/extended telegram configuration (p0922), the mapping of r0755 to a free send word (p2051), and three PLC-side read methods: GETIO, DPRD_DAT, and direct access through the process image (IW). The reference platform is TIA Portal V15.1 with SINAMICS Startdrive V15.1, but the procedure applies to TIA V16, V17, V18, and V19 with the corresponding Startdrive versions. The configuration aligns with the TIA Portal manual collection entry Configuring SINAMICS G120.
r0755 with RDREC/SFB52 only for non-time-critical diagnostics.Prerequisites
Confirm the following before starting the configuration.
- SINAMICS G120C with PROFINET-capable Control Unit: CU240E-2 PN (6SL3246-0BA22-1FA0 or -1PA0) or CU250S-2 PN (6SL3246-0BA22-1FA0). Verify the firmware: G120C PN typically runs V4.7 SP3 to V4.7 SP10, V5.1, or V5.2. The parameter set described here is valid from V4.7 onward.
- SIMATIC S7-1500 CPU with PROFINET interface, e.g. CPU 1511-1 PN, CPU 1515-2 PN, CPU 1516-3 PN/DP, or ET 200SP PN/DP coupler. Firmware V2.0 or higher is recommended.
- TIA Portal V15.1 or newer with SINAMICS Startdrive V15.1 or newer installed. The Startdrive option package adds the drive object types and the SINA_SPEED / SINA_POSE / SINA_INFEED libraries.
- GSD file for the G120C PN installed in TIA Portal:
GSDML-Vx.x-Siemens-SINAMICS_G120C_PNx-xxxxxxxx.xml. Newer TIA Portal versions include it by default. - 24 V sensor supply (or loop-powered transmitter) and a shielded signal cable for the analog input.
- Functional know-how of the standard PROFIdrive telegram set (telegrams 1, 2, 3, 4, 5, 20, 220, 352) and the G120C parameter list (parameter manual for the relevant firmware).
Hardware Architecture and Wiring
The G120C is the PROFINET IO Device; the S7-1500 is the IO Controller. They sit on the same PROFINET subnet. The sensor is wired directly to the analog input on the Control Unit of the drive - it does not need to land on a SM 531 AI module in the PLC.
Analog input terminals on the G120C
For the CU240E-2 PN, the relevant terminals on the Control Unit are:
| Terminal | Signal | Description |
|---|---|---|
| 3 | AI0+ | Analog input 0, positive (voltage or current, configurable) |
| 4 | AI0- | Analog input 0, reference ground |
| 10 | AI1+ | Analog input 1, positive (CU240E-2 PN only) |
| 11 | AI1- | Analog input 1, reference ground |
| 1 | +24 V | Sensor supply, out, max 100 mA total |
| 2 | 0 V | Sensor supply reference |
Each AI can be configured for voltage (0 to 10 V, +/-10 V on AI0 only) or current (0 to 20 mA, 4 to 20 mA, 4 to 20 mA with wire-break monitoring). The mode is selected with p0756[0] (AI0) and p0756[1] (AI1). Standard two-wire 4 to 20 mA transmitters should be powered from terminal 1 (+24 V) and terminal 2 (0 V) and wired to AI0+/AI0-.
PROFINET topology
Connect the S7-1500 PROFINET port 1 (X1 P1) to the G120C port 1 (P1) using CAT5e or higher cabling. If you need a line topology, daisy-chain to a second PROFINET device on G120C port 2 (P2). PROFINET device names must be unique; assign, for example, g120c-01 to the drive, and an IP address consistent with the PLC subnet (default gateway 192.168.0.1, drive 192.168.0.10, PLC 192.168.0.1).
Standard PROFIdrive Telegram Selection
The drive is configured for one of the standard PROFIdrive telegrams that match the application. The telegram defines the PZD (Process Data) words exchanged cyclically between the controller and the drive.
| Telegram (p0922) | PZD length PLC → drive | PZD length drive → PLC | Typical use |
|---|---|---|---|
| 1 | 2 words (STW1, NSOLL_A) | 2 words (ZSW1, NIST_A) | Speed control, V/f and vector without encoder |
| 2 | 2 words (STW1, NSOLL_A) | 4 words (ZSW1, NIST_A, IAIST, MIST) | Speed control with current and torque feedback |
| 3 | 2 words (STW1, NSOLL_A) | 5 words (ZSW1, NIST_A, IAIST, MIST, PIST) | Speed control with active power feedback |
| 20 | 2 words (STW1, NSOLL_A) | 6 words (ZSW1, NIST_A, IAIST, MIST, PIST, NIST_A_GLATT) | Speed control with smoothed speed |
| 352 | 6 words | 6 words | Speed control with DSC (Dynamic Servo Control) on S7-1500 TO |
For a simple speed-controlled agitator or fan with no encoder and a 4 to 20 mA process sensor, telegram 1 is sufficient as the base. The free send/receive words described below extend the frame, so the PLC must be configured to receive the extended length.
Mapping r0755 to a Free Send Word on the Drive
The drive-side parameter set has two ways to extend the cyclic telegram with free user data:
-
Extended telegram (BICO interconnect through p2051 / p2061). The standard telegram is preserved (
p0922 = 1), and additional words are appended to the send/receive PZD. This is the recommended approach for the G120C because it keeps the default SINA_SPEED telegram unchanged. - Free telegram configuration (p0922 = 999). The user defines the entire PZD layout. This is used in custom applications but is harder to maintain.
Step-by-step parameter settings on the G120C
- Configure the analog input scaling. For 4 to 20 mA on AI0 mapped to 0 to 100 %:
p0756[0] = 1 ; AI0 = current input (0/4 to 20 mA) p0757[0] = 4.000 ; x1 = 4 mA p0758[0] = 0.000 ; y1 = 0 % p0759[0] = 20.000 ; x2 = 20 mA p0760[0] = 100.000 ; y2 = 100 % p0761[0] = 4.000 ; wire-break threshold = 4 mA (live zero monitoring) - Verify the analog input by reading
r0752[0](raw input, percent of full scale),r0753[0](filtered), andr0755[0](scaled to the p075x units, percent by default). Place a known 12 mA signal on the loop;r0752[0]should read 50.00 % andr0755[0]should read 50.00 %. - Assign the free send word. By default, the G120C reserves up to 8 free send words on IF1 (PROFIdrive PZD slot) accessible through
p2051[0..7]. The standard telegram 1 already uses indices [0] and [1] (ZSW1 and NIST_A). Therefore the first free index is [2]:p2051[2] = r0755.0 ; AI0 value sent in PZD word 3 to the PLC p2051[3] = r0752.0 ; optional: AI0 raw value in PZD word 4 - Confirm the number of free PZD words is sufficient:
p2061[2] = 0 ; free PZD word index 2 active for IF1 telemetry - Optional: if you also want to write a digital setpoint from the PLC to the drive, map a free receive word with
p2050[n] = parameter_numberand connect that to the corresponding BICO input.
TIA Portal Hardware Configuration
- Open the project in TIA Portal and add the S7-1500 CPU. From the hardware catalog, navigate to Drives & starters → SINAMICS drives → SINAMICS G120C → PN and drag the drive into the PROFINET subnet of the CPU. Assign the PROFINET device name
g120c-01and IP address192.168.0.10. - Open the device view of the G120C and double-click the PROFINET interface. In Module parameters the standard telegram 1 should be inserted by default. Switch to Module parameters → Telegram configuration and add two additional free PZD slots in the Send direction (drive → PLC):
Slot 0: Standard telegram 1 (ZSW1, NIST_A) Slot 1: Free PZD word (r0755[0]) Slot 2: Free PZD word (r0752[0]) - Compile the configuration and download to both the PLC and the drive. TIA Portal pushes the device name, IP address, and telegram structure to the drive automatically.
- Note the I/O addresses assigned by TIA Portal to the free PZD slots. The default addressing for telegram 1 plus 2 free send words is:
Slot Direction Address (default) Content Standard telegram 1 - word 0 Input IW 256 ZSW1 (status word 1) Standard telegram 1 - word 1 Input IW 258 NIST_A (actual speed) Free PZD slot 1 Input IW 260 AI0 value via r0755.0 Free PZD slot 2 Input IW 262 AI0 raw value via r0752.0 Standard telegram 1 - word 0 Output QW 256 STW1 (control word 1) Standard telegram 1 - word 1 Output QW 258 NSOLL_A (speed setpoint)
PLC Program Integration
There are three practical ways to read the analog value in the S7-1500 user program. Choose the one that matches the architecture and the available libraries.
Method 1 - Direct process image access (simplest)
Because the free PZD slot is mapped to an input word in the process image, you can read it directly:
// SCL example in OB1
#AI0_percent := INT_TO_REAL(WORD_TO_INT(%IW260)) / 276.48;
// 276.48 is the scaling for 100 % (N2 format of PROFIdrive)
// 100 % corresponds to 16384 in N2 or 0x4000
This method has the lowest overhead and is fully deterministic with the PROFINET update time. It is the recommended path when no further SINA_SPEED functionality is required.
Method 2 - GETIO / DPRD_DAT (consistent data access)
Use DPRD_DAT (SFC14) to read consistent PZD data from the PROFINET slot. GETIO is the modern equivalent available in TIA Portal as the GETIO instruction. This is required if the PZD block length is greater than 4 bytes and the data must be guaranteed consistent across the bus cycle boundary:
// SCL example
"GETIO_DB"(REQ := TRUE,
LADDR := 256,
RET_VAL := #retValGetIO,
BUSY := #busy,
DONE => #done,
ERROR => #err,
ID := 16#0001,
LEN := 4, // 4 bytes for one PZD word
IO_STATE := #ioState,
RECORD := P#DB100.DBX0.0 BYTE 4);
Then read the analog value from the data block:
// PZD word 3 in input area (offset depends on telegram length)
#AI0_word := DB100.DBW[2]; // bytes 2-3 hold IW 260 equivalent
Method 3 - SINA_SPEED FB with extended user data
If you are already controlling the drive with the SINA_SPEED function block (Libraries → SINAMICS → SINA_SPEED), the FB can be expanded with a user-defined data block that includes the AI value. The standard SINA_SPEED has a UserData structure for this purpose; the AI word is read from the same process image location shown above.
// SINA_SPEED with user data
"SINA_SPEED_DB"(
AxisNo := 1,
HWIDSTW := 256, // HW identifier of control word
HWIDSZW := 256, // HW identifier of status word
Enable := TRUE,
SpeedSetpoint := #speedSetRPM,
SpeedActual := #actSpeedRPM,
CurrentActual := #actCurrent,
TorqueActual := #actTorque,
StatusWord := #driveStatus,
Fault := #driveFault,
UserData := #userData); // struct containing IW260 reading
Commissioning and Verification
- Open the SINAMICS Startdrive commissioning view for the G120C, go online, and confirm Diagnostics → Communication shows Cyclic PZD exchange active.
- Inject a 12 mA signal to AI0. In the watch table, force
r0755[0]; it should read 50.00 %. - In TIA Portal, add a watch table to the S7-1500 and observe
%IW260. The value should be16#4000(decimal 16384), corresponding to 50.00 % in the N2 (16-bit normalized) format. Reading the raw word and dividing by 276.48 yields 59.21 %; the apparent discrepancy is due to the standard PROFIdrive scaling where 100 % = 16384. Use the formula:value_percent = (IW_value / 16384.0) * 100.0 - Confirm the update time in Properties → PROFINET interface → IO cycle. For cyclic drive applications, 1 ms to 4 ms is typical. The analog value is refreshed every cycle with zero additional latency.
- Trigger a wire-break by disconnecting the sensor.
r0755[0]should drop to the configured fault value (default 0 %);F03505(Analog input wire break) is raised ifp0761[0]is set to 4 mA. Route this fault to the drive reactionp2100 = 3505,p2101 = 0for no reaction orp2101 = 3for fault with stop.
Troubleshooting Matrix
| Symptom | Likely root cause | Drive parameter / PLC address | Remediation |
|---|---|---|---|
| IW 260 always reads 0 | Free PZD slot not configured in TIA Portal or p2051[2] is empty | p2051[2] = 755.0; check Telegram configuration in HW view | Re-add the free PZD slot, recompile, download |
| IW 260 frozen on a value | Process image update disabled, or PROFINET update time too long | OB1 update of process image; PROFINET IO cycle time | Force process image update of the slot or shorten IO cycle to 1 ms |
| IW 260 reads garbage | Byte swap, wrong slot index, or wrong telegram number | p0922 = 1 (or 999 for free); p2051[x] index | Verify the start address and PZD slot indexing; match standard telegram 1 length |
| Drive reports F08501 (PROFIdrive PZD fault) | Telegram length mismatch between PLC and drive | Compare p0922 with TIA Portal module parameters | Match p0922 to the configured telegram in TIA Portal, reload |
| AI0 value differs from multimeter reading | Wrong scaling, wrong input type, or wire break in shielded cable | p0756, p0757 to p0760 | Recalibrate using p0757/p0758/p0759/p0760; check shield grounding at cabinet entry |
| Drive raises F03505 (wire break) | Sensor loop open or current below 4 mA | p0761[0] | Disable wire-break monitoring for commissioning (p0761[0] = 0), or fix the wiring |
| No cyclic data after station name change | PROFINET device name not pushed to drive | Assign device name in TIA Portal | Right-click PLC → Assign PROFINET device name; check the green PROFINET LED on the G120C |
| AI0 only reads +/- 10 V at 0 to 20 mA signal | p0756[0] = 0 (voltage) instead of 1 (current) | p0756[0] = 1 | Set p0756[0] = 1 for 0/4 to 20 mA; = 0 for 0 to 10 V; = 2 for +/-10 V on AI0 |
Performance, Timing, and Diagnostic Notes
- PROFINET update time on a G120C is configurable from 250 us to 4 ms. The drive's internal analog sampling is 4 kHz; the r0755 value is updated every PROFIdrive cycle, not every PLC OB1 scan.
- The G120C scaling for
r0755follows the p075x normalization. By default, p0760[0] = 100.0 (percent), so the value at the PLC is 16-bit normalized 0 to 100 %. Some users prefer p0760[0] = 163.84 or similar to land directly on engineering units; this is acceptable as long as the HMI and the scaling constant are aligned. - Total latency from sensor to PLC: PROFINET cycle (1 to 4 ms) + drive-internal processing (1 to 2 ms). For control loops faster than 10 ms, prefer a dedicated SM 531 AI module in the S7-1500 instead of the drive's analog input.
- Use
p2051in conjunction with the BICO technology to send any drive parameter to the PLC, not just analog values. Examples:p2051[3] = 63.0sends r0063 actual speed in 1/min;p2051[3] = 220.0sends r0220 CO: actual speed (smoothed, signed). - For a redundant process value, scale two AI channels on the drive and send both
r0755[0]andr0755[1]on different free PZD words. The PLC compares them and uses the higher-confidence value for closed-loop control.
Alternative Approaches and Edge Cases
-
Acyclic read with SFB52 (RDREC) / SFB53 (WRREC). Read
r0755on demand over PROFINET acyclic channel. Use when the analog value is needed for diagnostics or HMI display only. Throughput is slow (typically 10 to 30 ms per request) and not deterministic. -
Free telegram 999. For drives that do not need the standard telegram 1 (e.g. just reading an AI without a speed setpoint), set
p0922 = 999and define a custom PZD layout withp2051andp2050. The PLC must be configured for the same custom layout. -
Sending an analog output from PLC to drive. If you also need to write an AO from the PLC to the drive, map a free receive PZD word to a connector (e.g.
p2050[2] = 1170.0for fixed setpoint) and use BICO to wire it into a process controller. This turns the drive into a remote-I/O device with PID capability. -
Cross-vendor compatibility. The PROFIdrive PZD extension mechanism is defined by the PROFIdrive profile on PROFINET, so a third-party controller (e.g. Allen-Bradley ControlLogix, Beckhoff TwinCAT, B&R) can read the same
r0755word by adding the equivalent slot to the PROFINET device configuration. The interpretation of the 16-bit normalized value remains the same: 0x0000 = 0 %, 0x4000 = 100 %. - Safety note. The G120C's analog input is not a safety-rated input. For SIL/PL applications, use a dedicated F-AI module in the F-CPU or a safety drive (G120 with CU250S-2 PN F-variant). The standard CU240E-2 PN does not support PROFIsafe on the analog input.
FAQ
Which G120C parameter holds the analog input value to send to the S7-1500?
Use parameter r0755[0] for AI0 and r0755[1] for AI1. Map it to a free send PZD with p2051[2] = 755.0 (or the next free index after the standard telegram words). The value is then delivered to the PLC as a 16-bit normalized integer in the configured input word (e.g. %IW260).
Do I need to change telegram 1 to send the analog value over PROFINET?
No. Keep p0922 = 1 for the standard speed-control telegram and add free PZD slots in the TIA Portal hardware configuration. The drive appends the additional send words automatically once p2051[x] is populated. This preserves the SINA_SPEED FB interface and keeps the configuration maintainable.
How is the AI value scaled in the PLC?
The drive transmits 16-bit normalized values per the PROFIdrive profile: 0x0000 equals 0 %, 0x4000 (16384 decimal) equals 100 %, and the sign bit encodes negative percentages for bidirectional inputs (only AI0 with +/-10 V). Convert in the PLC with percent = IW_value / 16384.0 * 100.0, then multiply by your engineering scale.
What is the difference between GETIO and direct IW access for the G120C analog input?
Direct IW access reads the process image in OB1; it is fast and simple but the data may straddle a bus cycle boundary for PZD blocks longer than 4 bytes. GETIO (SFC14 DPRD_DAT) reads the whole PZD block in one consistent call, eliminating tearing. For a single 16-bit AI word, direct IW access is sufficient and has lower CPU load.
What fault does the G120C raise on a 4 to 20 mA wire break?
With p0761[0] = 4 (live-zero monitoring enabled) and p0756[0] = 1, the drive raises fault F03505 (analog input wire break) when the input current drops below 4 mA. Configure the reaction with p2100 = 3505 and p2101 = 0 for no reaction, or p2101 = 3 for fault with stop. For commissioning, set p0761[0] = 0 to disable monitoring temporarily.
Can a non-Siemens PLC read the same analog value from the G120C?
Yes. The PROFIdrive PZD extension mechanism is profile-compliant. Any PROFINET IO Controller can add the free PZD slot for AI0 and interpret the 16-bit normalized value. The semantic mapping (r0755 to p2051) must be configured on the drive side; the controller only sees a raw input word.