跳到主要内容

SNMP(网络设备·UPS)

SNMP v2c — 读取基础设施设备,如交换机、路由器、UPS、服务器(UDP 161)。 不是 PLC,而是在同一屏幕上查看「支撑工厂运行的设备」时使用。

场景使用哪张卡
交换机·路由器·UPS·服务器·NASSNMP(本页)
工业 PLCModbus TCP · OPC-UA
CNC 机床MTConnect · FOCAS
为什么要用这个

设备停机的原因往往不是设备本身,而是网络或电源。将 UPS 电池剩余量和交换机端口错误与设备数据放在同一时间线上,可以更快做出判断。


注册表单输入值​

输入栏填写内容示例
IP 地址设备管理 IP10.20.30.1
端口标准 161161
采集周期轮询周期(ms)10000(基础设施指标请设长)

选项​

选项默认值说明
communitypublicSNMP 社区字符串
request-timeout2000响应等待(ms)
不要保留 public 原样

即使是只读,社区字符串也是密码。请在设备上单独创建只读社区,并确保管理网络之外不开放 161 端口。


标签的 PLC 地址表示 — OID​

标签的 PLC 地址 = OID(点分表示法)。前面的 . 可有可无。

OID说明
1.3.6.1.2.1.1.3.0sysUpTime — 设备已运行时间
1.3.6.1.2.1.1.5.0sysName — 设备名称
1.3.6.1.2.1.2.2.1.10.1ifInOctets.1 — 1 号端口接收字节
1.3.6.1.2.1.2.2.1.8.1ifOperStatus.1 — 1 号端口链路状态

🔴 不要遗漏末尾的索引。 标量值是 .0,表值是 .<인덱스> 附加。1.3.6.1.2.1.1.3 不是值而是「分支」,因此返回空值。

对于 UPS·PDU 等制造商特有指标,OID 记录在该制造商的 MIB 文档中。

值如何传入​

SNMP 类型传入的值
INTEGER · Counter32 · Gauge32 · TimeTicks数字
OCTET STRING字符串(不可打印字符则显示为 hex)
OID点分表示字符串
IpAddressa.b.c.d
noSuchObject · noSuchInstance · endOfMibView空字符串
Counter 是「累计值」

ifInOctets 之类的 Counter 是持续增长的累计值,其本身意义不大。如果需要每秒增量,请用计算公式做差分 → 公式应用


无法正常工作时​

症状首先检查
全部为空值社区字符串、设备的 SNMP 允许 IP 列表
仅特定 OID 为空是否附加了索引(.0 · .1)、该设备是否支持该 MIB
间歇性为空因为是 UDP 可能丢失 — 请增大 request-timeout