****************************************
*	 Prozeßnummer = 9
*	 Delay = 400000
*	 Eventsource = 0
*	 Number of Loops = 0
*	 Priorität = 0
*	 Version = 1
*	 FastStop = 0
*	 AdbasicVersion = 4000001
*	 ATSRAM = 0
*	 OPT_LEVEL = 1
*	 SAVECOMPIL = 0
****************************************
#include adwinpro.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*25)

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

IF (par_9=1) THEN
	DIGPROG1(1,par_10)
	DIGPROG2(1,par_11)
ENDIF

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

EVENT :
'Acquisition entrée analogique
IF (par_1>0) then	  	
		bits_AnIn_Temp = LOG(par_14)/LOG(2)+0.1		
		bits_AnIn_Temp2 = bits_AnIn_Temp
		bits_AnIn = shift_left(bits_AnIn_Temp2,5)
		bits_AnIn = bits_AnIn + par_1 - 1
		set_mux(1,bits_AnIn)
		sleep(60)
		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 = DIGIN_LONG(1) and par_3
	par_3=0
ENDIF

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

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