Configuring A/B Slave Nibble Addressing on IE/AS-i LINK PN IO

David Krause13 min read
SiemensTIA PortalTroubleshooting
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Configuring A/B Slave Nibble Addressing on the IE/AS-i LINK PN IO in TIA Portal

When migrating an AS-Interface (AS-i) network from STEP 7 Classic to TIA Portal, engineers frequently lose the ability to assign A/B slaves in 4-bit (nibble) groups. On the legacy DP/AS-i LINK Advanced (6GK1415-2BA10), setting a slave's IO code to 3 allowed clean nibble-oriented I/O mapping in the network view. The newer IE/AS-i LINK PN IO (6GK1411-2AB10) exposes the AS-i slaves in the Device view of TIA Portal and, by default, maps every A/B slave to a full byte, wasting 4 bits per station. This article explains the root cause, the manual references that govern the behavior, and the field-proven workarounds available in TIA Portal V16-V18.

1. Background: AS-i A/B Addressing and the IO Code

AS-Interface supports two addressing schemes per master:

Slave Type Max Count per Master IO Code (Profile) Default I/O Width Notes
Standard slave (1.x) 31 0 4 bit in / 4 bit out One bit pair per address (DI/DO)
A/B slave (2.x) 62 (A + B addresses) 3 4 bit in / 4 bit out Two slaves per address slot (A and B)

An A/B slave uses the IO code 3 profile and occupies the upper 4 bits (B) or lower 4 bits (A) of one AS-i byte. STEP 7 Classic allowed you to display these as 4-bit (nibble) groups in the symbol table. TIA Portal preserves this model for the DP/AS-i LINK Advanced in the Network view but flattens the IE/AS-i LINK PN IO to byte-oriented mapping in Device view, doubling the I/O footprint for any A/B configuration.

Why it matters: A 62-station A/B network (2 slaves per address × 31 addresses) consumes 31 bytes on the IE/AS-i LINK PN IO instead of the optimal 16 bytes (one nibble per A + one nibble per B packed into a single byte). For dense digital I/O islands this can push you into a second PROFINET slot bank or force a larger ET 200SP/ET 200S head module.

2. Hardware Reference: IE/AS-i LINK PN IO

The IE/AS-i LINK PN IO (catalog 6GK1411-2AB10) is a PROFINET IO gateway that hosts up to two AS-i masters, each with up to 31 standard slaves or 62 A/B slaves. The device is configured entirely through TIA Portal using the GSDML file (and the HSP shipped with the device):

  • Order number: 6GK1411-2AB10 (single master) and 6GK1411-2AB20 (double master)
  • Firmware baseline: V2.0 and later (HSP for TIA V16+)
  • PROFINET slots: Up to 62 input / 62 output bytes for A/B slaves across two lines
  • Configuration files: GSDML-Vx.x-Siemens-IE-AS-i-LINK-*.xml

The official manual — SIMATIC NET IE/AS-Interface LINK PN IO (Siemens, edition 11/2017, A5E03549049-AB) — describes the addressing in section 7.2.1 "Addressing AS-i Slaves". The relevant rules are quoted verbatim below.

3. How Siemens Documents the Addressing Rules

From the SIMATIC NET IE/AS-Interface LINK PN IO manual (A5E03549049-AB), section 7.2.1:

"Access when the GSDML file or STEP 7 is used for configuration (unpacked): If you configure with the GSDML file or use STEP 7 to configure, access to the digital data without 'packing' is byte-oriented. One byte is assigned to every AS-i digital slave."
"Access when you configure with STEP 7 (packed digital data): If you selected the 'Pack' function in the properties dialog of the AS-i line proxy in STEP 7, the digital I/O data of all AS-i slaves will be transferred tightly packed in the data field of the line proxy. The bit address of the AS-i bits is calculated and displayed by STEP 7. If a configured AS-i slave fails during runtime, this is signaled to the user program as a remove module alarm via the diagnostic address assigned to the slave. When accessing the digital bits of the AS-i slave, there is, however, no I/O error."

The manual is explicit: the Pack function is a property of the AS-i line proxy, not the slave, and it lives in the proxy's properties dialog. In STEP 7 Classic this checkbox was located under Object Properties → AS-i line → Configuration. In TIA Portal the equivalent checkbox is reached through the proxy's Module parameters dialog.

