PLC问答
> 西门子PLC报错16#8180是什么原因?
西门子PLC报错16#8180是什么原因?
16#8180这个代码什么意思?西门子PLC需要怎么处理?
4 个回答
16#8180按S7诊断规范拆开看:0x8180低字节是0x80,指向IO访问层面的故障,一般跟分布式从站、模块读写或过程映像刷新有关,不是CPU本身挂死那种级别。前年在现场一台S7-315-2DP上出过一模一样的事件,CPU诊断缓冲区里紧跟着一条「读取时发生IO访问错误」,记录里带着站点号和模块槽位。当时排查下来是DP总线上一台ET200M的IM153-1背板总线接触劣化,换了接口模块就好了。你现在要做的第一步是把诊断缓冲区完整的10条记录导出来,重点看8180出现前一条是哪个站、哪块模块,定位到具体槽位,比在面板上瞎猜省事得多。
碰到8180先别急着动PLC程序,这是IO访问层面的编码,程序逻辑正常的概率很大。我见过两种情况:一是S7-1200挂的分布式IO从站掉站,CPU周期性地报8180,现场查出来是那台从站的24V供电从中间端子松脱,电压掉到18V左右闪断;二是300系列里有个OB块没下载,块内访问的IO地址超出了实际组态范围,比如程序里写了PIW300但硬件组态只到PIW280,也会报类似编码。建议在线打开硬件组态,对照实际模块的起始地址和程序里用到的地址逐段核对,这一步比换件快。
8180是IO访问出错,重点看分布式从站。带诊断缓冲区截图来问更准。
补充一个容易被忽略的角度:8180不一定代表硬件真坏了,如果CPU和从站之间走的是PROFINET,检查一下IRT等时同步是不是开了但网络里混进了不支持IRT的交换机,这种配置冲突会让CPU周期性报IO访问错误,我遇到过一条产线加了台非管理型交换机后就开始报,报文里还伴随0x8547。另外看CPU的诊断缓冲区时注意区分「错误事件」和「进入/退出错误状态」两种记录,8180往往只出现在退出那条上,真正的根因记录在进入那条里,别只看一条就下结论。