TIA Portal PROFINET 组态指南
PROFINET 是每个西门子 S7-1200 和 S7-1500 PLC 的默认通信协议。PROFINET 接口内置于 CPU 中——无需额外模块。
梯形图转SCL | 需求文本转SCL | 梯形图在线查看 | 博途编程文档MCP | AI模型价格对比 | AI工具导航 | ONNX模型库 | Vibe Coding教程 | PLC在线仿真器 | Tripo 3D | Meshy AI | ElevenLabs | KlingAI | ArtSpace
PROFINET 是每个西门子 S7-1200 和 S7-1500 PLC 的默认通信协议。PROFINET 接口内置于 CPU 中——无需额外模块。
但在 TIA Portal 中设置 PROFINET 网络涉及多个步骤,这些步骤必须按正确的顺序进行。您需要安装 GSD 文件,将 IO-Device 添加到网络,分配与物理设备匹配的设备名称,在正确的插槽中配置模块,设置 I/O 地址,并下载配置。
如果任何步骤出错——设备名称错误、GSD 版本不匹配、插槽中缺少模块——IO-Device 将显示红色错误图标,通信不会启动。
本指南将引导您完成整个过程:从创建项目到与正常工作的 PROFINET IO 系统联机。
0、简介
0.1 要求
| 项目 | 要求 |
|---|---|
| PLC | S7-1200(固件 V4.0+)或 S7-1500 |
| 软件 | TIA Portal V13 SP1 或更高版本(推荐 V17+) |
| IO-Device | 任何带有 GSDML 文件的 PROFINET IO 设备 |
| 网络 | 以太网交换机(推荐管理型),Cat5e/Cat6 电缆 |
| 工具 | PRONETA 或 Profinet Commander(用于在物理网络上分配设备名称) |
0.2 PROFINET 在 TIA Portal 中的工作原理
TIA Portal 使用 Network view 和 Device view 来配置 PROFINET。
| 视图 | 您的操作 |
|---|---|
| Network view | 添加设备,在 IO-Controller 和 IO-Device 之间绘制 PROFINET 连接,查看完整拓扑 |
| Device view | 配置单个设备——模块、子模块、插槽、参数、I/O 地址 |
| Topology view | 定义设备之间的物理端口到端口布线(可选,但推荐用于诊断) |
PLC 充当 IO-Controller。它管理 PROFINET 网络,向设备发送输出数据,并从设备接收输入数据。
每个现场设备(远程 I/O、驱动器、传感器等)充当 IO-Device。它响应控制器。
1、步骤 1:创建项目并添加 PLC
- 打开 TIA Portal → Create new project
- 输入项目名称和路径 → 单击 Create
- 单击 Configure a device → Add new device
- 选择 Controllers → SIMATIC S7-1200(或 S7-1500)→ 选择您的 CPU 型号和固件版本
- 单击 Add
TIA Portal 将打开您 PLC 的 Device view。
2、步骤 2:配置 PLC 的 PROFINET 接口

- 在 Device view 中,双击 PROFINET port(CPU 上的绿色以太网图标)
- 在 Properties 中,转到 PROFINET interface → Ethernet addresses
- 设置 PLC 的 IP 地址和子网掩码:
| 字段 | 示例 |
|---|---|
| IP 地址 | 192.168.0.1 |
| 子网掩码 | 255.255.255.0 |
在 PROFINET interface → General 下,记下 PROFINET IO system 名称(默认:“PN/IE_1”)。这是您的 IO-Device 将连接到的 IO 系统。
3、步骤 3:为 IO-Device 安装 GSD 文件
如果 IO-Device 不是西门子产品,您需要先安装其 GSDML 文件。西门子设备已包含在 TIA Portal 硬件目录中。
- 转到 Options → Manage general station description files (GSD)
- 在 Source path 字段中,浏览到包含 GSDML
.xml文件的文件夹 - TIA Portal 会列出该文件夹中找到的所有 GSD 文件
- 选择您的设备文件 → 单击 Install
- 等待安装完成
该设备现在将出现在 Hardware Catalog 中制造商名称下。
有关 GSDML 文件的更多详细信息,请参阅:PROFINET GSD/GSDML 文件详解
4、步骤 4:将 IO-Device 添加到网络
- 切换到 Network view(单击编辑器底部的 “Network view” 选项卡)
- 打开右侧的 Hardware Catalog
- 在正确的制造商下找到您的 IO-Device
- 拖放 设备到 Network view 中
设备将显示为一个带有 PROFINET 端口图标的框。
5、步骤 5:将 IO-Device 连接到 IO-Controller
- 在 Network view 中,您将看到 PLC 和 IO-Device 上的 绿色 PROFINET 端口
- 单击 PLC 的端口并 拖动一条线 到 IO-Device 的端口
- TIA Portal 将创建 PROFINET IO 连接(一条绿线)
或者,单击 IO-Device 上的 “Not assigned” 链接,然后从下拉列表中选择 PLC。
连接后,IO-Device 现在成为 PLC 的 PROFINET IO 系统的一部分。

