Back to top

Detecting Intermittent Communication Failures on Hiperface DSL due to EMC

If you suspect that you're experiencing EMC issues, this is a method used to identify intermittent communication failures on Hiperface DSL®.

Step 1 - Enable the Counter

The first thing to do is to enable logging certain events within the Workbench terminal.

DRV.MEMADDR DSL.EnableDslFaultCounter
DRV.MEMDATA

Step 2 - Run the Script

Paste the following into a Workbench Macro and run it.

DRV.MEMADDR QMLW.max_counter.U8
DRV.MEMDATA
DRV.MEMADDR QMLW.counter.U8
DRV.MEMDATA
DRV.MEMADDR QMLW.m_fault_exist.U8
DRV.MEMDATA
DRV.MEMADDR VPOS.max_counter.U8
DRV.MEMDATA
DRV.MEMADDR VPOS.counter.U8
DRV.MEMDATA
DRV.MEMADDR VPOS.m_fault_exist.U8
DRV.MEMDATA
DRV.MEMADDR POS.max_counter.U8
DRV.MEMDATA
DRV.MEMADDR POS.counter.U8
DRV.MEMDATA
DRV.MEMADDR POS.m_fault_exist.U8
DRV.MEMDATA
DRV.MEMADDR VRT.max_counter.U8
DRV.MEMDATA
DRV.MEMADDR VRT.counter.u8
DRV.MEMDATA
DRV.MEMADDR VRT.m_fault_exist.u8
DRV.MEMDATA

If there are any errors they'll be reported. Following is an example of output when there are no errors.

FaultCount-->DRV.MEMADDR QMLW.max_counter.U8
FaultCount-->DRV.MEMDATA
0
FaultCount-->DRV.MEMADDR QMLW.counter.U8
FaultCount-->DRV.MEMDATA
0
FaultCount-->DRV.MEMADDR QMLW.m_fault_exist.U8
FaultCount-->DRV.MEMDATA
0
FaultCount-->DRV.MEMADDR VPOS.max_counter.U8
FaultCount-->DRV.MEMDATA
0
FaultCount-->DRV.MEMADDR VPOS.counter.U8
FaultCount-->DRV.MEMDATA
0
FaultCount-->DRV.MEMADDR VPOS.m_fault_exist.U8
FaultCount-->DRV.MEMDATA
0
FaultCount-->DRV.MEMADDR POS.max_counter.U8
FaultCount-->DRV.MEMDATA
0
FaultCount-->DRV.MEMADDR POS.counter.U8
FaultCount-->DRV.MEMDATA
0
FaultCount-->DRV.MEMADDR POS.m_fault_exist.U8
FaultCount-->DRV.MEMDATA
0
FaultCount-->DRV.MEMADDR VRT.max_counter.U8
FaultCount-->DRV.MEMDATA
0
FaultCount-->DRV.MEMADDR VRT.counter.u8
FaultCount-->DRV.MEMDATA
0
FaultCount-->DRV.MEMADDR VRT.m_fault_exist.u8
FaultCount-->DRV.MEMDATA
0
-->

Definitions

xxx.counter: Counts how of this bit was set to 1 and reset (error situations).

xxx.max_counter: The maximum number of samples (each taking 250µs) this signal was set to 1 before it was cleared again.

xxx.m_fault_exist: The drive has a fault due to this signal bit.

POS: Fast position information becomes invalid. There are two reasons:

  • Signal disturbance within the encoder itself, caused by internal [i.e. LED] or external [shock & vib] problems
  • Transmission problems (DSL-frame disturbance) by EMC problems “

QMLW: Relates to the DSL-connection and signal transmission quality. It points to problems at the connection, which might also be EMC-related.

U8: This is an unsigned 8-bit integer.

VPOS, VRT: These two errors point to EMC and transmission problems within the cable (or the connection line).