OID refers to the OID of an SNMP point of the agent. TRAP refers to the OID reported by a trap sent from the agent to assert the condition true. UNTRAP refers to the OID reported by a trap sent from the agent to de-assert the condition. Note that a received trap code may cause more than one trap condition to be cleared. Some traps do not have specific reset codes. In the above example, trap code 9, the power on trap, clears more than one. Recall that traps are asynchronous messages initiated by the agent. Only boolean types may have traps. The existence of OID and TRAP/UNTRAP attributes are mutually exclusive. A structure member MUST have at least one of the attributes of OID, TRAP or UNTRAP to be considered valid as structures used for an SNMP operator. Design Pad uses an extension to XML files to specify OIDs , TRAPs and UNTRAPs to be processed. Design Pad G4 treats packages of OIDs as structures for transmission by the broadcast and receive operators. The XML structure definition for SNMP support of the Nova UPS (the device with which Fairmount Automation nodes most often interface) is as follows:
<LIBRARYFILE Name="NOVA UPS">
<LIBRARY Name="NOVA">
<STRUCTURE Name="BatteryStatusStruct">
<FLOAT Name="BatteryStatus" OID="1.3.6.1.4.1.27358.33.1.2.1" /> 1=unknown, 2=normal,3=battery low, 4= battery depleted
<FLOAT Name="SecondsOnBattery" OID="1.3.6.1.4.1.27358.33.1.2.2" /> Seconds running on battery
<FLOAT Name="PercentRemaining" OID="1.3.6.1.4.1.27358.33.1.2.3" /> Percentage charge remaining
<FLOAT Name="BatteryVoltageX10"OID="1.3.6.1.4.1.27358.33.1.2.4" /> Battery voltage times 10
<FLOAT Name="BatteryTempInC"OID="1.3.6.1.4.1.27358.33.1.2.5" /> Battery temperature in degrees C
<FLOAT Name="MinutesRemaining"OID="1.3.6.1.4.1.27358.33.1.2.6" /> Minutues remaining until depleted
</STRUCTURE>
<STRUCTURE Name="AlarmsStruct">
<BOOL Name="UtilityFailed"OID="1.3.6.1.4.1.27358.33.1.5.2" /> The AC source has failed
<BOOL Name="InverterAlarm"OID="1.3.6.1.4.1.27358.33.1.5.3" /> An inverter problem exists
<BOOL Name="BatteryAlarm"OID="1.3.6.1.4.1.27358.33.1.5.4" /> A battery problem exists
<BOOL Name="LogicAlarm"OID="1.3.6.1.4.1.27358.33.1.5.5" /> An logic problem exists
<BOOL Name="OverloadAlarm"OID="1.3.6.1.4.1.27358.33.1.5.6" /> An overload exists
<BOOL Name="TemperatureAlarm"OID="1.3.6.1.4.1.27358.33.1.5.7" /> An over-temperature exists
</STRUCTURE>
<STRUCTURE Name="ACOutputStruct">
<FLOAT Name="ACVoltage" OID="1.3.6.1.4.1.27358.33.1.7.3" /> The AC output in volts
<FLOAT Name="ACFrequencyX10"OID="1.3.6.1.4.1.27358.33.1.7.4" /> The AC frequency in Hz times 10
</STRUCTURE>
</LIBRARY>
</LIBRARYFILE>