NEC Express5800/R120b-2 Guide de l'utilisateur Page 547

  • Télécharger
  • Ajouter à mon manuel
  • Imprimer
  • Page
    / 556
  • Table des matières
  • DEPANNAGE
  • MARQUE LIVRES
  • Noté. / 5. Basé sur avis des utilisateurs
Vue de la page 546
Accessing Power and Performance Data I-5
Sub GetSensor(rv_ls, rv_ms, rc_ls, rc_ms, sensorNum)
Dim outtmp, units1, units2, sensortype
oinparams.networkfunction = &ha
oinparams.lun = 0
oinparams.responderaddress = &h20
oinparams.command = &h23
oinparams.requestdata = array(rv_ls, rv_ms, rc_ls, rc_ms, 20, 14)
oinparams.requestdatasize = 6
set outtmp = oipmi.execmethod_("requestresponse",oinparams)
units1 = outtmp.ResponseData(3)
Select Case outtmp.ResponseData(4)
case 0: units2 = "unspecified"
case 1: units2 = "degrees C"
case 6: units2 = "Watts"
case else: units2 = "Refer to IPMI Specification: Type=0x" _
& hex(outtmp.ResponseData(4))
End Select
' (Get Sendor Reading)
Dim sensorData, rawData, currentValue
oinparams.networkfunction = &h4
oinparams.lun = 0
oinparams.responderaddress = &h20
oinparams.command = &h2d
oinparams.requestdata = array(sensorNum)
oinparams.requestdatasize = 1
set sensorData = oipmi.execmethod_("requestresponse",oinparams)
If sensorData.Completioncode <> 0 Then
'WScript.Echo " Sensor Not Available"
exit Sub
End If
rawData = sensorData.ResponseData(1)
If units1 and &h40 Then
If rawData And &h80 Then
rawData = rawData Xor &hff
End If
Elseif units1 and &h80 Then
call get2complement(rawData, rawData, 8)
End If
If (sensorData.ResponseData(2) And &h80) = 0 Or _
(sensorData.ResponseData(2) And &h40) = 0 Or _
(sensorData.ResponseData(2) And &h20) Then
WScript.Echo " Event Status: Unavailable"
Else
'WScript.Echo " Event Status: ok"
Dim M,B,k1,k2
Dim ret
M = (outtmp.ResponseData(8) And &hc0) * 4 + outtmp.ResponseData(7)
B = (outtmp.ResponseData(10) And &hc0) * 4 + outtmp.ResponseData(9)
call get2complement(M, M, 10)
call get2complement(B, B, 10)
call get2complement(outtmp.ResponseData(12) And &h0f, k1, 4)
call get2complement((outtmp.ResponseData(12) And &hf0)/16, k2, 4)
currentValue = CDbl (((M * rawData) + (B * (10 ^ k1))) * (10 ^ k2))
WScript.Echo " Current Value = " & currentValue & " " & units2
End If
End Sub
Vue de la page 546
1 2 ... 542 543 544 545 546 547 548 549 550 551 552 ... 555 556

Commentaires sur ces manuels

Pas de commentaire