X20 system modules • Analog input modules • X20AP31x1
X20 system User's Manual 3.10
325
4.3.14.10.4 Interface for transferring process variable mapping
Due to the amount of potential cyclic input data and the limitation to 30 byte cyclic X2X data, the extended Flat
Stream interface, DPS = Data Point Stream, has been defined as the mechanism for transferring the process
variables. DPS is based on the Flat Streaming Interface (FSI) for serial interface modules. The FSI was expanded
to include the block number as the first byte of the user data frame and implements the termination of a frame
(data image of the channel) with a zero segment.
The data blocks are re-transferred if a read request is triggered after a transfer has been completed. A block number
can be sent via the DPS to set a different block or transfer the entire image (default: block number 0).
It should be possible to adapt the DPS interface to the available buffer size. However, the higher-level fieldbus
must be taken into account when doing so (e.g.: CAN 8 byte object, InputMTU size 7). The block number is added
to the front of the actual payload data as a means to differentiate the blocks.
#define ADC_BLK_ALL 0 // struct ADC_REG
#define ADC_BLK_STATUS 1 // long NetT struct ADC_REG_STATUS
#define ADC_BLK_RMS 2 // struct ADC_REG_RMS
#define ADC_BLK_POWER 3 // struct ADC_REG_POWER
#define ADC_BLK_THD_ANGLE 4 // struct THD_ANGLE
#define ADC_BLK_ENERGY 5 // long NetTime struct ADC_REG_ENERGY
#define ADC_BLK_DFT 6 // long NetT struct ADC_REG_DFT
#define ADC_BLK_CFGACT 7 // struct ADC_REG_CFGACT
#define ADC_BLK_ENVREG 8 // struct ENV_STATUS
Information:
•
Consistency of the data is only provided for the individual variables because the data is trans-
ferred from the AD converter asynchronously to the conversion.
•
Make sure that the byte sequence of the register is in accordance with the Little Endian model
(Intel format).
The NetTime timestamps are always updated after the blocks are generated when preparing a new alternating
buffer.
4.3.14.10.4.1 Data block structure
ADC_REG
typedef struct ADC_REG ADC_REG;
struct ADC_REG
{
long NetTimeReg; // Time of Section copy to Buffer
ADC_REG_STATUS Status; // Status registers
ADC_REG_RMS Rms; // RMS Registers
ADC_REG_POWER Power; // Power Registers
ADC_REG_THD_ANGLE ThdAngle; // THD + Angle Registers
// Regular Energy Registers
long NetTimeEnergy; // Time of Section copy to Buffer
ADC_REG_ENERGY Energy; // Energy Registers
long NetTimeDft; // Time of Section copy to Buffer
ADC_REG_DFT Dft; // DFT Registers
// Read Back selected CFG Registers
ADC_REG_CFGACT CfgAct; // Config read back
// Read Back Environment Registers
ENV_STATUS EnvReg;
};
Summary of Contents for X20 System
Page 2: ......