Siemens PLC修改IP地址后断电又恢复默认值:TIA Portal网络参数不保持的原理、原因与排查方法
在西门子 PLC、PROFINET 控制器以及部分工业以太网设备的调试过程中,经常会遇到这样一种现象:
设备原来需要使用某个固定 IP 地址,例如:
IP Address: 166.118.139.131
Subnet Mask: 255.255.254.0
通过 Siemens TIA Portal 在线搜索设备后,可以成功把设备修改为这个 IP,并且当时可以正常 Ping 通、在线访问甚至进行程序下载。
但是设备断电后重新上电,IP 地址却又恢复成另一个地址,例如:
于是现场人员很容易怀疑:
PLC 网口损坏;
IP 地址无法写入;
CPU Flash 损坏;
西门子存储卡故障;
TIA Portal 设置没有生效。
实际上,这类故障多数并不是单纯的“网口坏了”,而是与 临时 IP 分配、PLC 硬件配置、启动时网络参数恢复机制、PROFINET 设备名称、存储卡以及网络拓扑有关。
本文以这种典型故障为例,系统分析其工作原理和排查方法。
一、为什么TIA Portal明明修改成功,重新上电后IP却又变回去了?
首先需要理解一个重要概念:
PLC当前正在使用的IP地址,并不一定等于PLC项目中永久配置的IP地址。
TIA Portal 中存在多种修改设备网络地址的方法。
例如可以通过:
Online access
Accessible devices
Assign IP address
直接给现场设备分配一个 IP。
这种操作主要用于:
第一次找到设备;
临时建立通信;
设备更换后快速配置;
找不到原有 IP 时重新分配地址;
调试 PROFINET 网络。
但是设备启动之后最终采用什么 IP,还可能受到:
PLC hardware configuration
PROFINET configuration
SIMATIC Memory Card
Startup configuration
Device replacement mechanism
IO Controller assignment
等因素影响。
因此可能出现:
人工在线修改IP
↓
设备立即使用新IP
↓
通信正常
↓
PLC断电
↓
重新启动
↓
读取原来的启动配置
↓
恢复旧IP
这正是现场最常见的情况之一。

二、典型故障现象
假设一台 Siemens PLC 原来计划使用:
IP Address:
166.118.139.131
Subnet Mask:
255.255.254.0
通过 TIA Portal 执行 IP 地址分配以后:
能够正常使用。
但是重新上电后设备又变成:
如果每次都非常规律地恢复为:
那么这个现象实际上提供了一个非常重要的诊断信息:
192.168.10.4 很可能并不是随机产生的地址。
它通常意味着系统某处仍然保存着这个网络参数。
例如:
TIA工程硬件配置
SIMATIC Memory Card
旧项目
设备启动配置
其他控制器分配
PROFINET替换机制
因此排查重点不应该只是:
为什么166.118.139.131写不进去?
而应该进一步调查:
到底是谁在PLC重新启动时,把192.168.10.4重新写回去了?
这个诊断思路非常重要。
三、第一种原因:TIA工程中的IP仍然是旧地址
这是最值得首先检查的原因。
假设现场人员通过:
找到 PLC,然后手动设置:
此时 PLC 可以使用这个地址。
但是打开原来的 TIA Portal 项目,在:
Device configuration
→ CPU
→ Properties
→ PROFINET interface
→ Ethernet addresses
里面可能仍然配置的是:
这意味着现场设备当前 IP 和工程配置并不一致。
PLC运行时可能暂时使用:
但是在重新加载硬件配置或者设备重启以后,又可能回到项目中保存的:
所以正确方法应该是:
首先在项目中修改 CPU 的 PROFINET 接口。
例如:
IP Address:
166.118.139.131
Subnet Mask:
255.255.254.0
然后:
再执行:
重点是:
不仅要修改设备当前地址,还要保证项目中的硬件组态本身也是正确的。
四、Assign IP与下载硬件组态不是完全相同的操作
TIA Portal 中:
与:
Download hardware configuration
不能简单理解为完全相同的操作。
Assign IP 的核心目的主要是:
让工程电脑先能够找到并访问设备。
而 Hardware Configuration 则定义:
CPU型号
PROFINET接口
IP地址
Subnet Mask
Device Name
IO系统
拓扑
模块配置
通信关系
因此现场调试时推荐的流程是:
发现设备
↓
必要时临时分配IP
↓
电脑能够访问PLC
↓
打开正确TIA项目
↓
修改Device Configuration
↓
Compile
↓
Download Hardware Configuration
↓
重新上电验证
而不是长期依赖:
反复改变设备地址。