6、步骤 6:分配设备名称
每个 PROFINET IO-Device 都需要一个唯一的 设备名称。此名称是 IO-Controller 在网络上找到设备的方式。
- 在 Network view 中,单击 IO-Device
- 在 Properties → PROFINET interface → General 中,找到 PROFINET device name 字段
- 输入一个名称,例如:
et200sp-line1
6.1 设备名称规则
| 规则 | 示例 |
|---|---|
| 仅小写字母 | et200sp-line1 ✅, ET200SP-Line1 ❌ |
| 仅字母、数字和连字符 | sensor-rack-03 ✅ |
| 无空格、无下划线 | sensor rack ❌, sensor_rack ❌ |
| 最大 240 个字符 | 保持简短且具有描述性 |
| 必须在网络中唯一 | 两个设备不能同名 |
⚠️ 关键: TIA Portal 中的设备名称必须与分配给物理设备的名称 完全匹配。有关如何将名称分配给物理设备,请参见第 13 节。
7、步骤 7:配置模块和子模块
- 在 Network view 中,双击 IO-Device 以打开其 Device view
- 您将看到设备的 插槽机架(插槽 0 是 DAP,更高的插槽用于 I/O 模块)
- 打开右侧的 Hardware Catalog
- 找到与您的物理硬件匹配的 I/O 模块
- 拖动每个模块 到正确的插槽中

7.1 示例:ET 200SP 配置
| 插槽 | 模块 | 描述 |
|---|---|---|
| 0 | DAP(自动填充) | 通信接口 |
| 1 | DI 8×24VDC | 8 个数字输入 |
| 2 | DQ 4×24VDC/2A | 4 个数字输出 |
| 3 | AI 4×U/I ST | 4 个模拟输入 |
| 4 | 服务器模块(自动) | 机架末端 |
TIA Portal 中的模块必须与插入设备的物理模块 顺序完全相同。如果项目中的插槽 1 有 DI 模块,但物理设备在该位置有 DO 模块,设备将不会启动。
8、步骤 8:设置 I/O 地址
每个模块在 PLC 的过程映像中分配一个 I/O 地址范围。
- 在 device view 中单击一个模块
- 在 Properties → I/O addresses 中,您将看到分配的输入和/或输出地址
| 模块 | 方向 | 起始地址 | 长度 |
|---|---|---|---|
| DI 8×24VDC | 输入 | %IB 10 |
1 字节 |
| DQ 4×24VDC/2A | 输出 | %QB 10 |
1 字节 |
| AI 4×U/I ST | 输入 | %IW 20 |
8 字节(4 × 16 位) |
TIA Portal 会自动分配地址,但您可以更改它们。确保地址不与 CPU 上的其他设备或本地 I/O 重叠。
9、步骤 9:配置更新时间(周期)
更新时间控制 IO-Controller 与 IO-Device 交换数据的频率。
- 在 Network view 中单击 IO-Device
- 在 Properties → PROFINET interface → Advanced options → Real time settings
- 设置 Update time
| 更新时间 | 用例 |
|---|---|
| 1 ms | 高速运动控制,伺服驱动器 |
| 4 ms | 快速 I/O,标准机器控制 |
| 8–16 ms | 典型的远程 I/O,传感器 |
| 32–128 ms | 慢速监控,非关键数据 |
较短的周期时间会增加网络和 CPU 负载。使用应用程序实际需要的最短时间——而不是设备支持的最短时间。
10、步骤 10:下载并联机
- 单击 Compile(锤子图标)以检查错误
- 修复输出窗口中显示的任何错误
- 通过以太网将 PC 连接到 PLC
- 单击 Download to device(蓝色箭头图标)
- 从列表中选择 PLC → 单击 Load
- 下载后,单击 Go online(眼镜图标)
如果一切正确,IO-Device 将在在线视图中显示 绿色图标。绿色表示设备已连接并正在交换 I/O 数据。

