← 返回博客列表

一、什么是 PROFINET

PROFINET(Process Field Network)是由PI(PROFIBUS & PROFINET International)组织发布的工业以太网标准,2003 年正式推出,是 PROFIBUS 现场总线在以太网时代的嫡长子。它由西门子主导,在欧洲尤其德系汽车/装备制造业占据统治地位。

PROFINET 演进史 1989 · PROFIBUS • 现场总线标准 • RS-485 串行 • 12 Mbps 最大 • 主从 + 令牌 奠基: PI 组织成立 欧洲主流 地位: 现场总线旗舰 装机量大 2003 · PROFINET v1 • 标准以太网 • TCP/IP 承载 • NRT 类 • 100ms 级 里程碑: 拥抱以太网 PROFINET IO 局限: 无实时性 仅配置类 2004 · IRT • 等时同步 • 硬件 ASIC • 1μs 抖动 • 100μs 周期 里程碑: 硬实时 运动控制级 突破: 多轴伺服 与 EtherCAT 抗衡 2012+ · IRT 高速 • 高速 IRT • 纳秒级同步 • 31.25μs 周期 • 802.1AS 时间敏感 进化: TSN 集成 开放化 趋势: 与 IT 融合 开放但兼容
图 1-1:PROFINET 演进史(PROFIBUS → PROFINET v1 → IRT → IRT 高速 + TSN)

PROFINET 是应用层协议,承载在标准以太网(IEEE 802.3)之上。其核心思想是分层实时性——根据应用场景需求,提供从非实时到硬实时的多档性能,而非"一刀切"。

1.1 三大组件角色

PROFINET IO 三大角色 IO Controller 控制方(主) 角色定位: PLC / IPC 职责: • 主动发起连接 • 参数化设备 • 周期读写 IO • 诊断与报警 类比:主站 IO Device 设备方(从) 角色定位: 现场设备 典型: • 远程 IO 模块 • 变频器 • 伺服驱动器 • 传感器 类比:从站 IO Supervisor 监控方(辅) 角色定位: 工程工具 职责: • 诊断读取 • 参数读写 • 不参与实时 • 离线配置 类比:维护工具
图 1-2:PROFINET IO 三大组件角色(Controller / Device / Supervisor)
关键术语:开放 + 商业
PROFINET 是半开放协议:规范公开,但实现需通过 PI 组织认证,且 IRT 类需专用 ASIC 芯片(西门子 ERTEC 系列、Hilscher netX 系列等)。这与 EtherCAT 完全开放不同——开放性稍弱,但商业支持更成熟。

二、PROFINET 与其他工业以太网对比

PROFINET 是工业以太网"三巨头"之一,与 EtherCAT、EtherNet/IP 形成三足鼎立之势。

工业以太网三大主流对比 PROFINET 主导:西门子 / PI 起源:德国 实时:RT/IRT 多档 同步:GYTE 硬件 优势: • 生态最成熟 • 工程工具完善 • 与 PLC 深度集成 市场: 欧洲汽车/装备 EtherCAT 主导:倍福 起源:德国 实时:飞越读取 同步:DC 纳秒级 优势: • 性能极致 • 完全开放 • 拓扑自由 市场: 运动控制为主 EtherNet/IP 主导:罗克韦尔/ODVA 起源:美国 实时:CIP Motion 同步:CIP Sync 优势: • IT 友好 • 标准以太网 • 北美主流 市场: 北美/东南亚
图 2-1:工业以太网三巨头对比(PROFINET / EtherCAT / EtherNet/IP)
对比维度 PROFINET IRT EtherCAT Modbus TCP
起源 德国(西门子) 德国(倍福) 美国(Modicon)
主导组织 PI ETG Modbus Organization
物理层 以太网 100M 以太网 100M 以太网 100M+
实时机制 GYTE 等时同步 飞越读取 + DC 无
最小周期 31.25μs 12.5μs 1~10ms
同步精度 <1μs <1μs 无
硬件需求 专用 ASIC ESC 芯片 普通网卡
开放性 半开放(需认证) 完全开放 完全开放
工程工具 TIA Portal TwinCAT 无统一
典型场景 汽车产线/包装 多轴伺服 SCADA/仪表
选型建议
• 欧系设备为主、需运动控制 + IT 融合 → PROFINET IRT(与西门子生态深度集成)
• 极致实时性、多轴伺服联动 → EtherCAT(性能略胜、开放性好)
• 北美市场、与 AB PLC 集成 → EtherNet/IP
• 简单仪表采集、对实时性要求低 → Modbus TCP

