Home
        Read the full technical note
         Contents
1.   u ba  e a e a 2 Vdd E Oi Ot Poise a   YUTA    xsvicksevele 7  1o Dl lL Measurement vimlesvanos 100 Ns  Orset Tron Scan etare vine s  P tiks   a    VUE e ee ale a aa Size or Cic aaa  Re a EAE oe cil a MO a a HcJe  values     bee    RELIABLE DATA FIRST TIME EVERY TIME       technical       Stiruicw 4  VUES  ype e eis 3s Bray Si4e OF Tee seem   lt    VUES  Cy cCaCOUNIESE dl    olla a  Or ecu Dro ADe ead iigce    I CIC LCOUIES     Screw    eZ   Ca CKS mete sa ticles 1Zem On we   Crm CWS    7  Ve UI tiGe Casi CKSaVal 5  ale  baited ar  Nes tane  v hissed    Sets TrOm Scan Stare vine     P IC E  lt   Sweuien 4  VUiee Mies ene ys seldieck See ton ie e S  e a Sail CSc Ss e bese tO eden eciominie la   I CC COMES     rU  VUT e ie E Wee T See    ere AU elKS     vaunt o aE re ibe Sa ci ING ie CIO Sir silos   CIOs aS tO ar  Servs 1P Ol o can Stot time 7  een me he ecee  siren    VUES 2 a e Vel eairdy a i2e com a   il lence ba  Vise   iii GS vice a a 4 bts  1 Or a ema nine le 7   Pmt     Note that there is only a single two part timestamp and one devid per scan  page  of data  associated with up to 48 channels data per scan  The time stamp indicates  when the scan started  If a timestamp for each measurement is desired  the     x_ticks     member can also be exposed     DeleteDatapage   lThis function can be used to remove a page of data from the Server  FIFO without reading it  This can be useful if a previous scan is interrupted and unread  data is left in the Server FIFO  You may want
2.  FIRST TIME EVERY TIME       technical       5  Initiate Acquisition   This state advances the trigger model from Idle layer to the Arm  layer  Since the arming configuration is set to immediate by default  it then proceeds  directly to the Trig Layer  In this example  the decimated timer signal causes a Trig Event  which causes a single scan to run on every tick set by the sample rate  After Acquisition  is initiated  the system time is recorded in order to keep track of how long the acquisition  has been running     6  Acquire   This is the state which polls for and displays any data on the Streaming  server FIFO  This state loops continuously until one final reading is made after the  acquisition time should have elapsed  or until the user decides to stop the scan via the  front panel button               iiss    O  iii    Server Fifo Count    Haz Actui   Data Count      Trigger Countr  ftSample Rater    wy Required Time for Scan   Wait    The    Get FIFO Count    VI queries the number of samples remaining on the box  waiting  for the LXI interface to send it to the PC  Another VI queries the FIFO on the Streaming  server  The wait control should be set to some time sufficient enough to execute the  loop completely  100ms is generally enough time for even the maximum scan rate     RELIABLE DATA FIRST TIME EVERY TIME       technical       7  Stop    This state simply shuts off the streaming server after the acquisition has been    stopped  Figure 6 displays the front panel 
3.  a dedicated process  which handles the incoming streamed data  For this example  there are no parameters  used  Successful memory allocation returns O     GetBufferCount   A simple query which returns the number of data pages currently  in the Server s FIFO  This basic query does not check the content of any of the data  collected     ReadStreamingData   Tlhis is the main accessor function for the Streaming Server s FIFO  data  In this example  we are only extracting the timestamp components  ss_secs   ss_nsecs  and sample values  x  members of the EX10xxA data structure  The other  members of the data structure are shown below and further detailed in the EX10xxA  User s Manual where it documents the EX10xxA_enable_streaming_data function of  the Plug amp Play driver  We also return an integer called    devid  which can be uniquely  assigned to each EX10xxA box which is streaming data in order to identify which  instrument the data is coming from     Struc Wdtarade      EX1O0xxA_SampleData  data   ine Che vel Ge    Is    Struct EXIOxxA_SampleData     VIUINES2 SSeSeeS     Calta Sample tite stamp  lt 7  VIVES 29sSunsecs 77s Traction Dari sOn tine Silane  i sidihioeseronds   microseconds in legacy mode      sir riet 4  ViUiMts2  lt clenis      apredy Size 01 davad samples 77  Vireda o2   xava li     Tdi array Ol Cava salples     1 x  spun    VUT sce aeon eke     sol lays 1 Ze Or ADL Ton o  Vilitts2  gt  SeOUuniSavdl  lt       cdiedtta  ool  cO  Ute DC MP eddindsa 27   x counte 
4.  processes   that data as needed  Contrast the previous figure with the streaming method shown in   Figure 2  More data is available at the host PC per unit time     Find out more about how the    RELIABLE DATA FIRST TIME EVERY TIME       technical       p     6660  E een   ai f     SD o o e E o    a o    Host PC EX1016A  16 Channel Precision Thermocouple    TIME TIME    SOFTWARE REQUIRED  e Microsoft Visual Studio C  2010      VTI Instrument EX10xxA Plug amp Play Driver  e Labview 2011  or later    STREAMING SERVER    Streaming requires a multi thread approach in which two processes are essentially  running at once  Modern operating systems can take advantage of multiple core  processors by simultaneously dedicating process flow to different cores  One such  process in this application runs in the background and handles all data received  from the instrument by copying it over to a FIFO on the host PC so thot it can later be  collected and processed by the main API  The actual example source code for both  the streaming server and the Labview API should accompany this document and you  should refer back to it while reading     RELIABLE DATA FIRST TIME EVERY TIME       technical       The following exposed functions are basic necessities for creating the simple streaming  server application provided in this example     StartServer   lInitializes a Critical Section Object for the callback and allocates memory  for the data pages sent by the EX10xxA  This initialization creates
5.  to clear out this data to begin with an  empty FIFO  In that case  this function should be looped for each page of data found  remaining in the FIFO before a new scan is initiated     StopServer   This function is necessary to delete and close out the Critical Section  Process     Two unexposed functions are also used  ServerCallback is a function which handles  the synchronous callback executed whenever data is received by the host PC from  the box  Itis best to optimize this function as much as possible so thot it is ready to  handle the next block of data it receives as soon as possible  To accomplish this  it  must allocate memory for storing the streamed data and put it on the Server FIFO   CopyDatapage handles the copying of the various data structures that the callback  requires     RELIABLE DATA FIRST TIME EVERY TIME       technical    LABVIEW API    The state machine Labview model was used in this example to break up the various  parts of the application                                  re cn rans enn nats m Ac q u ire   v M      E F    Use All Channels  i f    Boolean E d  Tab Control r      LJ LJ  i  Total Scans f    gt  a        i       Here is an overview of the states that are used     1  Init   This default state initializes the card and resets all measurement parameters to  the default state     2  Setup Channels   This state generates the scan list as well as the EU Conversion and  Filter frequency for those same channels  Alternatively  a user could have a 
6. controls     Total Scans Elapsed Time  s     0 0  Device Setup   Server Info Debug Info   Hours Minutes Seconds Nano Seconds Data Device ID  Jo fewn fo fo yo fo Je fo  VISA resource name 16 00 00 fo J bo o io o    TCPIPO  10 1 4 182  inst0  INSTR g    Trigger Count    Sample Rate   41000      4 J  100 Sa s  Device ID  J Use Specified Channels ry  J123  zJ 0 f j e s Wait     4  lt   100 ms  Scanlist i  EU COnversion  J Type K    STOP          CONCLUSION    By using Asynchronous Streaming  we overcome the limitations and inefficiencies  associated with the instrument polling method of data collection  Data is streamed to  the host machine as soon as it is available and collected into a FIFO on the host PC   The main User API then polls this data from the FIFO on the host PC in a much more  efficient manner  This allows the User to access the highest sampling rates available on  the device without a risk of overflowing the EX10xxA memory  It also represents about    half as much network traffic as the polling method would require     FIRST TIME EVERY TIME    RELIABLE DATA       
7. esent  the instrument still needs to receive the  request for data and send a response to indicate that no data is present  It is  important to note that LXI is not a strictly deterministic interface and polling at  some regular rate does not guarantee that you will receive the same amount  of data every time  Figure 1 shows the flow of a typical FIFO polling setup        VTI  Instruments    AMETEK       ADVANCED MEASUREMENT TECHNOLOGY    RELIABLE DATA FIRST TIME EVERY TIME       technical       DID YOU KNOW     The EX1000A family  implements IEEE 1588  precision time stamp  protocol and the LXI  wired trigger bus to  precisely synchronize  data and allow for  distributed high channel  count systems     E 2 bey  Jm  ns  O    mes    EX1016A  16 Channel Precision Thermocouple       X ite ee    Find out more about the          EX10XXA Series  Host PC       EX1048A  48 Channel Precision  Thermocouple Measurement    Instrument       TIME TIME       The second method  Asynchronous Data Streaming  allows data to be sent as soon   as it becomes available and the LXI interface allows  without having to send queries  Bere ae to the instrument after setup  This overcomes the problems with the polling method  It  mission critical LXI DAQ system requires two threads to be running simultaneously  A Streaming Server which collects   pages of data sent to it asynchronously from the instrument  and an API which sets   up the instrument  then polls for data from the Streaming Server thread and
8. subset list  of channels with a variety of different settings depending on what they are trying to  measure  This state also sets the trigger count  which is the number of triggers received  after initiating measurement before the unit returns to the idle state  Alternatively  a    Set  Trigger Infinite Enabled    VI could be used to enable continuous acquisition  This would  override any trigger count setting     3  Setup Triggering   This state sets up the various aspects of triggering  This simple  example uses the default immediate arm setting and the trigger is some decimation of  the timer  internal EX10xxA oscillator   This is a simple way to set a uniform scan rate on  a box  If multiple boxes are used  some Vls for synchronous arming are recommended  here     RELIABLE DATA FIRST TIME EVERY TIME          technical                   IDLE  LAYER   INIT  LAYER   Soare Am Wait for  ARM Event  ARM  a e  Dacemet  ARR COUNT  te  Sota Trager Wait for irae  TRIS Event    Tr canem a   TRIG   LAYER      Aa recast 5 Ho    Yes  DEVICE  SC   LAYER RUN SCAN LIST    4  Enable Streaming   lThis state uses a VI built around the streaming server to begin  waiting for data streamed from the acquisition system  It then enables streaming on  the box  The device ID is an input to the Enable Streaming VI and can be any value   However  if multiple boxes are running you should use a unique value for each one so  that you can identify where a given page of data is coming from     RELIABLE DATA
9. technical       Maximizing Data Throughput on the  EX   0XXA series    INTRODUCTION    The EX10xxA is a family of high performance signal conditioning and data  acquisition products which may include thermocouple and or voltage  measurement channels on a single instrument  It is an LXI instrument which  means that all communication is through a common LAN Ethernet interface   The family of products provides a high level of measurement integrity and  channel independence which far exceeds alternative methods which  generally involve separate elements for the terminal blocks  signal conditioning   and digitization     There are two basic methods available to gather data from the EX10xxA  besides using the embedded web page to collect data  One method is  simply to poll the memory of the instrument at some regular rate  While this  method is simple to implement  there are several major problems that users  may experience depending on test conditions  One is that it is not possible  to collect data fast enough by polling to prevent a memory overflow at higher  sampling rates  Such an overflow will result in a loss of data as soon as the   14 MB memory on the EX10xxA is filled  This is unacceptable in many test  applications  especially over longer testing periods  A second problem is that  constant polling is inefficient for the processor as well as the LAN interface     where the normal implementation is to poll as quickly as possible  For example   even when there is no data pr
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
Seagate Constellation 2TB SAS 3.5"  TK-3201E2  Manual    Samsung SGH-J400 manual de utilizador  Valueline VLMP11950Y mobile device charger  オールインワン浄水栓における浄水の使用温度変更について  T'nB USPOP    Copyright © All rights reserved. 
   Failed to retrieve file