五、第二种原因:PROFINET设备名称仍然不正确
西门子 PROFINET 网络不仅依赖 IP 地址,还非常依赖:
例如设备可能具有名称:
plc_1
station_1
cpu01
machine01
PROFINET 网络中,设备识别并不完全依赖 IP。
特别是在:
PROFINET IO Device
ET200
远程I/O
驱动器
更换设备
自动设备替换
等应用中,Device Name 的作用非常重要。
因此现场可能出现一种情况:
但是:
设备重新加入 PROFINET 网络以后,控制系统可能根据已有组态再次完成网络参数配置。
所以建议检查:
Online access
→ Accessible devices
确认:
Device Name
IP Address
MAC Address
是否和项目一致。
特别注意:
MAC Address 是识别物理设备非常重要的依据。
因为 IP 可以改变,而 MAC 地址一般不会随软件配置改变。
六、第三种原因:SIMATIC Memory Card中仍然保存旧配置
对于 Siemens S7-1500 系列 CPU,SIMATIC Memory Card 是非常重要的组成部分。
它并不是普通意义上的可选 SD 卡。
其中可能保存:
PLC程序
Hardware Configuration
Startup information
Load memory
Technology configuration
Safety configuration
因此如果现场 CPU 中使用的是旧的 Memory Card,而存储卡中的项目仍然配置:
那么可能出现:
临时改为166.118.139.131
↓
设备当前通信正常
↓
CPU断电
↓
重新启动
↓
读取存储卡配置
↓
再次恢复旧网络参数
这时即使反复 Assign IP,也可能只能解决当前通信问题,而不能真正解决启动配置问题。
七、如何判断是不是存储卡问题?
可以首先进入:
查看:
以及:
重点检查是否存在:
Memory Card error
Load memory error
Configuration error
Startup error
Firmware compatibility error
Hardware configuration error
如果 CPU 经常出现:
Configuration inconsistent
Memory card problem
Device configuration mismatch
那么就需要进一步检查 SIMATIC Memory Card。
八、不要轻易格式化或更换S7-1500存储卡
现场维修时有一个非常重要的注意事项:
不要在没有完整备份的情况下直接格式化 Siemens Memory Card。
特别是在生产设备上。
因为存储卡里可能包含:
PLC程序
安全程序
工艺参数
通信配置
设备组态
厂家程序
一旦丢失,可能导致设备完全无法启动。
如果设备使用:
问题会更加复杂。
因为可能还涉及:
Safety Program
F-signature
Safety Password
Failsafe Configuration
所以处理存储卡之前,应优先完成:
Project backup
Program upload
Hardware configuration backup
Diagnostic information backup
九、第四种原因:现场使用了错误的TIA工程
这种问题在维修现场其实非常常见。
比如设备已经运行很多年,期间发生过:
PLC更换
程序升级
工程师修改
生产线改造
网络改造
驱动器更换
CPU升级
但现场电脑保存的项目可能仍然是几年前的版本。
于是:
当前 PLC 实际 IP:
旧项目可能还是:
如果工程师误把旧项目下载到 CPU,就可能重新把 IP 改回:
因此正式下载硬件之前一定要确认:
与:
是否真正属于同一套程序版本。
建议使用:
Online/Offline comparison
进行比较。
十、第五种原因:其他控制器正在重新给设备分配IP
如果出现问题的并不是 PLC CPU,而是:
ET200
PROFINET IO Device
变频器
伺服驱动器
通信模块
远程I/O
那么还要考虑:
PROFINET IO Controller可能正在启动过程中重新给它分配网络参数。
典型流程:
设备上电
↓
暂时使用人工配置IP
↓
PLC Controller启动
↓
通过PROFINET识别Device Name
↓
重新分配项目中的IP
于是维修人员会看到:
刚上电的时候:
过一段时间后却变为:
这种情况下:
问题可能根本不在被修改设备本身。
而是在:
上级PLC
PROFINET Controller
TIA项目
里面。
十一、第六种原因:网络中存在重复IP
工业现场的另一个常见问题是:
例如:
PLC:
但是网络里另一台设备也已经使用:
这时可能出现:
Ping时有时通有时不通
TIA偶尔能够找到设备
下载中断
设备名称识别异常
网络通信不稳定
甚至会让维修人员误以为 PLC 的 IP 修改失败。
十二、如何排查重复IP?
最简单的方法之一是暂时把设备与整个工厂网络隔离。
采用:
Engineering PC
│
│ Ethernet
│
PLC
直接连接。
不要经过:
然后给电脑配置:
IP:
166.118.139.100
Subnet Mask:
255.255.254.0
PLC:
166.118.139.131
Subnet Mask:
255.255.254.0
然后测试:
如果直接连接后工作完全正常,而连接工厂网络后问题再次出现,就要重点排查:
Duplicate IP
PROFINET Controller
Switch configuration
Routing
Network topology
十三、为什么255.255.254.0需要特别注意?
本案例中子网掩码为:
即:
这并不是常见的:
也就是 /24。
使用 /23 时,每个网段包含的地址范围更大。
例如:
和:
有可能属于同一个 /23 网络,具体需要根据网络地址计算。
因此现场如果电脑错误设置成:
而 PLC 设置:
可能造成一些非常难判断的通信问题。
例如:
本地可以Ping
某些设备无法访问
跨交换机通信异常
路由判断异常
工程电脑搜索不到PLC
因此调试时不仅要核对 IP,还必须核对:
十四、第七种原因:CPU发生过Reset to Factory Settings
如果设备之前执行过:
Reset to factory settings
或者:
设备可能恢复到:
具体行为取决于:
CPU型号
Firmware版本
Memory Card状态
是否保留IP
Reset方式
所以如果维修人员发现:
就应该进一步确认:
是否有人执行过:
MRES
Factory Reset
Format Memory Card
Firmware Update
十五、第八种原因:CPU固件与TIA Portal版本不匹配
某些 Siemens CPU 如果使用较新的 Firmware,而工程软件版本比较旧,可能出现:
Device not supported
Hardware catalog mismatch
Configuration cannot compile
Download failed
Online/Offline mismatch
例如:
但是 TIA Portal 的硬件支持包中没有对应版本。
这种情况下,工程师可能只能进行部分在线操作,比如:
Ping
Identify device
Assign IP
却无法完整下载硬件组态。
于是就出现一种很有迷惑性的现象:
因此应该检查:
CPU Order Number
Firmware Version
TIA Portal Version
Hardware Support Package
是否匹配。
十六、推荐的标准排查流程
遇到:
PLC修改IP以后正常,但断电重新上电又恢复原IP。
建议按照下面顺序处理。
Step 1:记录设备身份信息
首先记录:
Order Number
Serial Number
Firmware Version
MAC Address
Current IP
PROFINET Device Name
特别是:
不要只根据 IP 判断是不是同一台设备。
Step 2:隔离现场网络
电脑直接连接 PLC。
避免:
其他PLC
交换机
PROFINET Controller
DHCP Server
其他同IP设备
影响判断。
Step 3:搜索Accessible Devices
进入:
TIA Portal
→ Online access
→ Accessible devices
记录:
IP
MAC
Device Name
Device Type
Step 4:检查项目中的IP
进入:
Device configuration
→ CPU
→ PROFINET Interface
→ Ethernet addresses
确认是否真的配置为:
166.118.139.131
255.255.254.0
如果项目里面仍然是:
那么首先修改项目。
Step 5:检查PROFINET Device Name
确认在线设备名称和项目一致。
例如项目:
设备也应该:
不要出现:
这种不一致。
Step 6:编译整个硬件配置
执行:
确认没有:
Errors
Warnings involving CPU interface
PROFINET configuration conflicts
Step 7:下载Device Configuration
执行:
必要时下载:
Hardware Configuration
Software
而不是只执行:
Step 8:重新启动PLC
完整执行:
Power OFF
↓
等待几秒
↓
Power ON
不要只做:
因为需要验证真正的掉电保持行为。
Step 9:再次检查IP
重新搜索:
确认是否仍然:
十七、如果还是恢复192.168.10.4怎么办?
如果已经确认:
TIA项目IP正确
硬件已经成功下载
PROFINET名称正确
但重新上电后仍然恢复:
那么这个结果反而非常有价值。
因为此时可以基本确定:
现场仍然存在另一个配置源。
接下来重点调查:
SIMATIC Memory Card
另一台PROFINET Controller
旧PLC项目
设备替换机制
启动程序
设备固件
CPU硬件状态
十八、可以利用“恢复到固定IP”这个现象反向诊断
维修时,如果设备每次都恢复:
而不是随机地址,例如:
那么通常说明:
在某个地方是“有来源”的。
因此可以搜索:
在TIA项目中搜索
检查PLC硬件组态
检查PROFINET IO设备
Device overview
Network view
检查其他项目备份
例如:
Project_V1
Project_V2
Backup_2024
Machine_original
看哪个版本使用了这个地址。
这种方法往往比直接怀疑硬件损坏更加有效。
十九、什么时候才应该怀疑CPU或者存储器硬件故障?
如果出现下面这些情况,才应该明显提高对硬件故障的怀疑:
1. 不仅IP无法保持,程序也经常丢失
2. CPU反复恢复出厂状态
3. Memory Card经常无法识别
4. Diagnostic Buffer频繁出现存储器错误
5. 下载程序后校验失败
6. CPU重启过程中出现异常
7. 多个完全无关参数同时丢失
8. 更换正常Memory Card后问题消失
如果只是:
则优先考虑:
配置覆盖问题,而不是CPU网口损坏。
二十、工程现场容易出现的错误判断
错误判断一
IP能临时改成功,因此CPU肯定正常,项目不用检查。
不一定。
当前 IP 和启动配置是两个需要分别验证的问题。
错误判断二
断电后恢复IP,就是Flash坏了。
也不一定。
如果每次恢复同一个固定 IP,首先应该寻找这个地址的配置来源。
错误判断三
能Ping通说明网络配置完全正确。
Ping 只能证明:
不能证明:
PROFINET配置正确
Device Name正确
TIA项目正确
安全配置正确
硬件组态正确
错误判断四
Assign IP成功,就等于项目已经修改。
这是现场非常容易出现的问题。
工程项目中的:
仍然需要单独确认。
二十一、推荐的工业现场网络调试方法
为了减少此类问题,设备交付时建议记录完整网络参数表:
| Item | Parameter |
|---|
| CPU Model | Siemens PLC model |
| Order Number | 6ES7... |
| Firmware | Vx.x |
| MAC Address | xx-xx-xx-xx-xx-xx |
| IP Address | 166.118.139.131 |
| Subnet Mask | 255.255.254.0 |
| Gateway | According to network |
| PROFINET Name | According to project |
| TIA Version | Vxx |
| Project Version | Current machine project |
同时保存:
例如:
这样未来维修时就可以快速判断:
到底是:
还是:
二十二、维修判断逻辑总结
对于 Siemens PLC:
但:
可以按照下面的逻辑判断:
IP断电后恢复旧值
│
▼
项目里的IP正确吗?
│ │
否 是
│ │
▼ ▼
修改项目 检查Device Name
│ │
▼ ▼
下载硬件 检查Memory Card
│
▼
检查PROFINET Controller
│
▼
检查重复IP
│
▼
检查Firmware
│
▼
最后考虑硬件故障
这也是比较合理的诊断顺序。
结论
Siemens PLC 或 PROFINET 设备修改 IP 后,断电再次启动却恢复到原来的固定 IP,并不一定表示 Ethernet 接口、CPU Flash 或 Memory Card 已经损坏。
更常见的原因是:
只修改了设备当前IP,没有同步修改TIA项目中的硬件配置;
下载的Device Configuration仍然包含旧IP;
PROFINET Device Name与项目不一致;
SIMATIC Memory Card仍保存旧的启动配置;
另一台PROFINET Controller在启动过程中重新分配网络参数;
现场使用了旧版本TIA工程;
网络中存在重复IP或错误子网掩码;
TIA Portal、CPU Firmware与硬件支持版本不匹配;
设备经历过Memory Reset或Factory Reset;
极少数情况下才是真正的CPU或存储器硬件故障。
因此遇到这种问题时,不应该连续反复执行“Assign IP Address”,而应该把排查重点放到:
Online设备状态
↕
TIA Device Configuration
↕
PROFINET Device Name
↕
SIMATIC Memory Card
↕
现场网络拓扑
这几部分是否保持一致。
尤其当设备每次都固定恢复到 192.168.10.4 这类明确地址时,这往往说明该地址仍然存在于某个工程配置或启动配置中。找到“是谁在重新写入这个IP”,通常才是解决故障的关键。