三、一致性等级:RT/IRT/IRT 高速

PROFINET 最具创新性的设计是分层实时性——根据应用场景需求,提供三档性能,让用户"按需付费"。

PROFINET 三档一致性等级 CC-A · NRT 非实时 周期:100ms+ 抖动:无要求 硬件:标准网卡 特点: • TCP/IP 承载 • 标准 DCP 协议 • 与 IT 完全兼容 用途: • 配置参数 • 诊断读取 • 非实时数据 CC-B · RT 软实时 周期:1~10ms 抖动:1ms 硬件:标准网卡 特点: • 优先级 VLAN • 抢占式调度 • 软件 RT 框架 用途: • 普通 IO 采集 • 变频器控制 • 工厂自动化 CC-C · IRT 硬实时 周期:31.25μs+ 抖动:<1μs 硬件:专用 ASIC 特点: • GYTE 等时同步 • 硬件时间触发 • 时间片分时 用途: • 多轴伺服 • 高速印刷 • 同步控制
图 3-1:PROFINET 三档一致性等级(NRT / RT / IRT)

3.1 三档等级的硬件需求差异

等级 网卡 协议栈 实时扩展 典型成本
CC-A (NRT) 普通以太网卡 标准 TCP/IP 无 极低
CC-B (RT) 支持 VLAN 优先级 RT 通道旁路 TCP/IP 软件 RT Linux / Windows 实时补丁 低
CC-C (IRT) 专用 ASIC(ERTEC/netX) 硬件协议栈 GYTE 时间片调度 高

四、PROFINET IO 架构:IO Controller / Device / Supervisor

PROFINET IO 是 PROFINET 的 IO 数据模型,仿照 PROFIBUS DP 主从架构但增加了以太网元素。一文名词:

PROFINET IO 网络架构 IO Controller PLC · 192.168.1.1 S7-1500 IO Supervisor PC · 192.168.1.10 TIA Portal 交换机 SCALANCE 实时 非实时 IO Device 1 远程 IO 站 ET 200MP · 192.168.1.2 IO Device 2 变频器 G120 192.168.1.3 IO Device 3 伺服 S120 192.168.1.4 Controller 通过设备名 + IP 建立连接,下发参数,周期读写 IO 数据 Supervisor 仅在调试/诊断时接入,不参与周期通信 Device 之间不可直接通信,必须通过 Controller 中转 一 Controller 可连接多个 Device;一 Device 只能属于一个 Controller
图 4-1:PROFINET IO 网络架构(Controller + Device + Supervisor)
关键概念:设备名优先
PROFINET 设备没有硬件地址轮询(不像 PROFIBUS 用地址拨码开关)。它通过设备名(DAP Name)识别设备:Controller 配置文件中指定要连接的设备名,DCP 协议广播查找,匹配的设备响应并获取 IP 地址。这就是 PROFINET 的"名字寻址"机制。

五、数据模型:CR / API / Slot / Subslot

PROFINET 的数据模型比 Modbus 复杂得多,借鉴了 PROFIBUS 的模块化思想,并扩展为以太网上的层次结构。

