int MSXE173x__MFEndatGetSensorProperties ( xsd__unsignedLong  ulConnectorIndex,
xsd__unsignedLong  ulChannelIndex,
xsd__unsignedLong  ulOption01,
xsd__unsignedLong  ulOption02,
xsd__unsignedLong  ulOption03,
xsd__unsignedLong  ulOption04,
struct MSXE173x__MFEndatGetSensorPropertiesResponse Response 
)

Before calling this function, you must call the MSXE173x__MFEndatInitSensor function.

Parameters:
[in] ulConnectorIndex Index of the EnDat connector (0 to 3). See on the MSX-E system.
[in] ulChannelIndex Index of the channel. Set to 0
[in] ulOption01 Reserved. Set to 0
[in] ulOption02 Reserved. Set to 0
[in] ulOption03 Reserved. Set to 0
[in] ulOption04 Reserved. Set to 0
[out] Response 
sResponse.iReturnValue

  • 0 The remote function performed OK
  • -1 System error occurred
  • -2 The PLD is not working
  • -3 The ulConnectorIndex parameter is wrong
  • -4 The ulChannelIndex parameter is wrong
  • -5 The component is not programmed as EnDat
  • -6 The driver is in a wrong state (must be INITIALISED)
  • -7 Error while selecting memory area 0xA3
  • -8 Error while reading ID number (address 0x8)
  • -9 Error while reading ID number (address 0x9)
  • -10 Error while reading ID number (address 0xA)
  • -11 Error while reading Serialnumber (address 0xB)
  • -12 Error while reading Serialnumber (address 0xC)
  • -13 Error while reading Serialnumber (address 0xD)
  • -14 Error while selecting memory area 0xA1
  • -15 Error while reading encoder model (address 0xE)
  • -16 Error while reading signal period length or signal periods per revolution for incremental output signals (address 0xF)
  • -17 Error while getting the position
  • -18 Error while selecting memory area 0xA3
  • -19 Error while reading signal period length or signal periods per revolution for incremental output signals (address 0x0)
  • -20 Error while reading measuring step length or measuring steps per revolution with serial data transfer (address 0x4)
  • -21 Error while reading measuring step length or measuring steps per revolution with serial data transfer (address 0x5)
  • -22 Error while selecting memory area 0xBD
  • -23 Error while reading scaling factor for resolution (address 0x1B)
  • -24 Error while reading measuring step, or measuring steps per revolution or subdivision values of a grating period (address 0x1C)
  • -25 Error while reading measuring step, or measuring steps per revolution or subdivision values of a grating period (address 0x1D)
  • -26 Error while reading measuring step length or measuring steps per revolution with serial data transfer (address 0x4)
  • -27 Error while reading measuring step length or measuring steps per revolution with serial data transfer (address 0x5)
  • -28 Error while reading measuring step length or measuring steps per revolution with serial data transfer (address 0x4)
  • -29 Error while reading measuring step length or measuring steps per revolution with serial data transfer (address 0x5)
  • -30 Error while reading distinguishable revolutions (address 0x1)
  • -31 Error while selecting memory area 0xBD
  • -32 Error while reading number of distinguishable revolutions with scaling factor (address 0x22)
  • -33 Error while selecting memory area 0xBD
  • -34 Error while reading status of additional datum 1 (address 0x0)
  • -35 Error while reading status of additional datum 2 (address 0x1)
  • -41 Transmission error. Please call MSXE173x__MFEndatGetErrorSources to get more information
  • -100 Internal system error occurred. See value of syserrno

sResponse.syserrno system-error code (the value of the libc "errno" code)
ulIDNumberLsb ID Number - low bits (see page 67/121 of EnDat specifications)
ulIDNumberMsb ID Number - high bits (see page 67/121 of EnDat specifications)
ulSerialNumberLsb Serialnumber - low bits (see page 68/121 of EnDat specifications)
ulSerialNumberMsb Serialnumber - high bits (see page 68/121 of EnDat specifications)
ulModel Model/Type of the sensor (see page 79/84 of EnDat application notes 722024)

  • 0, 1, 2, 3 Incremental linear encoder
  • 4, 6 Absolute linear encoder
  • 8, 9, 10, 11 Incremental rotary encoder or angle encoder
  • 12 Singleturn encoder
  • 13, 14 Multiturn encoder

ulMode Support of EnDat 2.2

  • 0 Sensor does not support EnDat 2.2. commands
  • 1 Sensor supports EnDat 2.2 commands

ulPositionSize Size of the position value send by the sensor (in bits)
ulSignalPeriod Signal period length or signal periods per revolution for incremental output signals (see page 79/84 of EnDat application notes 722024)
ulStepPerRevolution Measuring step length or measuring steps per revolution with serial data transfer (see page 79/84 of EnDat application notes 722024)
ulNumberOfRevolution Distinguishable revolutions - only for multiturn encoders (see page 79/84 of EnDat application notes 722024)
ulScalingFactor Scaling factor for resolution (see page 79/84 of EnDat application notes 722024)
ulAdditionalData Supported additional data (see page 85/121 of EnDat specifications)

  • Bit 0 "Position value 2" is available (MRS-Code: 0x42, 0x43, 0x44)
  • Bit 1 "Test values" is available (MRS-Code: 0x49, 0x4A, 0x4B)
  • Bit 2 "Temperature sensor 1 (external)" is available (MRS-Code: 0x4C)
  • Bit 3 "Temperature sensor 2 (external)" is available (MRS-Code: 0x4D)
  • Bit 4 "Additional sensors" is available (MRS-Code: 0x4E)
  • Bit 16 "Commutation" is available (MRS-Code: 0x51)
  • Bit 17 "Acceleration" is available (MRS-Code: 0x52)
  • Bit 18 "Limit position signals" is available (MRS-Code: 0x54)
  • Bit 19 "Asynchronous position value" is available (MRS-Code: 0x56, 0x57, 0x58)
  • Bit 20 "Operating status error sources" is available (MRS-Code: 0x59)
  • Bit 23 "Timestamp" is available (MRS-Code: 0x5B)
Return values:
0 SOAP_OK
Others See SOAP error