PROFINET Tutorial 2025 | Complete Programming & Configuration Guide
Master PROFINET protocol with complete tutorial covering RT/IRT communication, TIA Portal configuration, network architecture, diagnostics, and step-by-step programming examples.
π― Master PLC Programming Like a Pro
Preorder our comprehensive 500+ page guide with real-world examples, step-by-step tutorials, and industry best practices. Everything you need to become a PLC programming expert.
- β Complete Ladder Logic Programming Guide
- β Advanced Function Block Techniques
- β Real Industrial Applications & Examples
- β Troubleshooting & Debugging Strategies
π Table of Contents
This comprehensive guide covers:
- Introduction to PLC Programming Fundamentals
- Understanding Ladder Logic Programming
- Function Block Diagrams and Structured Text
- Advanced Programming Techniques
- Real-World Application Examples
- Troubleshooting and Best Practices
- Industry Standards and Compliance
- Career Development and Certification Paths
Introduction: Master PROFINET for Modern Industrial Automation
PROFINET (Process Field Network) has become the dominant industrial Ethernet protocol for factory and process automation in 2025, with over 60 million installed devices worldwide and 8+ million new nodes deployed annually. This comprehensive PROFINET tutorial provides everything automation engineers need to design, configure, program, and troubleshoot PROFINET networks using Siemens TIA Portal and industry best practices.
As the industrial automation industry transitions from traditional fieldbus systems to Ethernet-based communication, understanding PROFINET programming and configuration has become essential for automation professionals. PROFINET combines the proven engineering concepts of PROFIBUS with the speed, flexibility, and IT integration capabilities of standard Ethernet technology, delivering real-time performance suitable for demanding motion control, high-speed I/O, and process automation applications.
This PROFINET configuration tutorial covers protocol fundamentals including RT (Real-Time) and IRT (Isochronous Real-Time) communication types, device classes, network architecture design principles, and advanced features like Media Redundancy Protocol (MRP) and PROFIsafe for functional safety. You'll learn practical PROFINET programming techniques through step-by-step TIA Portal configuration examples, SCL and ladder logic code samples, and comprehensive diagnostics procedures.
Whether you're implementing your first PROFINET network or optimizing existing installations, this guide provides the technical knowledge and hands-on skills needed to leverage PROFINET's capabilities for high-performance industrial automation systems that integrate seamlessly with modern manufacturing technologies including Industry 4.0 initiatives, predictive maintenance platforms, and enterprise connectivity.
Chapter 1: PROFINET Protocol Overview
What is PROFINET?
PROFINET represents the industrial Ethernet standard developed by PROFIBUS & PROFINET International (PI) for factory and process automation. Unlike traditional fieldbus protocols using proprietary physical layers, PROFINET utilizes standard IEEE 802.3 Ethernet combined with specialized real-time communication channels that deliver deterministic performance without sacrificing Ethernet's flexibility and IT compatibility.
Three-Channel Communication Architecture:
PROFINET implements a sophisticated multi-channel approach where different communication types share the same physical network infrastructure while maintaining appropriate performance characteristics:
-
TCP/IP Channel: Handles non-real-time communication including device configuration, parameter management, web server access, and engineering functions. This standard IT protocol enables seamless integration with enterprise networks, cloud platforms, and modern manufacturing systems.
-
Real-Time (RT) Channel: Provides deterministic cyclic data exchange for standard automation applications with cycle times from 10 milliseconds down to 250 microseconds. RT communication uses optimized Ethernet frames processed by software stacks, suitable for most I/O, drive, and process control requirements.
-
Isochronous Real-Time (IRT) Channel: Delivers ultra-deterministic performance for motion control and synchronized applications with jitter below 1 microsecond and cycle times down to 250 microseconds. IRT uses hardware-based switching and time synchronization for guaranteed real-time behavior.
Key PROFINET Characteristics:
- Standard Ethernet Infrastructure: Uses standard Cat5e/Cat6 cables, RJ45 connectors, and switches
- Deterministic Real-Time: Guaranteed cycle times and jitter performance for automation
- Flexible Topology: Supports line, star, tree, and ring network configurations
- Comprehensive Diagnostics: Device-level diagnostics with detailed fault localization
- Hot Swap Capability: Add/remove devices without network disruption (with proper configuration)
- IT Integration: Native TCP/IP support for enterprise connectivity and cloud services
- Scalability: Up to 512 devices per subnet with unlimited network expansion via routers
PROFINET History and Evolution
Origins and Development (1999-2003):
PROFIBUS International initiated PROFINET development to create a next-generation protocol combining proven PROFIBUS engineering concepts with Ethernet technology. The first PROFINET specification (V1.0) was published in 2003, introducing basic Real-Time communication and component-based engineering methodology. Early adoption focused on discrete manufacturing applications requiring Ethernet connectivity while maintaining the familiar PROFIBUS device model and data exchange principles.
IRT Introduction and Motion Control (2005-2007):
PROFINET V2.0 added Isochronous Real-Time (IRT) capabilities, enabling demanding motion control applications previously requiring specialized motion networks. Hardware-based IRT switches with time-synchronized frame forwarding delivered microsecond-level determinism needed for multi-axis servo systems, competing directly with established protocols like SERCOS III and EtherCAT. This advancement positioned PROFINET as a unified protocol for both I/O and motion applications.
Modern Capabilities and Industry 4.0 (2010-Present):
Recent PROFINET versions incorporate advanced features supporting modern manufacturing requirements:
- Time-Sensitive Networking (TSN): IEEE 802.1 TSN integration for converged IT/OT networks
- OPC UA Integration: Standardized semantic data models for Industry 4.0 connectivity
- Advanced Security: Encrypted communication and authentication mechanisms
- Energy Management: Power consumption monitoring and optimization capabilities
- Wireless PROFINET: Mobile equipment and AGV connectivity
- Enhanced Diagnostics: Condition monitoring integration and predictive maintenance support
- Shared Device: Multi-master access to single devices for flexible architectures
Standardization and Market Position:
PROFINET achieved international standardization through IEC 61158 and IEC 61784, ensuring protocol stability and multi-vendor interoperability. With over 2,000 vendors offering PROFINET-certified products and market leadership in Europe and Asia, PROFINET has become the industrial Ethernet protocol of choice for modern automation systems in 2025.
PROFINET Versions: NRT, RT, IRT, and TSN
Non-Real-Time (NRT) Communication:
PROFINET NRT uses standard TCP/IP and UDP/IP protocols for non-time-critical communication including device parameterization, diagnostic data retrieval, web server access, and engineering functions. NRT communication shares the network with standard IT traffic and does not provide deterministic timing guarantees.
Typical NRT Applications:
- Device configuration and commissioning
- Diagnostic data access and visualization
- Recipe downloads and program transfers
- Web-based device management interfaces
- File transfers and firmware updates
Real-Time (RT) Communication:
PROFINET RT provides deterministic communication for standard automation applications using software-based frame processing. RT frames use Ethernet Layer 2 directly, bypassing the TCP/IP stack to reduce latency and improve determinism. Priority-based VLAN tagging ensures RT frames receive preferential treatment over standard network traffic.
RT Performance Characteristics:
- Cycle times: 250 ΞΌs to 512 ms (typically 1-10 ms for standard I/O)
- Jitter: Β±1-10 ms depending on network load and switch quality
- Maximum nodes: 512 devices per subnet
- Switch requirements: Standard managed switches with VLAN support recommended
- Applications: Distributed I/O, drives, process automation, standard machine control
Isochronous Real-Time (IRT) Communication:
PROFINET IRT delivers guaranteed deterministic performance for demanding motion control and synchronized applications. IRT requires specialized hardware switches that use time-division multiplexing to create reserved communication channels with hardware-based frame forwarding. Distributed Clock (DC) synchronization ensures all network devices maintain synchronized time bases with sub-microsecond accuracy.
IRT Performance Characteristics:
- Cycle times: 250 ΞΌs to 4 ms (ultra-fast motion control applications)
- Jitter: <1 ΞΌs (guaranteed deterministic performance)
- Synchronization accuracy: <1 ΞΌs between all IRT devices
- Switch requirements: IRT-capable switches with hardware-based scheduling
- Applications: Multi-axis motion control, robotics, synchronized manufacturing, precision positioning
IRT Communication Phases:
IRT divides the communication cycle into three distinct phases:
- IRT Phase: Reserved time slot for synchronized IRT communication with hardware-based forwarding
- RT Phase: Time slot for standard RT communication using software-based processing
- NRT Phase: Remaining bandwidth available for TCP/IP and non-real-time traffic
This time-division approach guarantees IRT devices receive their communication slots with deterministic timing regardless of other network traffic, ensuring consistent motion control performance.
Time-Sensitive Networking (TSN) Integration:
PROFINET TSN represents the latest evolution, integrating IEEE 802.1 Time-Sensitive Networking standards to create converged networks that simultaneously support deterministic real-time automation traffic and standard IT communication. TSN uses time-aware scheduling, frame preemption, and per-stream filtering to guarantee bandwidth and latency for critical traffic while maintaining full IT/OT network convergence.
TSN Advantages:
- Unified IT/OT network infrastructure reducing cabling and switch costs
- Integration of real-time automation with video, analytics, and enterprise systems
- Standards-based approach ensuring multi-vendor interoperability
- Future-proof architecture supporting emerging Industry 4.0 requirements
- Flexible network design with simplified configuration and management
Chapter 2: PROFINET Device Types and Classes
PROFINET Device Categories
IO-Controller (Master Device):
The PROFINET IO-Controller functions as the master device in PROFINET networks, coordinating all communication, managing device configuration, and exchanging cyclic process data with IO-Devices. Typically implemented in PLCs like Siemens S7-1200, S7-1500, or industrial PCs running SCADA systems, the IO-Controller initiates all communication cycles and maintains the real-time connection with field devices.
IO-Controller Responsibilities:
- Establish and maintain connections with all IO-Devices
- Exchange cyclic input/output data with configured devices
- Manage device parameterization and startup procedures
- Monitor device status and process diagnostic information
- Execute control program logic and process automation sequences
- Handle alarm processing and event management
IO-Device (Slave Device):
PROFINET IO-Devices represent field equipment including distributed I/O modules, drives, sensors, actuators, and specialty devices that exchange process data with the IO-Controller. IO-Devices respond to controller communication, provide input data, accept output data, and report diagnostic information without initiating communication independently.
Common IO-Device Types:
- Distributed I/O modules (digital/analog inputs and outputs)
- Variable frequency drives and servo amplifiers
- HMI panels and operator interfaces
- Field instruments (transmitters, analyzers, actuators)
- Safety devices (light curtains, safety PLCs, emergency stops)
- Vision systems and barcode scanners
- Remote I/O stations and fieldbus gateways
IO-Supervisor (Engineering and Diagnostics):
IO-Supervisors are engineering stations, HMI systems, or diagnostic tools that access PROFINET networks for commissioning, parameterization, monitoring, and troubleshooting without participating in real-time cyclic data exchange. Supervisors use standard TCP/IP communication to access device configuration and diagnostic information.
Typical IO-Supervisor Functions:
- Network commissioning and device configuration
- Topology discovery and network visualization
- Advanced diagnostics and troubleshooting
- Firmware updates and parameter management
- Performance monitoring and traffic analysis
- Documentation generation and backup/restore operations
PROFINET Conformance Classes
PROFINET defines three conformance classes (CC-A, CC-B, CC-C) that specify device capabilities, performance characteristics, and target applications:
Conformance Class A (CC-A): Basic Automation
CC-A devices provide fundamental PROFINET communication capabilities suitable for standard distributed I/O applications without requiring advanced diagnostics or sub-millisecond performance.
CC-A Device Characteristics:
- Real-Time (RT) communication support
- Cycle times: 10-512 ms (typical 10-100 ms for I/O)
- Basic diagnostics: Module and channel status reporting
- Standard Ethernet switches compatible
- Applications: Simple I/O modules, basic sensors, on/off control devices
Conformance Class B (CC-B): Advanced Automation
CC-B devices implement enhanced features including comprehensive diagnostics, precise timestamping, and improved fault localization capabilities suitable for sophisticated automation applications requiring detailed device-level information.
CC-B Device Characteristics:
- Real-Time (RT) communication with enhanced features
- Cycle times: 1-512 ms (typical 1-10 ms for drives and advanced I/O)
- Advanced diagnostics: Detailed channel diagnostics, maintenance alarms, qualified messages
- Topology discovery and device replacement without engineering tool
- Applications: Variable frequency drives, advanced I/O, process instruments, HMI panels
Conformance Class C (CC-C): Motion Control
CC-C devices provide Isochronous Real-Time (IRT) communication capabilities required for demanding motion control, synchronized manufacturing, and high-precision positioning applications.
CC-C Device Characteristics:
- Isochronous Real-Time (IRT) communication support
- Cycle times: 250 ΞΌs to 4 ms with <1 ΞΌs jitter
- Distributed Clock synchronization for precise time coordination
- IRT-capable switches required for network infrastructure
- Applications: Servo drives, multi-axis motion systems, robotics, precision manufacturing
PROFINET Device Identification
Every PROFINET device includes specific identification information enabling proper network configuration and device management:
Device Name: The unique PROFINET device name identifies each device on the network using DNS-compatible naming conventions (e.g., "servo-drive-01", "io-module-station-3"). Device names are assigned during configuration and stored persistently in device memory.
Device Type and Vendor Information: Devices identify their type, model, vendor, and firmware version through standardized identification records. This information enables engineering tools to automatically configure devices with appropriate parameters and display device-specific capabilities.
Station Number vs. Device Name: Unlike traditional fieldbus systems using numeric station addresses, PROFINET uses symbolic device names for identification. While some PROFINET devices support legacy numeric addressing for compatibility, modern PROFINET systems rely exclusively on device names for network communication.
Chapter 3: PROFINET Network Architecture and Topology
Network Topology Options
Line (Daisy-Chain) Topology:
Line topology connects PROFINET devices in series, with each device providing two Ethernet ports enabling data to pass through to the next device. This simple topology minimizes cabling costs and works well for production lines, conveyor systems, and other linear machine arrangements.
Line Topology Advantages:
- Minimal cable length and installation cost
- Simple cable routing following machine layout
- Easy network extension by adding devices to the end
- Natural fit for linear production processes
- Reduced switch requirements for small networks
Line Topology Considerations:
- Single cable failure affects downstream devices
- Cable diagnostics more challenging than star topology
- Device order affects communication performance in large networks
- Maximum cable segments limited by Ethernet specifications (100m per segment)
Star Topology:
Star topology connects each device directly to a central switch, providing dedicated communication paths and simplified troubleshooting. This topology suits applications with devices distributed across a facility or production cell where centralized wiring is practical.
Star Topology Advantages:
- Cable fault affects only single device (improved fault isolation)
- Simplified diagnostics with dedicated device connections
- Flexible device placement without topology constraints
- Easy troubleshooting with individual cable testing
- Scalable design supporting network growth
Star Topology Considerations:
- Higher cable costs (dedicated run to each device)
- Requires switches to interconnect devices
- Central switch becomes critical single point of failure (unless redundant)
- Cable length limitations (100m from switch to device)
Ring Topology with Media Redundancy (MRP):
Ring topology connects devices in a closed loop where the last device connects back to the first, creating redundant communication paths. Media Redundancy Protocol (MRP) monitors the ring and automatically switches to the backup path if a cable or port failure occurs, providing network resilience for critical applications.
Ring Topology Advantages:
- Automatic failover to redundant path (typically <200 ms recovery)
- Network continues operating with single cable break
- Suitable for critical infrastructure requiring high availability
- No single point of failure (except controller if not redundant)
- Simplified topology for distributed equipment
Ring Topology Considerations:
- Requires MRP-capable devices and switches
- Slightly higher latency during normal operation
- Ring manager device required to control MRP operation
- Two cable failures in ring cause network segmentation
Tree and Hybrid Topologies:
Complex automation systems often use hybrid topologies combining line, star, and ring configurations to optimize performance, cost, and reliability based on specific machine or process requirements. Modern PROFINET networks seamlessly support mixed topologies with proper switch selection and network design.
PROFINET Network Design Best Practices
Network Segmentation:
Large PROFINET systems should be segmented into logical subnets that group related devices based on functional areas, control zones, or performance requirements. Proper segmentation improves performance, simplifies troubleshooting, and enhances network security.
Segmentation Strategies:
- Separate IRT and RT devices into dedicated subnets for optimal performance
- Group devices by control zone or production cell for logical organization
- Isolate high-traffic devices (vision systems, HMI panels) to prevent bandwidth congestion
- Use VLANs to logically separate traffic on shared physical infrastructure
- Implement router-based segmentation for large multi-area systems
Switch Selection and Placement:
Proper switch selection directly impacts PROFINET network performance, reliability, and diagnostic capabilities:
Unmanaged Switches:
- Suitable only for small RT networks without advanced features
- No VLAN support, prioritization, or diagnostics
- Lowest cost but limited performance and troubleshooting capabilities
Managed Switches:
- VLAN configuration for traffic separation and prioritization
- Port mirroring for diagnostic traffic analysis
- SNMP support for network monitoring and management
- Quality of Service (QoS) for traffic prioritization
- Required for networks with both RT and IT traffic
IRT Switches:
- Hardware-based time scheduling for deterministic IRT communication
- Distributed Clock synchronization support
- Required for any network segment containing IRT devices
- Higher cost but necessary for motion control applications
Network Planning Tools:
Siemens provides network planning and configuration tools that assist with PROFINET network design:
PRONETA (PROFINET Network Analysis Tool):
- Topology discovery and network scanning
- Device identification and configuration verification
- Network performance analysis and cable testing
- Installation testing and commissioning support
TIA Selection Tool:
- Hardware selection and system configuration
- Performance calculations and cycle time estimation
- Network load analysis and optimization recommendations
- Bill of materials generation for procurement
Cable and Installation Requirements
Cable Specifications:
PROFINET networks use standard Ethernet cables with specific requirements based on installation environment and performance needs:
Cable Categories:
- Cat5e: Minimum requirement for RT communication, suitable for most applications
- Cat6: Recommended for IRT applications and high-performance networks
- Cat6A/Cat7: Industrial environments with extreme electromagnetic interference
- Fiber Optic: Long-distance connections (>100m) and electrically noisy environments
Cable Types by Environment:
- Office/Control Room: Standard flexible Ethernet cables with PVC jacket
- Factory Floor: Industrial-grade cables with enhanced jacket, oil resistance, and mechanical protection
- Outdoor/Harsh: Outdoor-rated cables with UV resistance and moisture protection
- Mobile Applications: Highly flexible cables rated for continuous flexing (e.g., cable carriers)
Installation Best Practices:
Cable Routing Guidelines:
- Maintain minimum 10cm separation from power cables (>50V)
- Use cable trays or conduit for mechanical protection
- Avoid sharp bends (minimum bend radius 4x cable diameter)
- Secure cables to prevent movement and mechanical stress
- Label cables clearly at both ends for maintenance
Grounding and Shielding:
- Use shielded cables in industrial environments
- Ground cable shields at one end only (avoid ground loops)
- Ensure continuous shield connection through connectors
- Bond equipment to common ground reference
- Test grounding resistance during commissioning
Connector Installation:
- Use industrial RJ45 connectors designed for vibration and environmental exposure
- Follow manufacturer termination procedures precisely
- Test each connection with cable tester before device connection
- Apply strain relief to prevent connector damage
- Protect outdoor connectors from moisture ingress
Maximum Cable Lengths:
Standard PROFINET networks using copper Ethernet cables support:
- 100 meters maximum length per cable segment (switch to device)
- 200 meters maximum length in line topology between switches
- Unlimited network diameter using routers and fiber optic links
- 10+ kilometers possible with fiber optic connections
Chapter 4: Step-by-Step PROFINET Configuration Tutorial in TIA Portal
This comprehensive PROFINET configuration tutorial demonstrates complete network setup using Siemens TIA Portal with S7-1500 PLC and distributed I/O devices.
Prerequisites and Project Setup
Required Components:
- TIA Portal V17 or newer installed and licensed
- S7-1500 CPU with PROFINET interface (e.g., CPU 1513-1 PN)
- PROFINET IO-Devices (distributed I/O modules, drives, or simulated devices)
- Physical network infrastructure (switches, cables) or virtual commissioning environment
Creating New TIA Portal Project:
Step 1: Launch TIA Portal and Create Project
- Start TIA Portal application
- Select "Create new project" from startup screen
- Enter project name: "PROFINET_Tutorial_Project"
- Select project path and storage location
- Click "Create" to initialize new project
Step 2: Add PLC Hardware
- Click "Devices & networks" in project tree
- Select "Add new device" from toolbar
- Navigate to "SIMATIC S7-1500" controller family
- Select "CPU 1513-1 PN" (or your specific CPU model)
- Confirm firmware version (use latest available)
- Click "OK" to add controller to project
Step 3: Configure CPU Properties
- Select CPU in hardware configuration view
- Open "Properties" tab in inspector window
- Configure "PROFINET interface [X1]" settings:
- Interface name: "PLC_1"
- IP address: 192.168.0.10
- Subnet mask: 255.255.255.0
- Router address: (leave empty for local subnet)
- Enable "Support device replacement without removable media" for easy device swapping
- Save project (Ctrl+S)
Configuring PROFINET IO-Devices
Adding Distributed I/O Modules:
Step 1: Open Hardware Catalog
- In "Devices & networks" view, ensure hardware catalog panel is visible
- Navigate to "Other field devices" β "PROFINET IO" β "I/O"
- Locate your specific I/O module family (e.g., ET 200SP)
Step 2: Add IO-Device to Network
- Drag desired I/O station (e.g., "IM 155-6 PN ST" for ET 200SP) from catalog to network view
- Position device graphically near the controller
- TIA Portal automatically creates unassigned device on PROFINET subnet
Step 3: Assign Device to Controller
- Select the newly added IO-Device in network view
- In properties, locate "PLC connection" or "Assigned to" setting
- Select your S7-1500 controller as the IO-Controller
- Device icon changes to indicate successful controller assignment
Step 4: Configure Device Network Settings
- Select IO-Device and open "Properties" β "PROFINET interface"
- Configure device name: "IO_Station_01" (use descriptive, unique names)
- IP address: 192.168.0.11 (within same subnet as controller)
- Enable "Device replacement without removable media" for simplified maintenance
- Set "Generate LLDP telegrams" for topology detection
Step 5: Add I/O Modules to Device
- Double-click IO-Device to open device view
- Hardware catalog shows compatible modules for selected IO-Device
- Drag modules to available module slots:
- Slot 1: DI 16x24VDC ST (16 digital inputs)
- Slot 2: DQ 16x24VDC/0.5A ST (16 digital outputs)
- Slot 3: AI 4xU/I 2-wire ST (4 analog inputs)
- Module addresses are automatically assigned sequentially
Step 6: Configure Module Properties
- Select each module to configure specific parameters:
- Input filter times for noise immunity
- Diagnostic interrupt settings for fault detection
- Channel parameter assignment
- Substitute values for outputs during CPU stop
- Enable "Supply alarm" and "Channel alarm" for comprehensive diagnostics
Configuring PROFINET Communication Parameters
Setting Device Communication Parameters:
Real-Time (RT) Configuration:
-
Select IO-Device in network view
-
Navigate to "Properties" β "PROFINET interface" β "Real-time settings"
-
Configure RT communication parameters:
- Send clock: 4 ms (adjust based on application requirements)
- 1 ms: High-speed I/O applications
- 4 ms: Standard machine control (typical default)
- 8-32 ms: Slower process control applications
- Reduction ratio: 2 (update cycle = send clock Γ reduction ratio)
- Watchdog time: 3Γ update cycle (default, adjust for network reliability)
- Send clock: 4 ms (adjust based on application requirements)
-
Configure I/O data transfer optimization:
- Enable "Transfer range 0" for automatic data mapping
- Review cyclic data transfer size in diagnostics view
- Optimize for minimum data transfer to reduce cycle time
IRT Configuration (for Motion Control):
For applications requiring Isochronous Real-Time communication:
-
Change device to IRT mode:
- Select IO-Device β "Properties" β "PROFINET interface" β "Real-time settings"
- Change "RT class" from "RT" to "IRT"
- Confirm IRT-capable switches installed in network
-
Configure IRT timing parameters:
- Send clock: 1 ms (typical for motion control)
- Application cycle: 1 ms (synchronized with PLC program cycle)
- Update time: Must be within IRT phase duration
- Distributed Clock: Automatically enabled for IRT devices
-
Synchronization domain configuration:
- TIA Portal automatically creates synchronization domain
- Sync master is typically first IRT device
- All IRT devices join same synchronization domain
- Verify topology supports IRT communication (line or ring only)
Network Address Assignment
IP Address Planning:
Systematic IP address assignment simplifies network management and troubleshooting:
Example Address Scheme:
- Controllers: 192.168.0.1 - 192.168.0.99
- Distributed I/O: 192.168.0.100 - 192.168.0.199
- Drives: 192.168.0.200 - 192.168.0.249
- HMI Panels: 192.168.0.250 - 192.168.0.254
Device Name Conventions:
Use descriptive, consistent device naming:
- Include device type, location, and sequence number
- Examples: "IO_Station_Zone1_01", "Drive_Conveyor_Main", "HMI_Operator_Station"
- Avoid spaces and special characters (use underscores or hyphens)
- Maximum 240 characters (keep practical names <30 characters)
Compiling Configuration and Download
Step 1: Compile Project
- Select PLC device in project tree
- Click "Compile" button (or press Ctrl+F11)
- Review compilation results in info panel
- Address any errors or warnings before download
Step 2: Establish Online Connection
- Connect programming computer to PROFINET network
- Select PLC in project tree
- Click "Online" β "Extended download to device"
- Select "PN/IE" interface type
- Choose correct network interface adapter
- Click "Start search" to locate PLC on network
- Select discovered CPU and click "Download"
Step 3: Download Configuration
- TIA Portal displays download preview showing changes
- Confirm download action (hardware and software)
- Monitor download progress
- PLC automatically switches to STOP mode
- Wait for completion message
Step 4: Assign Device Names (First Installation)
For new devices without assigned names:
- Open "Online & diagnostics" view
- Navigate to "Functions" β "Assign device name"
- Click "Scan network" to detect unassigned devices
- Match physical devices to configured devices by:
- MAC address verification (labeled on device)
- Topology position (location in network)
- Temporary LLDP identification (LED blinking)
- Select device and click "Assign name" to program device name permanently
Step 5: Switch PLC to RUN Mode
- Open "Online tools" β "Operating mode"
- Switch CPU from STOP to RUN mode
- Verify IO-Devices establish communication
- Monitor device status in diagnostics view
Parameter Assignment and Advanced Configuration
Device Parameter Assignment:
Many PROFINET devices support acyclic parameter transfer during startup:
-
Select IO-Device module requiring parameters
-
Navigate to module properties β "Parameter assignment"
-
Configure device-specific parameters:
- Measurement range settings for analog modules
- Scaling factors and engineering units
- Alarm thresholds and diagnostic settings
- Operating modes and special functions
-
Parameters download automatically during device startup
-
Verify parameter acceptance in device diagnostics
Shared Device Configuration:
For devices accessed by multiple controllers:
- Add same IO-Device to multiple controller configurations
- Configure "Shared device" mode in device properties
- Assign specific modules/slots to each controller
- Define data exchange areas for inter-controller communication
- Coordinate I/O access rights to prevent conflicts
Diagnostics and Status Monitoring Setup
Enabling Comprehensive Diagnostics:
-
Configure controller diagnostic settings:
- Select CPU β "Properties" β "System diagnostics"
- Enable "System diagnostics" option
- Configure diagnostic buffer size (10,000+ entries recommended)
-
Configure IO-Device diagnostics:
- Select each IO-Device β "Properties" β "PROFINET interface"
- Enable "Generate LLDP telegrams" for topology discovery
- Enable "Station status alarm" and "Update alarm" for comprehensive monitoring
-
Configure module-level diagnostics:
- Select individual modules
- Enable "Module status alarm", "Channel alarm", "Maintenance alarm"
- Configure alarm thresholds and maintenance intervals
- Set up diagnostic interrupts if required
Web Server Access Configuration:
Enable built-in web server for remote diagnostics:
- Select CPU β "Properties" β "Web server"
- Enable "Web server" option
- Configure user authentication and access rights
- Set permitted operations (read-only or full access)
- Access web interface via browser: http://192.168.0.10 (PLC IP address)
Chapter 5: PROFINET Programming Examples
Reading and Writing PROFINET I/O Data
PROFINET IO-Devices exchange data with the PLC controller through automatically mapped process image areas. TIA Portal assigns absolute addresses to all configured I/O points based on module configuration.
Accessing Digital Inputs (Ladder Logic):
// Read digital input from PROFINET IO-Device
// Address I0.0 = First input of first digital input module
// Address I0.1 = Second input of same module
Network 1: "Motor Start Button"
| %I0.0 "Motor_Run" "Motor_Output"
|--| |--------|/|------------( )------------|
| Start Not_Running Motor_Coil
Accessing Digital Outputs (Ladder Logic):
Network 2: "Motor Control Output"
| "Motor_Output" %Q0.0
|--| |-----------------( )------------|
| Internal_Bit PROFINET_Output
SCL Programming for I/O Access:
// Structured Control Language example for PROFINET I/O access
// Read digital inputs from PROFINET module
VAR
Start_Button : BOOL;
Stop_Button : BOOL;
Motor_Running : BOOL;
Conveyor_Speed : INT;
END_VAR
// Map PROFINET inputs to symbolic variables
Start_Button := "IO_Station_01".DI_01.Input_Channel_0; // Symbolic addressing
Stop_Button := %I0.1; // Absolute addressing
// Read analog input (0-27648 for Β±10V range)
Conveyor_Speed := "IO_Station_01".AI_01.Analog_Input_Channel_0;
// Write digital outputs
IF Start_Button AND NOT Stop_Button THEN
Motor_Running := TRUE;
ELSIF Stop_Button THEN
Motor_Running := FALSE;
END_IF;
"IO_Station_01".DO_01.Output_Channel_0 := Motor_Running; // Symbolic
%Q0.0 := Motor_Running; // Absolute
Working with Process Data Objects (PDOs)
Consistent Data Exchange:
For applications requiring consistent data snapshots across multiple I/O points:
// Consistent data transfer using RDREC (Read Record)
// Ensures all values read simultaneously from device
VAR
ReadRequest : Bool;
ReadDone : Bool;
ReadError : Bool;
InputData : Array[0..15] of BYTE;
RDREC_Instance : RDREC;
END_VAR
// Trigger consistent read operation
IF ReadRequest THEN
RDREC_Instance(
REQ := TRUE,
ID := "IO_Station_01".HW_Identifier,
INDEX := 16#8000, // Standard input record
MLEN := 16, // Data length in bytes
VALID => ReadDone,
BUSY => ,
ERROR => ReadError,
STATUS => ,
LEN => ,
RECORD := InputData
);
ReadRequest := FALSE;
END_IF;
Acyclic Communication with PROFINET Devices
Parameter Read/Write Operations:
// Write parameters to PROFINET device using WRREC
VAR
WriteParameters : Bool;
WriteComplete : Bool;
WriteError : Bool;
ParameterData : Array[0..7] of BYTE;
WRREC_Instance : WRREC;
END_VAR
// Prepare parameter data
ParameterData[0] := 16#05; // Example parameter byte
ParameterData[1] := 16#A0;
// Write parameters to device
IF WriteParameters THEN
WRREC_Instance(
REQ := TRUE,
ID := "Drive_Axis_01".HW_Identifier,
INDEX := 16#80A0, // Parameter index
LEN := 8, // Parameter length
DONE => WriteComplete,
BUSY => ,
ERROR => WriteError,
STATUS => ,
RECORD := ParameterData
);
WriteParameters := FALSE;
END_IF;
Drive Control via PROFINET (PROFIdrive)
Standard Drive Telegram Configuration:
Most PROFINET drives use PROFIdrive profile for standardized control:
// PROFIdrive Standard Telegram 1 control example
TYPE "PROFIdrive_Telegram1"
STRUCT
// Control Word (STW1)
Control_Word : WORD;
// Speed Setpoint (NSOLL_A)
Speed_Setpoint : INT; // -16384 to +16383 (Β±200%)
// Status Word (ZSW1) - from drive
Status_Word : WORD;
// Actual Speed (NIST_A) - from drive
Actual_Speed : INT;
END_STRUCT
END_TYPE
VAR
Drive_Control : "PROFIdrive_Telegram1";
Drive_Enable : BOOL;
Target_Speed : REAL; // Engineering units (RPM)
END_VAR
// Map symbolic drive data
Drive_Control := "VFD_Conveyor_01".Telegram_1;
// Control word bit assignments
Drive_Control.Control_Word.%X0 := TRUE; // ON command
Drive_Control.Control_Word.%X1 := FALSE; // No coast stop
Drive_Control.Control_Word.%X2 := FALSE; // No quick stop
Drive_Control.Control_Word.%X3 := Drive_Enable; // Enable operation
// Scale engineering units to setpoint (-16384 to +16383 = Β±200% rated speed)
Drive_Control.Speed_Setpoint := REAL_TO_INT(Target_Speed / 1500.0 * 16384.0);
// Read drive status
IF Drive_Control.Status_Word.%X2 THEN
// Drive ready for operation
END_IF;
PROFINET Diagnostics Programming
Monitoring Device Status:
// Automatic PROFINET device diagnostics monitoring
VAR
Device_OK : BOOL;
Device_Fault : BOOL;
Device_Maintenance : BOOL;
Device_DiagData : Array[0..255] of BYTE;
GetDiag_Instance : Get_IM_Data;
END_VAR
// Check IO-Device status using system functions
CALL GetDiag_Instance(
LADDR := "IO_Station_01".HW_Identifier,
IM_TYPE := 1, // Identification data
DATA => Device_DiagData,
DONE => ,
BUSY => ,
ERROR => Device_Fault
);
// Monitor device reachability using DeviceStates
Device_OK := DeviceStates(LADDR := "IO_Station_01".HW_Identifier).DeviceOK;
Device_Fault := DeviceStates(LADDR := "IO_Station_01".HW_Identifier).DeviceFault;
Device_Maintenance := DeviceStates(LADDR := "IO_Station_01".HW_Identifier).MaintenanceRequired;
Chapter 6: PROFINET Diagnostics and Troubleshooting
Built-in TIA Portal Diagnostic Tools
Online Diagnostics View:
TIA Portal provides comprehensive online diagnostics for connected PROFINET systems:
Accessing Diagnostics:
- Establish online connection to PLC
- Right-click device β "Online & diagnostics"
- Navigate diagnostic categories:
- Diagnostics: Real-time device status and fault information
- Topology: Network structure visualization and cable diagnostics
- Device tags: I/O status and data value monitoring
- Statistics: Communication statistics and performance metrics
Device Status Interpretation:
Status Indicators:
- Green: Device operational, communication established
- Yellow: Device operational with maintenance required or configuration mismatch
- Red: Device fault or communication failure
- Gray: Device configured but not detected on network
Topology View and Cable Testing:
Network Topology Display:
- Open "Online & diagnostics" β "Topology"
- TIA Portal displays actual network structure discovered via LLDP
- Compare actual topology to configured topology
- Identify topology mismatches indicating incorrect cabling
Cable Diagnostics:
- Select network connection in topology view
- View cable quality indicators:
- Cable length: Measured distance to connected device
- Cable quality: Signal quality assessment (Good/Acceptable/Poor)
- TX/RX statistics: Packet counters and error rates
- Locate cable faults by approximate distance measurement
Common PROFINET Issues and Solutions
Device Not Detected:
Symptoms: IO-Device shows gray in diagnostic view, no communication established
Troubleshooting Steps:
-
Verify physical connectivity:
- Check cable connections at both ends
- Verify link LEDs on device and switch ports are illuminated
- Test cable continuity with cable tester
- Confirm correct cable type (straight-through for switch connections)
-
Check IP address configuration:
- Verify device IP address within same subnet as controller
- Ensure no IP address conflicts with other devices
- Confirm subnet mask matches controller configuration
- Test network connectivity using PING from engineering station
-
Verify device name assignment:
- Unassigned devices cannot establish PROFINET communication
- Use "Assign device name" function in TIA Portal
- Confirm device name matches project configuration exactly (case-sensitive)
- Check device supports PROFINET (some devices require specific firmware)
-
Review network configuration:
- Verify VLAN configuration if using managed switches
- Confirm switch ports not blocked by security settings
- Check switch configuration allows PROFINET protocol
- Disable IGMP snooping on switches (can interfere with PROFINET)
Communication Timeouts and Cyclic Faults:
Symptoms: Device intermittently goes to fault state, communication watchdog timeouts
Troubleshooting Steps:
-
Check network load:
- Excessive network traffic delays RT communication
- Use network analyzer to measure bandwidth utilization
- Separate RT and IT traffic using VLANs
- Reduce send clock if network approaching capacity
-
Verify switch performance:
- Unmanaged switches may introduce excessive latency
- Switch buffer overflow causes frame loss
- Replace low-quality switches with industrial managed switches
- Enable QoS/prioritization for PROFINET traffic
-
Adjust timing parameters:
- Increase watchdog time to 3-4Γ update cycle
- Reduce communication frequency if real-time requirements allow
- For IRT: verify all switches support IRT and sync domain configured correctly
-
Check cable quality:
- Poor cable quality increases error rates and retransmissions
- Verify cable category meets requirements (Cat5e minimum, Cat6 recommended)
- Test cable signal quality using advanced diagnostics
- Replace marginal cables showing degraded performance
Slow Cycle Times and Performance Issues:
Symptoms: PLC scan time excessive, HMI updates slow, process control sluggish
Troubleshooting Steps:
-
Analyze communication load:
- Review "Statistics" in online diagnostics
- Check bytes/second transferred vs. network capacity
- Reduce unnecessary I/O data exchange
- Optimize device configurations to minimize data transfer
-
Optimize PROFINET configuration:
- Increase send clock for non-critical devices
- Use different update rates for different device groups
- Remove unused I/O modules from configuration
- Disable acyclic read/write if not required
-
Review PLC program efficiency:
- Excessive PLC scan time delays PROFINET communication
- Optimize PLC code execution time
- Move non-critical functions to cyclic interrupts
- Use appropriate OB organization (OB1 for cyclic, OB6x for timed interrupts)
Diagnostic Alarms and Maintenance Required:
Symptoms: Yellow device status, maintenance alarms appearing in diagnostic buffer
Common Maintenance Alarms:
- Supply voltage issues: Low voltage on 24VDC supply to I/O modules
- Temperature warnings: Device operating temperature approaching limits
- Communication quality degradation: Increasing error rates indicating cable/connector issues
- Preventive maintenance due: Device runtime hours exceed configured interval
Resolution:
- Review specific alarm details in diagnostic buffer
- Address root cause (correct voltage, improve cooling, replace cables)
- Acknowledge maintenance alarm after corrective action
- Configure alarm thresholds appropriate for application
PROFINET Network Analyzer Tools
PRONETA (PROFINET Network Analysis Tool):
Free diagnostic tool from Siemens providing:
- Network scanning: Discover all PROFINET devices on network
- Topology verification: Compare actual vs. expected network structure
- Cable testing: Identify cable faults and quality issues
- Performance analysis: Measure real-time traffic and identify bottlenecks
- Installation testing: Commission new networks with automated testing
Wireshark PROFINET Analysis:
For advanced protocol analysis:
- Install Wireshark with PROFINET dissectors
- Capture network traffic on PROFINET subnet
- Apply PROFINET display filters:
pn_rtorpn_io - Analyze frame timing, errors, and protocol compliance
- Identify unexpected traffic or protocol violations
Chapter 7: PROFINET Safety (PROFIsafe)
PROFIsafe Fundamentals
PROFIsafe enables safety-related communication over standard PROFINET networks, allowing safety PLCs, safety I/O, and safety devices to exchange fail-safe data without dedicated safety cabling. PROFIsafe achieves Safety Integrity Level (SIL) 3 per IEC 61508 and Performance Level (PL) e per ISO 13849 through safety protocol layer implemented above standard PROFINET communication.
PROFIsafe Safety Mechanisms:
- Unique identification: Safety addresses prevent message misrouting
- Data integrity: CRC checksums detect corrupted messages
- Sequence numbering: Detects lost, repeated, or inserted messages
- Timeout monitoring: Identifies communication failures
- Acknowledgment: Confirms safety data reception
PROFIsafe Device Types:
- F-CPU: Failsafe controllers (e.g., S7-1500F, ET 200SP CPU)
- F-Modules: Safety I/O modules for emergency stops, light curtains, safety gates
- F-Drives: Safety-integrated drives with Safe Torque Off (STO) and safe motion monitoring
- F-Devices: Safety sensors and actuators with integrated PROFIsafe communication
Configuring PROFIsafe in TIA Portal
Adding F-Devices to Safety Program:
-
Configure standard PROFINET communication for F-Device
-
Compile safety program in TIA Portal Safety Advanced
-
Assign F-parameters to safety modules:
- F-Destination address (unique safety address)
- F-Source address (safety controller address)
- F-Watchdog time (safety communication timeout)
- F-CRC length (data integrity checking strength)
-
Program safety logic using F-capable function blocks
-
Compile safety program with separate safety compilation
-
Download safety program with password protection
Safety Communication Parameters:
- F-Watchdog Time: Maximum allowed communication interruption (typically 150-500 ms)
- F-Monitoring Time: Device-specific safety timeout configuration
- iPar Server: Parameter server for consistent F-parameter management
Chapter 8: Advanced PROFINET Features
Media Redundancy Protocol (MRP)
MRP Configuration:
Media Redundancy Protocol provides network availability through automatic failover to redundant communication paths:
Setting Up MRP Ring:
-
Design ring topology connecting devices in closed loop
-
Configure controller as MRP manager:
- Select CPU β "Properties" β "PROFINET interface" β "Media redundancy"
- Enable "MRP" option
- Select "Manager" role
- Configure first and second ring ports
-
Configure IO-Devices as MRP clients:
- Select each device β "PROFINET interface" β "Media redundancy"
- Enable "MRP" option
- Select "Client" role
- Configure ring ports (typically Port 1 and Port 2)
-
Verify MRP operation:
- Monitor MRP status in online diagnostics
- Test failover by disconnecting single cable
- Verify automatic recovery (typically <200 ms)
- Restore cable and confirm ring operation resumes
MRP Topology Rules:
- Maximum 50 devices in single MRP domain
- One MRP manager required per ring
- All devices in ring must support MRP
- Ring must be closed (last device connects to first)
- Avoid complex topologies (simple ring preferred)
LLDP (Link Layer Discovery Protocol)
LLDP enables automatic network topology discovery, showing how devices are physically interconnected:
Enabling LLDP:
- Configure each device β "PROFINET interface" β "LLDP"
- Enable "Generate LLDP telegrams" option
- Configure transmission interval (default 5 seconds suitable for most applications)
Using Topology View:
- Online diagnostics displays discovered topology
- Identify incorrect cabling (topology mismatch)
- Verify network structure matches design
- Simplify troubleshooting with visual network representation
DCP (Discovery and Configuration Protocol)
DCP enables PROFINET device identification and configuration without requiring pre-assigned IP addresses:
DCP Functions:
- Device discovery: Locate PROFINET devices on network by MAC address
- Name assignment: Assign PROFINET device names permanently
- IP configuration: Set IP addresses remotely
- Factory reset: Reset devices to default configuration
Using DCP for Commissioning:
- Connect new device to network (no configuration required)
- Use TIA Portal "Assign device name" function
- Scan network to detect unassigned devices
- Match device by MAC address or temporary identification (LED blinking)
- Assign configured device name and IP address
- Device stores configuration permanently in non-volatile memory
Shared Device Functionality
Shared Device enables multiple IO-Controllers to access different modules within a single IO-Device:
Use Cases:
- Separate safety and standard controllers accessing shared I/O stations
- Multiple production line controllers sharing common I/O areas
- Redundant controller systems with distributed access
Configuration Requirements:
- Define which modules/slots assigned to which controllers
- Configure inter-controller communication for data exchange
- Coordinate startup and shutdown sequences
- Ensure only one controller writes to each output module
Chapter 9: PROFINET Best Practices
Network Design Recommendations
Performance Optimization:
- Segment networks logically: Separate IRT, RT, and IT traffic using VLANs or physical segmentation
- Minimize network diameter: Reduce number of switch hops between controller and devices
- Use quality switches: Industrial managed switches with QoS and VLAN support
- Optimize send clocks: Match communication frequency to application requirements
- Reduce data volume: Configure only required I/O, disable unused diagnostics
Reliability Improvements:
- Implement MRP for critical systems: Ring topology with redundant paths
- Use industrial components: Rated for temperature, vibration, and EMI
- Enable comprehensive diagnostics: Detect issues before failures occur
- Plan spare capacity: Leave bandwidth and device address space for expansion
- Document thoroughly: Maintain accurate network diagrams and configurations
Installation and Commissioning Tips
Pre-Installation Planning:
- Create detailed network diagrams showing all devices and connections
- Plan IP address scheme systematically
- Define naming conventions for consistent device identification
- Select appropriate switches for topology and performance requirements
- Procure high-quality cables, connectors, and installation materials
Installation Best Practices:
- Label all cables at both ends with source/destination information
- Test each cable segment before connecting devices
- Install switches in accessible locations for maintenance
- Provide adequate cooling for enclosed switch installations
- Document as-built configuration including cable routes and connection details
Commissioning Procedure:
- Power network infrastructure without connecting devices
- Verify switch configuration and network connectivity
- Connect and configure one device at a time
- Test communication before adding next device
- Document any configuration changes during commissioning
- Perform final system test with all devices operational
- Create baseline performance measurements for future comparison
Maintenance and Lifecycle Management
Preventive Maintenance:
- Monitor diagnostic buffers for recurring issues
- Review cable test results annually
- Update firmware to current versions
- Test backup communication paths periodically (MRP failover)
- Maintain spare devices and cables for quick replacement
Firmware Management:
- Track firmware versions for all PROFINET devices
- Test firmware updates in non-production environment
- Follow vendor recommendations for compatibility
- Maintain rollback capability if updates cause issues
- Document firmware update procedures
Configuration Management:
- Backup TIA Portal projects after any configuration changes
- Version control project files with meaningful descriptions
- Store backup copies offsite or in cloud storage
- Test restore procedures periodically
- Document configuration baseline for each system
Frequently Asked Questions (FAQ)
Conclusion: Implementing PROFINET Successfully
PROFINET has established itself as the leading industrial Ethernet protocol for modern automation systems, combining real-time deterministic performance with IT integration capabilities needed for Industry 4.0 and smart manufacturing initiatives. This comprehensive PROFINET tutorial has equipped you with the knowledge and practical skills to design, configure, program, and maintain robust PROFINET networks using Siemens TIA Portal and industry best practices.
Understanding the fundamental differences between RT and IRT communication types enables you to select appropriate PROFINET variants matching your application requirementsβRT for standard I/O and process automation, IRT for demanding motion control. Proper network architecture design considering topology, segmentation, and switch selection ensures optimal performance, reliability, and troubleshooting efficiency throughout the system lifecycle.
The step-by-step configuration examples demonstrated complete PROFINET setup procedures from initial project creation through device commissioning, providing replicable processes for your automation projects. Programming examples in both ladder logic and SCL illustrate practical techniques for I/O access, drive control, and diagnostics implementation that you can adapt to specific application requirements.
As you implement PROFINET networks, prioritize comprehensive diagnostics configuration enabling early fault detection and simplified troubleshooting. Leverage TIA Portal's integrated diagnostic tools, topology visualization, and online monitoring capabilities to maintain system health and quickly resolve issues when they occur. Implement Media Redundancy Protocol for critical applications requiring high availability, and consider PROFIsafe integration for safety-related functions.
Continue expanding your PROFINET knowledge by exploring related topics including TIA Portal programming, Siemens PLC programming, and industrial communication protocols. The skills developed through this tutorial form the foundation for advanced automation engineering capabilities that will serve you throughout your career as industrial networks continue evolving toward greater IT convergence, edge computing integration, and intelligent manufacturing systems.
Successful PROFINET implementation requires combining theoretical knowledge with hands-on experience. Apply these concepts in lab environments or pilot projects before deploying to production systems, building confidence with configuration tools and diagnostic procedures. With the comprehensive understanding gained from this tutorial, you're prepared to leverage PROFINET's capabilities for high-performance industrial automation systems that meet demanding performance, reliability, and integration requirements of modern manufacturing.
π‘ Pro Tip: Download Our Complete PLC Programming Resource
This comprehensive 8Β 552-word guide provides deep technical knowledge, but our complete 500+ page guide (coming December 2025) includes additional practical exercises, code templates, and industry-specific applications.Preorder the complete guide here (60% off) β
π Ready to Become a PLC Programming Expert?
You've just read 8Β 552 words of expert PLC programming content. Preorder our complete 500+ page guide with even more detailed examples, templates, and industry applications.
β December 2025 release β Full refund guarantee
Frequently Asked Questions
How long does it take to learn PLC programming?
With dedicated study and practice, most people can learn basic PLC programming in 3-6 months. However, becoming proficient in advanced techniques and industry-specific applications typically takes 1-2 years of hands-on experience.
What's the average salary for PLC programmers?
PLC programmers earn competitive salaries ranging from $55,000-$85,000 for entry-level positions to $90,000-$130,000+ for senior roles. Specialized expertise in specific industries or advanced automation systems can command even higher compensation.
Which PLC brands should I focus on learning?
Allen-Bradley (Rockwell) and Siemens dominate the market, making them excellent starting points. Schneider Electric, Mitsubishi, and Omron are also valuable to learn depending on your target industry and geographic region.