PROFINET 数据模型层次 IO Device(一台设备) CR (Communication) 通信关系 一个 Device 可有多个 类型: • IO CR(实时) - Input - Output • Alarm CR(事件) • Record CR(参数) 类比: 会话连接 API (App Process Instance) 应用进程实例 逻辑功能分组 典型: API 0:标准 IO API 1..n:驱动器 作用: 区分不同子系统 如 IO 区 + 伺服区 类比: 功能分区 Slot + Subslot 插槽 + 子插槽 物理/逻辑模块定位 结构: Slot 0:DAP Slot 1:电源 Slot 2:IO 模块 Subslot 1:Input Subslot 2:Output Subslot 3:诊断 类比: 插槽式模块化
图 5-1:PROFINET 数据模型层次(CR → API → Slot → Subslot → Data)

5.1 数据类型与 Modbus 对比

对比维度 PROFINET Modbus
数据模型 CR/API/Slot/Subslot 多层 四类数据表(线圈/寄存器)
地址方式 Semantic(语义化) Numeric(数字地址)
设备描述 GSDML XML 文件 设备手册人工对照
配置方式 TIA Portal 工程工具 手动编程
自描述 是(GSDML 描述) 否(仅数字地址)
PROFINET vs Modbus 数据模型
Modbus 是"裸地址"协议——你只能读写"40001 寄存器",不知道它是什么。PROFINET 是"语义化"协议——通过 GSDML 文件,你能读到"Slot 2 / Subslot 1 / Channel 1 = 速度反馈 (0.01 rpm)"。这是 PROFINET 更易用但更复杂的原因。

六、实时帧结构与以太网帧扩展

PROFINET 不修改以太网物理层和 MAC 层,但在以太网帧 Type 字段做文章,定义自己的 EtherType 0x8892,绕过 TCP/IP 协议栈。

PROFINET 实时帧结构 前导 7B SFD 1B 目的 MAC 6B Device MAC 源 MAC 6B Controller VLAN 4B PCP=高 优先级 EtherType 2B 0x8892 RT 帧 变长 FrameID + Data FCS 4B 关键设计:绕过 TCP/IP 协议栈 EtherType 0x8892 告诉网卡:这不是 IP 包,交给 PROFINET 实时驱动处理(不走 TCP/IP) VLAN PCP 字段(3 位)置高优先级(6 或 7),交换机优先转发,避开 IT 流量
图 6-1:PROFINET 实时帧结构(基于标准以太网扩展)

6.1 三类帧并存

PROFINET 三类帧并存 NRT 帧 EtherType: 0x0800 走 TCP/IP 协议栈 用于:参数读写 诊断 设备发现 特点: 无实时性要求 可与 IT 流量混跑 RT 帧 EtherType: 0x8892 VLAN PCP = 6 绕过 TCP/IP 用于:周期 IO 报警 特点: 软件实时 1~10ms 周期 IRT 帧 EtherType: 0x8892 专用硬件 ASIC 时分复用 用于:高速 IO 多轴同步 特点: 硬件实时 31μs 周期
图 6-2:PROFINET 三类帧并存(NRT / RT / IRT)

七、PROFINET RT:软实时实现

RT 是 PROFINET 的"入门级"实时性档位,不需要专用 ASIC,用普通网卡 + 软件实时扩展即可实现。

PROFINET RT 软实时机制 ① 标准网卡 支持 VLAN 优先级 带硬件过滤 中断合并可控 NAPI 轮询接收 关键: PCP 字段优先级 ② 实时 OS Linux RT-PREEMPT Windows + 实时补丁 Xenomai SCHED_FIFO 调度 关键: μs 级响应 ③ RT 协议栈 旁路 TCP/IP 直接接 L2 帧 AF_PACKET socket 用户态轮询 关键: EtherType 0x8892 周期 1~10ms 抖动 <1ms
图 7-1:PROFINET RT 软实时三大支柱
RT 实战经验
• 用 Intel I210/I82574 网卡效果最好(支持 PCP 优先级过滤)
• Linux 启用 RT-PREEMPT 内核,将 PROFINET 任务绑核 + SCHED_FIFO
• 用 AF_PACKET + RAW socket 直接收发 EtherType 0x8892 帧
• 抖动控制在 1ms 以内,对绝大多数工厂自动化已足够

