Si, perfecto, es correcto como lo planteas.
Disculpa la demora en constestar, pero recién retornamos de vacaciones.
Solo una pequeña corrección, podes hacer:
ChequearStatusSalida (PlacaNro, SalidaNro)
{
new DoutState
Stx570_DoutReadAll(PlacaNro, DoutState)
return xBitRead(DoutState, SalidaNro)
}
La función xBitRead() a diferencia de BitRead() devuelve "0" o "1" de acuerdo al valor del bit. Ya que BitRead() devuelve "0" si el bit=0 y diferente a 0 (un numero positivo) si el bit=1.
Por otro lado, si queres utilizar las constantes EDOUT, podes usar xNBitRead().
ChequearStatusSalida (PlacaNro, SalidaNro)
{
new DoutState
Stx570_DoutReadAll(PlacaNro, DoutState)
return xNBitRead(DoutState, SalidaNro)
}
Y lo usas:
ChequearStatusSalida(0, EDOUT1)
Estamos a disposición.