红色图标 表示通信失败。有关故障排除,请参见第 16 节。
11、将设备名称分配给物理设备
此步骤在 TIA Portal 外部 的物理 PROFINET 网络上完成。必须在 IO-Controller 能够找到设备之前将设备名称写入设备。
方法 1:使用 TIA Portal 的 “Assign device name”
- 与 TIA Portal 联机
- 在 Network view 中,右键单击 IO-Device → Assign device name
- TIA Portal 使用 DCP(发现和配置协议)扫描网络
- 从列表中选择设备(通过 MAC 地址标识)
- 单击 Assign name
方法 2:使用 PRONETA(免费的西门子工具)
- 从西门子网站下载 PRONETA
- 将 PC 连接到与 IO-Device 相同的交换机
- PRONETA 会发现网络上的所有 PROFINET 设备
- 右键单击设备 → Set device name
- 输入与您的 TIA Portal 项目匹配的名称
方法 3:使用 Profinet Commander
工作方式相同——通过 DCP 发现设备,分配名称。
⚠️ 重要: 设备名称存储在设备的非易失性存储器中。它会在断电后保留。您只需分配一次。如果更换设备,必须将名称分配给新设备。
14. 在 PLC 程序中访问 I/O 数据
配置和下载后,I/O 数据可在您配置的地址处的 PLC 过程映像中使用。
数字输入示例
如果 DI 模块位于 %IB 10:
// 读取数字输入通道 0
IF %I10.0 THEN
Motor_Start := TRUE;
END_IF;
模拟输入示例
如果 AI 模块从 %IW 20 开始:
// 读取模拟输入通道 1(16 位原始值)
RawValue := %IW22; // 通道 1 = 起始地址 + 2
Temperature := INT_TO_REAL(RawValue) * 0.1; // 缩放到工程单位
数字输出示例
如果 DO 模块位于 %QB 10:
// 设置数字输出通道 2
%Q10.2 := Valve_Open;
15. 添加多个 IO-Device
对每个附加设备重复步骤 3–11:
- 安装 GSD 文件(如果不是西门子设备)
- 将设备拖到 Network view 中
- 将其连接到 IO-Controller
- 分配唯一的设备名称
- 配置模块和 I/O 地址
- 设置更新时间
所有设备共享相同的 PROFINET IO 系统。IO-Controller 管理所有设备。
示例:多设备网络
| 设备 | 名称 | IP 地址 | 更新时间 |
|---|---|---|---|
| S7-1200(控制器) | plc-main | 192.168.0.1 | — |
| ET 200SP #1 | et200sp-line1 | 192.168.0.10 | 4 ms |
| ET 200SP #2 | et200sp-line2 | 192.168.0.11 | 4 ms |
| VFD 驱动器 | vfd-pump01 | 192.168.0.20 | 8 ms |
| RFID 读取器 | rfid-station1 | 192.168.0.30 | 32 ms |
16、诊断和故障排除
在线状态图标
| 图标 | 颜色 | 含义 |
|---|---|---|
| ✅ | 绿色 | 设备在线,I/O 交换活动 |
| ⚠️ | 黄色 | 设备在线但有诊断信息(例如,通道错误) |
| ❌ | 红色 | 设备不可达或配置不匹配 |
常见问题
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 红色图标 — “Not reachable” | 未分配设备名称,或名称错误 | 使用 PRONETA 或 TIA Portal 分配正确的名称 |
| 红色图标 — “Configuration error” | 项目与物理设备之间的模块不匹配 | 验证模块是否在正确的插槽中。检查 GSD 版本。 |
| 红色图标 — “No IO data” | IP 冲突、电缆断开或交换机端口关闭 | 检查电缆,ping 设备,验证 IP 设置 |
| 黄色 — “Channel diagnostics” | 特定通道出现问题(断线、过载) | 检查诊断缓冲区。检查现场接线。 |
| “GSD file not found” | 未安装 GSD 文件或版本错误 | 从制造商处重新安装 GSD 文件 |
| PRONETA 未发现设备 | 设备在不同的子网,或 DCP 被管理型交换机阻止 | 将 PC 直接连接到设备。检查 VLAN 设置。 |
| 响应慢 / 数据丢失 | 更新时间对于网络来说太快 | 增加更新时间。检查网络拥塞。 |
| “VendorID/DeviceID mismatch” | 错误的物理设备插入网络 | 验证设备型号是否与 GSD 文件匹配 |
读取诊断缓冲区
- 与 TIA Portal 联机
- 在项目树中,展开 PLC 下的 Online & Diagnostics
- 单击 Diagnostics buffer
- 缓冲区显示带时间戳的事件:设备故障、通道错误、通信丢失
17、共享设备和 I-Device 配置
共享设备
单个 IO-Device 可以由 两个 IO-Controller 控制。每个控制器访问同一设备的不同子模块。
用例:安全控制器管理 PROFIsafe 子模块,而标准控制器管理标准 I/O 子模块——在同一个物理设备上。
要配置:在 Device view 中,选择一个子模块,并在 “Shared device” 设置下将其分配给特定的 IO-Controller。
I-Device(智能设备)
S7-1200 或 S7-1500 PLC 可以同时充当 IO-Controller(管理自己的设备)和 IO-Device(由更高级别的控制器管理)。
要配置:
- 打开 PLC 的 Properties → PROFINET interface → Operating mode
- 选择 IO-Device
- 定义更高级别控制器可以访问的传输区域(输入/输出数据块)
这用于分布式架构,其中本地 PLC 运行自己的逻辑,但也通过 PROFINET 与中央 PLC 共享选定的数据。
18、结束语
在 TIA Portal 中设置 PROFINET 遵循清晰的顺序:
- 创建项目 并添加 PLC
- 设置 PLC 的 IP 地址
- 安装第三方设备的 GSD 文件
- 将 IO-Device 添加到 Network view
- 将每个设备连接 到 IO-Controller
- 分配唯一的设备名称(必须与物理设备匹配)
- 在正确的插槽中配置模块
- 设置 I/O 地址 和更新时间
- 下载 并联机
- 使用 PRONETA 或 TIA Portal 将设备名称分配 给物理设备
最常见的错误是 设备名称不匹配 —— TIA Portal 中的名称与存储在物理设备中的名称不匹配。在排除其他任何故障之前,请务必验证这一点。
原文链接:How to Configure PROFINET in TIA Portal (Step-by-Step Guide)
汇智网翻译整理,转载请标明出处