八、PROFINET IRT:硬实时机制

IRT 是 PROFINET 的"性能档",必须使用专用 ASIC(如西门子 ERTEC 200/400,Hilscher netX 100/500),通过 GYTE(Gleichzeitiges Ycales Zeitfenster für Ethernet,以太网等时同步时间窗)机制实现硬实时。

PROFINET IRT 时间片调度 一个 IRT 周期(如 250μs) 等时同步相 Isochronous Phase 仅 IRT 帧 预留相 Reserved Phase 间隔 开放相 Open Phase NRT 流量(TCP/IP) IRT 帧在等时同步相传输,与 NRT 流量物理隔离,无冲突 预留相用于交换机转发延迟、设备处理时间 开放相可承载 IT 流量、SNMP、HTTP 等非实时数据 → IRT 帧不与 TCP/IP 抢带宽,硬实时得到保障
图 8-1:PROFINET IRT 三相时间片调度

8.1 IRT 的核心优势

九、GYTE 同步与等时同步

GYTE 是 PROFINET IRT 的同步机制,类似 EtherCAT 的分布式时钟(DC),但实现方式不同——主从式硬件时间戳。

GYTE 同步原理 主站时钟 Master Clock ASIC 维护 ①同步帧 从站 1 +12ns 从站 2 +25ns 从站 N +8ns ②延迟回复 主站计算偏差 主站发同步帧 从站记录时间戳 从站回延迟帧 主站计算 RTT 主站发校准帧 关键: 纯硬件实现 纳秒级精度 等时同步触发 主站周期发 SyncFrame 所有从站同时 触发 IO 采样 精度: <1μs 同步 与 DC 对比: 主从式 vs 分布式
图 9-1:GYTE 同步机制(主从式硬件时间戳)
GYTE vs EtherCAT DC 对比
• GYTE:主从式,主站为时钟基准,从站跟随校准
• EtherCAT DC:分布式,每个从站都有独立时钟,主站周期校准
两者精度相近(<1μs),但 EtherCAT DC 在大规模拓扑下精度衰减更慢。

十、设备启动流程:Connect / Parameterize / Apply

PROFINET 设备启动是分阶段的状态机,比 Modbus"直接读寄存器"复杂得多,但带来更可靠的工程实践。

PROFINET 设备启动状态机 OFF 上电 BOOT 固件加载 CFG DCP 寻址 CONNECT 建立 CR PARAM 参数化 DATA 周期 各阶段说明 ① BOOT:固件加载,从 EEPROM 读取基本信息(设备名、MAC) ② CFG:Controller 通过 DCP 广播"设备名"找到 Device,下发 IP ③ CONNECT:Controller 与 Device 建立 CR(通信关系) ④ PARAM:Controller 通过 Record CR 下发配置参数(如 IO 模块类型) ⑤ DATA:Device 进入周期数据交换,开始正常运行
图 10-1:PROFINET 设备启动状态机(5 阶段)

十一、GSDML 文件:设备描述语言

GSDML(Generic Station Description Markup Language)是 PROFINET 的设备描述文件,XML 格式,由设备厂商提供。Controller 通过 GSDML 知道 Device 有哪些 Slot、Subslot、IO 数据格式。

