Hi Warren,
you need the halType complex only, if the drive send one variable that is a union of several individual variables.
E.g. position an status bits together.
With the complex type, you can divide it, like this.
The union is a variable with 48 bit, statusbits and position together.
The complex type divide it in single status bits and separate position
<pdoEntry idx="7000" subIdx="02" bitLen="48" halType="complex">
<complexEntry bitLen="1" halPin="X-cmd-SwitchOn" halType="bit"/>
<complexEntry bitLen="1" halPin="X-cmd-EnableVoltage" halType="bit"/>
<complexEntry bitLen="1" halPin="X-cmd-/QuickStop" halType="bit"/>
<complexEntry bitLen="1" halPin="X-cmd-EnableOperation" halType="bit"/>
<complexEntry bitLen="1" halPin="X-cmd-NewSetpoint" halType="bit"/>
<complexEntry bitLen="1" halPin="X-cmd-ChangeSetImmediatly" halType="bit"/>
<complexEntry bitLen="1" halPin="X-cmd-RelativPos" halType="bit"/>
<complexEntry bitLen="1" halPin="X-cmd-FaultReset" halType="bit"/>
<complexEntry bitLen="1" halPin="X-cmd-Halt" halType="bit"/>
<complexEntry bitLen="1" halPin="X-cmd-bit09" halType="bit"/>
<complexEntry bitLen="1" halPin="X-cmd-bit10" halType="bit"/>
<complexEntry bitLen="1" halPin="X-cmd-bit11" halType="bit"/>
<complexEntry bitLen="1" halPin="X-cmd-bit12" halType="bit"/>
<complexEntry bitLen="1" halPin="X-cmd-bit13" halType="bit"/>
<complexEntry bitLen="1" halPin="X-cmd-bit14" halType="bit"/>
<complexEntry bitLen="1" halPin="X-cmd-bit15" halType="bit"/>
<complexEntry bitLen="32" halPin="X-TargetPos" halType="float" scale="1000"/>
</pdoEntry>
regards Frank