4. Root Cause: The Missing Pack Checkbox in TIA Portal

When the IE/AS-i LINK PN IO is added from the hardware catalog in TIA Portal, the device proxy exposes only two parameters in the inspector under Module parameters → Configuration AS-i proxy:

Parameter Default Effect
Diagnostic interrupt Enabled Enables OB82 slot diagnostics on slave failure
Address programming Disabled Allows the controller to write the AS-i address to a new slave

The Pack checkbox documented in the SIMATIC NET manual is not present for the IE/AS-i LINK PN IO. It is only available on the older DP/AS-i LINK Advanced (6GK1415-2BA10), which is why STEP 7 Classic users saw the option and TIA Portal users do not. The IE/AS-i LINK PN IO GSDML locks the line to unpacked (byte-oriented) mapping, regardless of the IO code 3 setting on individual slaves.

The IO code 3 of a slave still determines whether the master treats the station as A or B, but the data width at the PROFINET level is always one full byte per AS-i address slot.

5. Workarounds Available in TIA Portal

Because the IE/AS-i LINK PN IO does not expose the packing option, three workarounds are commonly applied. Each is documented with its trade-offs.

5.1 Workaround A: Accept the byte mapping and use symbolic bit slicing

This is the lowest-risk path and is sufficient for most HMI and PLC logic that only cares about individual bit access. The PROFINET slot yields one byte per A/B station. In the PLC tag table, declare the byte as "ASiByte_3A" : Byte and slice bits 0-3 for slave 3A and bits 4-7 for slave 3B using AT-syntax in an S7-1200/S7-1500 data block:

// Data block snippet, SCL (S7-1500 / TIA V18)
TYPE "ASi_NibblePair"
VERSION : 0.1
   STRUCT
      SlaveA : BOOL;   // bit 0  – e.g. AS-i 3A input 1
      _pad1  : BOOL;
      _pad2  : BOOL;
      _pad3  : BOOL;
      SlaveB : BOOL;   // bit 4  – e.g. AS-i 3B input 1
      _pad4  : BOOL;
      _pad5  : BOOL;
      _pad6  : BOOL;
   END_STRUCT;
END_TYPE

DATA_BLOCK "DB_ASiNibbles"
{ S7_OptimizedAccess := 'TRUE' }
VERSION : 0.1
  STRUCT
     // Each byte holds two A/B slaves (nibble packed manually)
     Slot03 : "ASi_NibblePair";   // AS-i addr 3A in low nibble, 3B in high
     Slot04 : "ASi_NibblePair";
     Slot05 : "ASi_NibblePair";
  END_STRUCT;
END_DATA_BLOCK

This achieves the same memory footprint as the STEP 7 Pack function without needing a hidden option in the proxy. The cost is one additional AT-struct per byte and a small amount of CPU for bit slicing — negligible for any S7-1200/1500.

5.2 Workaround B: Combine two AS-i slots in a single PROFINET sub-module

When you are building a custom GSDML-based interface for a non-Siemens controller (e.g. Allen-Bradley ControlLogix or Wago PFC200), you can declare the AS-i slot as a 4-bit input module in the controller's configuration. The IE/AS-i LINK PN IO will still transmit a full byte, but the receiving controller can be configured to map only the lower 4 bits, leaving the high nibble available to another module. This is equivalent in concept to the ET 200S Pack Addresses feature documented in Siemens KB entry 109744414.

5.3 Workaround C: Replace the IE/AS-i LINK PN IO with a DP/AS-i LINK Advanced

If the application is firmly rooted in PROFINET and the byte overhead is unacceptable, the DP/AS-i LINK Advanced (6GK1415-2BA10) on PROFIBUS still appears in the TIA Portal Network view with the full Pack function intact. The trade-off is loss of native PROFINET and a fixed PROFIBUS line. This is generally the right answer for brownfield projects with existing PROFIBUS trunks or where you need the diagnostic slot-level granular access (each AS-i slave appears as a sub-module in the network view).

6. Step-by-Step: Bit-Packing an IE/AS-i LINK PN IO in TIA Portal V18