<?xml version="1.0" encoding="UTF-8"?>
<ISO15745Profile xmlns="http://www.profibus.com/GSDML/2003-11-PROFINET">
  <ProfileHeader>
    <ProfileIdentification>PROFINET Device Profile</ProfileIdentification>
    <ProfileRevision>1.0</ProfileRevision>
    <ProfileName>ET 200MP</ProfileName>
    <ProfileSource>Siemens AG</ProfileSource>
    <ProfileClassID>Device</ProfileClassID>
  </ProfileHeader>

  <ProfileBody>
    <!-- 设备支持的 IO 数据格式 -->
    <ModuleList>
      <Module ident="0x0000A001" slotIdent="1">
        <!-- 输入数据:1 字节 -->
        <ModuleInfo>
          <Name textId="T+1"/>DI 8x24V</Name>
        </ModuleInfo>
        <IoData>
          <Input>
            <DataItem dataType="Unsigned8" useAsBits="true"/>
          </Input>
        </IoData>
      </Module>
    </ModuleList>
  </ProfileBody>
</ISO15745Profile>
GSDML 文件作用
• 让 Controller 自动识别 Device 类型(无需手动配置 IO 偏移)
• 工程工具(如 TIA Portal)导入 GSDML 后可视化配置 IO 模块
• 描述设备支持的 Slot 数量、IO 数据宽度、参数定义
• 类比 EtherCAT 的 ESI 文件、CANopen 的 EDS 文件

十二、PROFINET 特性与能力矩阵

PROFINET 能力雷达图 生态成熟度 实时性 工程化 开放性 开放性 成本
图 12-1:PROFINET 能力雷达图(生态/工程化高,开放性/成本稍弱)

12.1 优势

12.2 局限

十三、PROFINET 应用场景全景

PROFINET 典型应用场景 汽车制造 • 焊装线 IRT • 总装线 RT • 涂装机器人 • AGV 物流 包装印刷 • 多轴套准同步 • 高速印刷机 • 飞剪控制 • IRT 同步 过程控制 • 化工反应釜 • 食品饮料 • 制药 GMP • PA 设备 物流装备 • 分拣线 • 立体仓库 • 输送线 • 堆垛机 典型架构:分层 PROFINET 网络 现场层:IO Device → IRT 同步 → 高速伺服 / 高密度 IO 车间层:IO Controller → RT 软实时 → 通用 IO / 变频器 企业层:NRT → TCP/IP → OPC UA → MES / ERP / 云 → PROFINET 是"三层通吃"的工业以太网协议
图 13-1:PROFINET 应用场景与三层架构

13.1 经典案例:汽车焊装线

汽车焊装线 PROFINET 网络 S7-1500 Controller IRT SCALANCE X204 机器人1 KR16 机器人2 KR16 伺服轴 S120 IO 站 ET200 IO 站 ET200 变频器 G120 机器人/伺服走 IRT,IO/变频器走 RT,共存于同一网络 GYTE 保证多机器人纳秒级同步,避免焊接错位 开放相承载 HMI/SCADA 流量,IT/OT 融合
图 13-2:汽车焊装线 PROFINET 网络实例

十四、代码实战:Qt/C++ PROFINET 控制器

PROFINET 主站实现较复杂,开源选项有 profinetd(Linux 开源主站)。下面演示基于 profinetd 的 Qt 封装,简化为 IO 数据周期读写。

14.1 基于 profinetd 的 Qt 封装

// ProfinetController.h —— Qt 封装 profinetd 主站
#ifndef PROFINETCONTROLLER_H
#define PROFINETCONTROLLER_H

#include <QObject>
#include <QTimer>
#include <QVector>
#include <QDebug>
#include <QThread>
#include "pnio.h"  // profinetd 头文件

class ProfinetController : public QObject {
    Q_OBJECT
public:
    explicit ProfinetController(QObject *parent = nullptr)
        : QObject(parent), m_running(false) {}

    ~ProfinetController() { stop(); }

    // 加载配置(GSDML + 网络配置)
    bool loadConfig(const QString& gsdmlPath, const QString& networkConfig) {
        // 调用 profinetd API 加载 GSDML
        int ret = pnio_load_config(gsdmlPath.toLatin1().constData(),
                                  networkConfig.toLatin1().constData());
        if (ret != 0) {
            qWarning() << "加载配置失败:" << ret;
            return false;
        }
        return true;
    }

