<< Click to Display Table of Contents >> Navigation: NmxDLL Referenz > API (programming interface) > Get device information > NMX_GetChannelInfo_1 |
This function is used to read information about a measurement channel. If supported by the probe, additional probe information is provided (digital probe type plate).
Definition
NMX_STATUS NMX_GetChannelInfo_1(
NMX_PHANDLE pHandle,
unsigned long ulChannelNo,
unsigned long* pulChannelType,
unsigned long* pulNDigits,
unsigned long* pulBoxNo,
unsigned long* pulReserved,
unsigned long* pulBoxChannelNo,
signed long* pslRawDataType,
signed long* pslFactNumerator,
signed long* pslFactDenominator,
float* pflFactDigitsToUnit,
char* pcUnit, unsigned long ulSizeofUnit,
char* pcOrderNo, unsigned long ulSizeofOrderNo,
char* pcSerialNo, unsigned long ulSizeofSerialNo);
Parameter
pHandle
ulChannelNo
Number of the measurement channel.
The first channel has the number 0.
Having a device with 8 measurement channels, these are numbered 0..7.
pulChannelType
Measurement channel type. See below for a list of channel types.
pulNDigits
Recommended max. number of decimal places for the measurement value, converted to its unit.
E.g. pulNDigits = 2 --> 54.17µm
pulBoxNo
Number of the Box, where the measurement channel is located.
pulReserved
Reserved for future use.
pulBoxChannelNo
Number of the channel within its measurement box.
Numbering starts at 1 with each Box.
Example: In a system with 2 Boxes à 8 Channels, Channel number 11 is the 4th channel of the second box. Thus the value 4 is returned.
pslRawDataType
Data type, in which the measurement data is acquired.
0 = Unknown (DTRAW_UNKNOWN)
1 = signed 8 Bit (DTRAW_SINT08)
2 = signed 16 Bit (DTRAW_SINT16)
4 = signed 32 Bit (DTRAW_SINT32)
8 = signed 64 Bit (DTRAW_SINT64)
See the data types chapter for more information.
pslFactNumerator
Numerator of the factor, which is used for converting the digit value into its physical unit.
For some channel types, the physical unit is unknown by the device. Then this value is 1.
For some channel types, e.g. inductive probes, this is also the maximum stroke, which the probe has.
pslFactDenominator
Denominator of the factor, which is used for converting the digit value into its physical unit.
For some channel types, the physical unit is unknown by the device. Then this value is 1.
pflFactDigitsToUnit
= pslFactNumerator / pslFactDenominator.
Floating point representation of the factor, which is used for converting the digit value into its physical unit.
(ANSI/IEEE Std 754-1985; IEC-60559:1989: single precision 32 Bit)
pcUnit
ASCII based string with the channels physical unit (or "Digits" if the unit is unknown). The maximum string length is 9 characters (8 + Termination).
ulSizeofUnit
Maximum size of pcUnit in Bytes/Characters.
pcOrderNo
ASCII based string with the probe/sensors order number, if available. The maximum string length is 17 characters (16 + Termination).
ulSizeofOrderNo
Maximum size of pcOrderNo in Bytes/Characters.
pcSerialNo
ASCII based string with the probe/sensors serial number, if available. The maximum string length is 17 characters (16 + Termination).
ulSizeofSerialNo
Maximum size of pcSerialNo in Bytes/Characters.
Typical function call (C example)
NMX_GetChannelInfo_1(pHandle, ulChannel, &ulChannelType, &ulNDigits, &ulBoxNo, NULL, &ulBoxChannelNo, &slRawDataType, &slFactNumerator, &slFactDenominator, &flFactDigitsToUnit, acUnit, sizeof(acUnit), acOrderNo, sizeof(acOrderNo), acSerialNo, sizeof(acSerialNo));
Channel types
The channel type allows identifying the channel and/or probe type. The list is constantly expanded. Currently the following types are supported:
Type |
Hex value |
Description |
---|---|---|
CHANNEL_TYPE_UNKNOWN |
0x0000 |
No channel type available |
CHANNEL_TYPE_TESA2000 |
0x0100 |
Tesa HalfBridge or compatible, 13 kHz, 3Veff, Default Stroke: ±2mm at 73.75mV/V/mm |
CHANNEL_TYPE_TESA2000_LIN |
0x0101 |
Tesa HalfBridge or compatible, 13 kHz, 3Veff, Linearized, Max Stroke ±2mm |
CHANNEL_TYPE_TESA3000_LIN |
0x0103 |
Tesa HalfBridge or compatible, 13 kHz, 3Veff, Linearized, Max. Stroke ±3mm |
CHANNEL_TYPE_TESA5000_LIN |
0x0105 |
Tesa HalfBridge or compatible, 13 kHz, 3Veff, Linearized, Max. Stroke ±5mm |
CHANNEL_TYPE_IET200 |
0x0110 |
Knäbel IET, 50 kHz, 1.5Veff, Default Stroke: ±200µm |
CHANNEL_TYPE_SOLVDT1000 |
0x0120 |
Solartron LVDT or compatible, 5 kHz, 3Veff, Default Stroke: ±1mm at 200mV/V/mm |
CHANNEL_TYPE_SOLVDT100E1M |
0x0121 |
Solartron customized type. |
CHANNEL_TYPE_FEINP1000 |
0x0130 |
Feinprüf / Mahr, 20 kHz, 3Veff, Default Stroke: ±1mm |
CHANNEL_TYPE_MARPLVDT |
0x0140 |
Marposs LVDT, Default Stroke: ±1mm |
CHANNEL_TYPE_INCTTL |
0x0200 |
Incremental Encoder TTL/RS422 |
CHANNEL_TYPE_INC1VSS |
0x0210 |
Incremental Encoder 1Vpp |
CHANNEL_TYPE_AIND10 |
0x0300 |
Analogue Input ±10V Differential |
CHANNEL_TYPE_TEMPKC |
0x0400 |
Thermocouple, K-Type |
CHANNEL_TYPE_LASER |
0x0500 |
Laser-Sensor (Sub-Types available). |
.Net DLL specific implementation
NMX_MSTATUS GetChannelInfo_1(
System::IntPtr pHandle,
System::UInt32 ulChannelNo,
System::UInt32 %pulChannelType,
System::UInt32 %pulNDigits,
System::UInt32 %pulBoxNo,
System::UInt32 %pulReserved,
System::UInt32 %pulBoxChannelNo,
System::Int32 %pslRawDataType,
System::Int32 %pslFactNumerator,
System::Int32 %pslFactDenominator,
System::Single %pflFactDigitsToUnit,
System::String ^%strUnit,
System::String ^%strOrderNo,
System::String ^%strSerNo);
No Length/Sizeof-Parameters are required for the strings, since this information is not required in a .Net environment. They are directly returned as Unicode-strings. Hence no additional conversion is required.
Comments
It is good practice reading the channel count first. Then read the channel information for each channel.
The function only returns values, if the function return code is NST_SUCCESS. Otherwise the values remain unchanged.