'<ADbasic Header, Headerversion 001.001>
' Process_Number                 = 9
' Initial_Processdelay           = 400000
' Eventsource                    = Timer
' Control_long_Delays_for_Stop   = No
' Priority                       = High
' Version                        = 1
' ADbasic_Version                = 5.0.2
' Optimize                       = Yes
' Optimize_Level                 = 1
' Info_Last_Save                 = PC64  PC64\buloup
'<Header End>
#include adwinpro1.inc
#include adwinpro2.inc
'#include adwpad.inc
'#include adwpdio.inc
'#include adwpda.inc

'Pour l'ampli multiplexé des entrées analogiques
DIM bits_AnIn,bits_AnIn_Temp2 AS LONG
DIM bits_AnIn_Temp AS FLOAT 

INIT :
'Entrées analogiques
par_1=0'Numéro de l'entrée analogique 1 .. 32
par_2=0'Valeur associée à l'entrée analogique sélectionnée

'Entrées numériques
par_3=0'Numéro de l'entrée numérique
par_4=0'Valeur associée à l'entrée numérique sélectionnée

'Sorties analogiques
par_5=0'Numéro de la sortie analogique 1 .. 4
par_6=0'Valeur associée à la sortie analogique sélectionnée 0 .. 65535

'Sortie numériques
par_7=-1'Numéro de la sortie numérique 0 .. 31
par_8=0'Valeur associée à la sortie numérique sélectionnée 0 ou 1

'Prog du DIO tout en entrée par défaut à la mise sous tension
'par_9=0
'par_10=0
'par_11=0
'par_12=0 'SE ou DIFF
par_14=1 'gain des entrées analogiques 1,2,4 ou 8
GLOBALDELAY = 10^9/(1000*3.3)

'par_12  : 0, mode SE ou 1, mode DIFF
SE_DIFF(1,par_12)

IF (par_9=1) THEN
  P2_DIGPROG(1,par_10)
ENDIF

par_13=P2_GET_DIGOUT_LONG(1) 'Lecture etat initial des ESnum

EVENT :
'Acquisition entrée analogique
IF (par_1>0) then	  	
  bits_AnIn = shift_left(LOG(par_14)/LOG(2),5) + par_1 - 1

  set_mux(1,bits_AnIn)		
  P1_sleep(1400)
  start_conv(1)
  wait_eoc(1)
  
  par_2 =readadc(1)  
  par_1 = 0
ENDIF

'Acquisition entrée numérique
IF (par_3>0) then
  par_4 = P2_DIGIN_LONG(1) and par_3
  par_3=0
ENDIF

'sortie d'un valeur analogique
IF (par_5>0) then
  P2_DAC(2,par_5,par_6)
  par_5=0
ENDIF

'Sortie d'un valeur numérique
IF (par_7>-1) then
  P2_DIGOUT(1,par_7,par_8)
  par_7=-1
ENDIF