    // 启动周期通信(默认 1ms 周期)
    void start(int cycleUs = 1000) {
        if (m_running) return;
        pnio_start(cycleUs);

        // 用 QTimer 触发周期回调(实际工程用高精度定时器或 RT 线程)
        m_timer.setInterval(cycleUs / 1000);
        connect(&m_timer, &QTimer::timeout, this, &ProfinetController::onCycle);
        m_timer.start();
        m_running = true;
    }

    void stop() {
        if (!m_running) return;
        m_timer.stop();
        pnio_stop();
        m_running = false;
    }

    // 读 Device 输入数据(Slot/Subslot)
    QByteArray readInput(uint16_t apiId, uint16_t slot,
                               uint16_t subslot, uint16_t size) {
        QByteArray data(size, 0);
        pnio_read_input(apiId, slot, subslot, size,
                          (uint8_t*)data.data());
        return data;
    }

    // 写 Device 输出数据
    bool writeOutput(uint16_t apiId, uint16_t slot,
                                uint16_t subslot, const QByteArray& data) {
        return pnio_write_output(apiId, slot, subslot,
                                   data.size(), (const uint8_t*)data.constData()) == 0;
    }

    // 读 Device 诊断信息
    QByteArray readDiagnostics(uint16_t apiId, uint16_t slot,
                                        uint16_t subslot) {
        QByteArray diag(256, 0);
        int len = pnio_read_record(apiId, slot, subslot,
                                      0xAF, 256, (uint8_t*)diag.data());
        diag.resize(len);
        return diag;
    }

signals:
    void cycleUpdate();
    void alarmReceived(const QString& msg);

private slots:
    void onCycle() {
        // 周期回调:profnetd 内部已刷新 IO 数据
        emit cycleUpdate();
    }

private:
    QTimer m_timer;
    bool m_running;
};

#endif

14.2 使用示例:读写 ET 200MP IO

// PROFINET IO 读写示例
#include "ProfinetController.h"
#include <QCoreApplication>
#include <QDataStream>

int main(int argc, char *argv[]) {
    QCoreApplication app(argc, argv);

    ProfinetController ctrl;

    // 加载 GSDML 和网络配置
    if (!ctrl.loadConfig("et200mp.gsdml", "network.cfg")) {
        qCritical() << "加载配置失败";
        return -1;
    }

    // 启动周期通信(2ms 周期)
    ctrl.start(2000);

    // 周期回调中读写 IO
    QObject::connect(&ctrl, &ProfinetController::cycleUpdate,
        [&ctrl]() {
            // 读 Slot 1, Subslot 1 的输入(8 位 DI)
            auto inData = ctrl.readInput(0, 1, 1, 1);
            uint8_t inputs = (uint8_t)inData[0];
            qDebug() << "DI 状态:" << QString::number(inputs, 2);

            // 写 Slot 2, Subslot 1 的输出(8 位 DO)
            QByteArray outData(1, 0);
            outData[0] = 0x55;  // 0101 0101
            ctrl.writeOutput(0, 2, 1, outData);
        });

    // 报警处理
    QObject::connect(&ctrl, &ProfinetController::alarmReceived,
        [](const QString& msg) {
            qWarning() << "报警:" << msg;
        });

    return app.exec();
}
实战经验
• RT 类用普通 Intel 网卡 + Linux RT-PREEMPT 即可实现
• IRT 类必须用专用 ASIC(如西门子 CP 卡、Hilscher netX)
• GSDML 文件由设备厂商提供,TIA Portal 导入后可视化配置
• 开发期用 Wireshark + PROFINET dissector 抓包验证
• 商业项目优先用西门子 TIA Portal + S7-1500,开源项目可考虑 profinetd

十五、调试技巧与常见问题

