SNMP MIB文件中FLOAT数值无法正常显示的问题求助
解决iReasoning中SNMP MIB浮点数值显示问题
排查与修复步骤
1. 刷新MIB加载缓存
- 先删除iReasoning中旧的MIB缓存:找到软件安装目录下的
mibs文件夹,移除之前加载的旧版myMIB文件。 - 重新加载修改后的MIB:打开iReasoning的
MIB Browser,通过File->Load MIBs选择你的MIB文件,加载完成后重启软件验证显示效果。
2. 修正TEXTUAL-CONVENTION的范围冲突
你定义的Thousandths语法范围是(-10000..10000),但myDeviceVoltage指定的范围(0..65535)超出了父TC的限制,这会导致iReasoning无法正确解析显示规则。修改TC的范围匹配实际需求:
Thousandths ::= TEXTUAL-CONVENTION DISPLAY-HINT "d-3" STATUS current DESCRIPTION "An integer to be displayed with 3 decimal places; i.e. 12345 displayed as 12.345" SYNTAX INTEGER (0..65535)
3. 检查iReasoning的显示配置
- 打开软件的
Preferences->Display选项,确认已开启TEXTUAL-CONVENTION显示提示的支持,部分版本默认关闭该功能。 - 在MIB浏览器中右键点击
myDeviceVoltage对象,选择Properties,查看Display Hint字段是否正确识别为d-3。若未识别,说明MIB加载不完整或存在语法错误。
4. 验证代理端返回数值
用snmpget或snmpwalk命令行工具测试代理返回的数值,比如实际电压为5.123V时,代理应返回整数5123。如果返回值不符合预期,需先排查代理端的数值转换逻辑是否正确。
内容的提问来源于stack exchange,提问作者sirAmin
相关产品推荐
相关产品推荐

