Details
-
Type: Bug
-
Status: Closed
-
Priority: Minor
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: V3.7.5.0
-
Component/s: None
-
Labels:None
-
Account:SPC EthernetIp Core (SPCETHERNET)
Description
Currently, in case the stack is in Bus state OFF state, ulSlaveState in the Common Status Block is set to 0 (HIL_SLAVE_STATE_OK) independent of whether or not there are slaves configured.
The slave state shall be independent of the bus state.
This is what the DMP Manual (Rev 17) defines:
If there is at least one slave missing or one of the slaves has pending diagnostic information, the status is changed to HIL_SLAVE_STATE_FAILED.
Therefore, the slave state shall behave as follows:
if (ulNumOfConfigSlaves == 0 and ulNumOfActiveSlaves == 0 and ulNumOfDiagSlaves == 0) { ulSlaveState = HIL_SLAVE_STATE_UNDEFINED } else if (ulNumOfDiagSlaves != 0) { ulSlaveState = HIL_SLAVE_STATE_FAILED } else if (ulNumOfConfigSlaves != ulNumOfActiveSlaves) { ulSlaveState = HIL_SLAVE_STATE_FAILED } else { ulSlaveState = HIL_SLAVE_STATE_OK }