15.1 调试工具

工具 用途 平台
TIA Portal 西门子工程工具,可视化配置 + 诊断 Windows
Wireshark 抓包分析 PROFINET 协议 跨平台
SANET 西门子网络诊断工具 Windows
profinetd cmd 开源主站命令行 Linux
PRONETA 西门子网络拓扑分析 Windows

15.2 常见故障排查

故障 可能原因 排查方法
设备不在线 设备名错误;IP 配置不一致;网络断 用 PRONETA 扫描;检查 GSDML 设备名
无法建立连接 GSDML 版本不匹配;参数错误 TIA Portal 查看诊断;对比 GSDML 版本
周期超时 负载过重;网络拥塞 查看 CycleTime;减少 IO 数量;用 IRT
抖动过大 RT 类用了普通网卡;OS 抢占 换支持 PCP 的网卡;启 RT-PREEMPT
GYTE 失败 无 ASIC;线路质量差 确认设备支持 IRT;查 LED 闪烁码
报警频繁 电源故障;模块拔出 读诊断记录 0x0AFB;查看设备 LED
调试忠告
① 永远先确认设备名与 GSDML 一致——这是 PROFINET 的"身份证"
② IRT 必须用专用 ASIC,普通网卡无法实现硬实时
③ TIA Portal 的诊断功能非常强大,善用"在线诊断"
④ 抓包用 Wireshark + PROFINET dissector,能看到 GSDML 解析后的语义

十六、总结

PROFINET 是工业以太网"嫡长子"——它承载了 PROFIBUS 30 年的工程积淀,在以太网时代以分层实时性、GYTE 硬同步、GSDML 设备描述三大创新,成为德系工业的首选。

PROFINET 知识图谱回顾 架构层 • IO Controller • IO Device • IO Supervisor 数据模型: CR/API/Slot /Subslot 关键词: 设备名寻址 协议层 • EtherType 0x8892 • VLAN PCP 优先级 • 三类帧并存 启动: BOOT→CFG→ CONNECT→DATA 关键词: GSDML 能力层 • NRT 100ms • RT 1~10ms • IRT 31μs 同步: GYTE 主从式 <1μs 精度 关键词: 分层实时 应用层 • 汽车焊装线 • 包装印刷 • 过程控制 工具: TIA Portal profinetd 关键词: 西门子生态
图 16-1:PROFINET 知识图谱(四层架构回顾)

核心要点速记

  1. 分层实时是 PROFINET 的灵魂——NRT/RT/IRT 三档可选,按需付费
  2. 三大角色:Controller(主)+ Device(从)+ Supervisor(监控)
  3. 设备名寻址:DCP 协议通过设备名识别,不用拨码开关
  4. GSDML 文件:XML 设备描述,让配置可视化、语义化
  5. RT 类:VLAN 优先级 + 软实时扩展,标准网卡可用
  6. IRT 类:专用 ASIC + GYTE 时间片,硬实时但成本高
  7. GYTE 同步:主从式硬件时间戳,<1μs 精度
  8. 启动状态机:BOOT → CFG → CONNECT → PARAM → DATA
  9. 选型对比:欧系首选 IRT;极致性能用 EtherCAT;简单场景用 Modbus
  10. 定位:PROFINET 是"工程化最强"的工业以太网——生态成熟、配置完善

嵌入式工业通信系列至此涵盖 RS-232/485 → CAN → 串口全景 → EtherCAT → Modbus → PROFINET 六大主题。PROFINET 与 EtherCAT 是工业以太网"双雄":EtherCAT 性能极致、开放性好;PROFINET 生态成熟、工程化强。两者覆盖了工业以太网 80% 以上的市场份额。

PROFINETRTIRTGYTEPROFINET IOGSDMLVLAN PCPEtherType 0x8892IO ControllerIO DeviceIO Supervisor等时同步西门子TIA PortalSCALANCEQt/C++