Prerequisites:

  • TIA Portal V16 or later (HSP for IE/AS-i LINK PN IO installed)
  • IE/AS-i LINK PN IO firmware V2.0+
  • S7-1500 or S7-1200 CPU with PROFINET interface
  • AS-i slaves configured with profile IO code 3 (A/B)
  1. Install the device support package (HSP). In TIA Portal go to Options → Support Packages → Install HSP and select the IE/AS-i LINK PN IO package. Restart TIA Portal.
  2. Insert the gateway. Drag the IE/AS-i LINK PN IO from the hardware catalog into the PROFINET topology. Connect it to the CPU's PROFINET interface.
  3. Configure the AS-i line. In Device view, expand the gateway and select the AS-i line proxy slot. Under Properties → Module parameters confirm that Diagnostic interrupt is enabled and Address programming is enabled if you intend to commission via the controller.
  4. Confirm IO code 3 for each A/B slave. Open AS-i configuration → AS-i slaves, select each A/B slave, and verify the profile reads IO code 3, ID code 0..F. If the profile is missing, run the master Configuration → Automatic address programming from the web server of the gateway (default IP 192.168.1.10).
  5. Accept byte mapping. Note the input/output byte assigned to each AS-i address in the slot overview. The address is fixed once you compile; do not expect a nibble view.
  6. Build a packed DB. In the S7 program create a data block with the ASi_NibblePair AT structure shown in section 5.1 and map each PROFINET byte to a SlotNN variable.
  7. Wire the program logic. Use "DB_ASiNibbles".Slot03.SlaveA and "DB_ASiNibbles".Slot03.SlaveB as the symbolic names for the A and B halves of address 3.
  8. Compile and download. Compile the hardware configuration and the program. Download to the CPU.
  9. Verify in the online view. Switch to Online → Monitor & force and toggle each bit. Use the gateway's web server (http://<IP>/asi/diagnostics) to cross-check against the physical LED indicators of the slaves.

7. Verification Checklist

Check Method Pass Criteria
PROFINET connection Online → Diagnostics → PROFINET topology AR established, no AR aborts
AS-i line health Gateway web diagnostics → Configuration table LDS matches LPS, no red entries
IO code 3 on A/B slaves AS-i diagnostics → Slave details Profile = 3, ID code as configured
Bit packing integrity Force bit 0 / bit 4 of byte, read physical sensor Sensor 3A responds to bit 0 only, sensor 3B to bit 4 only
OB82 (diagnostic interrupt) Disconnect one slave, observe PLC diagnostic buffer OB82 raised with the correct slot diagnostic address
Cycle time impact Online → Cycle time / OB1 Increase < 1 ms vs unpacked baseline

8. Comparison: DP/AS-i LINK Advanced vs IE/AS-i LINK PN IO

Feature DP/AS-i LINK Advanced (6GK1415-2BA10) IE/AS-i LINK PN IO (6GK1411-2AB10)
Fieldbus PROFIBUS DP-V1 PROFINET IO
Configuration surface in TIA Network view (slaves visible as sub-modules) Device view (slaves visible as slots under proxy)
Pack function available Yes (object properties → AS-i line) No (unpacked, byte-oriented only)
IO code 3 nibble view Yes No (byte view, manual bit slicing required)
Max A/B slaves per master 62 62
Diagnostic interrupt Yes Yes
Address programming from PLC Yes Yes
Integrated web server Limited Full (configuration, diagnostic, FW update)
Recommended use Existing PROFIBUS trunks, dense I/O islands New PROFINET architectures, brownfield migration

9. Diagnostic Parameters of the AS-i Proxy

The IE/AS-i LINK PN IO proxy exposes the following relevant module parameters. Modify these in Device view → Properties → Module parameters:

Parameter Value Range Default Description
Diagnostic interrupt Enabled / Disabled Enabled Triggers OB82 on slave failure or replace events
Address programming Enabled / Disabled Disabled Lets the controller write the AS-i address to a new slave
Diagnostic address (per slave) 0 .. 65535 Auto Slot-level diagnostic address; consumed by OB82

Note: Setting Address programming to Enabled alone will not alter the I/O packing. It only unlocks the write-AS-i-address command for the master. If you are trying to coerce the proxy into packed mode by toggling it, you will not see any change in the slot layout.

