9.5. Diagnosis
9.5.1. emonGetDiagnosisImagePtr
-
EC_T_BYTE *emonGetDiagnosisImagePtr(EC_T_DWORD dwInstanceID)
Gets the diagnosis image pointer.
- Parameters
dwInstanceID – [in] Instance ID (Multiple EtherCAT Network Support)
- Returns
Diagnosis image pointer
9.5.2. emonGetDiagnosisImageSize
-
EC_T_DWORD emonGetDiagnosisImageSize(EC_T_DWORD dwInstanceID)
Gets the diagnosis image size.
- Parameters
dwInstanceID – [in] Instance ID (Multiple EtherCAT Network Support)
- Returns
Diagnosis image size
9.5.3. emonGetMasterSyncUnitInfoNumOf
-
EC_T_DWORD emonGetMasterSyncUnitInfoNumOf(EC_T_DWORD dwInstanceID)
Get number of Master Sync Units info entries.
- Parameters
dwInstanceID – [in] Instance ID (Multiple EtherCAT Network Support)
- Returns
Number of Master Sync Units info entries
9.5.4. emonGetMasterSyncUnitInfo
-
EC_T_DWORD emonGetMasterSyncUnitInfo(EC_T_DWORD dwInstanceID, EC_T_WORD wMsuId, EC_T_MSU_INFO *pMsuInfo)
Get information about a specific Master Sync Unit.
- Parameters
dwInstanceID – [in] Instance ID (Multiple EtherCAT Network Support)
wMsuId – [in] Master Sync Unit to get the information from
pMsuInfo – [out] Pointer to an EC_T_MSU_INFO structure receiving the Master Sync Unit information
- Returns
EC_E_NOERROR or error code
MSU_ID_ALL_INFO_ENTRIES retrieves the information from all MainDevice sync units at once. The application must ensure that pMsuInfo is capable for all entries.
-
struct EC_T_MSU_INFO
Public Members
-
EC_T_WORD wMsuId
[out] Master Sync Unit ID (ENI: Slave/ProcessData/RxPdo[1..4]@Su, Slave/ProcessData/TxPdo[1..4]@Su, comment at Cyclic/Frame/Cmd)
-
EC_T_DWORD dwBitOffsIn
[out] Process Data Image INPUTs bit offset
-
EC_T_DWORD dwBitSizeIn
[out] Process Data Image INPUTs bit length
-
EC_T_DWORD dwBitOffsOut
[out] Process Data Image OUTPUTs bit offset
-
EC_T_DWORD dwBitSizeOut
[out] Process Data Image OUTPUTs bit length
-
EC_T_WORD wWkcStateDiagOffsIn
[out] INPUTs WkcState bit offset in Diagnosis Image. (Bit values: 0 = Process Data valid, 1 = Process Data invalid)
-
EC_T_WORD wWkcStateDiagOffsOut
[out] OUTPUTs WkcState bit offset in Diagnosis Image. (Bit values: 0 = Process Data valid, 1 = Process Data invalid)
-
EC_T_DWORD adwReserved[16]
reserved
-
EC_T_WORD wMsuId
See also
9.5.5. emonGetSlaveStatistics
-
EC_T_DWORD emonGetSlaveStatistics(EC_T_DWORD dwInstanceID, EC_T_DWORD dwSlaveId, EC_T_SLVSTATISTICS_DESC *pSlaveStatisticsDesc)
Get Slave’s statistics counter.
- Parameters
dwInstanceID – [in] Instance ID (Multiple EtherCAT Network Support)
dwSlaveId – [in] Slave id
pSlaveStatisticsDesc – [out] Pointer to structure EC_T_SLVSTATISTICS_DESC
- Returns
EC_E_NOERROR or error code
9.5.6. emonBadConnectionsDetect
-
EC_T_DWORD emonBadConnectionsDetect(EC_T_DWORD dwInstanceID, EC_T_BOOL bRefreshSlaveStatistics, EC_T_DWORD dwTimeout)
Detects bad connections.
Analyzes the slave ESC error counters:
Invalid Frame Counter (0x0300),
RX Error Counter (0x0301),
Lost Link Counter (0x0310),
whether there is a problem in the area PHY - connector - cable - connector - PHY. If one of the above error counters shows a value not equal to zero, an EC_NOTIFY_BAD_CONNECTION is generated, which contains the exact position of the faulty connection.
- Parameters
dwInstanceID – [in] Instance ID (Multiple EtherCAT Network Support)
bRefreshSlaveStatistics – [in] Not supported by EC-Monitor, set to EC_FALSE
dwTimeout – [in] Timeout [ms]. Not currently used by EC-Monitor, but may not be EC_NOWAIT!
- Returns
EC_E_NOERROR or error code
9.5.7. emonIoCtl - EC_IOCTL_GET_SLVSTATISTICS
-
EC_IOCTL_GET_SLVSTATISTICS
Get Slave’s statistics counter. Counters are collected on a regular basis (default: off) and show errors on Ethernet layer.
- Parameters
pbyInBuf – [in] Pointer to an EC_T_DWORD type variable containing the slave id
dwInBufSize – [in] Size of the input buffer provided at pbyInBuf in bytes
pbyOutBuf – [out] Pointer to struct EC_T_SLVSTATISTICS_DESC
dwOutBufSize – [in] Size of the output buffer provided at pbyOutBuf in bytes
pdwNumOutData – [out] Pointer to EC_T_DWORD. Amount of bytes written to the output buffer.
- Returns
EC_E_NOERROR or error code
-
struct EC_T_SLVSTATISTICS_DESC
Public Members
-
EC_T_BYTE abyInvalidFrameCnt[ESC_PORT_COUNT]
[out] Invalid Frame Counters per Slave Port
-
EC_T_BYTE abyRxErrorCnt[ESC_PORT_COUNT]
[out] RX Error Counters per Slave Port
-
EC_T_BYTE abyFwdRxErrorCnt[ESC_PORT_COUNT]
[out] Forwarded RX Error Counters per Slave Port
-
EC_T_BYTE byProcessingUnitErrorCnt
[out] Processing Unit Error Counter
-
EC_T_BYTE byPdiErrorCnt
[out] PDI Error Counter
-
EC_T_WORD wAlStatusCode
[out] AL Status Code
-
EC_T_BYTE abyLostLinkCnt[ESC_PORT_COUNT]
[out] Lost Link Counters per Slave Port
-
EC_T_UINT64 qwReadTime
[out] Timestamp of the last read [ns]
-
EC_T_UINT64 qwChangeTime
[out] Timestamp of the last counter change [ns]
-
EC_T_BYTE abyInvalidFrameCnt[ESC_PORT_COUNT]
See also
9.5.8. emonClearSlaveStatistics
-
EC_T_DWORD emonClearSlaveStatistics(EC_T_DWORD dwInstanceID, EC_T_DWORD dwSlaveId)
Clears all error registers of a slave.
- Parameters
dwInstanceID – [in] Instance ID (Multiple EtherCAT Network Support)
dwSlaveId – [in] Slave Id, INVALID_SLAVE_ID clears all slaves
- Returns
EC_E_NOERROR or error code
Note
Only the buffered error register values are deleted. The actual counters on the SubDevices remain unchanged.
See also
9.5.9. emonIoCtl - EC_IOCTL_CLR_SLVSTATISTICS
-
EC_IOCTL_CLR_SLVSTATISTICS
Clear all error registers in all slaves.
- Parameters
pbyInBuf – [in] Should be set to EC_NULL
dwInBufSize – [in] Should be set to 0
pbyOutBuf – [out] Should be set to EC_NULL
dwOutBufSize – [in] Should be set to 0
pdwNumOutData – [out] Should be set to EC_NULL
- Returns
EC_E_NOERROR or error code
See also
9.5.10. emonIoCtl - EC_IOCTL_SB_STATUS_GET
-
EC_IOCTL_SB_STATUS_GET
This call will get the status of the last bus scan.
- Parameters
pbyInBuf – [in] Should be set to EC_NULL
dwInBufSize – [in] Should be set to 0
pbyOutBuf – [out] Pointer to EC_T_SB_STATUS_NTFY_DESC
dwOutBufSize – [in] Size of the output buffer in bytes
pdwNumOutData – [out] Pointer to EC_T_DWORD. Amount of bytes written to the output buffer.
- Returns
EC_E_NOERROR or error code