B&R Network Architecture and Device Enumeration
Overview
B&R X20 systems use a multi-layer network architecture: ETHERNET Powerlink (EPL) for real-time control communication, standard Ethernet/TCP-IP for IT-level traffic, X2X for local IO bus expansion, and optional CAN bus. Understanding this architecture is essential when you inherit an undocumented machine — you need to map out what devices exist, how they’re connected, and what data flows between them.
Network Topology Types
ETHERNET Powerlink Topologies
POWERLINK supports any combination of the following topologies without manual configuration:
| Topology | Description | When Used |
|---|---|---|
| Star | All devices connect to a central hub/switch | Clean installations, easy isolation |
| Daisy Chain | Devices connected in series using built-in 2-port switches | Most common — minimizes cabling |
| Tree | Hierarchical branching from central hub | Large machines with multiple sections |
| Ring | Daisy chain with last device connected back to first | Redundancy — automatic failover on cable break |
B&R POWERLINK hubs (e.g., X20HB8880) support all these topologies. The Compact Link Selector enables ring redundancy for critical applications.
X2X Bus Topologies
The X2X bus (backplane bus connecting X20 IO modules) is always a daisy chain:
CPU/BC → [Module 1] → [Module 2] → [Module 3] → [Terminal Module]
Each module has an X2X in and X2X out connector. The terminal module provides termination.
Typical Machine Network Layout
Standard Ethernet (TCP/IP)
┌──────────────────────┐
│ Engineering PC │
│ HMI / SCADA │
│ SDM (web browser) │
└──────────┬───────────┘
│
┌──────┴──────┐
│ Ethernet │
│ Switch │
└──────┬──────┘
│
┌────────────┐ POWERLINK ┌──────┴──────┐ POWERLINK ┌────────────┐
│ ACOPOS │◄──────────────►│ CP1584 │◄──────────────►│ ACOPOS │
│ Drive 1 │ │ (MN node) │ │ Drive 2 │
└────────────┘ └──────┬──────┘ └────────────┘
│ X2X Bus
┌──────┴──────┐
│ X20 IO │
│ Modules │
└──────┬──────┘
│ X2X Bus
┌──────┴──────┐
│ X20 IO │
│ Modules │
└─────────────┘
Device Discovery on an Unknown Network
Method 1: Automation Studio Browse
- Open Automation Studio
- Go to Online → Settings
- Toggle Browse ON
- Automation Studio broadcasts on the local subnet and discovers all B&R devices
- Devices appear with: IP address, device name, model number, serial number
Method 2: Standard Network Scan
Since B&R devices respond to standard Ethernet protocols:
## ARP scan - finds all devices on the local subnet
arp -a
## Nmap scan - detailed device discovery
nmap -sn 192.168.1.0/24
## Ping sweep
for i in {1..254}; do ping -c 1 -W 1 192.168.1.$i | grep "bytes from" & done; wait
## DNS reverse lookup (some B&R devices register their name)
nmap -sL 192.168.1.0/24
Method 3: B&R Community Tools
| Tool | Description | Source |
|---|---|---|
| brsnmp | SNMP commands for B&R PLCs — list/search PLCs, change IP | awesome-B-R GitHub |
| ListAllBurPLCs | Lists all B&R PLCs on the network | awesome-B-R GitHub |
| brwatch | Service tool — watch variables, change IP | awesome-B-R GitHub |
Method 4: Wireshark / POWERLINK Capture
- Install Wireshark with the POWERLINK plugin
- Connect your PC to the same network segment
- Start capture on the Ethernet interface
- Filter:
eplfor POWERLINK frames - The Managing Node (MN) — your CP1584 — will be visible in
SoC(Start of Cycle) frames - All Controlled Nodes (CNs) respond with their node addresses
The POWERLINK MN node is typically node 240 (0xF0). CNs are assigned sequentially.
See powerlink-internals.md for detailed POWERLINK protocol analysis.
Method 5: SDM Web Interface
- Open a browser to the PLC’s IP address (default often 192.168.1.10)
- The SDM shows all connected POWERLINK nodes, their status, and firmware versions
- Navigate to System → Network for full device enumeration
Method 6: Finding a PLC with Unknown IP
If you don’t know the PLC’s IP address:
- Connect directly with an Ethernet cable (no switch)
- Set your PC to DHCP
- B&R PLCs often have DHCP enabled by default, or respond to ARP from any IP
- In Wireshark, look for ARP packets from the PLC’s MAC address (B&R OUI prefix)
- In Automation Studio, enable Browse — it discovers devices via UDP broadcast
- Reset to factory IP: hold the MODE button during power-on for 5 seconds (resets IP to 192.168.1.10)
Network Addressing
IP Address Configuration
B&R devices have IP addresses configured via:
- Automation Studio — set in the CPU’s Ethernet configuration
- SDM web interface — accessible via browser
- SNMP — using brsnmp tool
- Hardware reset — MODE button during power-on (factory default: 192.168.1.10)
POWERLINK Node Addressing
POWERLINK uses node IDs (1-239 for CNs, 240 for MN):
- MN (Managing Node): Always node 240 — this is the CP1584
- CN (Controlled Node): Assigned sequentially 1, 2, 3… by the MN
- Node addresses are automatically assigned during POWERLINK startup (SoC phase)
- No manual IP configuration needed for POWERLINK communication — it uses MAC-based addressing
X2X Station Addressing
X2X stations are addressed by their position in the daisy chain:
- Station 0: The bus controller (BC module on the CPU)
- Station 1: First IO module after the BC
- Station 2: Second IO module, etc.
Addresses are automatic — the bus controller enumerates stations during initialization.
Network Diagnostic Tools
Built-in Diagnostics
| Tool | Access Method | What It Shows |
|---|---|---|
| SDM | Web browser → PLC IP | All devices, faults, firmware, network stats |
| Automation Studio Online | AS → Online → Login | Variable values, task status, IO mapping |
| PLC Logger | AS → Tools → Logger | System events, warnings, errors with timestamps |
External Network Tools
| Tool | Use | Notes |
|---|---|---|
| Wireshark + EPL plugin | Capture POWERLINK traffic | Filter by node, analyze cycle timing |
| nmap | Network discovery and port scanning | Standard TCP/IP layer |
| ping | Basic connectivity test | Check if PLC responds |
| ARP | Find devices on local subnet | Quick scan without tools |
| brsnmp | B&R-specific SNMP commands | Change IP, list PLCs |
| brwatch | Real-time variable monitoring | Command-line, lightweight |
Common Network Issues
POWERLINK Communication Failure
Symptoms: Drives/IO modules show as offline, red LEDs on modules
Diagnosis:
- Check SDM — which nodes are missing?
- Verify POWERLINK cable connections (daisy chain: each module has IN and OUT)
- Check termination — the last device in the chain needs a terminator or the bus controller must have termination enabled
- Verify the bus controller (BC) module is correctly configured in the project
- Check cable continuity with a cable tester
- Look for the POWERLINK activity LEDs on the bus controller and hub modules
Ethernet Connectivity Problems
Symptoms: Can’t reach PLC from PC, HMI disconnected
Diagnosis:
- Verify IP address is correct and on the same subnet
- Check physical Ethernet cable and link LEDs on the PLC and switch
- Ping the PLC — if no response, check cabling and IP configuration
- Verify subnet mask and gateway settings
- Check if the PLC’s Ethernet interface is enabled in the hardware configuration
IP Address Conflicts
Symptoms: Intermittent connectivity, PLC appears and disappears from network
Diagnosis:
- Check for duplicate IPs using
arp -a— look for the same IP with different MAC addresses - Ensure no other device is using the PLC’s IP
- Change the PLC’s IP if needed (via SDM, brsnmp, or Automation Studio)
Network Performance Degradation
Symptoms: POWERLINK cycle time violations, intermittent timeouts
Diagnosis:
- Check POWERLINK cycle time configuration — is it too fast for the number of nodes?
- Verify cable quality — damaged cables cause retransmissions
- Check for excessive non-real-time traffic on the same Ethernet segment
- Separate real-time (POWERLINK) and IT (TCP/IP) traffic onto different VLANs or physical networks if possible
- Monitor POWERLINK timing in Wireshark — look for cycle time jitter
Documenting an Unknown Network
When you inherit an undocumented machine, systematically document the network:
Step 1: Physical Inspection
- Follow every cable from the PLC to each device
- Note cable types (Ethernet, X2X flat cable, motor power, encoder)
- Label every cable at both ends
- Photograph the cabinet layout
Step 2: Software Discovery
- Connect to the PLC’s SDM web interface
- Use Automation Studio Browse to find all B&R devices
- Run a network scan (nmap or arp) to find non-B&R devices (switches, HMIs)
- Capture POWERLINK traffic in Wireshark to see all active nodes
Step 3: Create a Network Map
Document:
- Device model, serial number, firmware version
- IP address / POWERLINK node address / X2X station address
- Cable connections (what port connects to what)
- Network configuration (subnet, gateway, cycle time)
Step 4: Record Network Configuration
| Device | Model | IP Address | PLK Node | X2X Station | Firmware | Status |
|---|---|---|---|---|---|---|
| CPU | X20CP1584 | 192.168.1.10 | 240 (MN) | — | V4.10 | OK |
| Bus Controller | X20BC0083 | — | — | 0 | V2.x | OK |
| IO Module 1 | X20DI9371 | — | — | 1 | V1.x | OK |
| IO Module 2 | X20DO9321 | — | — | 2 | V1.x | OK |
| Drive 1 | 8V1016.00-2 | — | 1 (CN) | — | V3.x | OK |
| Drive 2 | 8V1016.00-2 | — | 2 (CN) | — | V3.x | OK |
| HMI | 4PPC70… | 192.168.1.11 | — | — | V3.x | OK |
Ethernet Switching Requirements for POWERLINK
Why Switches Matter
POWERLINK is a time-sliced protocol that requires deterministic Ethernet frame delivery. Standard managed switches can interfere with POWERLINK timing. Understanding this is critical for network design.
POWERLINK Switching Rules
| Rule | Details |
|---|---|
| Dedicated segment recommended | POWERLINK should have its own physical Ethernet segment when possible |
| No IGMP snooping needed | POWERLINK uses directed frames (not multicast in the traditional sense) |
| Managed switches | Can be used but must not introduce latency spikes. Avoid spanning tree, QoS reshaping, or storm control |
| B&R POWERLINK hubs | X20HB8880 hubs are purpose-built — 2-port, non-blocking, no processing delay |
| Standard switches (daisy chain) | Each switch adds ~1-5 µs latency; acceptable for cycle times > 1 ms |
| Full-duplex switches | Acceptable for POWERLINK V2 with some implementations; not for V1 real-time domain |
Network Segregation Strategies
GOOD: Separate physical networks
┌──────────────┐ ┌──────────────┐
│ IT Network │ │ POWERLINK │
│ (Switch) │ │ (Hub chain) │
│ HMI/SCADA │ │ Drives/IO │
└──────┬───────┘ └──────┬───────┘
│ │
└────────┬───────────┘
│
┌──────┴──────┐
│ CP1584 │
│ IF2=Ethernet │
│ IF3=POWERLINK│
└─────────────┘
ACCEPTABLE: Same switch with VLANs
┌──────────────────────┐
│ Managed Switch │
│ VLAN 10: IT traffic │
│ VLAN 20: POWERLINK │
└──────────┬───────────┘
│
┌──────┴──────┐
│ CP1584 │
└─────────────┘
Important: When POWERLINK and TCP/IP share IF3 (same physical port), they are time-multiplexed. The POWERLINK real-time phase has absolute priority. Non-real-time traffic fills the remaining time slots. If the cycle time is very tight, TCP/IP performance on IF3 will be severely degraded. Use IF2 (dedicated Ethernet) for IT traffic.
OPC UA Network Integration
Port and Protocol
| Parameter | Default |
|---|---|
| OPC UA endpoint | opc.tcp://<PLC_IP>:4840 |
| Discovery URL | opc.tcp://<PLC_IP>:4840 |
| Security | None (default), Basic128Rsa15, Basic256, Basic256Sha256 |
| Max sessions | 50 (configurable) |
OPC UA on the Network
- OPC UA runs on IF2 (Ethernet), not IF3 (POWERLINK)
- If IF2 is on the same subnet as POWERLINK address range (192.168.100.x), there may be routing issues
- OPC UA traffic is standard TCP — works through routers, VPNs, and firewalls
- See opcua.md for detailed configuration and client access
Network Security Considerations
B&R systems from defunct OEMs often have minimal security:
| Risk | Mitigation |
|---|---|
| No authentication on OPC UA | Add firewall rules; restrict port 4840 to trusted IPs |
| FTP access with default/no password | Disable FTP service if not needed; restrict via firewall |
| SDM web interface open to all | Restrict port 80/443; use VPN for remote access |
| SNMP community strings default (“public”) | Change SNMP community in AR configuration |
| Telnet/SSH access | Disable if not needed; check AR configuration for remote shell |
Remote Access Options
For monitoring machines remotely:
| Method | Pros | Cons |
|---|---|---|
| VPN tunnel to plant network | Secure, full access | Requires IT infrastructure |
| OPC UA via port forwarding | Standard protocol, works through NAT | Security risk if not secured |
| MQTT bridge (via OPC UA→MQTT gateway) | Lightweight, IoT-friendly | Requires additional hardware/software |
| SDM via HTTPS | No extra software needed | Limited to SDM capabilities |
See iiot-retrofit.md for detailed remote monitoring setup.
Compact Link Selector (Ring Redundancy)
B&R POWERLINK supports automatic ring redundancy via the Compact Link Selector:
- Connect the last node in the daisy chain back to the first (forming a ring)
- If any cable in the ring breaks, communication continues via the alternate path
- Failover is automatic and typically completes within 1-2 POWERLINK cycles
- Requires compatible B&R hubs (X20HB8880 with Compact Link support)
- Configured in Automation Studio’s POWERLINK network configuration
When to Use Ring Redundancy
- High-availability applications (continuous processes)
- Long cable runs where damage risk is elevated
- Multi-machine lines where one cable break would stop the entire plant
- Not typically needed for standalone machines
Subnet Design Guidelines
Default Address Ranges
| Interface | Typical Default | Notes |
|---|---|---|
| IF2 (Ethernet) | 192.168.1.x | Configurable via AS or SDM |
| IF3 (POWERLINK) | 192.168.100.x | Reserved for POWERLINK; do not overlap with IF2 |
Best Practices
- Keep POWERLINK on its own subnet (192.168.100.x)
- IT traffic on a separate subnet (192.168.1.x)
- Use a dedicated VLAN if sharing physical switches
- Document all IP addresses — use the network map template above
- Reserve IP ranges for future expansion (spare PLCs, new drives)
DHCP and IP Configuration
| Method | Description |
|---|---|
| Static (default) | IP set in AS project or SDM; persistent across reboots |
| DHCP | Can be enabled; PLC requests IP from DHCP server at boot |
| BOOTP | Legacy protocol; some older configurations use this |
| INA2000 formula | IP = 192.168.1.<hex_switch_value> (when INA mode is active) |
For an undocumented machine: check if DHCP is enabled by connecting a PC to the same switch and running a DHCP discovery. If the PLC responds, you’ll find its IP. Otherwise, use ANSL discovery (nmap port 11169/11160) or factory reset (hold MODE button during power-up).
DNS Configuration
Why DNS Matters in B&R Automation
DNS is required for several B&R system services, even on isolated plant networks:
| Service | DNS Dependency | Notes |
|---|---|---|
| NTP time synchronization | NTP servers resolved by hostname (e.g., pool.ntp.org) | Without DNS, NTP sync fails and PLC clocks drift |
| OPC-UA endpoint discovery | Server certificates may reference DNS names | Client certificate validation can fail without proper DNS |
| PLC hostname resolution | Other devices reference PLCs by hostname | Cross-device communication may break |
| Software updates | B&R update servers resolved by hostname | Not relevant for isolated networks, but DNS is still configured |
| ANSL discovery | Uses UDP broadcasts, not DNS | Works without DNS |
DNS Configuration in Automation Runtime
DNS servers are set in the CPU properties under Ethernet Interface → TCP/IP → DNS:
| Parameter | Description | Example |
|---|---|---|
| Primary DNS Server | First DNS server queried | 8.8.8.8 or plant DNS (e.g., 10.0.0.2) |
| Secondary DNS Server | Fallback if primary is unreachable | 8.8.4.4 or secondary plant DNS |
| DNS Domain | Appended to unqualified hostnames | plant.local or company.com |
| Get DNS from DHCP | Automatically receive DNS settings via DHCP | Enabled or disabled |
DNS Servers for Industrial Use
| Server | Address | Use Case |
|---|---|---|
| Plant DNS server | Plant-specific (e.g., 10.0.0.2) | Preferred — resolves internal hostnames |
| Google Public DNS | 8.8.8.8 (primary), 8.8.4.4 (secondary) | Internet-connected networks, reliable fallback |
| Cloudflare DNS | 1.1.1.1 | Alternative public DNS |
| B&R default | None configured | Must be set manually for NTP |
On isolated plant networks without internet access, configure DNS to point at the plant’s internal DNS server. If no internal DNS exists and NTP is required, either use IP addresses directly for NTP or set up a local DNS resolver.
“Get DNS from DHCP” Option
When enabled, the PLC obtains DNS server addresses from the DHCP response alongside the IP address. This is convenient but has caveats:
- Only works on interfaces configured for DHCP (typically IF2)
- DNS settings are lost if the DHCP server is unreachable at boot
- The PLC may boot with stale DNS if the DHCP lease expires during a network outage
- For critical systems, use static DNS configuration for reliability
DNS Troubleshooting for B&R Networks
| Symptom | Diagnosis | Fix |
|---|---|---|
| NTP sync fails | DNS cannot resolve NTP server hostname | Check DNS server reachability from PLC; try IP address for NTP server |
| OPC-UA certificate errors | Certificate CN does not match resolved IP | Configure proper DNS or use IP-based endpoint URLs |
| PLC hostname not resolving | DNS not configured or hostname not registered in DNS | Add PLC to plant DNS or use hosts file on client machines |
| Slow network operations | DNS timeout before fallback | Configure reachable DNS servers or disable DNS if unused |
For detailed NTP and DNS interdependencies, see time-sync.md.
Ethernet Interface Configuration
IF2 vs IF3 on X20CP1584
The X20CP1584 has two independent Ethernet interfaces, each serving a different purpose:
| Interface | Name | Purpose | Connector |
|---|---|---|---|
| IF2 | ETHx (Ethernet) | Standard TCP/IP — OPC UA, SDM, FTP, SNMP, NTP | RJ45 |
| IF3 | ETHx+1 (POWERLINK) | POWERLINK real-time bus + multiplexed TCP/IP | RJ45 |
Critical distinction: IF3 can carry both POWERLINK real-time frames and non-real-time TCP/IP traffic in a time-division multiplexed manner. The POWERLINK cycle owns the isochronous phase; TCP/IP traffic fills the remaining asynchronous phase slots. If the POWERLINK cycle time is tight (e.g., 200 µs), very little bandwidth remains for TCP/IP on IF3. For heavy IT traffic, use IF2 exclusively.
Interface Configuration in CPU Properties
Each interface is configured independently in Automation Studio under the CPU’s hardware configuration:
| Setting | IF2 (Ethernet) | IF3 (POWERLINK) |
|---|---|---|
| IP Address | Static or DHCP | Static (POWERLINK uses MAC-based addressing) |
| Subnet Mask | Configurable | 255.255.255.0 typical |
| Default Gateway | Configurable | Rarely set (used for multiplexed TCP/IP) |
| DNS Servers | Configurable | Inherited or separate |
| MAC Address | Hardware-fixed | Hardware-fixed |
| Speed/Duplex | Auto-negotiate or forced | Auto-negotiate or forced |
Speed and Duplex Settings
| Setting | Options | Recommendation |
|---|---|---|
| Speed | 10 Mbps, 100 Mbps, Auto | Auto-negotiate for standard installations; force 100 Mbps Full if auto-negotiation fails |
| Duplex | Half, Full, Auto | Always Full Duplex — Half Duplex causes collisions and retransmissions |
| Auto-Negotiation | Enabled/Disabled | Leave enabled unless troubleshooting duplex mismatches |
Forcing speed/duplex on one end without matching the other causes a duplex mismatch, leading to late collisions, CRC errors, and severe performance degradation. If forcing is necessary, both the PLC port and the switch port must match exactly.
MAC Address Format (B&R OUI)
B&R Automation assigns MAC addresses from their registered OUI (Organizationally Unique Identifier):
| Prefix | OUI Owner | Example MAC |
|---|---|---|
| 00:07:6C | B&R Industrial Automation | 00:07:6C:XX:XX:XX |
| 08:00:06 | B&R (legacy assignment) | 08:00:06:XX:XX:XX |
When scanning a network, filtering by B&R OUI prefixes identifies B&R devices among all network endpoints:
# Find all B&R devices by MAC prefix in ARP table
arp -a | grep -i "00:07:6c"
Link Aggregation and Multi-Homing
The X20CP1584 does not support IEEE 802.3ad link aggregation (LACP) natively. However, multi-homing — using both IF2 and IF3 simultaneously on different subnets — is fully supported and is the standard operating mode:
- IF2: Connected to the IT/SCADA network (192.168.1.x)
- IF3: Connected to the POWERLINK real-time bus (192.168.100.x)
Each interface routes independently. The PLC maintains separate routing tables per interface. Traffic for the POWERLINK subnet goes out IF3; traffic for the IT subnet goes out IF2. If both subnets overlap, ambiguous routing occurs and connectivity becomes unpredictable.
Interface LED Indicators
| LED | State | Meaning |
|---|---|---|
| Link/ACT (Green) | On | Physical link established |
| Link/ACT (Green) | Blinking | Data transmission active |
| Link/ACT (Green) | Off | No physical link — check cable |
| Speed (Amber/Yellow) | On | 100 Mbps connection |
| Speed (Amber/Yellow) | Off | 10 Mbps connection |
| Error (Red) | On | CRC error, duplex mismatch, or collision detected |
On POWERLINK hubs (X20HB8880), additional LEDs indicate POWERLINK bus activity and ring redundancy status. See cp1584-hardware-ref.md for complete LED reference.
Latency and Performance Analysis
POWERLINK Cycle Time Latency Components
A single POWERLINK cycle is divided into phases, each contributing to overall latency:
| Phase | Duration (typical) | Contribution |
|---|---|---|
| SoC (Start of Cycle) | Broadcast from MN to all CNs | ~10-20 µs |
| PReq (Poll Request) | MN polls each CN sequentially | ~2-5 µs per CN |
| PRes (Poll Response) | CN responds to MN | ~2-5 µs per CN |
| Async Phase | Non-real-time data exchange | Remaining time |
| SoA (Start of Async) | Signals async phase beginning | ~2 µs |
Total cycle time = sum of all phases. For a system with 5 CNs at 200 µs cycle time, the isochronous portion consumes approximately 50-75 µs, leaving the remainder for asynchronous traffic.
Ethernet Switch Latency
Each switching element in the POWERLINK path adds latency:
| Device | Per-Hop Latency | Notes |
|---|---|---|
| B&R POWERLINK hub (X20HB8880) | < 1 µs | Store-and-forward at wire speed; essentially transparent |
| Unmanaged switch | 1-5 µs | Fast switching, minimal overhead |
| Managed switch (no features) | 2-10 µs | Depends on switching ASIC |
| Managed switch (IGMP/STP) | 5-50 µs | Processing features add jitter; avoid on POWERLINK |
| Router | 50-500 µs | Never route POWERLINK traffic; use bridges only |
X2X Bus Latency Contribution
The X2X backplane bus adds latency for IO data to reach the CPU:
| Parameter | Value | Notes |
|---|---|---|
| X2X bus cycle time | 200-500 µs | Configurable in Automation Studio |
| Per-module propagation | ~1-2 µs | Daisy chain delay accumulates |
| Typical 10-module chain | ~20-30 µs total | Including bus controller processing |
| Bus controller processing | ~10-15 µs | CPU reads/writes IO image |
X2X latency is independent of POWERLINK cycle time. The CPU updates the IO image at the X2X rate and maps it into the POWERLINK cycle. If X2X cycle time exceeds POWERLINK cycle time, IO data may be stale by one cycle.
End-to-End Latency Budget Calculation
For a signal traveling from a digital input to a drive command output:
| Stage | Latency |
|---|---|
| Input module debounce + X2X transport | ~300 µs (X2X cycle) |
| CPU program scan (logic processing) | ~100-500 µs (depends on program) |
| POWERLINK cycle (MN sends command to drive) | ~200 µs (one cycle) |
| Drive processing and motor response | ~500 µs - 2 ms (drive-dependent) |
| Total (typical) | ~1.1 - 3.0 ms |
| Total (best case) | ~0.6 ms |
This budget explains why cycle time configuration is critical — reducing POWERLINK cycle time from 1 ms to 200 µs saves 800 µs per cycle in the command path.
Measuring Latency with Wireshark
To measure actual POWERLINK latency from captures:
- Capture POWERLINK traffic on the MN’s interface
- Apply filter:
epl && epl.soc - Calculate time delta between consecutive SoC frames — this is the actual cycle time
- Apply filter:
epl && epl.preq && epl.node == 1 - Measure time from PReq to matching PRes — this is the round-trip to CN 1
- Compare actual cycle times against configured cycle time to detect jitter
Wireshark column setup for latency analysis:
| Column | Display Filter Field | Purpose |
|---|---|---|
| Frame Delta | frame.time_delta | Cycle-to-cycle timing |
| EPL Service | epl.service | Identify SoC, PReq, PRes |
| EPL Node | epl.node | Identify which CN |
| Frame Length | frame.len | Detect oversized frames |
Acceptable Latency Thresholds
| Application | Acceptable E2E Latency | POWERLINK Cycle Time |
|---|---|---|
| Simple on/off control | < 50 ms | 10 ms (not latency-critical) |
| Conveyor synchronization | < 10 ms | 2-5 ms |
| Motion coordination (multi-axis) | < 5 ms | 1-2 ms |
| High-dynamic servo control | < 2 ms | 200-400 µs |
| Registration/cutting applications | < 1 ms | 100-200 µs |
| Electronic camming | < 0.5 ms | 100 µs |
When the application requires cycle times below 200 µs, the number of nodes in the POWERLINK chain must be carefully managed — each additional CN consumes time in the isochronous phase.
Network Troubleshooting Deep Dive
POWERLINK Packet Loss Diagnosis
Packet loss in POWERLINK manifests as drives going to fault state, IO modules showing communication errors, or cycle time violations. Use Wireshark to diagnose:
## Wireshark capture filter for POWERLINK traffic
## Capture on the interface connected to the POWERLINK segment
## Display filter: show only Poll Requests to detect missing responses
epl && epl.preq
## Display filter: show only Start of Cycle to check cycle consistency
epl && epl.soc
## Display filter: show errors
epl && epl.error
## Display filter: isolate a specific node
epl && epl.node == 3
Steps to diagnose packet loss:
- Start Wireshark capture on the POWERLINK segment
- Apply
epl && epl.soc— verify SoC frames arrive at the configured interval - Apply
epl && epl.preq— for each PReq, confirm a matching PRes follows within the timeout window - Missing PRes frames indicate the CN is not responding — check cabling and power to that node
- Late PRes frames (arriving outside the isochronous window) indicate switch latency or cable issues
- Count total frames over 60 seconds; compare expected vs. actual to calculate loss percentage
Cycle Timing Violation Analysis
When the PLC logs POWERLINK cycle time violations, the actual cycle exceeded the configured maximum. Diagnose by:
- Capture a 10-second Wireshark trace with filter
epl - Export to CSV and calculate the time delta between consecutive SoC frames
- Plot the cycle times — look for outliers and patterns
- Common causes:
- Too many CNs for the configured cycle time
- Async phase overflow — too much TCP/IP traffic on IF3
- Switch latency spikes from managed switch features
- Cable integrity issues causing retransmissions
- Competing traffic from a misconfigured VLAN
Duplex Mismatch Detection
Duplex mismatch causes late collisions, FCS errors, and severe throughput degradation (often 40-60% packet loss):
| Symptom | Diagnostic |
|---|---|
| High FCS/CRC error count on switch port | Check port statistics on managed switch |
| Late collisions (after 64 bytes) | Duplex mismatch almost certain |
| Intermittent POWERLINK node drops | Mismatch causes frame loss at line rate |
| Works at 10 Mbps, fails at 100 Mbps | One end forcing speed without matching duplex |
Fix: configure both ends to the same speed/duplex, or ensure both are set to auto-negotiate. Never mix auto-negotiate on one end with forced settings on the other.
Cable Quality Testing
| Method | Tool | What It Tests |
|---|---|---|
| Continuity test | Basic cable tester | Pin-to-pin connectivity |
| Cable certification | Fluke DSX or equivalent | Cat5e/Cat6 compliance, NEXT, return loss, length |
| TDR (Time Domain Reflectometry) | Cable certifier or network switch | Cable length, impedance mismatches, open/short locations |
| Bit Error Rate Test | Managed switch port statistics | BER over extended test period |
For POWERLINK networks, use Cat5e minimum (Cat6 preferred). Maximum cable run: 100 meters per segment. Longer runs require repeaters or fiber media converters. B&R fiber optic POWERLINK modules (X20ET001) are available for runs up to 2 km.
Network Storm Detection and Prevention
A network storm occurs when broadcast or multicast traffic floods the segment, blocking POWERLINK frames:
| Storm Type | Cause | Detection |
|---|---|---|
| Broadcast storm | Spanning tree loop, misconfigured mirror port | Switch port statistics show >1000 broadcasts/sec |
| Multicast storm | IGMP misconfiguration, POWERLINK flooding | Wireshark shows excessive POWERLINK SoC frames |
| ARP storm | Duplicate IP, rogue DHCP server | Wireshark filter arp shows continuous ARP requests |
Prevention: enable broadcast storm control on managed switches (~100 pps threshold), disable unused ports, avoid creating loops without spanning tree, and use B&R POWERLINK hubs which do not propagate broadcasts.
Spanning Tree Issues with Managed Switches
Spanning Tree Protocol (STP/RSTP/MSTP) can disrupt POWERLINK:
| Problem | Impact | Fix |
|---|---|---|
| STP blocking port | POWERLINK nodes behind blocked port unreachable | Configure port as edge/portfast |
| STP reconvergence | 30-50 second outage during topology change | Disable STP on POWERLINK ports |
| RSTP rapid reconvergence | 1-3 second outage | Still disruptive for real-time; disable on POWERLINK ports |
| BPDU guard violation | Port shuts down | Configure BPDU guard appropriately |
For POWERLINK segments, disable spanning tree on the relevant ports or use “edge port” / “portfast” designation to skip the listening/learning phases.
Auto-Negotiation Failures
Auto-negotiation can fail between B&R devices and certain switches, resulting in:
| Failure Mode | Symptom | Fix |
|---|---|---|
| Speed mismatch | No link or 10 Mbps instead of 100 Mbps | Force both ends to 100 Mbps Full |
| Duplex mismatch | Link up but high CRC errors | Force both ends to same duplex |
| Link not established | No LED activity | Force speed/duplex; try different cable |
| Intermittent link | Link drops under load | Replace cable; check connector seating |
B&R Ethernet interfaces generally implement IEEE 802.3ab auto-negotiation correctly. Issues typically arise with older switches or non-standard Ethernet implementations. When auto-negotiation fails, forcing 100 Mbps Full Duplex on both the PLC and the switch port resolves the issue.
Firewall and Security Configuration
Ports Used by B&R Systems
| Port | Protocol | Service | Direction | Notes |
|---|---|---|---|---|
| 4840 | TCP | OPC UA | Inbound | Default OPC UA endpoint port |
| 80 | TCP | SDM (HTTP) | Inbound | System Diagnostics Manager web interface |
| 443 | TCP | SDM (HTTPS) | Inbound | Encrypted SDM access |
| 11169 | TCP/UDP | ANSL | Inbound | Automation NET Service Layer — device discovery |
| 11160 | UDP | ANSL Discovery | Inbound | Broadcast discovery protocol |
| 20-21 | TCP | FTP | Inbound | File transfer — transfer projects, firmware |
| 161 | UDP | SNMP | Inbound | Simple Network Management Protocol |
| 162 | UDP | SNMP Trap | Outbound | SNMP trap notifications |
| 22 | TCP | SSH | Inbound | Secure shell access (if enabled) |
| 23 | TCP | Telnet | Inbound | Unencrypted remote access (disable if unused) |
| 123 | UDP | NTP | Outbound | Time synchronization (client) |
| 502 | TCP | Modbus TCP | Inbound | If Modbus gateway configured |
Firewall Rule Recommendations for B&R PLC Isolation
A minimum-viable firewall configuration for a B&R PLC:
| Rule | Source | Destination | Port | Action | Purpose |
|---|---|---|---|---|---|
| 1 | SCADA Server | PLC | 4840 | Allow | OPC UA access |
| 2 | Engineering PC | PLC | 80, 443 | Allow | SDM web interface |
| 3 | Engineering PC | PLC | 20-21 | Allow | FTP for project transfer |
| 4 | Engineering PC | PLC | 11169 | Allow | ANSL device discovery |
| 5 | NTP Server | PLC | 123 | Allow | Time synchronization |
| 6 | SNMP Manager | PLC | 161 | Allow | SNMP monitoring |
| 7 | Any | PLC | Any | Deny | Default deny all other traffic |
For outbound traffic from the PLC, allow: NTP to NTP Server (123/UDP), Syslog to Log Server (514/UDP), and default deny all other outbound.
Network Segmentation for Security
Deploy B&R PLCs in a dedicated automation zone separated from the corporate IT network:
Corporate IT ──► Firewall (rules above) ──► Automation Zone (VLAN)
├── PLC 1 (192.168.1.10)
├── PLC 2 (192.168.1.11)
├── HMI (192.168.1.20)
├── SCADA Server (192.168.1.30)
└── Engineering PC (192.168.1.100)
Key segmentation principles:
- All traffic between IT and automation traverses a firewall
- The automation zone has no direct internet access
- Engineering PCs are dual-homed or access the automation zone via VPN
- SNMP community strings are unique per device and not “public”
- OPC UA uses certificate-based security (not “None” mode)
PLC-to-PLC Firewall Rules
When PLCs communicate directly (PLC-to-PLC, see plc-to-plc.md):
| Rule | Source | Destination | Port | Action |
|---|---|---|---|---|
| 1 | PLC 1 | PLC 2 | 11169 | Allow (ANSL) |
| 2 | PLC 1 | PLC 2 | 4840 | Allow (OPC UA) |
| 3 | PLC 1 | PLC 2 | 11160 | Allow (ANSL Discovery) |
Restrict PLC-to-PLC communication to only the required ports. If PLCs only use POWERLINK for inter-communication (via shared bus), no TCP/IP firewall rules between them are needed.
SCADA/IT Network Demilitarized Zone (DMZ)
For plants requiring SCADA connectivity to both the automation zone and the corporate network, place SCADA servers in a DMZ between two firewalls: Corporate IT -> Firewall A -> DMZ (SCADA Server, Historian, OPC UA Gateway) -> Firewall B -> Automation Zone.
- The SCADA server sits in the DMZ with two network interfaces
- Firewall A allows SCADA-specific ports from corporate IT to the DMZ
- Firewall B allows only SCADA-to-PLC ports from DMZ to automation zone
- OPC UA gateways in the DMZ can bridge protocols (OPC UA to MQTT, OPC UA to REST)
- The DMZ provides a buffer — if the corporate network is compromised, the attacker cannot directly reach PLCs
Multicast and Broadcast Handling
POWERLINK’s Use of Multicast and Broadcast
POWERLINK uses destination addresses that appear as multicast or broadcast on the wire:
| Frame Type | Destination MAC | Purpose |
|---|---|---|
| SoC (Start of Cycle) | 01:EF:00:00:00:01 (POWERLINK multicast) | MN signals start of new cycle to all CNs |
| PReq (Poll Request) | Target CN’s unicast MAC | MN polls individual CN |
| PRes (Poll Response) | MN’s unicast MAC | CN responds to MN |
| SoA (Start of Async) | 01:EF:00:00:00:01 (POWERLINK multicast) | Signals async phase |
POWERLINK SoC and SoA frames use a reserved multicast MAC address (01:EF:00:00:00:01) to simultaneously reach all CNs. This is not standard IPv4 multicast — it is an Ethernet-level multicast specific to POWERLINK.
IGMP Snooping Interaction
IGMP snooping on managed switches can interfere with POWERLINK:
| Scenario | Behavior |
|---|---|
| IGMP snooping OFF | POWERLINK multicast floods all ports — works correctly for POWERLINK |
| IGMP snooping ON (no IGMP queries) | Switch may block POWERLINK multicast after aging timeout — nodes go offline |
| IGMP snooping ON with queries | PLC does not respond to IGMP queries (not IP multicast) — multicast gets pruned |
Recommendation: Disable IGMP snooping on all POWERLINK ports. If the switch requires IGMP snooping for other VLANs, place POWERLINK on a separate VLAN with snooping disabled, or use B&R POWERLINK hubs.
Broadcast Domain Sizing
The POWERLINK segment should be sized appropriately:
| Parameter | Recommended Limit | Maximum |
|---|---|---|
| Nodes per MN | 10-20 CNs | 239 CNs (theoretical) |
| Nodes per hub chain | 4-8 devices | Limited by cable length and hub ports |
| Cable length (total chain) | < 100 m per segment | 100 m per segment (Cat5e/6) |
| Cycle time with many nodes | Scale cycle time with node count | Each CN adds ~5 µs to isochronous phase |
Large POWERLINK networks (>50 nodes) require careful planning: use tree or star topology to reduce cable length per chain, increase cycle time proportionally to node count, consider multiple MNs for very large installations, and use ring topology for redundancy on critical paths.
ANSL Discovery Broadcast
ANSL (Automation NET Service Layer) uses broadcast for device discovery:
| Protocol | Port | Direction | Purpose |
|---|---|---|---|
| ANSL Discovery | UDP 11160 | Broadcast | Locates B&R devices on the subnet |
| ANSL Service | TCP 11169 | Unicast | Device information retrieval |
ANSL discovery broadcasts from Automation Studio (engineering PC) and from SDM. These broadcasts are limited to the local broadcast domain and do not traverse routers. If the engineering PC and PLC are on different subnets, ANSL discovery will not work — use direct IP connection or configure a DHCP relay. For network scanning:
# Scan for B&R devices using ANSL discovery
nmap -sU -p 11160 192.168.1.0/24 --open
# Check ANSL service on a known PLC
nmap -sT -p 11169 192.168.1.10
Key Findings (Updated)
-
POWERLINK topology is auto-configuring — star, daisy chain, tree, ring, any combination works without manual setup. The MN (CP1584) automatically discovers and addresses all CNs.
-
SDM is your first stop for network discovery — the web interface shows every device, its status, firmware version, and connection topology without needing any tools or software.
-
B&R community tools are invaluable — brsnmp, ListAllBurPLCs, and brwatch give you command-line access to discover and manage B&R devices without Automation Studio.
-
Physical cable tracing is essential — no software tool can tell you where cables actually run. Get your hands on the cabinet and follow every cable.
-
POWERLINK and TCP/IP can share the same physical network, but separating them improves performance for critical applications.
-
Node addressing is automatic for both POWERLINK and X2X — you don’t need to configure addresses manually (unless using specific addressing modes).
-
POWERLINK requires deterministic switching — avoid standard managed switches with spanning tree or storm control. B&R POWERLINK hubs (X20HB8880) are purpose-built for zero-delay frame forwarding.
-
Always keep POWERLINK on its own subnet (192.168.100.x) separate from Ethernet/IT traffic (192.168.1.x) to prevent routing conflicts and performance degradation.
-
Default PLC IP is often 192.168.1.10 — if you can’t find the PLC, try this address. Factory reset restores it.
Cross-References
- powerlink-internals.md — POWERLINK protocol deep internals and Wireshark analysis
- x2x-protocol.md — X2X bus protocol and wire-level details
- cp1584-forensics.md — Extracting info from an unknown CP1584
- diagnostics-sdm.md — System Diagnostics Manager usage
- acopos-drives.md — ACOPOS drive communication details
- cp1584-hardware-ref.md — CP1584 hardware specifications, interfaces, LED indicators
- opcua.md — OPC-UA server configuration and client access
- time-sync.md — NTP/DNS configuration for time synchronization
- iiot-retrofit.md — Adding modern monitoring protocols (MQTT, SNMP), network integration
- modbus-gateway.md — Modbus TCP/RTU gateway configuration, Modbus TCP networking
- plc-to-plc.md — Inter-PLC communication discovery and monitoring
- firmware.md — Firmware architecture and update mechanisms
- ftp-web-interface.md — FTP and web server interfaces for remote access
- cybersecurity-hardening.md — Network isolation and firewall strategies
- cf-card-boot.md — CF card contents and boot sequence
- io-card-hardware.md — IO module hardware architecture and LED diagnostics