10. Common Pitfalls and Field Tips

  1. Confusing IO code 3 with nibble addressing. IO code 3 tells the master that the station is an A/B slave; it does not tell the PROFINET interface to render the data as a nibble. The PROFINET mapping is governed by the GSDML, and the IE/AS-i LINK PN IO GSDML declares full-byte sub-modules.
  2. Searching for the Pack option in the wrong dialog. On the DP/AS-i LINK Advanced, the Pack checkbox lives on the line proxy in the Network view. On the IE/AS-i LINK PN IO, the proxy exposes only diagnostic and address-programming flags. There is no hidden Pack option — do not waste time hunting for it.
  3. Using STEP 7 Classic project files. If you migrate a STEP 7 Classic project that used the Pack function on a DP/AS-i LINK Advanced, TIA Portal will translate the configuration correctly as long as the gateway remains a DP/AS-i LINK Advanced. As soon as the gateway is swapped to IE/AS-i LINK PN IO, the packing is lost and you must apply workaround A (manual bit slicing).
  4. Assuming OB82 always fires on bit access. The SIMATIC NET manual is clear: when a slave is configured, a failure produces a remove module alarm. Bit access to the missing station returns zeros but does not raise an I/O error — you must check the OB82 diagnostic buffer for true failure detection.
  5. Ignoring address 0. AS-i slave addresses run 1..31 (or 1A..31A / 1B..31B for A/B). Address 0 is reserved and is not assignable. See the TIA Portal S7-1200 manual collection, "Assigning an AS-i address to an AS-i slave" for the full rule set.

11. Reference: AS-i Standards Anchors

For verification against the underlying fieldbus standard, the following official documents apply:

Safety notice: AS-i is a single-fault-tolerant bus for digital sensors up to SIL 1 / PL c when used with the appropriate safety-at-work extension. Nibble-packing the data on the controller side does not change the safety classification of the AS-i network itself. Always validate the safety distance of the resulting PLC program against the safety function of the AS-i safety slaves; do not assume that the byte-overhead is a safety issue — it is purely a memory-mapping one.

12. FAQ

Why does the IE/AS-i LINK PN IO force a full byte per AS-i A/B slave in TIA Portal?

Because the GSDML description for the IE/AS-i LINK PN IO (6GK1411-2AB10) declares the digital sub-modules as one byte wide, the Pack function from STEP 7 Classic is not exposed. The IO code 3 of a slave still tells the master the station is an A/B slave, but the PROFINET payload is byte-oriented regardless. See SIMATIC NET IE/AS-i LINK PN IO manual section 7.2.1.

Can I enable the Pack function for the IE/AS-i LINK PN IO from TIA Portal?

No. The Pack checkbox only exists for the DP/AS-i LINK Advanced (6GK1415-2BA10) on PROFIBUS. The IE/AS-i LINK PN IO proxy exposes only Diagnostic interrupt and Address programming in Module parameters. There is no hidden option in any firmware version through V2.x.

What is the most efficient workaround for a 62-station A/B network on the IE/AS-i LINK PN IO?

Use the AT-struct bit-slicing pattern shown in section 5.1: declare a STRUCT with a 4-bit field for slave A and a 4-bit field for slave B, map it over the PROFINET input byte, and address the bits symbolically. This achieves the same memory footprint as the STEP 7 Pack function with no GSDML changes.

Does the IE/AS-i LINK PN IO still raise OB82 if an A/B slave fails?

Yes, as long as Diagnostic interrupt is enabled in the proxy parameters. The OB82 carries the slot-level diagnostic address of the failed slave. Bit access to the missing station returns zeros but does not raise an additional I/O access error — you must evaluate OB82 to detect the failure.

Can I keep the IE/AS-i LINK PN IO and still get a true 4-bit slot view in TIA Portal?

No native option exists. The only Siemens-supported path to a 4-bit slot view is to substitute a DP/AS-i LINK Advanced on PROFIBUS. If the project is locked to PROFINET, use the bit-slicing workaround in the PLC program rather than attempting to modify the GSDML.

Which AS-i slave address range is valid for A/B slaves?

Addresses 1A..31A and 1B..31B are valid; address 0 is reserved and not assignable. ID code and ID2 code must match the configuration for the master to accept a replacement slave. See the TIA Portal S7-1200 manual collection for the full assignment rules.

Back to blog