Questa istruzione permette di avere informazioni sulla maschera allarmi AM, in funzione del numero dell'allarme e dell'eventuale numero di asse.
|
i32 al2am (i32 nAl , i32 nAx, i32 whichInfo)
|
|
Numero dell'allarme.
|
|
Numero dell'asse (1-:-32) o 0 se l'allarme non è di asse.
|
|
Tipo di informazione sulla maschera allarmi (AM) voluta:
|
|
0
|
Stato del bit dell'AM relativa all'allarme.
|
1
|
Indice dell'AM relativa all'allarme.
|
2
|
Bit dell'indice dell'AM relativa all'allarme.
|
3
|
Bit dell'indice dell'AM relativa all'allarme, sottoforma di maschera.
|
|
|
Rende:
|
|
|
Errore.
|
-1
|
Numero allarme illegale.
|
-2
|
Numero asse illegale.
|
-3
|
Tipo di informazione richiesta illegale.
|
-4
|
L'allarme specificato non è un allarme di asse.
|
-5
|
L'allarme specificato è un allarme di asse, o non è associata alcuna AM.
|
-6
|
L'associazione al bit dell'AM non è definita.
|
whichInfo = 0
|
0
|
Stato del bit dell'AM relativo all'allarme basso (ovvero allarme non presente).
|
1
|
Stato del bit dell'AM relativo all'allarme alto (ovvero allarme presente).
|
whichInfo = 1
|
>= 0
|
Indice dell'AM corrispondente all'allarme scelto.
|
whichInfo = 2
|
>= 0
|
Bit dell'indice dell'AM corrispondente all'allarme scelto.
|
whichInfo = 3
|
>= 0
|
Bit dell'indice dell'AM corrispondente all'allarme scelto, sottoforma di maschera.
|
|
|
Rule, Task.
|
|
|
Esempio di utilizzo:
result = al2am(9900, 0, whichInfo)
•whichInfo = 0 -> result = 1 se l'allarme 9900 è presente, altrimenti result = 0
•whichInfo = 1 -> result = 49
•whichInfo = 2 -> result = 27
•whichInfo = 3 -> result = 134217728 (0x8000000) |
Esempio di utilizzo:
u32 SUM_MAC_DIAGNO, appo, mB
i32 nAX, iB
appo = 0
iB = al2am(10, 1, 2)
for(nAX = 1 , nAX <= 6 , nAX)
if(AM(nAX).(iB))
appo.(10) = true
break
endif
endfor
iB = al2am(11, 1, 2)
for(nAX = 1 , nAX <= 6 , nAX)
if(AM(nAX).(iB))
appo.(11) = true
break
endif
endfor
mB = al2am(1500, 1, 3)
for(nAX = 1 , nAX <= 6 , nAX)
if(AM(nAX) r_and mB)
appo.(12) = true
break
endif
endfor
|
|