/*2013-01-18T16:22:48-01:00*/

/********************************************************************
 * bibliotheque_epo.c
 * 
 * generated by: plcgen 2.3.253
 ********************************************************************/

#include "cb_comp.h"
#include "iec_1131.h"


/********************************************************************
 *                  Inner 'capteurs' declarations                   *
 ********************************************************************/


/********************** Variable declarations ***********************/

static CB_Index capteurs__num;

/********************** Function declarations ***********************/

static int _bibliotheque_epo__capteurs_init(void);
static int bibliotheque_epo__capteurs(void);

/********************************************************************
 *                Inner 'boite_outils' declarations                 *
 ********************************************************************/


/********************** Variable declarations ***********************/

static CB_Index boite_outils__num;

/********************** Function declarations ***********************/

static int _bibliotheque_epo__boite_outils_init(void);
static int bibliotheque_epo__boite_outils(void);

/********************************************************************
 *                  Inner 'puissance' declarations                  *
 ********************************************************************/


/********************** Variable declarations ***********************/

static CB_Index puissance__num;

/********************** Function declarations ***********************/

static int _bibliotheque_epo__puissance_init(void);
static int bibliotheque_epo__puissance(void);

/********************************************************************
 *               Inner 'preactionneurs' declarations                *
 ********************************************************************/


/********************** Variable declarations ***********************/

static CB_Index preactionneurs__num;

/********************** Function declarations ***********************/

static int _bibliotheque_epo__preactionneurs_init(void);
static int bibliotheque_epo__preactionneurs(void);

/********************************************************************
 *                 Inner 'actionneurs' declarations                 *
 ********************************************************************/


/********************** Variable declarations ***********************/

static CB_Index actionneurs__num;

/********************** Function declarations ***********************/

static int _bibliotheque_epo__actionneurs_init(void);
static int bibliotheque_epo__actionneurs(void);

/********************************************************************
 *                   Inner 'moteurs' declarations                   *
 ********************************************************************/


/********************** Variable declarations ***********************/

static CB_Index moteurs__num;

/********************** Function declarations ***********************/

static int _bibliotheque_epo__moteurs_init(void);
static int bibliotheque_epo__moteurs(void);

/********************************************************************
 *                   Inner 'verins' declarations                    *
 ********************************************************************/


/********************** Variable declarations ***********************/

static CB_Index verins__num;

/********************** Function declarations ***********************/

static int _bibliotheque_epo__verins_init(void);
static int bibliotheque_epo__verins(void);

/********************************************************************
 *                 Inner 'hydraulique' declarations                 *
 ********************************************************************/


/********************** Variable declarations ***********************/

static CB_Index hydraulique__num;

/********************** Function declarations ***********************/

static int _bibliotheque_epo__hydraulique_init(void);
static int bibliotheque_epo__hydraulique(void);

/********************************************************************
 *                 Inner 'capteurs' implementation                  *
 ********************************************************************/

#include "bibliotheque_epo/functional/capteur_ana/capteur_ana.h"
#include "bibliotheque_epo/functional/capteur_seuil/capteur_seuil.h"
#include "bibliotheque_epo/functional/codeur_gray/codeur_gray.h"
#include "bibliotheque_epo/functional/capteur_plage/capteur_plage.h"
#include "bibliotheque_epo/functional/code_binaire/code_binaire.h"


/**************************** Variables *****************************/

static CB_Index capteurs__num = 0;

/**************************** Variables *****************************/



/************************ Components offsets ************************/

static CB_Offset bibliotheque_epo__capteurs_offset_capteur_ana1;
static CB_Offset bibliotheque_epo__capteurs_offset_capteur_seuil1;
static CB_Offset bibliotheque_epo__capteurs_offset_codeur_gray1;
static CB_Offset bibliotheque_epo__capteurs_offset_capteur_plage1;
static CB_Offset bibliotheque_epo__capteurs_offset_code_binaire1;
static CB_Offset bibliotheque_epo__capteurs_offset__end = {0, 0, 0, 0};


/********************* Initialization function **********************/

static int _bibliotheque_epo__capteurs_init(void)
{
	CB_Object __start = self;
	self.Bool+=38;
	self.Int+=4;
	self.Float+=4;

	/*initialize child capteur_ana1 (bibliotheque_epo.capteur_ana):*/
	self_num++;
	bibliotheque_epo__capteurs_offset_capteur_ana1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__capteurs_offset_capteur_ana1.Int = self.Int - __start.Int;
	bibliotheque_epo__capteurs_offset_capteur_ana1.Float = self.Float - __start.Float;
	bibliotheque_epo__capteurs_offset_capteur_ana1.Char = self.Char - __start.Char;
	capteur_ana_mesure = __start.Float+3; /*capteurs__cn_1*/
	capteur_ana_valeur = __start.Float+2; /*capteurs__cn_2*/
	_bibliotheque_epo__capteur_ana_init();

	/*initialize child capteur_seuil1 (bibliotheque_epo.capteur_seuil):*/
	self_num++;
	bibliotheque_epo__capteurs_offset_capteur_seuil1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__capteurs_offset_capteur_seuil1.Int = self.Int - __start.Int;
	bibliotheque_epo__capteurs_offset_capteur_seuil1.Float = self.Float - __start.Float;
	bibliotheque_epo__capteurs_offset_capteur_seuil1.Char = self.Char - __start.Char;
	capteur_seuil_niveau = __start.Float+1; /*capteurs__cn_3*/
	capteur_seuil_tensionCpt = __start.Bool+37; /*capteurs__cn_4*/
	capteur_seuil_capteurSeuil = __start.Bool+36; /*capteurs__cn_5*/
	_bibliotheque_epo__capteur_seuil_init();

	/*initialize child codeur_gray1 (bibliotheque_epo.codeur_gray):*/
	self_num++;
	bibliotheque_epo__capteurs_offset_codeur_gray1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__capteurs_offset_codeur_gray1.Int = self.Int - __start.Int;
	bibliotheque_epo__capteurs_offset_codeur_gray1.Float = self.Float - __start.Float;
	bibliotheque_epo__capteurs_offset_codeur_gray1.Char = self.Char - __start.Char;
	codeur_gray_entreeBinaire = __start.Int+3; /*capteurs__cn_6*/
	codeur_gray_figeageCodeur = __start.Bool+35; /*capteurs__cn_7*/
	codeur_gray_sortieBit15 = __start.Bool+34; /*capteurs__cn_8*/
	codeur_gray_sortieBit14 = __start.Bool+33; /*capteurs__cn_9*/
	codeur_gray_sortieBit13 = __start.Bool+32; /*capteurs__cn_10*/
	codeur_gray_sortieBit12 = __start.Bool+31; /*capteurs__cn_11*/
	codeur_gray_sortieBit11 = __start.Bool+30; /*capteurs__cn_12*/
	codeur_gray_sortieBit10 = __start.Bool+29; /*capteurs__cn_13*/
	codeur_gray_sortieBit09 = __start.Bool+28; /*capteurs__cn_14*/
	codeur_gray_sortieBit08 = __start.Bool+27; /*capteurs__cn_15*/
	codeur_gray_sortieBit07 = __start.Bool+26; /*capteurs__cn_16*/
	codeur_gray_sortieBit06 = __start.Bool+25; /*capteurs__cn_17*/
	codeur_gray_sortieBit05 = __start.Bool+24; /*capteurs__cn_18*/
	codeur_gray_sortieBit04 = __start.Bool+23; /*capteurs__cn_19*/
	codeur_gray_sortieBit03 = __start.Bool+22; /*capteurs__cn_20*/
	codeur_gray_sortieBit02 = __start.Bool+21; /*capteurs__cn_21*/
	codeur_gray_sortieBit01 = __start.Bool+20; /*capteurs__cn_22*/
	codeur_gray_sortieBit00 = __start.Bool+19; /*capteurs__cn_23*/
	codeur_gray_sortieMot = __start.Int+2; /*capteurs__cn_24*/
	_bibliotheque_epo__codeur_gray_init();

	/*initialize child capteur_plage1 (bibliotheque_epo.capteur_plage):*/
	self_num++;
	bibliotheque_epo__capteurs_offset_capteur_plage1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__capteurs_offset_capteur_plage1.Int = self.Int - __start.Int;
	bibliotheque_epo__capteurs_offset_capteur_plage1.Float = self.Float - __start.Float;
	bibliotheque_epo__capteurs_offset_capteur_plage1.Char = self.Char - __start.Char;
	capteur_plage_niveau = __start.Float+0; /*capteurs__cn_25*/
	capteur_plage_tensionCpt = __start.Bool+18; /*capteurs__cn_26*/
	capteur_plage_capteurPlage = __start.Bool+17; /*capteurs__cn_27*/
	_bibliotheque_epo__capteur_plage_init();

	/*initialize child code_binaire1 (bibliotheque_epo.code_binaire):*/
	self_num++;
	bibliotheque_epo__capteurs_offset_code_binaire1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__capteurs_offset_code_binaire1.Int = self.Int - __start.Int;
	bibliotheque_epo__capteurs_offset_code_binaire1.Float = self.Float - __start.Float;
	bibliotheque_epo__capteurs_offset_code_binaire1.Char = self.Char - __start.Char;
	code_binaire_entreeBinaire = __start.Int+1; /*capteurs__cn_28*/
	code_binaire_figeageCodeur = __start.Bool+16; /*capteurs__cn_29*/
	code_binaire_bit15 = __start.Bool+15; /*capteurs__cn_30*/
	code_binaire_bit14 = __start.Bool+14; /*capteurs__cn_31*/
	code_binaire_bit13 = __start.Bool+13; /*capteurs__cn_32*/
	code_binaire_bit12 = __start.Bool+12; /*capteurs__cn_33*/
	code_binaire_bit11 = __start.Bool+11; /*capteurs__cn_34*/
	code_binaire_bit10 = __start.Bool+10; /*capteurs__cn_35*/
	code_binaire_bit09 = __start.Bool+9; /*capteurs__cn_36*/
	code_binaire_bit08 = __start.Bool+8; /*capteurs__cn_37*/
	code_binaire_bit07 = __start.Bool+7; /*capteurs__cn_38*/
	code_binaire_bit06 = __start.Bool+6; /*capteurs__cn_39*/
	code_binaire_bit05 = __start.Bool+5; /*capteurs__cn_40*/
	code_binaire_bit04 = __start.Bool+4; /*capteurs__cn_41*/
	code_binaire_bit03 = __start.Bool+3; /*capteurs__cn_42*/
	code_binaire_bit02 = __start.Bool+2; /*capteurs__cn_43*/
	code_binaire_bit01 = __start.Bool+1; /*capteurs__cn_44*/
	code_binaire_bit00 = __start.Bool+0; /*capteurs__cn_45*/
	code_binaire_sortieMot = __start.Int+0; /*capteurs__cn_46*/
	_bibliotheque_epo__code_binaire_init();

	bibliotheque_epo__capteurs_offset__end.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__capteurs_offset__end.Int = self.Int - __start.Int;
	bibliotheque_epo__capteurs_offset__end.Float = self.Float - __start.Float;
	bibliotheque_epo__capteurs_offset__end.Char = self.Char - __start.Char;

	return 0;
}


/************************ Behavior function *************************/

static int bibliotheque_epo__capteurs(void)
{
	CB_Object __start = self;
	int __ret;
	if (exec_mac_node(self_num)) {

		/*********************** Internals variables ************************/

																																																																																												
		/********************* Pre-conditions execution *********************/

		/*no Pre-conditions*/

		/************************ Behavior execution ************************/

		{
			self.Bool = __start.Bool + bibliotheque_epo__capteurs_offset_capteur_ana1.Bool;
			self.Int = __start.Int + bibliotheque_epo__capteurs_offset_capteur_ana1.Int;
			self.Float = __start.Float + bibliotheque_epo__capteurs_offset_capteur_ana1.Float;
			self.Char = __start.Char + bibliotheque_epo__capteurs_offset_capteur_ana1.Char;

			/********************** capteur_ana1 execution **********************/

			self_num++;
			if (capteur_ana__num != self_num) {
				capteur_ana__num = self_num;
				capteur_ana_mesure = __start.Float+3; /*capteurs__cn_1*/
				capteur_ana_valeur = __start.Float+2; /*capteurs__cn_2*/
			}
			__ret = bibliotheque_epo__capteur_ana();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/********************* capteur_seuil1 execution *********************/

			self_num++;
			if (capteur_seuil__num != self_num) {
				capteur_seuil__num = self_num;
				capteur_seuil_niveau = __start.Float+1; /*capteurs__cn_3*/
				capteur_seuil_tensionCpt = __start.Bool+37; /*capteurs__cn_4*/
				capteur_seuil_capteurSeuil = __start.Bool+36; /*capteurs__cn_5*/
			}
			__ret = bibliotheque_epo__capteur_seuil();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/********************** codeur_gray1 execution **********************/

			self_num++;
			if (codeur_gray__num != self_num) {
				codeur_gray__num = self_num;
				codeur_gray_entreeBinaire = __start.Int+3; /*capteurs__cn_6*/
				codeur_gray_figeageCodeur = __start.Bool+35; /*capteurs__cn_7*/
				codeur_gray_sortieBit15 = __start.Bool+34; /*capteurs__cn_8*/
				codeur_gray_sortieBit14 = __start.Bool+33; /*capteurs__cn_9*/
				codeur_gray_sortieBit13 = __start.Bool+32; /*capteurs__cn_10*/
				codeur_gray_sortieBit12 = __start.Bool+31; /*capteurs__cn_11*/
				codeur_gray_sortieBit11 = __start.Bool+30; /*capteurs__cn_12*/
				codeur_gray_sortieBit10 = __start.Bool+29; /*capteurs__cn_13*/
				codeur_gray_sortieBit09 = __start.Bool+28; /*capteurs__cn_14*/
				codeur_gray_sortieBit08 = __start.Bool+27; /*capteurs__cn_15*/
				codeur_gray_sortieBit07 = __start.Bool+26; /*capteurs__cn_16*/
				codeur_gray_sortieBit06 = __start.Bool+25; /*capteurs__cn_17*/
				codeur_gray_sortieBit05 = __start.Bool+24; /*capteurs__cn_18*/
				codeur_gray_sortieBit04 = __start.Bool+23; /*capteurs__cn_19*/
				codeur_gray_sortieBit03 = __start.Bool+22; /*capteurs__cn_20*/
				codeur_gray_sortieBit02 = __start.Bool+21; /*capteurs__cn_21*/
				codeur_gray_sortieBit01 = __start.Bool+20; /*capteurs__cn_22*/
				codeur_gray_sortieBit00 = __start.Bool+19; /*capteurs__cn_23*/
				codeur_gray_sortieMot = __start.Int+2; /*capteurs__cn_24*/
			}
			__ret = bibliotheque_epo__codeur_gray();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/********************* capteur_plage1 execution *********************/

			self_num++;
			if (capteur_plage__num != self_num) {
				capteur_plage__num = self_num;
				capteur_plage_niveau = __start.Float+0; /*capteurs__cn_25*/
				capteur_plage_tensionCpt = __start.Bool+18; /*capteurs__cn_26*/
				capteur_plage_capteurPlage = __start.Bool+17; /*capteurs__cn_27*/
			}
			__ret = bibliotheque_epo__capteur_plage();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/********************* code_binaire1 execution **********************/

			self_num++;
			if (code_binaire__num != self_num) {
				code_binaire__num = self_num;
				code_binaire_entreeBinaire = __start.Int+1; /*capteurs__cn_28*/
				code_binaire_figeageCodeur = __start.Bool+16; /*capteurs__cn_29*/
				code_binaire_bit15 = __start.Bool+15; /*capteurs__cn_30*/
				code_binaire_bit14 = __start.Bool+14; /*capteurs__cn_31*/
				code_binaire_bit13 = __start.Bool+13; /*capteurs__cn_32*/
				code_binaire_bit12 = __start.Bool+12; /*capteurs__cn_33*/
				code_binaire_bit11 = __start.Bool+11; /*capteurs__cn_34*/
				code_binaire_bit10 = __start.Bool+10; /*capteurs__cn_35*/
				code_binaire_bit09 = __start.Bool+9; /*capteurs__cn_36*/
				code_binaire_bit08 = __start.Bool+8; /*capteurs__cn_37*/
				code_binaire_bit07 = __start.Bool+7; /*capteurs__cn_38*/
				code_binaire_bit06 = __start.Bool+6; /*capteurs__cn_39*/
				code_binaire_bit05 = __start.Bool+5; /*capteurs__cn_40*/
				code_binaire_bit04 = __start.Bool+4; /*capteurs__cn_41*/
				code_binaire_bit03 = __start.Bool+3; /*capteurs__cn_42*/
				code_binaire_bit02 = __start.Bool+2; /*capteurs__cn_43*/
				code_binaire_bit01 = __start.Bool+1; /*capteurs__cn_44*/
				code_binaire_bit00 = __start.Bool+0; /*capteurs__cn_45*/
				code_binaire_sortieMot = __start.Int+0; /*capteurs__cn_46*/
			}
			__ret = bibliotheque_epo__code_binaire();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

		}


		/******************** Post-conditions execution *********************/

		/*no Post-conditions*/
	}

	/*************************** self update ****************************/

	self.Bool = __start.Bool + bibliotheque_epo__capteurs_offset__end.Bool;
	self.Int = __start.Int + bibliotheque_epo__capteurs_offset__end.Int;
	self.Float = __start.Float + bibliotheque_epo__capteurs_offset__end.Float;
	self.Char = __start.Char + bibliotheque_epo__capteurs_offset__end.Char;

	return 0;
}


/********************************************************************
 *               Inner 'boite_outils' implementation                *
 ********************************************************************/

#include "bibliotheque_epo/functional/echelle_coef/echelle_coef.h"
#include "bibliotheque_epo/functional/reel_entier/reel_entier.h"
#include "bibliotheque_epo/functional/logique_ouex/logique_ouex.h"
#include "bibliotheque_epo/functional/logique_et_10/logique_et_10.h"
#include "bibliotheque_epo/functional/entier_reel/entier_reel.h"
#include "bibliotheque_epo/functional/addition/addition.h"
#include "bibliotheque_epo/functional/echelle_entier_reel/echelle_entier_reel.h"
#include "bibliotheque_epo/functional/addition_10/addition_10.h"
#include "bibliotheque_epo/functional/fonction_lineaire/fonction_lineaire.h"
#include "bibliotheque_epo/functional/logique_ou/logique_ou.h"
#include "bibliotheque_epo/functional/moyenne/moyenne.h"
#include "bibliotheque_epo/functional/tendance/tendance.h"
#include "bibliotheque_epo/functional/echelle_reel_entier/echelle_reel_entier.h"
#include "bibliotheque_epo/functional/logique_et/logique_et.h"
#include "bibliotheque_epo/functional/echelle_bornee/echelle_bornee.h"
#include "bibliotheque_epo/functional/moyenne_5/moyenne_5.h"
#include "bibliotheque_epo/functional/logique_ou_10/logique_ou_10.h"


/**************************** Variables *****************************/

static CB_Index boite_outils__num = 0;

/**************************** Variables *****************************/



/************************ Components offsets ************************/

static CB_Offset bibliotheque_epo__boite_outils_offset_echelle_coef1;
static CB_Offset bibliotheque_epo__boite_outils_offset_reel_entier1;
static CB_Offset bibliotheque_epo__boite_outils_offset_logique_ouex1;
static CB_Offset bibliotheque_epo__boite_outils_offset_logique_et_101;
static CB_Offset bibliotheque_epo__boite_outils_offset_entier_reel1;
static CB_Offset bibliotheque_epo__boite_outils_offset_addition1;
static CB_Offset bibliotheque_epo__boite_outils_offset_echelle_entier_reel1;
static CB_Offset bibliotheque_epo__boite_outils_offset_addition_101;
static CB_Offset bibliotheque_epo__boite_outils_offset_fonction_lineaire1;
static CB_Offset bibliotheque_epo__boite_outils_offset_logique_ou1;
static CB_Offset bibliotheque_epo__boite_outils_offset_moyenne1;
static CB_Offset bibliotheque_epo__boite_outils_offset_tendance1;
static CB_Offset bibliotheque_epo__boite_outils_offset_echelle_reel_entier1;
static CB_Offset bibliotheque_epo__boite_outils_offset_logique_et1;
static CB_Offset bibliotheque_epo__boite_outils_offset_echelle_bornee1;
static CB_Offset bibliotheque_epo__boite_outils_offset_moyenne_51;
static CB_Offset bibliotheque_epo__boite_outils_offset_logique_ou_101;
static CB_Offset bibliotheque_epo__boite_outils_offset__end = {0, 0, 0, 0};


/********************* Initialization function **********************/

static int _bibliotheque_epo__boite_outils_init(void)
{
	CB_Object __start = self;
	self.Bool+=31;
	self.Int+=5;
	self.Float+=40;

	/*initialize child echelle_coef1 (bibliotheque_epo.echelle_coef):*/
	self_num++;
	bibliotheque_epo__boite_outils_offset_echelle_coef1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__boite_outils_offset_echelle_coef1.Int = self.Int - __start.Int;
	bibliotheque_epo__boite_outils_offset_echelle_coef1.Float = self.Float - __start.Float;
	bibliotheque_epo__boite_outils_offset_echelle_coef1.Char = self.Char - __start.Char;
	echelle_coef_valeurEntree = __start.Float+39; /*boite_outils__cn_1*/
	echelle_coef_valeurSortie = __start.Float+38; /*boite_outils__cn_2*/
	_bibliotheque_epo__echelle_coef_init();

	/*initialize child reel_entier1 (bibliotheque_epo.reel_entier):*/
	self_num++;
	bibliotheque_epo__boite_outils_offset_reel_entier1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__boite_outils_offset_reel_entier1.Int = self.Int - __start.Int;
	bibliotheque_epo__boite_outils_offset_reel_entier1.Float = self.Float - __start.Float;
	bibliotheque_epo__boite_outils_offset_reel_entier1.Char = self.Char - __start.Char;
	reel_entier_entree = __start.Float+37; /*boite_outils__cn_3*/
	reel_entier_sortie = __start.Int+4; /*boite_outils__cn_4*/
	_bibliotheque_epo__reel_entier_init();

	/*initialize child logique_ouex1 (bibliotheque_epo.logique_ouex):*/
	self_num++;
	bibliotheque_epo__boite_outils_offset_logique_ouex1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__boite_outils_offset_logique_ouex1.Int = self.Int - __start.Int;
	bibliotheque_epo__boite_outils_offset_logique_ouex1.Float = self.Float - __start.Float;
	bibliotheque_epo__boite_outils_offset_logique_ouex1.Char = self.Char - __start.Char;
	logique_ouex_bitEntree1 = __start.Bool+30; /*boite_outils__cn_5*/
	logique_ouex_bitEntree2 = __start.Bool+29; /*boite_outils__cn_6*/
	logique_ouex_bitSortie = __start.Bool+28; /*boite_outils__cn_7*/
	_bibliotheque_epo__logique_ouex_init();

	/*initialize child logique_et_101 (bibliotheque_epo.logique_et_10):*/
	self_num++;
	bibliotheque_epo__boite_outils_offset_logique_et_101.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__boite_outils_offset_logique_et_101.Int = self.Int - __start.Int;
	bibliotheque_epo__boite_outils_offset_logique_et_101.Float = self.Float - __start.Float;
	bibliotheque_epo__boite_outils_offset_logique_et_101.Char = self.Char - __start.Char;
	logique_et_10_bitEntree1 = __start.Bool+27; /*boite_outils__cn_8*/
	logique_et_10_bitEntree2 = __start.Bool+26; /*boite_outils__cn_9*/
	logique_et_10_bitEntree3 = __start.Bool+25; /*boite_outils__cn_10*/
	logique_et_10_bitEntree4 = __start.Bool+24; /*boite_outils__cn_11*/
	logique_et_10_bitEntree5 = __start.Bool+23; /*boite_outils__cn_12*/
	logique_et_10_bitEntree6 = __start.Bool+22; /*boite_outils__cn_13*/
	logique_et_10_bitEntree7 = __start.Bool+21; /*boite_outils__cn_14*/
	logique_et_10_bitEntree8 = __start.Bool+20; /*boite_outils__cn_15*/
	logique_et_10_bitEntree9 = __start.Bool+19; /*boite_outils__cn_16*/
	logique_et_10_bitEntree10 = __start.Bool+18; /*boite_outils__cn_17*/
	logique_et_10_bitSortie = __start.Bool+17; /*boite_outils__cn_18*/
	_bibliotheque_epo__logique_et_10_init();

	/*initialize child entier_reel1 (bibliotheque_epo.entier_reel):*/
	self_num++;
	bibliotheque_epo__boite_outils_offset_entier_reel1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__boite_outils_offset_entier_reel1.Int = self.Int - __start.Int;
	bibliotheque_epo__boite_outils_offset_entier_reel1.Float = self.Float - __start.Float;
	bibliotheque_epo__boite_outils_offset_entier_reel1.Char = self.Char - __start.Char;
	entier_reel_entree = __start.Int+3; /*boite_outils__cn_19*/
	entier_reel_sortie = __start.Float+36; /*boite_outils__cn_20*/
	_bibliotheque_epo__entier_reel_init();

	/*initialize child addition1 (bibliotheque_epo.addition):*/
	self_num++;
	bibliotheque_epo__boite_outils_offset_addition1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__boite_outils_offset_addition1.Int = self.Int - __start.Int;
	bibliotheque_epo__boite_outils_offset_addition1.Float = self.Float - __start.Float;
	bibliotheque_epo__boite_outils_offset_addition1.Char = self.Char - __start.Char;
	addition_E1 = __start.Float+35; /*boite_outils__cn_21*/
	addition_E2 = __start.Float+34; /*boite_outils__cn_22*/
	addition_valeur = __start.Float+33; /*boite_outils__cn_23*/
	_bibliotheque_epo__addition_init();

	/*initialize child echelle_entier_reel1 (bibliotheque_epo.echelle_entier_reel):*/
	self_num++;
	bibliotheque_epo__boite_outils_offset_echelle_entier_reel1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__boite_outils_offset_echelle_entier_reel1.Int = self.Int - __start.Int;
	bibliotheque_epo__boite_outils_offset_echelle_entier_reel1.Float = self.Float - __start.Float;
	bibliotheque_epo__boite_outils_offset_echelle_entier_reel1.Char = self.Char - __start.Char;
	echelle_entier_reel_valeurEntree = __start.Int+2; /*boite_outils__cn_24*/
	echelle_entier_reel_valeurSortie = __start.Float+32; /*boite_outils__cn_25*/
	_bibliotheque_epo__echelle_entier_reel_init();

	/*initialize child addition_101 (bibliotheque_epo.addition_10):*/
	self_num++;
	bibliotheque_epo__boite_outils_offset_addition_101.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__boite_outils_offset_addition_101.Int = self.Int - __start.Int;
	bibliotheque_epo__boite_outils_offset_addition_101.Float = self.Float - __start.Float;
	bibliotheque_epo__boite_outils_offset_addition_101.Char = self.Char - __start.Char;
	addition_10_E1 = __start.Float+31; /*boite_outils__cn_26*/
	addition_10_E2 = __start.Float+30; /*boite_outils__cn_27*/
	addition_10_E3 = __start.Float+29; /*boite_outils__cn_28*/
	addition_10_E4 = __start.Float+28; /*boite_outils__cn_29*/
	addition_10_E5 = __start.Float+27; /*boite_outils__cn_30*/
	addition_10_E6 = __start.Float+26; /*boite_outils__cn_31*/
	addition_10_E7 = __start.Float+25; /*boite_outils__cn_32*/
	addition_10_E8 = __start.Float+24; /*boite_outils__cn_33*/
	addition_10_E9 = __start.Float+23; /*boite_outils__cn_34*/
	addition_10_E10 = __start.Float+22; /*boite_outils__cn_35*/
	addition_10_valeur = __start.Float+21; /*boite_outils__cn_36*/
	_bibliotheque_epo__addition_10_init();

	/*initialize child fonction_lineaire1 (bibliotheque_epo.fonction_lineaire):*/
	self_num++;
	bibliotheque_epo__boite_outils_offset_fonction_lineaire1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__boite_outils_offset_fonction_lineaire1.Int = self.Int - __start.Int;
	bibliotheque_epo__boite_outils_offset_fonction_lineaire1.Float = self.Float - __start.Float;
	bibliotheque_epo__boite_outils_offset_fonction_lineaire1.Char = self.Char - __start.Char;
	fonction_lineaire_entree = __start.Float+20; /*boite_outils__cn_37*/
	fonction_lineaire_sortie = __start.Float+19; /*boite_outils__cn_38*/
	_bibliotheque_epo__fonction_lineaire_init();

	/*initialize child logique_ou1 (bibliotheque_epo.logique_ou):*/
	self_num++;
	bibliotheque_epo__boite_outils_offset_logique_ou1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__boite_outils_offset_logique_ou1.Int = self.Int - __start.Int;
	bibliotheque_epo__boite_outils_offset_logique_ou1.Float = self.Float - __start.Float;
	bibliotheque_epo__boite_outils_offset_logique_ou1.Char = self.Char - __start.Char;
	logique_ou_bitEntree1 = __start.Bool+16; /*boite_outils__cn_39*/
	logique_ou_bitEntree2 = __start.Bool+15; /*boite_outils__cn_40*/
	logique_ou_bitSortie = __start.Bool+14; /*boite_outils__cn_41*/
	_bibliotheque_epo__logique_ou_init();

	/*initialize child moyenne1 (bibliotheque_epo.moyenne):*/
	self_num++;
	bibliotheque_epo__boite_outils_offset_moyenne1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__boite_outils_offset_moyenne1.Int = self.Int - __start.Int;
	bibliotheque_epo__boite_outils_offset_moyenne1.Float = self.Float - __start.Float;
	bibliotheque_epo__boite_outils_offset_moyenne1.Char = self.Char - __start.Char;
	moyenne_valeurEntree1 = __start.Float+18; /*boite_outils__cn_42*/
	moyenne_valeurEntree2 = __start.Float+17; /*boite_outils__cn_43*/
	moyenne_valeurSortie = __start.Float+16; /*boite_outils__cn_44*/
	_bibliotheque_epo__moyenne_init();

	/*initialize child tendance1 (bibliotheque_epo.tendance):*/
	self_num++;
	bibliotheque_epo__boite_outils_offset_tendance1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__boite_outils_offset_tendance1.Int = self.Int - __start.Int;
	bibliotheque_epo__boite_outils_offset_tendance1.Float = self.Float - __start.Float;
	bibliotheque_epo__boite_outils_offset_tendance1.Char = self.Char - __start.Char;
	tendance_pente = __start.Float+15; /*boite_outils__cn_45*/
	tendance_ordonne = __start.Float+14; /*boite_outils__cn_46*/
	tendance_A = __start.Float+13; /*boite_outils__cn_47*/
	tendance_B = __start.Float+12; /*boite_outils__cn_48*/
	tendance_temps = __start.Float+11; /*boite_outils__cn_49*/
	tendance_sortieReelle = __start.Float+10; /*boite_outils__cn_50*/
	tendance_sortieTheor = __start.Float+9; /*boite_outils__cn_51*/
	_bibliotheque_epo__tendance_init();

	/*initialize child echelle_reel_entier1 (bibliotheque_epo.echelle_reel_entier):*/
	self_num++;
	bibliotheque_epo__boite_outils_offset_echelle_reel_entier1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__boite_outils_offset_echelle_reel_entier1.Int = self.Int - __start.Int;
	bibliotheque_epo__boite_outils_offset_echelle_reel_entier1.Float = self.Float - __start.Float;
	bibliotheque_epo__boite_outils_offset_echelle_reel_entier1.Char = self.Char - __start.Char;
	echelle_reel_entier_valeurEntree = __start.Float+8; /*boite_outils__cn_52*/
	echelle_reel_entier_valeurSortie = __start.Int+1; /*boite_outils__cn_53*/
	_bibliotheque_epo__echelle_reel_entier_init();

	/*initialize child logique_et1 (bibliotheque_epo.logique_et):*/
	self_num++;
	bibliotheque_epo__boite_outils_offset_logique_et1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__boite_outils_offset_logique_et1.Int = self.Int - __start.Int;
	bibliotheque_epo__boite_outils_offset_logique_et1.Float = self.Float - __start.Float;
	bibliotheque_epo__boite_outils_offset_logique_et1.Char = self.Char - __start.Char;
	logique_et_bitEntree1 = __start.Bool+13; /*boite_outils__cn_54*/
	logique_et_bitEntree2 = __start.Bool+12; /*boite_outils__cn_55*/
	logique_et_bitSortie = __start.Bool+11; /*boite_outils__cn_56*/
	_bibliotheque_epo__logique_et_init();

	/*initialize child echelle_bornee1 (bibliotheque_epo.echelle_bornee):*/
	self_num++;
	bibliotheque_epo__boite_outils_offset_echelle_bornee1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__boite_outils_offset_echelle_bornee1.Int = self.Int - __start.Int;
	bibliotheque_epo__boite_outils_offset_echelle_bornee1.Float = self.Float - __start.Float;
	bibliotheque_epo__boite_outils_offset_echelle_bornee1.Char = self.Char - __start.Char;
	echelle_bornee_valeurEntree = __start.Float+7; /*boite_outils__cn_57*/
	echelle_bornee_valeurSortie = __start.Float+6; /*boite_outils__cn_58*/
	echelle_bornee_valeurEntiere = __start.Int+0; /*boite_outils__cn_59*/
	_bibliotheque_epo__echelle_bornee_init();

	/*initialize child moyenne_51 (bibliotheque_epo.moyenne_5):*/
	self_num++;
	bibliotheque_epo__boite_outils_offset_moyenne_51.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__boite_outils_offset_moyenne_51.Int = self.Int - __start.Int;
	bibliotheque_epo__boite_outils_offset_moyenne_51.Float = self.Float - __start.Float;
	bibliotheque_epo__boite_outils_offset_moyenne_51.Char = self.Char - __start.Char;
	moyenne_5_valeurEntree1 = __start.Float+5; /*boite_outils__cn_60*/
	moyenne_5_valeurEntree2 = __start.Float+4; /*boite_outils__cn_61*/
	moyenne_5_valeurEntree3 = __start.Float+3; /*boite_outils__cn_62*/
	moyenne_5_valeurEntree4 = __start.Float+2; /*boite_outils__cn_63*/
	moyenne_5_valeurEntree5 = __start.Float+1; /*boite_outils__cn_64*/
	moyenne_5_valeurSortie = __start.Float+0; /*boite_outils__cn_65*/
	_bibliotheque_epo__moyenne_5_init();

	/*initialize child logique_ou_101 (bibliotheque_epo.logique_ou_10):*/
	self_num++;
	bibliotheque_epo__boite_outils_offset_logique_ou_101.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__boite_outils_offset_logique_ou_101.Int = self.Int - __start.Int;
	bibliotheque_epo__boite_outils_offset_logique_ou_101.Float = self.Float - __start.Float;
	bibliotheque_epo__boite_outils_offset_logique_ou_101.Char = self.Char - __start.Char;
	logique_ou_10_bitEntree1 = __start.Bool+10; /*boite_outils__cn_66*/
	logique_ou_10_bitEntree2 = __start.Bool+9; /*boite_outils__cn_67*/
	logique_ou_10_bitEntree3 = __start.Bool+8; /*boite_outils__cn_68*/
	logique_ou_10_bitEntree4 = __start.Bool+7; /*boite_outils__cn_69*/
	logique_ou_10_bitEntree5 = __start.Bool+6; /*boite_outils__cn_70*/
	logique_ou_10_bitEntree6 = __start.Bool+5; /*boite_outils__cn_71*/
	logique_ou_10_bitEntree7 = __start.Bool+4; /*boite_outils__cn_72*/
	logique_ou_10_bitEntree8 = __start.Bool+3; /*boite_outils__cn_73*/
	logique_ou_10_bitEntree9 = __start.Bool+2; /*boite_outils__cn_74*/
	logique_ou_10_bitEntree10 = __start.Bool+1; /*boite_outils__cn_75*/
	logique_ou_10_bitSortie = __start.Bool+0; /*boite_outils__cn_76*/
	_bibliotheque_epo__logique_ou_10_init();

	bibliotheque_epo__boite_outils_offset__end.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__boite_outils_offset__end.Int = self.Int - __start.Int;
	bibliotheque_epo__boite_outils_offset__end.Float = self.Float - __start.Float;
	bibliotheque_epo__boite_outils_offset__end.Char = self.Char - __start.Char;

	return 0;
}


/************************ Behavior function *************************/

static int bibliotheque_epo__boite_outils(void)
{
	CB_Object __start = self;
	int __ret;
	if (exec_mac_node(self_num)) {

		/*********************** Internals variables ************************/

																																																																																																																																																								
		/********************* Pre-conditions execution *********************/

		/*no Pre-conditions*/

		/************************ Behavior execution ************************/

		{
			self.Bool = __start.Bool + bibliotheque_epo__boite_outils_offset_echelle_coef1.Bool;
			self.Int = __start.Int + bibliotheque_epo__boite_outils_offset_echelle_coef1.Int;
			self.Float = __start.Float + bibliotheque_epo__boite_outils_offset_echelle_coef1.Float;
			self.Char = __start.Char + bibliotheque_epo__boite_outils_offset_echelle_coef1.Char;

			/********************* echelle_coef1 execution **********************/

			self_num++;
			if (echelle_coef__num != self_num) {
				echelle_coef__num = self_num;
				echelle_coef_valeurEntree = __start.Float+39; /*boite_outils__cn_1*/
				echelle_coef_valeurSortie = __start.Float+38; /*boite_outils__cn_2*/
			}
			__ret = bibliotheque_epo__echelle_coef();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/********************** reel_entier1 execution **********************/

			self_num++;
			if (reel_entier__num != self_num) {
				reel_entier__num = self_num;
				reel_entier_entree = __start.Float+37; /*boite_outils__cn_3*/
				reel_entier_sortie = __start.Int+4; /*boite_outils__cn_4*/
			}
			__ret = bibliotheque_epo__reel_entier();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/********************* logique_ouex1 execution **********************/

			self_num++;
			if (logique_ouex__num != self_num) {
				logique_ouex__num = self_num;
				logique_ouex_bitEntree1 = __start.Bool+30; /*boite_outils__cn_5*/
				logique_ouex_bitEntree2 = __start.Bool+29; /*boite_outils__cn_6*/
				logique_ouex_bitSortie = __start.Bool+28; /*boite_outils__cn_7*/
			}
			__ret = bibliotheque_epo__logique_ouex();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/********************* logique_et_101 execution *********************/

			self_num++;
			if (logique_et_10__num != self_num) {
				logique_et_10__num = self_num;
				logique_et_10_bitEntree1 = __start.Bool+27; /*boite_outils__cn_8*/
				logique_et_10_bitEntree2 = __start.Bool+26; /*boite_outils__cn_9*/
				logique_et_10_bitEntree3 = __start.Bool+25; /*boite_outils__cn_10*/
				logique_et_10_bitEntree4 = __start.Bool+24; /*boite_outils__cn_11*/
				logique_et_10_bitEntree5 = __start.Bool+23; /*boite_outils__cn_12*/
				logique_et_10_bitEntree6 = __start.Bool+22; /*boite_outils__cn_13*/
				logique_et_10_bitEntree7 = __start.Bool+21; /*boite_outils__cn_14*/
				logique_et_10_bitEntree8 = __start.Bool+20; /*boite_outils__cn_15*/
				logique_et_10_bitEntree9 = __start.Bool+19; /*boite_outils__cn_16*/
				logique_et_10_bitEntree10 = __start.Bool+18; /*boite_outils__cn_17*/
				logique_et_10_bitSortie = __start.Bool+17; /*boite_outils__cn_18*/
			}
			__ret = bibliotheque_epo__logique_et_10();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/********************** entier_reel1 execution **********************/

			self_num++;
			if (entier_reel__num != self_num) {
				entier_reel__num = self_num;
				entier_reel_entree = __start.Int+3; /*boite_outils__cn_19*/
				entier_reel_sortie = __start.Float+36; /*boite_outils__cn_20*/
			}
			__ret = bibliotheque_epo__entier_reel();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/*********************** addition1 execution ************************/

			self_num++;
			if (addition__num != self_num) {
				addition__num = self_num;
				addition_E1 = __start.Float+35; /*boite_outils__cn_21*/
				addition_E2 = __start.Float+34; /*boite_outils__cn_22*/
				addition_valeur = __start.Float+33; /*boite_outils__cn_23*/
			}
			__ret = bibliotheque_epo__addition();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/****************** echelle_entier_reel1 execution ******************/

			self_num++;
			if (echelle_entier_reel__num != self_num) {
				echelle_entier_reel__num = self_num;
				echelle_entier_reel_valeurEntree = __start.Int+2; /*boite_outils__cn_24*/
				echelle_entier_reel_valeurSortie = __start.Float+32; /*boite_outils__cn_25*/
			}
			__ret = bibliotheque_epo__echelle_entier_reel();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/********************** addition_101 execution **********************/

			self_num++;
			if (addition_10__num != self_num) {
				addition_10__num = self_num;
				addition_10_E1 = __start.Float+31; /*boite_outils__cn_26*/
				addition_10_E2 = __start.Float+30; /*boite_outils__cn_27*/
				addition_10_E3 = __start.Float+29; /*boite_outils__cn_28*/
				addition_10_E4 = __start.Float+28; /*boite_outils__cn_29*/
				addition_10_E5 = __start.Float+27; /*boite_outils__cn_30*/
				addition_10_E6 = __start.Float+26; /*boite_outils__cn_31*/
				addition_10_E7 = __start.Float+25; /*boite_outils__cn_32*/
				addition_10_E8 = __start.Float+24; /*boite_outils__cn_33*/
				addition_10_E9 = __start.Float+23; /*boite_outils__cn_34*/
				addition_10_E10 = __start.Float+22; /*boite_outils__cn_35*/
				addition_10_valeur = __start.Float+21; /*boite_outils__cn_36*/
			}
			__ret = bibliotheque_epo__addition_10();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/******************* fonction_lineaire1 execution *******************/

			self_num++;
			if (fonction_lineaire__num != self_num) {
				fonction_lineaire__num = self_num;
				fonction_lineaire_entree = __start.Float+20; /*boite_outils__cn_37*/
				fonction_lineaire_sortie = __start.Float+19; /*boite_outils__cn_38*/
			}
			__ret = bibliotheque_epo__fonction_lineaire();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/********************** logique_ou1 execution ***********************/

			self_num++;
			if (logique_ou__num != self_num) {
				logique_ou__num = self_num;
				logique_ou_bitEntree1 = __start.Bool+16; /*boite_outils__cn_39*/
				logique_ou_bitEntree2 = __start.Bool+15; /*boite_outils__cn_40*/
				logique_ou_bitSortie = __start.Bool+14; /*boite_outils__cn_41*/
			}
			__ret = bibliotheque_epo__logique_ou();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/************************ moyenne1 execution ************************/

			self_num++;
			if (moyenne__num != self_num) {
				moyenne__num = self_num;
				moyenne_valeurEntree1 = __start.Float+18; /*boite_outils__cn_42*/
				moyenne_valeurEntree2 = __start.Float+17; /*boite_outils__cn_43*/
				moyenne_valeurSortie = __start.Float+16; /*boite_outils__cn_44*/
			}
			__ret = bibliotheque_epo__moyenne();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/*********************** tendance1 execution ************************/

			self_num++;
			if (tendance__num != self_num) {
				tendance__num = self_num;
				tendance_pente = __start.Float+15; /*boite_outils__cn_45*/
				tendance_ordonne = __start.Float+14; /*boite_outils__cn_46*/
				tendance_A = __start.Float+13; /*boite_outils__cn_47*/
				tendance_B = __start.Float+12; /*boite_outils__cn_48*/
				tendance_temps = __start.Float+11; /*boite_outils__cn_49*/
				tendance_sortieReelle = __start.Float+10; /*boite_outils__cn_50*/
				tendance_sortieTheor = __start.Float+9; /*boite_outils__cn_51*/
			}
			__ret = bibliotheque_epo__tendance();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/****************** echelle_reel_entier1 execution ******************/

			self_num++;
			if (echelle_reel_entier__num != self_num) {
				echelle_reel_entier__num = self_num;
				echelle_reel_entier_valeurEntree = __start.Float+8; /*boite_outils__cn_52*/
				echelle_reel_entier_valeurSortie = __start.Int+1; /*boite_outils__cn_53*/
			}
			__ret = bibliotheque_epo__echelle_reel_entier();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/********************** logique_et1 execution ***********************/

			self_num++;
			if (logique_et__num != self_num) {
				logique_et__num = self_num;
				logique_et_bitEntree1 = __start.Bool+13; /*boite_outils__cn_54*/
				logique_et_bitEntree2 = __start.Bool+12; /*boite_outils__cn_55*/
				logique_et_bitSortie = __start.Bool+11; /*boite_outils__cn_56*/
			}
			__ret = bibliotheque_epo__logique_et();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/******************** echelle_bornee1 execution *********************/

			self_num++;
			if (echelle_bornee__num != self_num) {
				echelle_bornee__num = self_num;
				echelle_bornee_valeurEntree = __start.Float+7; /*boite_outils__cn_57*/
				echelle_bornee_valeurSortie = __start.Float+6; /*boite_outils__cn_58*/
				echelle_bornee_valeurEntiere = __start.Int+0; /*boite_outils__cn_59*/
			}
			__ret = bibliotheque_epo__echelle_bornee();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/*********************** moyenne_51 execution ***********************/

			self_num++;
			if (moyenne_5__num != self_num) {
				moyenne_5__num = self_num;
				moyenne_5_valeurEntree1 = __start.Float+5; /*boite_outils__cn_60*/
				moyenne_5_valeurEntree2 = __start.Float+4; /*boite_outils__cn_61*/
				moyenne_5_valeurEntree3 = __start.Float+3; /*boite_outils__cn_62*/
				moyenne_5_valeurEntree4 = __start.Float+2; /*boite_outils__cn_63*/
				moyenne_5_valeurEntree5 = __start.Float+1; /*boite_outils__cn_64*/
				moyenne_5_valeurSortie = __start.Float+0; /*boite_outils__cn_65*/
			}
			__ret = bibliotheque_epo__moyenne_5();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/********************* logique_ou_101 execution *********************/

			self_num++;
			if (logique_ou_10__num != self_num) {
				logique_ou_10__num = self_num;
				logique_ou_10_bitEntree1 = __start.Bool+10; /*boite_outils__cn_66*/
				logique_ou_10_bitEntree2 = __start.Bool+9; /*boite_outils__cn_67*/
				logique_ou_10_bitEntree3 = __start.Bool+8; /*boite_outils__cn_68*/
				logique_ou_10_bitEntree4 = __start.Bool+7; /*boite_outils__cn_69*/
				logique_ou_10_bitEntree5 = __start.Bool+6; /*boite_outils__cn_70*/
				logique_ou_10_bitEntree6 = __start.Bool+5; /*boite_outils__cn_71*/
				logique_ou_10_bitEntree7 = __start.Bool+4; /*boite_outils__cn_72*/
				logique_ou_10_bitEntree8 = __start.Bool+3; /*boite_outils__cn_73*/
				logique_ou_10_bitEntree9 = __start.Bool+2; /*boite_outils__cn_74*/
				logique_ou_10_bitEntree10 = __start.Bool+1; /*boite_outils__cn_75*/
				logique_ou_10_bitSortie = __start.Bool+0; /*boite_outils__cn_76*/
			}
			__ret = bibliotheque_epo__logique_ou_10();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

		}


		/******************** Post-conditions execution *********************/

		/*no Post-conditions*/
	}

	/*************************** self update ****************************/

	self.Bool = __start.Bool + bibliotheque_epo__boite_outils_offset__end.Bool;
	self.Int = __start.Int + bibliotheque_epo__boite_outils_offset__end.Int;
	self.Float = __start.Float + bibliotheque_epo__boite_outils_offset__end.Float;
	self.Char = __start.Char + bibliotheque_epo__boite_outils_offset__end.Char;

	return 0;
}


/********************************************************************
 *                 Inner 'puissance' implementation                 *
 ********************************************************************/

#include "bibliotheque_epo/functional/commut_3pos_2sorties/commut_3pos_2sorties.h"
#include "bibliotheque_epo/functional/bouton_poussoir_lumineux/bouton_poussoir_lumineux.h"
#include "bibliotheque_epo/functional/alimentation/alimentation.h"
#include "bibliotheque_epo/functional/voyant/voyant.h"
#include "bibliotheque_epo/functional/commut_2pos_1sortie/commut_2pos_1sortie.h"
#include "bibliotheque_epo/functional/bouton_accrochage/bouton_accrochage.h"
#include "bibliotheque_epo/functional/disjoncteur/disjoncteur.h"
#include "bibliotheque_epo/functional/commut_2pos_2sorties/commut_2pos_2sorties.h"
#include "bibliotheque_epo/functional/fusible/fusible.h"
#include "bibliotheque_epo/functional/bouton_poussoir/bouton_poussoir.h"


/**************************** Variables *****************************/

static CB_Index puissance__num = 0;

/**************************** Variables *****************************/



/************************ Components offsets ************************/

static CB_Offset bibliotheque_epo__puissance_offset_commut_3pos_2sorties1;
static CB_Offset bibliotheque_epo__puissance_offset_bouton_poussoir_lumineux1;
static CB_Offset bibliotheque_epo__puissance_offset_alimentation1;
static CB_Offset bibliotheque_epo__puissance_offset_voyant1;
static CB_Offset bibliotheque_epo__puissance_offset_commut_2pos_1sortie1;
static CB_Offset bibliotheque_epo__puissance_offset_bouton_accrochage1;
static CB_Offset bibliotheque_epo__puissance_offset_disjoncteur1;
static CB_Offset bibliotheque_epo__puissance_offset_commut_2pos_2sorties1;
static CB_Offset bibliotheque_epo__puissance_offset_fusible1;
static CB_Offset bibliotheque_epo__puissance_offset_bouton_poussoir1;
static CB_Offset bibliotheque_epo__puissance_offset__end = {0, 0, 0, 0};


/********************* Initialization function **********************/

static int _bibliotheque_epo__puissance_init(void)
{
	CB_Object __start = self;
	self.Bool+=20;

	/*initialize child commut_3pos_2sorties1 (bibliotheque_epo.commut_3pos_2sorties):*/
	self_num++;
	bibliotheque_epo__puissance_offset_commut_3pos_2sorties1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__puissance_offset_commut_3pos_2sorties1.Int = self.Int - __start.Int;
	bibliotheque_epo__puissance_offset_commut_3pos_2sorties1.Float = self.Float - __start.Float;
	bibliotheque_epo__puissance_offset_commut_3pos_2sorties1.Char = self.Char - __start.Char;
	commut_3pos_2sorties_variableGauche = __start.Bool+19; /*puissance__cn_1*/
	commut_3pos_2sorties_variableDroite = __start.Bool+18; /*puissance__cn_2*/
	_bibliotheque_epo__commut_3pos_2sorties_init();

	/*initialize child bouton_poussoir_lumineux1 (bibliotheque_epo.bouton_poussoir_lumineux):*/
	self_num++;
	bibliotheque_epo__puissance_offset_bouton_poussoir_lumineux1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__puissance_offset_bouton_poussoir_lumineux1.Int = self.Int - __start.Int;
	bibliotheque_epo__puissance_offset_bouton_poussoir_lumineux1.Float = self.Float - __start.Float;
	bibliotheque_epo__puissance_offset_bouton_poussoir_lumineux1.Char = self.Char - __start.Char;
	bouton_poussoir_lumineux_lumineux = __start.Bool+17; /*puissance__cn_3*/
	bouton_poussoir_lumineux_bp = __start.Bool+16; /*puissance__cn_4*/
	_bibliotheque_epo__bouton_poussoir_lumineux_init();

	/*initialize child alimentation1 (bibliotheque_epo.alimentation):*/
	self_num++;
	bibliotheque_epo__puissance_offset_alimentation1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__puissance_offset_alimentation1.Int = self.Int - __start.Int;
	bibliotheque_epo__puissance_offset_alimentation1.Float = self.Float - __start.Float;
	bibliotheque_epo__puissance_offset_alimentation1.Char = self.Char - __start.Char;
	alimentation_energieEntree = __start.Bool+15; /*puissance__cn_5*/
	alimentation_energieSortie = __start.Bool+14; /*puissance__cn_6*/
	_bibliotheque_epo__alimentation_init();

	/*initialize child voyant1 (bibliotheque_epo.voyant):*/
	self_num++;
	bibliotheque_epo__puissance_offset_voyant1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__puissance_offset_voyant1.Int = self.Int - __start.Int;
	bibliotheque_epo__puissance_offset_voyant1.Float = self.Float - __start.Float;
	bibliotheque_epo__puissance_offset_voyant1.Char = self.Char - __start.Char;
	voyant_lumineux = __start.Bool+13; /*puissance__cn_7*/
	_bibliotheque_epo__voyant_init();

	/*initialize child commut_2pos_1sortie1 (bibliotheque_epo.commut_2pos_1sortie):*/
	self_num++;
	bibliotheque_epo__puissance_offset_commut_2pos_1sortie1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__puissance_offset_commut_2pos_1sortie1.Int = self.Int - __start.Int;
	bibliotheque_epo__puissance_offset_commut_2pos_1sortie1.Float = self.Float - __start.Float;
	bibliotheque_epo__puissance_offset_commut_2pos_1sortie1.Char = self.Char - __start.Char;
	commut_2pos_1sortie_variable = __start.Bool+12; /*puissance__cn_8*/
	_bibliotheque_epo__commut_2pos_1sortie_init();

	/*initialize child bouton_accrochage1 (bibliotheque_epo.bouton_accrochage):*/
	self_num++;
	bibliotheque_epo__puissance_offset_bouton_accrochage1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__puissance_offset_bouton_accrochage1.Int = self.Int - __start.Int;
	bibliotheque_epo__puissance_offset_bouton_accrochage1.Float = self.Float - __start.Float;
	bibliotheque_epo__puissance_offset_bouton_accrochage1.Char = self.Char - __start.Char;
	bouton_accrochage_bp = __start.Bool+11; /*puissance__cn_9*/
	_bibliotheque_epo__bouton_accrochage_init();

	/*initialize child disjoncteur1 (bibliotheque_epo.disjoncteur):*/
	self_num++;
	bibliotheque_epo__puissance_offset_disjoncteur1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__puissance_offset_disjoncteur1.Int = self.Int - __start.Int;
	bibliotheque_epo__puissance_offset_disjoncteur1.Float = self.Float - __start.Float;
	bibliotheque_epo__puissance_offset_disjoncteur1.Char = self.Char - __start.Char;
	disjoncteur_energieAvant = __start.Bool+10; /*puissance__cn_10*/
	disjoncteur_tensionCpt = __start.Bool+9; /*puissance__cn_11*/
	disjoncteur_thermique = __start.Bool+8; /*puissance__cn_12*/
	disjoncteur_energieApres = __start.Bool+7; /*puissance__cn_13*/
	_bibliotheque_epo__disjoncteur_init();

	/*initialize child commut_2pos_2sorties1 (bibliotheque_epo.commut_2pos_2sorties):*/
	self_num++;
	bibliotheque_epo__puissance_offset_commut_2pos_2sorties1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__puissance_offset_commut_2pos_2sorties1.Int = self.Int - __start.Int;
	bibliotheque_epo__puissance_offset_commut_2pos_2sorties1.Float = self.Float - __start.Float;
	bibliotheque_epo__puissance_offset_commut_2pos_2sorties1.Char = self.Char - __start.Char;
	commut_2pos_2sorties_variableGauche = __start.Bool+6; /*puissance__cn_14*/
	commut_2pos_2sorties_variableDroite = __start.Bool+5; /*puissance__cn_15*/
	_bibliotheque_epo__commut_2pos_2sorties_init();

	/*initialize child fusible1 (bibliotheque_epo.fusible):*/
	self_num++;
	bibliotheque_epo__puissance_offset_fusible1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__puissance_offset_fusible1.Int = self.Int - __start.Int;
	bibliotheque_epo__puissance_offset_fusible1.Float = self.Float - __start.Float;
	bibliotheque_epo__puissance_offset_fusible1.Char = self.Char - __start.Char;
	fusible_energieAvant = __start.Bool+4; /*puissance__cn_16*/
	fusible_tensionCpt = __start.Bool+3; /*puissance__cn_17*/
	fusible_etatFusible = __start.Bool+2; /*puissance__cn_18*/
	fusible_energieApres = __start.Bool+1; /*puissance__cn_19*/
	_bibliotheque_epo__fusible_init();

	/*initialize child bouton_poussoir1 (bibliotheque_epo.bouton_poussoir):*/
	self_num++;
	bibliotheque_epo__puissance_offset_bouton_poussoir1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__puissance_offset_bouton_poussoir1.Int = self.Int - __start.Int;
	bibliotheque_epo__puissance_offset_bouton_poussoir1.Float = self.Float - __start.Float;
	bibliotheque_epo__puissance_offset_bouton_poussoir1.Char = self.Char - __start.Char;
	bouton_poussoir_bp = __start.Bool+0; /*puissance__cn_20*/
	_bibliotheque_epo__bouton_poussoir_init();

	bibliotheque_epo__puissance_offset__end.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__puissance_offset__end.Int = self.Int - __start.Int;
	bibliotheque_epo__puissance_offset__end.Float = self.Float - __start.Float;
	bibliotheque_epo__puissance_offset__end.Char = self.Char - __start.Char;

	return 0;
}


/************************ Behavior function *************************/

static int bibliotheque_epo__puissance(void)
{
	CB_Object __start = self;
	int __ret;
	if (exec_mac_node(self_num)) {

		/*********************** Internals variables ************************/

																																								
		/********************* Pre-conditions execution *********************/

		/*no Pre-conditions*/

		/************************ Behavior execution ************************/

		{
			self.Bool = __start.Bool + bibliotheque_epo__puissance_offset_commut_3pos_2sorties1.Bool;
			self.Int = __start.Int + bibliotheque_epo__puissance_offset_commut_3pos_2sorties1.Int;
			self.Float = __start.Float + bibliotheque_epo__puissance_offset_commut_3pos_2sorties1.Float;
			self.Char = __start.Char + bibliotheque_epo__puissance_offset_commut_3pos_2sorties1.Char;

			/***************** commut_3pos_2sorties1 execution ******************/

			self_num++;
			if (commut_3pos_2sorties__num != self_num) {
				commut_3pos_2sorties__num = self_num;
				commut_3pos_2sorties_variableGauche = __start.Bool+19; /*puissance__cn_1*/
				commut_3pos_2sorties_variableDroite = __start.Bool+18; /*puissance__cn_2*/
			}
			__ret = bibliotheque_epo__commut_3pos_2sorties();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/*************** bouton_poussoir_lumineux1 execution ****************/

			self_num++;
			if (bouton_poussoir_lumineux__num != self_num) {
				bouton_poussoir_lumineux__num = self_num;
				bouton_poussoir_lumineux_lumineux = __start.Bool+17; /*puissance__cn_3*/
				bouton_poussoir_lumineux_bp = __start.Bool+16; /*puissance__cn_4*/
			}
			__ret = bibliotheque_epo__bouton_poussoir_lumineux();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/********************* alimentation1 execution **********************/

			self_num++;
			if (alimentation__num != self_num) {
				alimentation__num = self_num;
				alimentation_energieEntree = __start.Bool+15; /*puissance__cn_5*/
				alimentation_energieSortie = __start.Bool+14; /*puissance__cn_6*/
			}
			__ret = bibliotheque_epo__alimentation();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/************************ voyant1 execution *************************/

			self_num++;
			if (voyant__num != self_num) {
				voyant__num = self_num;
				voyant_lumineux = __start.Bool+13; /*puissance__cn_7*/
			}
			__ret = bibliotheque_epo__voyant();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/****************** commut_2pos_1sortie1 execution ******************/

			self_num++;
			if (commut_2pos_1sortie__num != self_num) {
				commut_2pos_1sortie__num = self_num;
				commut_2pos_1sortie_variable = __start.Bool+12; /*puissance__cn_8*/
			}
			__ret = bibliotheque_epo__commut_2pos_1sortie();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/******************* bouton_accrochage1 execution *******************/

			self_num++;
			if (bouton_accrochage__num != self_num) {
				bouton_accrochage__num = self_num;
				bouton_accrochage_bp = __start.Bool+11; /*puissance__cn_9*/
			}
			__ret = bibliotheque_epo__bouton_accrochage();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/********************** disjoncteur1 execution **********************/

			self_num++;
			if (disjoncteur__num != self_num) {
				disjoncteur__num = self_num;
				disjoncteur_energieAvant = __start.Bool+10; /*puissance__cn_10*/
				disjoncteur_tensionCpt = __start.Bool+9; /*puissance__cn_11*/
				disjoncteur_thermique = __start.Bool+8; /*puissance__cn_12*/
				disjoncteur_energieApres = __start.Bool+7; /*puissance__cn_13*/
			}
			__ret = bibliotheque_epo__disjoncteur();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/***************** commut_2pos_2sorties1 execution ******************/

			self_num++;
			if (commut_2pos_2sorties__num != self_num) {
				commut_2pos_2sorties__num = self_num;
				commut_2pos_2sorties_variableGauche = __start.Bool+6; /*puissance__cn_14*/
				commut_2pos_2sorties_variableDroite = __start.Bool+5; /*puissance__cn_15*/
			}
			__ret = bibliotheque_epo__commut_2pos_2sorties();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/************************ fusible1 execution ************************/

			self_num++;
			if (fusible__num != self_num) {
				fusible__num = self_num;
				fusible_energieAvant = __start.Bool+4; /*puissance__cn_16*/
				fusible_tensionCpt = __start.Bool+3; /*puissance__cn_17*/
				fusible_etatFusible = __start.Bool+2; /*puissance__cn_18*/
				fusible_energieApres = __start.Bool+1; /*puissance__cn_19*/
			}
			__ret = bibliotheque_epo__fusible();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/******************** bouton_poussoir1 execution ********************/

			self_num++;
			if (bouton_poussoir__num != self_num) {
				bouton_poussoir__num = self_num;
				bouton_poussoir_bp = __start.Bool+0; /*puissance__cn_20*/
			}
			__ret = bibliotheque_epo__bouton_poussoir();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

		}


		/******************** Post-conditions execution *********************/

		/*no Post-conditions*/
	}

	/*************************** self update ****************************/

	self.Bool = __start.Bool + bibliotheque_epo__puissance_offset__end.Bool;
	self.Int = __start.Int + bibliotheque_epo__puissance_offset__end.Int;
	self.Float = __start.Float + bibliotheque_epo__puissance_offset__end.Float;
	self.Char = __start.Char + bibliotheque_epo__puissance_offset__end.Char;

	return 0;
}


/********************************************************************
 *              Inner 'preactionneurs' implementation               *
 ********************************************************************/

#include "bibliotheque_epo/functional/distributeur_32/distributeur_32.h"
#include "bibliotheque_epo/functional/contacteur/contacteur.h"
#include "bibliotheque_epo/functional/distributeur_42/distributeur_42.h"
#include "bibliotheque_epo/functional/contacteur_1s2v/contacteur_1s2v.h"
#include "bibliotheque_epo/functional/contacteur_2s1v/contacteur_2s1v.h"
#include "bibliotheque_epo/functional/distributeur_52/distributeur_52.h"
#include "bibliotheque_epo/functional/contacteur_2s2v/contacteur_2s2v.h"
#include "bibliotheque_epo/functional/distributeur_53/distributeur_53.h"


/**************************** Variables *****************************/

static CB_Index preactionneurs__num = 0;

/**************************** Variables *****************************/



/************************ Components offsets ************************/

static CB_Offset bibliotheque_epo__preactionneurs_offset_distributeur_321;
static CB_Offset bibliotheque_epo__preactionneurs_offset_contacteur1;
static CB_Offset bibliotheque_epo__preactionneurs_offset_distributeur_421;
static CB_Offset bibliotheque_epo__preactionneurs_offset_contacteur_1s2v1;
static CB_Offset bibliotheque_epo__preactionneurs_offset_contacteur_2s1v1;
static CB_Offset bibliotheque_epo__preactionneurs_offset_distributeur_521;
static CB_Offset bibliotheque_epo__preactionneurs_offset_contacteur_2s2v1;
static CB_Offset bibliotheque_epo__preactionneurs_offset_distributeur_531;
static CB_Offset bibliotheque_epo__preactionneurs_offset__end = {0, 0, 0, 0};


/********************* Initialization function **********************/

static int _bibliotheque_epo__preactionneurs_init(void)
{
	CB_Object __start = self;
	self.Bool+=71;

	/*initialize child distributeur_321 (bibliotheque_epo.distributeur_32):*/
	self_num++;
	bibliotheque_epo__preactionneurs_offset_distributeur_321.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__preactionneurs_offset_distributeur_321.Int = self.Int - __start.Int;
	bibliotheque_epo__preactionneurs_offset_distributeur_321.Float = self.Float - __start.Float;
	bibliotheque_epo__preactionneurs_offset_distributeur_321.Char = self.Char - __start.Char;
	distributeur_32_energiePression = __start.Bool+70; /*preactionneurs__cn_1*/
	distributeur_32_tensionCmd = __start.Bool+69; /*preactionneurs__cn_2*/
	distributeur_32_electroTravail = __start.Bool+68; /*preactionneurs__cn_3*/
	distributeur_32_commandeTravail = __start.Bool+67; /*preactionneurs__cn_4*/
	distributeur_32_flexibleTravail = __start.Bool+66; /*preactionneurs__cn_5*/
	distributeur_32_flexibleRetour = __start.Bool+65; /*preactionneurs__cn_6*/
	_bibliotheque_epo__distributeur_32_init();

	/*initialize child contacteur1 (bibliotheque_epo.contacteur):*/
	self_num++;
	bibliotheque_epo__preactionneurs_offset_contacteur1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__preactionneurs_offset_contacteur1.Int = self.Int - __start.Int;
	bibliotheque_epo__preactionneurs_offset_contacteur1.Float = self.Float - __start.Float;
	bibliotheque_epo__preactionneurs_offset_contacteur1.Char = self.Char - __start.Char;
	contacteur_cmdAv = __start.Bool+64; /*preactionneurs__cn_7*/
	contacteur_tensionCmd = __start.Bool+63; /*preactionneurs__cn_8*/
	contacteur_tensionCpt = __start.Bool+62; /*preactionneurs__cn_9*/
	contacteur_energie380 = __start.Bool+61; /*preactionneurs__cn_10*/
	contacteur_retourAv = __start.Bool+60; /*preactionneurs__cn_11*/
	contacteur_etatAvGv = __start.Bool+59; /*preactionneurs__cn_12*/
	contacteur_thermique = __start.Bool+58; /*preactionneurs__cn_13*/
	_bibliotheque_epo__contacteur_init();

	/*initialize child distributeur_421 (bibliotheque_epo.distributeur_42):*/
	self_num++;
	bibliotheque_epo__preactionneurs_offset_distributeur_421.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__preactionneurs_offset_distributeur_421.Int = self.Int - __start.Int;
	bibliotheque_epo__preactionneurs_offset_distributeur_421.Float = self.Float - __start.Float;
	bibliotheque_epo__preactionneurs_offset_distributeur_421.Char = self.Char - __start.Char;
	distributeur_42_energiePression = __start.Bool+57; /*preactionneurs__cn_14*/
	distributeur_42_tensionCmd = __start.Bool+56; /*preactionneurs__cn_15*/
	distributeur_42_electroTravail = __start.Bool+55; /*preactionneurs__cn_16*/
	distributeur_42_flexibleTravail = __start.Bool+54; /*preactionneurs__cn_17*/
	distributeur_42_flexibleRetour = __start.Bool+53; /*preactionneurs__cn_18*/
	distributeur_42_commandeTravail = __start.Bool+52; /*preactionneurs__cn_19*/
	_bibliotheque_epo__distributeur_42_init();

	/*initialize child contacteur_1s2v1 (bibliotheque_epo.contacteur_1s2v):*/
	self_num++;
	bibliotheque_epo__preactionneurs_offset_contacteur_1s2v1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__preactionneurs_offset_contacteur_1s2v1.Int = self.Int - __start.Int;
	bibliotheque_epo__preactionneurs_offset_contacteur_1s2v1.Float = self.Float - __start.Float;
	bibliotheque_epo__preactionneurs_offset_contacteur_1s2v1.Char = self.Char - __start.Char;
	contacteur_1s2v_energie380 = __start.Bool+51; /*preactionneurs__cn_20*/
	contacteur_1s2v_tensionCmd = __start.Bool+50; /*preactionneurs__cn_21*/
	contacteur_1s2v_tensionCpt = __start.Bool+49; /*preactionneurs__cn_22*/
	contacteur_1s2v_cmdPv = __start.Bool+48; /*preactionneurs__cn_23*/
	contacteur_1s2v_cmdGv = __start.Bool+47; /*preactionneurs__cn_24*/
	contacteur_1s2v_retourPv = __start.Bool+46; /*preactionneurs__cn_25*/
	contacteur_1s2v_retourGv = __start.Bool+45; /*preactionneurs__cn_26*/
	contacteur_1s2v_thermique = __start.Bool+44; /*preactionneurs__cn_27*/
	contacteur_1s2v_etatAvPv = __start.Bool+43; /*preactionneurs__cn_28*/
	contacteur_1s2v_etatAvGv = __start.Bool+42; /*preactionneurs__cn_29*/
	_bibliotheque_epo__contacteur_1s2v_init();

	/*initialize child contacteur_2s1v1 (bibliotheque_epo.contacteur_2s1v):*/
	self_num++;
	bibliotheque_epo__preactionneurs_offset_contacteur_2s1v1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__preactionneurs_offset_contacteur_2s1v1.Int = self.Int - __start.Int;
	bibliotheque_epo__preactionneurs_offset_contacteur_2s1v1.Float = self.Float - __start.Float;
	bibliotheque_epo__preactionneurs_offset_contacteur_2s1v1.Char = self.Char - __start.Char;
	contacteur_2s1v_energie380 = __start.Bool+41; /*preactionneurs__cn_30*/
	contacteur_2s1v_tensionCmd = __start.Bool+40; /*preactionneurs__cn_31*/
	contacteur_2s1v_tensionCpt = __start.Bool+39; /*preactionneurs__cn_32*/
	contacteur_2s1v_cmdAv = __start.Bool+38; /*preactionneurs__cn_33*/
	contacteur_2s1v_cmdAr = __start.Bool+37; /*preactionneurs__cn_34*/
	contacteur_2s1v_retourAv = __start.Bool+36; /*preactionneurs__cn_35*/
	contacteur_2s1v_retourAr = __start.Bool+35; /*preactionneurs__cn_36*/
	contacteur_2s1v_thermique = __start.Bool+34; /*preactionneurs__cn_37*/
	contacteur_2s1v_etatAvGv = __start.Bool+33; /*preactionneurs__cn_38*/
	contacteur_2s1v_etatArGv = __start.Bool+32; /*preactionneurs__cn_39*/
	_bibliotheque_epo__contacteur_2s1v_init();

	/*initialize child distributeur_521 (bibliotheque_epo.distributeur_52):*/
	self_num++;
	bibliotheque_epo__preactionneurs_offset_distributeur_521.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__preactionneurs_offset_distributeur_521.Int = self.Int - __start.Int;
	bibliotheque_epo__preactionneurs_offset_distributeur_521.Float = self.Float - __start.Float;
	bibliotheque_epo__preactionneurs_offset_distributeur_521.Char = self.Char - __start.Char;
	distributeur_52_energiePression = __start.Bool+31; /*preactionneurs__cn_40*/
	distributeur_52_tensionCmd = __start.Bool+30; /*preactionneurs__cn_41*/
	distributeur_52_electroTravail = __start.Bool+29; /*preactionneurs__cn_42*/
	distributeur_52_electroRetour = __start.Bool+28; /*preactionneurs__cn_43*/
	distributeur_52_flexibleTravail = __start.Bool+27; /*preactionneurs__cn_44*/
	distributeur_52_flexibleRetour = __start.Bool+26; /*preactionneurs__cn_45*/
	distributeur_52_commandeTravail = __start.Bool+25; /*preactionneurs__cn_46*/
	distributeur_52_commandeRetour = __start.Bool+24; /*preactionneurs__cn_47*/
	_bibliotheque_epo__distributeur_52_init();

	/*initialize child contacteur_2s2v1 (bibliotheque_epo.contacteur_2s2v):*/
	self_num++;
	bibliotheque_epo__preactionneurs_offset_contacteur_2s2v1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__preactionneurs_offset_contacteur_2s2v1.Int = self.Int - __start.Int;
	bibliotheque_epo__preactionneurs_offset_contacteur_2s2v1.Float = self.Float - __start.Float;
	bibliotheque_epo__preactionneurs_offset_contacteur_2s2v1.Char = self.Char - __start.Char;
	contacteur_2s2v_cmdAv = __start.Bool+23; /*preactionneurs__cn_48*/
	contacteur_2s2v_cmdAr = __start.Bool+22; /*preactionneurs__cn_49*/
	contacteur_2s2v_cmdPv = __start.Bool+21; /*preactionneurs__cn_50*/
	contacteur_2s2v_cmdGv = __start.Bool+20; /*preactionneurs__cn_51*/
	contacteur_2s2v_energie380 = __start.Bool+19; /*preactionneurs__cn_52*/
	contacteur_2s2v_tensionCmd = __start.Bool+18; /*preactionneurs__cn_53*/
	contacteur_2s2v_tensionCpt = __start.Bool+17; /*preactionneurs__cn_54*/
	contacteur_2s2v_retourAv = __start.Bool+16; /*preactionneurs__cn_55*/
	contacteur_2s2v_retourAr = __start.Bool+15; /*preactionneurs__cn_56*/
	contacteur_2s2v_retourPv = __start.Bool+14; /*preactionneurs__cn_57*/
	contacteur_2s2v_retourGv = __start.Bool+13; /*preactionneurs__cn_58*/
	contacteur_2s2v_thermique = __start.Bool+12; /*preactionneurs__cn_59*/
	contacteur_2s2v_etatAvPv = __start.Bool+11; /*preactionneurs__cn_60*/
	contacteur_2s2v_etatAvGv = __start.Bool+10; /*preactionneurs__cn_61*/
	contacteur_2s2v_etatArPv = __start.Bool+9; /*preactionneurs__cn_62*/
	contacteur_2s2v_etatArGv = __start.Bool+8; /*preactionneurs__cn_63*/
	_bibliotheque_epo__contacteur_2s2v_init();

	/*initialize child distributeur_531 (bibliotheque_epo.distributeur_53):*/
	self_num++;
	bibliotheque_epo__preactionneurs_offset_distributeur_531.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__preactionneurs_offset_distributeur_531.Int = self.Int - __start.Int;
	bibliotheque_epo__preactionneurs_offset_distributeur_531.Float = self.Float - __start.Float;
	bibliotheque_epo__preactionneurs_offset_distributeur_531.Char = self.Char - __start.Char;
	distributeur_53_energiePression = __start.Bool+7; /*preactionneurs__cn_64*/
	distributeur_53_tensionCmd = __start.Bool+6; /*preactionneurs__cn_65*/
	distributeur_53_electroTravail = __start.Bool+5; /*preactionneurs__cn_66*/
	distributeur_53_electroRetour = __start.Bool+4; /*preactionneurs__cn_67*/
	distributeur_53_flexibleTravail = __start.Bool+3; /*preactionneurs__cn_68*/
	distributeur_53_flexibleRetour = __start.Bool+2; /*preactionneurs__cn_69*/
	distributeur_53_commandeTravail = __start.Bool+1; /*preactionneurs__cn_70*/
	distributeur_53_commandeRetour = __start.Bool+0; /*preactionneurs__cn_71*/
	_bibliotheque_epo__distributeur_53_init();

	bibliotheque_epo__preactionneurs_offset__end.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__preactionneurs_offset__end.Int = self.Int - __start.Int;
	bibliotheque_epo__preactionneurs_offset__end.Float = self.Float - __start.Float;
	bibliotheque_epo__preactionneurs_offset__end.Char = self.Char - __start.Char;

	return 0;
}


/************************ Behavior function *************************/

static int bibliotheque_epo__preactionneurs(void)
{
	CB_Object __start = self;
	int __ret;
	if (exec_mac_node(self_num)) {

		/*********************** Internals variables ************************/

																																																																																																																																														
		/********************* Pre-conditions execution *********************/

		/*no Pre-conditions*/

		/************************ Behavior execution ************************/

		{
			self.Bool = __start.Bool + bibliotheque_epo__preactionneurs_offset_distributeur_321.Bool;
			self.Int = __start.Int + bibliotheque_epo__preactionneurs_offset_distributeur_321.Int;
			self.Float = __start.Float + bibliotheque_epo__preactionneurs_offset_distributeur_321.Float;
			self.Char = __start.Char + bibliotheque_epo__preactionneurs_offset_distributeur_321.Char;

			/******************** distributeur_321 execution ********************/

			self_num++;
			if (distributeur_32__num != self_num) {
				distributeur_32__num = self_num;
				distributeur_32_energiePression = __start.Bool+70; /*preactionneurs__cn_1*/
				distributeur_32_tensionCmd = __start.Bool+69; /*preactionneurs__cn_2*/
				distributeur_32_electroTravail = __start.Bool+68; /*preactionneurs__cn_3*/
				distributeur_32_commandeTravail = __start.Bool+67; /*preactionneurs__cn_4*/
				distributeur_32_flexibleTravail = __start.Bool+66; /*preactionneurs__cn_5*/
				distributeur_32_flexibleRetour = __start.Bool+65; /*preactionneurs__cn_6*/
			}
			__ret = bibliotheque_epo__distributeur_32();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/********************** contacteur1 execution ***********************/

			self_num++;
			if (contacteur__num != self_num) {
				contacteur__num = self_num;
				contacteur_cmdAv = __start.Bool+64; /*preactionneurs__cn_7*/
				contacteur_tensionCmd = __start.Bool+63; /*preactionneurs__cn_8*/
				contacteur_tensionCpt = __start.Bool+62; /*preactionneurs__cn_9*/
				contacteur_energie380 = __start.Bool+61; /*preactionneurs__cn_10*/
				contacteur_retourAv = __start.Bool+60; /*preactionneurs__cn_11*/
				contacteur_etatAvGv = __start.Bool+59; /*preactionneurs__cn_12*/
				contacteur_thermique = __start.Bool+58; /*preactionneurs__cn_13*/
			}
			__ret = bibliotheque_epo__contacteur();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/******************** distributeur_421 execution ********************/

			self_num++;
			if (distributeur_42__num != self_num) {
				distributeur_42__num = self_num;
				distributeur_42_energiePression = __start.Bool+57; /*preactionneurs__cn_14*/
				distributeur_42_tensionCmd = __start.Bool+56; /*preactionneurs__cn_15*/
				distributeur_42_electroTravail = __start.Bool+55; /*preactionneurs__cn_16*/
				distributeur_42_flexibleTravail = __start.Bool+54; /*preactionneurs__cn_17*/
				distributeur_42_flexibleRetour = __start.Bool+53; /*preactionneurs__cn_18*/
				distributeur_42_commandeTravail = __start.Bool+52; /*preactionneurs__cn_19*/
			}
			__ret = bibliotheque_epo__distributeur_42();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/******************** contacteur_1s2v1 execution ********************/

			self_num++;
			if (contacteur_1s2v__num != self_num) {
				contacteur_1s2v__num = self_num;
				contacteur_1s2v_energie380 = __start.Bool+51; /*preactionneurs__cn_20*/
				contacteur_1s2v_tensionCmd = __start.Bool+50; /*preactionneurs__cn_21*/
				contacteur_1s2v_tensionCpt = __start.Bool+49; /*preactionneurs__cn_22*/
				contacteur_1s2v_cmdPv = __start.Bool+48; /*preactionneurs__cn_23*/
				contacteur_1s2v_cmdGv = __start.Bool+47; /*preactionneurs__cn_24*/
				contacteur_1s2v_retourPv = __start.Bool+46; /*preactionneurs__cn_25*/
				contacteur_1s2v_retourGv = __start.Bool+45; /*preactionneurs__cn_26*/
				contacteur_1s2v_thermique = __start.Bool+44; /*preactionneurs__cn_27*/
				contacteur_1s2v_etatAvPv = __start.Bool+43; /*preactionneurs__cn_28*/
				contacteur_1s2v_etatAvGv = __start.Bool+42; /*preactionneurs__cn_29*/
			}
			__ret = bibliotheque_epo__contacteur_1s2v();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/******************** contacteur_2s1v1 execution ********************/

			self_num++;
			if (contacteur_2s1v__num != self_num) {
				contacteur_2s1v__num = self_num;
				contacteur_2s1v_energie380 = __start.Bool+41; /*preactionneurs__cn_30*/
				contacteur_2s1v_tensionCmd = __start.Bool+40; /*preactionneurs__cn_31*/
				contacteur_2s1v_tensionCpt = __start.Bool+39; /*preactionneurs__cn_32*/
				contacteur_2s1v_cmdAv = __start.Bool+38; /*preactionneurs__cn_33*/
				contacteur_2s1v_cmdAr = __start.Bool+37; /*preactionneurs__cn_34*/
				contacteur_2s1v_retourAv = __start.Bool+36; /*preactionneurs__cn_35*/
				contacteur_2s1v_retourAr = __start.Bool+35; /*preactionneurs__cn_36*/
				contacteur_2s1v_thermique = __start.Bool+34; /*preactionneurs__cn_37*/
				contacteur_2s1v_etatAvGv = __start.Bool+33; /*preactionneurs__cn_38*/
				contacteur_2s1v_etatArGv = __start.Bool+32; /*preactionneurs__cn_39*/
			}
			__ret = bibliotheque_epo__contacteur_2s1v();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/******************** distributeur_521 execution ********************/

			self_num++;
			if (distributeur_52__num != self_num) {
				distributeur_52__num = self_num;
				distributeur_52_energiePression = __start.Bool+31; /*preactionneurs__cn_40*/
				distributeur_52_tensionCmd = __start.Bool+30; /*preactionneurs__cn_41*/
				distributeur_52_electroTravail = __start.Bool+29; /*preactionneurs__cn_42*/
				distributeur_52_electroRetour = __start.Bool+28; /*preactionneurs__cn_43*/
				distributeur_52_flexibleTravail = __start.Bool+27; /*preactionneurs__cn_44*/
				distributeur_52_flexibleRetour = __start.Bool+26; /*preactionneurs__cn_45*/
				distributeur_52_commandeTravail = __start.Bool+25; /*preactionneurs__cn_46*/
				distributeur_52_commandeRetour = __start.Bool+24; /*preactionneurs__cn_47*/
			}
			__ret = bibliotheque_epo__distributeur_52();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/******************** contacteur_2s2v1 execution ********************/

			self_num++;
			if (contacteur_2s2v__num != self_num) {
				contacteur_2s2v__num = self_num;
				contacteur_2s2v_cmdAv = __start.Bool+23; /*preactionneurs__cn_48*/
				contacteur_2s2v_cmdAr = __start.Bool+22; /*preactionneurs__cn_49*/
				contacteur_2s2v_cmdPv = __start.Bool+21; /*preactionneurs__cn_50*/
				contacteur_2s2v_cmdGv = __start.Bool+20; /*preactionneurs__cn_51*/
				contacteur_2s2v_energie380 = __start.Bool+19; /*preactionneurs__cn_52*/
				contacteur_2s2v_tensionCmd = __start.Bool+18; /*preactionneurs__cn_53*/
				contacteur_2s2v_tensionCpt = __start.Bool+17; /*preactionneurs__cn_54*/
				contacteur_2s2v_retourAv = __start.Bool+16; /*preactionneurs__cn_55*/
				contacteur_2s2v_retourAr = __start.Bool+15; /*preactionneurs__cn_56*/
				contacteur_2s2v_retourPv = __start.Bool+14; /*preactionneurs__cn_57*/
				contacteur_2s2v_retourGv = __start.Bool+13; /*preactionneurs__cn_58*/
				contacteur_2s2v_thermique = __start.Bool+12; /*preactionneurs__cn_59*/
				contacteur_2s2v_etatAvPv = __start.Bool+11; /*preactionneurs__cn_60*/
				contacteur_2s2v_etatAvGv = __start.Bool+10; /*preactionneurs__cn_61*/
				contacteur_2s2v_etatArPv = __start.Bool+9; /*preactionneurs__cn_62*/
				contacteur_2s2v_etatArGv = __start.Bool+8; /*preactionneurs__cn_63*/
			}
			__ret = bibliotheque_epo__contacteur_2s2v();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/******************** distributeur_531 execution ********************/

			self_num++;
			if (distributeur_53__num != self_num) {
				distributeur_53__num = self_num;
				distributeur_53_energiePression = __start.Bool+7; /*preactionneurs__cn_64*/
				distributeur_53_tensionCmd = __start.Bool+6; /*preactionneurs__cn_65*/
				distributeur_53_electroTravail = __start.Bool+5; /*preactionneurs__cn_66*/
				distributeur_53_electroRetour = __start.Bool+4; /*preactionneurs__cn_67*/
				distributeur_53_flexibleTravail = __start.Bool+3; /*preactionneurs__cn_68*/
				distributeur_53_flexibleRetour = __start.Bool+2; /*preactionneurs__cn_69*/
				distributeur_53_commandeTravail = __start.Bool+1; /*preactionneurs__cn_70*/
				distributeur_53_commandeRetour = __start.Bool+0; /*preactionneurs__cn_71*/
			}
			__ret = bibliotheque_epo__distributeur_53();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

		}


		/******************** Post-conditions execution *********************/

		/*no Post-conditions*/
	}

	/*************************** self update ****************************/

	self.Bool = __start.Bool + bibliotheque_epo__preactionneurs_offset__end.Bool;
	self.Int = __start.Int + bibliotheque_epo__preactionneurs_offset__end.Int;
	self.Float = __start.Float + bibliotheque_epo__preactionneurs_offset__end.Float;
	self.Char = __start.Char + bibliotheque_epo__preactionneurs_offset__end.Char;

	return 0;
}


/********************************************************************
 *                Inner 'actionneurs' implementation                *
 ********************************************************************/

#include "bibliotheque_epo/functional/integrale_1s1v/integrale_1s1v.h"
#include "bibliotheque_epo/functional/came_1sens_1vit/came_1sens_1vit.h"
#include "bibliotheque_epo/functional/tige_double_effet/tige_double_effet.h"
#include "bibliotheque_epo/functional/axe/axe.h"
#include "bibliotheque_epo/functional/bande_transporteuse/bande_transporteuse.h"
#include "bibliotheque_epo/functional/came_1sens_2vit/came_1sens_2vit.h"
#include "bibliotheque_epo/functional/integrale_1s2v/integrale_1s2v.h"
#include "bibliotheque_epo/functional/tige_simple_effet/tige_simple_effet.h"
#include "bibliotheque_epo/functional/bascule/bascule.h"
#include "bibliotheque_epo/functional/came_2sens_1vit/came_2sens_1vit.h"
#include "bibliotheque_epo/functional/integrale_2s1v/integrale_2s1v.h"
#include "bibliotheque_epo/functional/tremie/tremie.h"
#include "bibliotheque_epo/functional/came/came.h"
#include "bibliotheque_epo/functional/integrale_2s2v/integrale_2s2v.h"
#include "bibliotheque_epo/functional/came_2sens_2vit/came_2sens_2vit.h"


/**************************** Variables *****************************/

static CB_Index actionneurs__num = 0;

/**************************** Variables *****************************/



/************************ Components offsets ************************/

static CB_Offset bibliotheque_epo__actionneurs_offset_integrale_1s1v1;
static CB_Offset bibliotheque_epo__actionneurs_offset_came_1sens_1vit1;
static CB_Offset bibliotheque_epo__actionneurs_offset_tige_double_effet1;
static CB_Offset bibliotheque_epo__actionneurs_offset_axe1;
static CB_Offset bibliotheque_epo__actionneurs_offset_bande_transporteuse1;
static CB_Offset bibliotheque_epo__actionneurs_offset_came_1sens_2vit1;
static CB_Offset bibliotheque_epo__actionneurs_offset_integrale_1s2v1;
static CB_Offset bibliotheque_epo__actionneurs_offset_tige_simple_effet1;
static CB_Offset bibliotheque_epo__actionneurs_offset_bascule1;
static CB_Offset bibliotheque_epo__actionneurs_offset_came_2sens_1vit1;
static CB_Offset bibliotheque_epo__actionneurs_offset_integrale_2s1v1;
static CB_Offset bibliotheque_epo__actionneurs_offset_tremie1;
static CB_Offset bibliotheque_epo__actionneurs_offset_came1;
static CB_Offset bibliotheque_epo__actionneurs_offset_integrale_2s2v1;
static CB_Offset bibliotheque_epo__actionneurs_offset_came_2sens_2vit1;
static CB_Offset bibliotheque_epo__actionneurs_offset__end = {0, 0, 0, 0};


/********************* Initialization function **********************/

static int _bibliotheque_epo__actionneurs_init(void)
{
	CB_Object __start = self;
	self.Bool+=26;
	self.Float+=59;

	/*initialize child integrale_1s1v1 (bibliotheque_epo.integrale_1s1v):*/
	self_num++;
	bibliotheque_epo__actionneurs_offset_integrale_1s1v1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__actionneurs_offset_integrale_1s1v1.Int = self.Int - __start.Int;
	bibliotheque_epo__actionneurs_offset_integrale_1s1v1.Float = self.Float - __start.Float;
	bibliotheque_epo__actionneurs_offset_integrale_1s1v1.Char = self.Char - __start.Char;
	integrale_1s1v_etatAvGv = __start.Bool+25; /*actionneurs__cn_1*/
	integrale_1s1v_positionRampe = __start.Float+58; /*actionneurs__cn_2*/
	integrale_1s1v_pourcentRampe = __start.Float+57; /*actionneurs__cn_3*/
	_bibliotheque_epo__integrale_1s1v_init();

	/*initialize child came_1sens_1vit1 (bibliotheque_epo.came_1sens_1vit):*/
	self_num++;
	bibliotheque_epo__actionneurs_offset_came_1sens_1vit1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__actionneurs_offset_came_1sens_1vit1.Int = self.Int - __start.Int;
	bibliotheque_epo__actionneurs_offset_came_1sens_1vit1.Float = self.Float - __start.Float;
	bibliotheque_epo__actionneurs_offset_came_1sens_1vit1.Char = self.Char - __start.Char;
	came_1sens_1vit_cmdAv = __start.Bool+24; /*actionneurs__cn_4*/
	came_1sens_1vit_positionTranslat = __start.Float+56; /*actionneurs__cn_5*/
	came_1sens_1vit_pourcentTranslat = __start.Float+55; /*actionneurs__cn_6*/
	came_1sens_1vit_incrementTranslat = __start.Float+54; /*actionneurs__cn_7*/
	came_1sens_1vit_angleRotationDeg = __start.Float+53; /*actionneurs__cn_8*/
	came_1sens_1vit_angleRotationRad = __start.Float+52; /*actionneurs__cn_9*/
	_bibliotheque_epo__came_1sens_1vit_init();

	/*initialize child tige_double_effet1 (bibliotheque_epo.tige_double_effet):*/
	self_num++;
	bibliotheque_epo__actionneurs_offset_tige_double_effet1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__actionneurs_offset_tige_double_effet1.Int = self.Int - __start.Int;
	bibliotheque_epo__actionneurs_offset_tige_double_effet1.Float = self.Float - __start.Float;
	bibliotheque_epo__actionneurs_offset_tige_double_effet1.Char = self.Char - __start.Char;
	tige_double_effet_flexibleTravail = __start.Bool+23; /*actionneurs__cn_10*/
	tige_double_effet_flexibleRetour = __start.Bool+22; /*actionneurs__cn_11*/
	tige_double_effet_positionTige = __start.Float+51; /*actionneurs__cn_12*/
	tige_double_effet_pourcentTige = __start.Float+50; /*actionneurs__cn_13*/
	_bibliotheque_epo__tige_double_effet_init();

	/*initialize child axe1 (bibliotheque_epo.axe):*/
	self_num++;
	bibliotheque_epo__actionneurs_offset_axe1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__actionneurs_offset_axe1.Int = self.Int - __start.Int;
	bibliotheque_epo__actionneurs_offset_axe1.Float = self.Float - __start.Float;
	bibliotheque_epo__actionneurs_offset_axe1.Char = self.Char - __start.Char;
	axe_vitesse = __start.Float+49; /*actionneurs__cn_14*/
	axe_positionTranslat = __start.Float+48; /*actionneurs__cn_15*/
	axe_pourcentTranslat = __start.Float+47; /*actionneurs__cn_16*/
	axe_incTranslat = __start.Float+46; /*actionneurs__cn_17*/
	_bibliotheque_epo__axe_init();

	/*initialize child bande_transporteuse1 (bibliotheque_epo.bande_transporteuse):*/
	self_num++;
	bibliotheque_epo__actionneurs_offset_bande_transporteuse1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__actionneurs_offset_bande_transporteuse1.Int = self.Int - __start.Int;
	bibliotheque_epo__actionneurs_offset_bande_transporteuse1.Float = self.Float - __start.Float;
	bibliotheque_epo__actionneurs_offset_bande_transporteuse1.Char = self.Char - __start.Char;
	bande_transporteuse_volumeEntree = __start.Float+45; /*actionneurs__cn_18*/
	bande_transporteuse_positionDepose = __start.Float+44; /*actionneurs__cn_19*/
	bande_transporteuse_vitesse = __start.Float+43; /*actionneurs__cn_20*/
	bande_transporteuse_ouvertureVanne = __start.Bool+21; /*actionneurs__cn_21*/
	bande_transporteuse_volumeSortieAv = __start.Float+42; /*actionneurs__cn_22*/
	bande_transporteuse_volumeSortieAr = __start.Float+41; /*actionneurs__cn_23*/
	bande_transporteuse_controleurRot = __start.Bool+20; /*actionneurs__cn_24*/
	bande_transporteuse_volumeSortieVanne = __start.Float+40; /*actionneurs__cn_25*/
	_bibliotheque_epo__bande_transporteuse_init();

	/*initialize child came_1sens_2vit1 (bibliotheque_epo.came_1sens_2vit):*/
	self_num++;
	bibliotheque_epo__actionneurs_offset_came_1sens_2vit1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__actionneurs_offset_came_1sens_2vit1.Int = self.Int - __start.Int;
	bibliotheque_epo__actionneurs_offset_came_1sens_2vit1.Float = self.Float - __start.Float;
	bibliotheque_epo__actionneurs_offset_came_1sens_2vit1.Char = self.Char - __start.Char;
	came_1sens_2vit_cmdPv = __start.Bool+19; /*actionneurs__cn_26*/
	came_1sens_2vit_cmdGv = __start.Bool+18; /*actionneurs__cn_27*/
	came_1sens_2vit_positionTranslat = __start.Float+39; /*actionneurs__cn_28*/
	came_1sens_2vit_pourcentTranslat = __start.Float+38; /*actionneurs__cn_29*/
	came_1sens_2vit_incrementTranslat = __start.Float+37; /*actionneurs__cn_30*/
	came_1sens_2vit_angleRotationDeg = __start.Float+36; /*actionneurs__cn_31*/
	came_1sens_2vit_angleRotationRad = __start.Float+35; /*actionneurs__cn_32*/
	_bibliotheque_epo__came_1sens_2vit_init();

	/*initialize child integrale_1s2v1 (bibliotheque_epo.integrale_1s2v):*/
	self_num++;
	bibliotheque_epo__actionneurs_offset_integrale_1s2v1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__actionneurs_offset_integrale_1s2v1.Int = self.Int - __start.Int;
	bibliotheque_epo__actionneurs_offset_integrale_1s2v1.Float = self.Float - __start.Float;
	bibliotheque_epo__actionneurs_offset_integrale_1s2v1.Char = self.Char - __start.Char;
	integrale_1s2v_etatAvGv = __start.Bool+17; /*actionneurs__cn_33*/
	integrale_1s2v_etatAvPv = __start.Bool+16; /*actionneurs__cn_34*/
	integrale_1s2v_positionRampe = __start.Float+34; /*actionneurs__cn_35*/
	integrale_1s2v_pourcentRampe = __start.Float+33; /*actionneurs__cn_36*/
	_bibliotheque_epo__integrale_1s2v_init();

	/*initialize child tige_simple_effet1 (bibliotheque_epo.tige_simple_effet):*/
	self_num++;
	bibliotheque_epo__actionneurs_offset_tige_simple_effet1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__actionneurs_offset_tige_simple_effet1.Int = self.Int - __start.Int;
	bibliotheque_epo__actionneurs_offset_tige_simple_effet1.Float = self.Float - __start.Float;
	bibliotheque_epo__actionneurs_offset_tige_simple_effet1.Char = self.Char - __start.Char;
	tige_simple_effet_flexibleTravail = __start.Bool+15; /*actionneurs__cn_37*/
	tige_simple_effet_positionTige = __start.Float+32; /*actionneurs__cn_38*/
	tige_simple_effet_pourcentTige = __start.Float+31; /*actionneurs__cn_39*/
	_bibliotheque_epo__tige_simple_effet_init();

	/*initialize child bascule1 (bibliotheque_epo.bascule):*/
	self_num++;
	bibliotheque_epo__actionneurs_offset_bascule1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__actionneurs_offset_bascule1.Int = self.Int - __start.Int;
	bibliotheque_epo__actionneurs_offset_bascule1.Float = self.Float - __start.Float;
	bibliotheque_epo__actionneurs_offset_bascule1.Char = self.Char - __start.Char;
	bascule_raz = __start.Bool+14; /*actionneurs__cn_40*/
	bascule_poids = __start.Float+30; /*actionneurs__cn_41*/
	bascule_tarage = __start.Bool+13; /*actionneurs__cn_42*/
	bascule_valPoids = __start.Float+29; /*actionneurs__cn_43*/
	bascule_poidsStable = __start.Bool+12; /*actionneurs__cn_44*/
	_bibliotheque_epo__bascule_init();

	/*initialize child came_2sens_1vit1 (bibliotheque_epo.came_2sens_1vit):*/
	self_num++;
	bibliotheque_epo__actionneurs_offset_came_2sens_1vit1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__actionneurs_offset_came_2sens_1vit1.Int = self.Int - __start.Int;
	bibliotheque_epo__actionneurs_offset_came_2sens_1vit1.Float = self.Float - __start.Float;
	bibliotheque_epo__actionneurs_offset_came_2sens_1vit1.Char = self.Char - __start.Char;
	came_2sens_1vit_cmdAv = __start.Bool+11; /*actionneurs__cn_45*/
	came_2sens_1vit_cmdAr = __start.Bool+10; /*actionneurs__cn_46*/
	came_2sens_1vit_positionTranslat = __start.Float+28; /*actionneurs__cn_47*/
	came_2sens_1vit_pourcentTranslat = __start.Float+27; /*actionneurs__cn_48*/
	came_2sens_1vit_incrementTranslat = __start.Float+26; /*actionneurs__cn_49*/
	came_2sens_1vit_angleRotationDeg = __start.Float+25; /*actionneurs__cn_50*/
	came_2sens_1vit_angleRotationRad = __start.Float+24; /*actionneurs__cn_51*/
	_bibliotheque_epo__came_2sens_1vit_init();

	/*initialize child integrale_2s1v1 (bibliotheque_epo.integrale_2s1v):*/
	self_num++;
	bibliotheque_epo__actionneurs_offset_integrale_2s1v1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__actionneurs_offset_integrale_2s1v1.Int = self.Int - __start.Int;
	bibliotheque_epo__actionneurs_offset_integrale_2s1v1.Float = self.Float - __start.Float;
	bibliotheque_epo__actionneurs_offset_integrale_2s1v1.Char = self.Char - __start.Char;
	integrale_2s1v_etatAvGv = __start.Bool+9; /*actionneurs__cn_52*/
	integrale_2s1v_etatArGv = __start.Bool+8; /*actionneurs__cn_53*/
	integrale_2s1v_positionRampe = __start.Float+23; /*actionneurs__cn_54*/
	integrale_2s1v_pourcentRampe = __start.Float+22; /*actionneurs__cn_55*/
	_bibliotheque_epo__integrale_2s1v_init();

	/*initialize child tremie1 (bibliotheque_epo.tremie):*/
	self_num++;
	bibliotheque_epo__actionneurs_offset_tremie1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__actionneurs_offset_tremie1.Int = self.Int - __start.Int;
	bibliotheque_epo__actionneurs_offset_tremie1.Float = self.Float - __start.Float;
	bibliotheque_epo__actionneurs_offset_tremie1.Char = self.Char - __start.Char;
	tremie_volumeExtraction = __start.Float+21; /*actionneurs__cn_56*/
	tremie_volumeRemplissage = __start.Float+20; /*actionneurs__cn_57*/
	tremie_mvMatiereEntree = __start.Float+19; /*actionneurs__cn_58*/
	tremie_niveauTremie = __start.Float+18; /*actionneurs__cn_59*/
	tremie_mvMatiereSortie = __start.Float+17; /*actionneurs__cn_60*/
	tremie_poids = __start.Float+16; /*actionneurs__cn_61*/
	tremie_pourcentNiveau = __start.Float+15; /*actionneurs__cn_62*/
	tremie_volumeSortie = __start.Float+14; /*actionneurs__cn_63*/
	_bibliotheque_epo__tremie_init();

	/*initialize child came1 (bibliotheque_epo.came):*/
	self_num++;
	bibliotheque_epo__actionneurs_offset_came1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__actionneurs_offset_came1.Int = self.Int - __start.Int;
	bibliotheque_epo__actionneurs_offset_came1.Float = self.Float - __start.Float;
	bibliotheque_epo__actionneurs_offset_came1.Char = self.Char - __start.Char;
	came_vitesseRotationRadS = __start.Float+13; /*actionneurs__cn_64*/
	came_vitesseRotationDegS = __start.Float+12; /*actionneurs__cn_65*/
	came_positionTranslat = __start.Float+11; /*actionneurs__cn_66*/
	came_pourcentTranslat = __start.Float+10; /*actionneurs__cn_67*/
	came_incrementTranslat = __start.Float+9; /*actionneurs__cn_68*/
	came_angleRotationDeg = __start.Float+8; /*actionneurs__cn_69*/
	came_angleRotationRad = __start.Float+7; /*actionneurs__cn_70*/
	_bibliotheque_epo__came_init();

	/*initialize child integrale_2s2v1 (bibliotheque_epo.integrale_2s2v):*/
	self_num++;
	bibliotheque_epo__actionneurs_offset_integrale_2s2v1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__actionneurs_offset_integrale_2s2v1.Int = self.Int - __start.Int;
	bibliotheque_epo__actionneurs_offset_integrale_2s2v1.Float = self.Float - __start.Float;
	bibliotheque_epo__actionneurs_offset_integrale_2s2v1.Char = self.Char - __start.Char;
	integrale_2s2v_etatAvGv = __start.Bool+7; /*actionneurs__cn_71*/
	integrale_2s2v_etatAvPv = __start.Bool+6; /*actionneurs__cn_72*/
	integrale_2s2v_etatArGv = __start.Bool+5; /*actionneurs__cn_73*/
	integrale_2s2v_etatArPv = __start.Bool+4; /*actionneurs__cn_74*/
	integrale_2s2v_positionRampe = __start.Float+6; /*actionneurs__cn_75*/
	integrale_2s2v_pourcentRampe = __start.Float+5; /*actionneurs__cn_76*/
	_bibliotheque_epo__integrale_2s2v_init();

	/*initialize child came_2sens_2vit1 (bibliotheque_epo.came_2sens_2vit):*/
	self_num++;
	bibliotheque_epo__actionneurs_offset_came_2sens_2vit1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__actionneurs_offset_came_2sens_2vit1.Int = self.Int - __start.Int;
	bibliotheque_epo__actionneurs_offset_came_2sens_2vit1.Float = self.Float - __start.Float;
	bibliotheque_epo__actionneurs_offset_came_2sens_2vit1.Char = self.Char - __start.Char;
	came_2sens_2vit_cmdGv = __start.Bool+3; /*actionneurs__cn_77*/
	came_2sens_2vit_cmdPv = __start.Bool+2; /*actionneurs__cn_78*/
	came_2sens_2vit_cmdAv = __start.Bool+1; /*actionneurs__cn_79*/
	came_2sens_2vit_cmdAr = __start.Bool+0; /*actionneurs__cn_80*/
	came_2sens_2vit_positionTranslat = __start.Float+4; /*actionneurs__cn_81*/
	came_2sens_2vit_pourcentTranslat = __start.Float+3; /*actionneurs__cn_82*/
	came_2sens_2vit_incrementTranslat = __start.Float+2; /*actionneurs__cn_83*/
	came_2sens_2vit_angleRotationDeg = __start.Float+1; /*actionneurs__cn_84*/
	came_2sens_2vit_angleRotationRad = __start.Float+0; /*actionneurs__cn_85*/
	_bibliotheque_epo__came_2sens_2vit_init();

	bibliotheque_epo__actionneurs_offset__end.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__actionneurs_offset__end.Int = self.Int - __start.Int;
	bibliotheque_epo__actionneurs_offset__end.Float = self.Float - __start.Float;
	bibliotheque_epo__actionneurs_offset__end.Char = self.Char - __start.Char;

	return 0;
}


/************************ Behavior function *************************/

static int bibliotheque_epo__actionneurs(void)
{
	CB_Object __start = self;
	int __ret;
	if (exec_mac_node(self_num)) {

		/*********************** Internals variables ************************/

																																																																																																																																																																										
		/********************* Pre-conditions execution *********************/

		/*no Pre-conditions*/

		/************************ Behavior execution ************************/

		{
			self.Bool = __start.Bool + bibliotheque_epo__actionneurs_offset_integrale_1s1v1.Bool;
			self.Int = __start.Int + bibliotheque_epo__actionneurs_offset_integrale_1s1v1.Int;
			self.Float = __start.Float + bibliotheque_epo__actionneurs_offset_integrale_1s1v1.Float;
			self.Char = __start.Char + bibliotheque_epo__actionneurs_offset_integrale_1s1v1.Char;

			/******************** integrale_1s1v1 execution *********************/

			self_num++;
			if (integrale_1s1v__num != self_num) {
				integrale_1s1v__num = self_num;
				integrale_1s1v_etatAvGv = __start.Bool+25; /*actionneurs__cn_1*/
				integrale_1s1v_positionRampe = __start.Float+58; /*actionneurs__cn_2*/
				integrale_1s1v_pourcentRampe = __start.Float+57; /*actionneurs__cn_3*/
			}
			__ret = bibliotheque_epo__integrale_1s1v();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/******************** came_1sens_1vit1 execution ********************/

			self_num++;
			if (came_1sens_1vit__num != self_num) {
				came_1sens_1vit__num = self_num;
				came_1sens_1vit_cmdAv = __start.Bool+24; /*actionneurs__cn_4*/
				came_1sens_1vit_positionTranslat = __start.Float+56; /*actionneurs__cn_5*/
				came_1sens_1vit_pourcentTranslat = __start.Float+55; /*actionneurs__cn_6*/
				came_1sens_1vit_incrementTranslat = __start.Float+54; /*actionneurs__cn_7*/
				came_1sens_1vit_angleRotationDeg = __start.Float+53; /*actionneurs__cn_8*/
				came_1sens_1vit_angleRotationRad = __start.Float+52; /*actionneurs__cn_9*/
			}
			__ret = bibliotheque_epo__came_1sens_1vit();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/******************* tige_double_effet1 execution *******************/

			self_num++;
			if (tige_double_effet__num != self_num) {
				tige_double_effet__num = self_num;
				tige_double_effet_flexibleTravail = __start.Bool+23; /*actionneurs__cn_10*/
				tige_double_effet_flexibleRetour = __start.Bool+22; /*actionneurs__cn_11*/
				tige_double_effet_positionTige = __start.Float+51; /*actionneurs__cn_12*/
				tige_double_effet_pourcentTige = __start.Float+50; /*actionneurs__cn_13*/
			}
			__ret = bibliotheque_epo__tige_double_effet();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/************************** axe1 execution **************************/

			self_num++;
			if (axe__num != self_num) {
				axe__num = self_num;
				axe_vitesse = __start.Float+49; /*actionneurs__cn_14*/
				axe_positionTranslat = __start.Float+48; /*actionneurs__cn_15*/
				axe_pourcentTranslat = __start.Float+47; /*actionneurs__cn_16*/
				axe_incTranslat = __start.Float+46; /*actionneurs__cn_17*/
			}
			__ret = bibliotheque_epo__axe();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/****************** bande_transporteuse1 execution ******************/

			self_num++;
			if (bande_transporteuse__num != self_num) {
				bande_transporteuse__num = self_num;
				bande_transporteuse_volumeEntree = __start.Float+45; /*actionneurs__cn_18*/
				bande_transporteuse_positionDepose = __start.Float+44; /*actionneurs__cn_19*/
				bande_transporteuse_vitesse = __start.Float+43; /*actionneurs__cn_20*/
				bande_transporteuse_ouvertureVanne = __start.Bool+21; /*actionneurs__cn_21*/
				bande_transporteuse_volumeSortieAv = __start.Float+42; /*actionneurs__cn_22*/
				bande_transporteuse_volumeSortieAr = __start.Float+41; /*actionneurs__cn_23*/
				bande_transporteuse_controleurRot = __start.Bool+20; /*actionneurs__cn_24*/
				bande_transporteuse_volumeSortieVanne = __start.Float+40; /*actionneurs__cn_25*/
			}
			__ret = bibliotheque_epo__bande_transporteuse();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/******************** came_1sens_2vit1 execution ********************/

			self_num++;
			if (came_1sens_2vit__num != self_num) {
				came_1sens_2vit__num = self_num;
				came_1sens_2vit_cmdPv = __start.Bool+19; /*actionneurs__cn_26*/
				came_1sens_2vit_cmdGv = __start.Bool+18; /*actionneurs__cn_27*/
				came_1sens_2vit_positionTranslat = __start.Float+39; /*actionneurs__cn_28*/
				came_1sens_2vit_pourcentTranslat = __start.Float+38; /*actionneurs__cn_29*/
				came_1sens_2vit_incrementTranslat = __start.Float+37; /*actionneurs__cn_30*/
				came_1sens_2vit_angleRotationDeg = __start.Float+36; /*actionneurs__cn_31*/
				came_1sens_2vit_angleRotationRad = __start.Float+35; /*actionneurs__cn_32*/
			}
			__ret = bibliotheque_epo__came_1sens_2vit();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/******************** integrale_1s2v1 execution *********************/

			self_num++;
			if (integrale_1s2v__num != self_num) {
				integrale_1s2v__num = self_num;
				integrale_1s2v_etatAvGv = __start.Bool+17; /*actionneurs__cn_33*/
				integrale_1s2v_etatAvPv = __start.Bool+16; /*actionneurs__cn_34*/
				integrale_1s2v_positionRampe = __start.Float+34; /*actionneurs__cn_35*/
				integrale_1s2v_pourcentRampe = __start.Float+33; /*actionneurs__cn_36*/
			}
			__ret = bibliotheque_epo__integrale_1s2v();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/******************* tige_simple_effet1 execution *******************/

			self_num++;
			if (tige_simple_effet__num != self_num) {
				tige_simple_effet__num = self_num;
				tige_simple_effet_flexibleTravail = __start.Bool+15; /*actionneurs__cn_37*/
				tige_simple_effet_positionTige = __start.Float+32; /*actionneurs__cn_38*/
				tige_simple_effet_pourcentTige = __start.Float+31; /*actionneurs__cn_39*/
			}
			__ret = bibliotheque_epo__tige_simple_effet();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/************************ bascule1 execution ************************/

			self_num++;
			if (bascule__num != self_num) {
				bascule__num = self_num;
				bascule_raz = __start.Bool+14; /*actionneurs__cn_40*/
				bascule_poids = __start.Float+30; /*actionneurs__cn_41*/
				bascule_tarage = __start.Bool+13; /*actionneurs__cn_42*/
				bascule_valPoids = __start.Float+29; /*actionneurs__cn_43*/
				bascule_poidsStable = __start.Bool+12; /*actionneurs__cn_44*/
			}
			__ret = bibliotheque_epo__bascule();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/******************** came_2sens_1vit1 execution ********************/

			self_num++;
			if (came_2sens_1vit__num != self_num) {
				came_2sens_1vit__num = self_num;
				came_2sens_1vit_cmdAv = __start.Bool+11; /*actionneurs__cn_45*/
				came_2sens_1vit_cmdAr = __start.Bool+10; /*actionneurs__cn_46*/
				came_2sens_1vit_positionTranslat = __start.Float+28; /*actionneurs__cn_47*/
				came_2sens_1vit_pourcentTranslat = __start.Float+27; /*actionneurs__cn_48*/
				came_2sens_1vit_incrementTranslat = __start.Float+26; /*actionneurs__cn_49*/
				came_2sens_1vit_angleRotationDeg = __start.Float+25; /*actionneurs__cn_50*/
				came_2sens_1vit_angleRotationRad = __start.Float+24; /*actionneurs__cn_51*/
			}
			__ret = bibliotheque_epo__came_2sens_1vit();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/******************** integrale_2s1v1 execution *********************/

			self_num++;
			if (integrale_2s1v__num != self_num) {
				integrale_2s1v__num = self_num;
				integrale_2s1v_etatAvGv = __start.Bool+9; /*actionneurs__cn_52*/
				integrale_2s1v_etatArGv = __start.Bool+8; /*actionneurs__cn_53*/
				integrale_2s1v_positionRampe = __start.Float+23; /*actionneurs__cn_54*/
				integrale_2s1v_pourcentRampe = __start.Float+22; /*actionneurs__cn_55*/
			}
			__ret = bibliotheque_epo__integrale_2s1v();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/************************ tremie1 execution *************************/

			self_num++;
			if (tremie__num != self_num) {
				tremie__num = self_num;
				tremie_volumeExtraction = __start.Float+21; /*actionneurs__cn_56*/
				tremie_volumeRemplissage = __start.Float+20; /*actionneurs__cn_57*/
				tremie_mvMatiereEntree = __start.Float+19; /*actionneurs__cn_58*/
				tremie_niveauTremie = __start.Float+18; /*actionneurs__cn_59*/
				tremie_mvMatiereSortie = __start.Float+17; /*actionneurs__cn_60*/
				tremie_poids = __start.Float+16; /*actionneurs__cn_61*/
				tremie_pourcentNiveau = __start.Float+15; /*actionneurs__cn_62*/
				tremie_volumeSortie = __start.Float+14; /*actionneurs__cn_63*/
			}
			__ret = bibliotheque_epo__tremie();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/************************* came1 execution **************************/

			self_num++;
			if (came__num != self_num) {
				came__num = self_num;
				came_vitesseRotationRadS = __start.Float+13; /*actionneurs__cn_64*/
				came_vitesseRotationDegS = __start.Float+12; /*actionneurs__cn_65*/
				came_positionTranslat = __start.Float+11; /*actionneurs__cn_66*/
				came_pourcentTranslat = __start.Float+10; /*actionneurs__cn_67*/
				came_incrementTranslat = __start.Float+9; /*actionneurs__cn_68*/
				came_angleRotationDeg = __start.Float+8; /*actionneurs__cn_69*/
				came_angleRotationRad = __start.Float+7; /*actionneurs__cn_70*/
			}
			__ret = bibliotheque_epo__came();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/******************** integrale_2s2v1 execution *********************/

			self_num++;
			if (integrale_2s2v__num != self_num) {
				integrale_2s2v__num = self_num;
				integrale_2s2v_etatAvGv = __start.Bool+7; /*actionneurs__cn_71*/
				integrale_2s2v_etatAvPv = __start.Bool+6; /*actionneurs__cn_72*/
				integrale_2s2v_etatArGv = __start.Bool+5; /*actionneurs__cn_73*/
				integrale_2s2v_etatArPv = __start.Bool+4; /*actionneurs__cn_74*/
				integrale_2s2v_positionRampe = __start.Float+6; /*actionneurs__cn_75*/
				integrale_2s2v_pourcentRampe = __start.Float+5; /*actionneurs__cn_76*/
			}
			__ret = bibliotheque_epo__integrale_2s2v();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/******************** came_2sens_2vit1 execution ********************/

			self_num++;
			if (came_2sens_2vit__num != self_num) {
				came_2sens_2vit__num = self_num;
				came_2sens_2vit_cmdGv = __start.Bool+3; /*actionneurs__cn_77*/
				came_2sens_2vit_cmdPv = __start.Bool+2; /*actionneurs__cn_78*/
				came_2sens_2vit_cmdAv = __start.Bool+1; /*actionneurs__cn_79*/
				came_2sens_2vit_cmdAr = __start.Bool+0; /*actionneurs__cn_80*/
				came_2sens_2vit_positionTranslat = __start.Float+4; /*actionneurs__cn_81*/
				came_2sens_2vit_pourcentTranslat = __start.Float+3; /*actionneurs__cn_82*/
				came_2sens_2vit_incrementTranslat = __start.Float+2; /*actionneurs__cn_83*/
				came_2sens_2vit_angleRotationDeg = __start.Float+1; /*actionneurs__cn_84*/
				came_2sens_2vit_angleRotationRad = __start.Float+0; /*actionneurs__cn_85*/
			}
			__ret = bibliotheque_epo__came_2sens_2vit();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

		}


		/******************** Post-conditions execution *********************/

		/*no Post-conditions*/
	}

	/*************************** self update ****************************/

	self.Bool = __start.Bool + bibliotheque_epo__actionneurs_offset__end.Bool;
	self.Int = __start.Int + bibliotheque_epo__actionneurs_offset__end.Int;
	self.Float = __start.Float + bibliotheque_epo__actionneurs_offset__end.Float;
	self.Char = __start.Char + bibliotheque_epo__actionneurs_offset__end.Char;

	return 0;
}


/********************************************************************
 *                  Inner 'moteurs' implementation                  *
 ********************************************************************/

#include "bibliotheque_epo/functional/moteur2sens2vit/moteur2sens2vit.h"
#include "bibliotheque_epo/functional/moteur1sens1vit/moteur1sens1vit.h"
#include "bibliotheque_epo/functional/moteur1sens2vit/moteur1sens2vit.h"
#include "bibliotheque_epo/functional/variateur/variateur.h"
#include "bibliotheque_epo/functional/moteur2sens1vit/moteur2sens1vit.h"


/**************************** Variables *****************************/

static CB_Index moteurs__num = 0;

/**************************** Variables *****************************/



/************************ Components offsets ************************/

static CB_Offset bibliotheque_epo__moteurs_offset_moteur2sens2vit1;
static CB_Offset bibliotheque_epo__moteurs_offset_moteur1sens1vit1;
static CB_Offset bibliotheque_epo__moteurs_offset_moteur1sens2vit1;
static CB_Offset bibliotheque_epo__moteurs_offset_variateur1;
static CB_Offset bibliotheque_epo__moteurs_offset_moteur2sens1vit1;
static CB_Offset bibliotheque_epo__moteurs_offset__end = {0, 0, 0, 0};


/********************* Initialization function **********************/

static int _bibliotheque_epo__moteurs_init(void)
{
	CB_Object __start = self;
	self.Bool+=40;
	self.Float+=11;

	/*initialize child moteur2sens2vit1 (bibliotheque_epo.moteur2sens2vit):*/
	self_num++;
	bibliotheque_epo__moteurs_offset_moteur2sens2vit1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__moteurs_offset_moteur2sens2vit1.Int = self.Int - __start.Int;
	bibliotheque_epo__moteurs_offset_moteur2sens2vit1.Float = self.Float - __start.Float;
	bibliotheque_epo__moteurs_offset_moteur2sens2vit1.Char = self.Char - __start.Char;
	moteur2sens2vit_energie380 = __start.Bool+39; /*moteurs__cn_1*/
	moteur2sens2vit_tensionCmd = __start.Bool+38; /*moteurs__cn_2*/
	moteur2sens2vit_tensionCpt = __start.Bool+37; /*moteurs__cn_3*/
	moteur2sens2vit_cmdAv = __start.Bool+36; /*moteurs__cn_4*/
	moteur2sens2vit_cmdAr = __start.Bool+35; /*moteurs__cn_5*/
	moteur2sens2vit_cmdGv = __start.Bool+34; /*moteurs__cn_6*/
	moteur2sens2vit_cmdPv = __start.Bool+33; /*moteurs__cn_7*/
	moteur2sens2vit_retourAv = __start.Bool+32; /*moteurs__cn_8*/
	moteur2sens2vit_retourAr = __start.Bool+31; /*moteurs__cn_9*/
	moteur2sens2vit_retourGv = __start.Bool+30; /*moteurs__cn_10*/
	moteur2sens2vit_retourPv = __start.Bool+29; /*moteurs__cn_11*/
	moteur2sens2vit_thermique = __start.Bool+28; /*moteurs__cn_12*/
	moteur2sens2vit_valeurVitesse = __start.Float+10; /*moteurs__cn_13*/
	moteur2sens2vit_pourcentVitesse = __start.Float+9; /*moteurs__cn_14*/
	_bibliotheque_epo__moteur2sens2vit_init();

	/*initialize child moteur1sens1vit1 (bibliotheque_epo.moteur1sens1vit):*/
	self_num++;
	bibliotheque_epo__moteurs_offset_moteur1sens1vit1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__moteurs_offset_moteur1sens1vit1.Int = self.Int - __start.Int;
	bibliotheque_epo__moteurs_offset_moteur1sens1vit1.Float = self.Float - __start.Float;
	bibliotheque_epo__moteurs_offset_moteur1sens1vit1.Char = self.Char - __start.Char;
	moteur1sens1vit_energie380 = __start.Bool+27; /*moteurs__cn_15*/
	moteur1sens1vit_tensionCmd = __start.Bool+26; /*moteurs__cn_16*/
	moteur1sens1vit_tensionCpt = __start.Bool+25; /*moteurs__cn_17*/
	moteur1sens1vit_cmdAv = __start.Bool+24; /*moteurs__cn_18*/
	moteur1sens1vit_retourAv = __start.Bool+23; /*moteurs__cn_19*/
	moteur1sens1vit_thermique = __start.Bool+22; /*moteurs__cn_20*/
	moteur1sens1vit_valeurVitesse = __start.Float+8; /*moteurs__cn_21*/
	moteur1sens1vit_pourcentVitesse = __start.Float+7; /*moteurs__cn_22*/
	_bibliotheque_epo__moteur1sens1vit_init();

	/*initialize child moteur1sens2vit1 (bibliotheque_epo.moteur1sens2vit):*/
	self_num++;
	bibliotheque_epo__moteurs_offset_moteur1sens2vit1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__moteurs_offset_moteur1sens2vit1.Int = self.Int - __start.Int;
	bibliotheque_epo__moteurs_offset_moteur1sens2vit1.Float = self.Float - __start.Float;
	bibliotheque_epo__moteurs_offset_moteur1sens2vit1.Char = self.Char - __start.Char;
	moteur1sens2vit_energie380 = __start.Bool+21; /*moteurs__cn_23*/
	moteur1sens2vit_tensionCmd = __start.Bool+20; /*moteurs__cn_24*/
	moteur1sens2vit_tensionCpt = __start.Bool+19; /*moteurs__cn_25*/
	moteur1sens2vit_cmdGv = __start.Bool+18; /*moteurs__cn_26*/
	moteur1sens2vit_cmdPv = __start.Bool+17; /*moteurs__cn_27*/
	moteur1sens2vit_retourGv = __start.Bool+16; /*moteurs__cn_28*/
	moteur1sens2vit_retourPv = __start.Bool+15; /*moteurs__cn_29*/
	moteur1sens2vit_thermique = __start.Bool+14; /*moteurs__cn_30*/
	moteur1sens2vit_valeurVitesse = __start.Float+6; /*moteurs__cn_31*/
	moteur1sens2vit_pourcentVitesse = __start.Float+5; /*moteurs__cn_32*/
	_bibliotheque_epo__moteur1sens2vit_init();

	/*initialize child variateur1 (bibliotheque_epo.variateur):*/
	self_num++;
	bibliotheque_epo__moteurs_offset_variateur1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__moteurs_offset_variateur1.Int = self.Int - __start.Int;
	bibliotheque_epo__moteurs_offset_variateur1.Float = self.Float - __start.Float;
	bibliotheque_epo__moteurs_offset_variateur1.Char = self.Char - __start.Char;
	variateur_energie380 = __start.Bool+13; /*moteurs__cn_33*/
	variateur_tensionCmd = __start.Bool+12; /*moteurs__cn_34*/
	variateur_tensionCpt = __start.Bool+11; /*moteurs__cn_35*/
	variateur_cmdAv = __start.Bool+10; /*moteurs__cn_36*/
	variateur_consigne = __start.Float+4; /*moteurs__cn_37*/
	variateur_retourAv = __start.Bool+9; /*moteurs__cn_38*/
	variateur_thermique = __start.Bool+8; /*moteurs__cn_39*/
	variateur_valeurVitesse = __start.Float+3; /*moteurs__cn_40*/
	variateur_pourcentVitesse = __start.Float+2; /*moteurs__cn_41*/
	_bibliotheque_epo__variateur_init();

	/*initialize child moteur2sens1vit1 (bibliotheque_epo.moteur2sens1vit):*/
	self_num++;
	bibliotheque_epo__moteurs_offset_moteur2sens1vit1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__moteurs_offset_moteur2sens1vit1.Int = self.Int - __start.Int;
	bibliotheque_epo__moteurs_offset_moteur2sens1vit1.Float = self.Float - __start.Float;
	bibliotheque_epo__moteurs_offset_moteur2sens1vit1.Char = self.Char - __start.Char;
	moteur2sens1vit_energie380 = __start.Bool+7; /*moteurs__cn_42*/
	moteur2sens1vit_tensionCmd = __start.Bool+6; /*moteurs__cn_43*/
	moteur2sens1vit_tensionCpt = __start.Bool+5; /*moteurs__cn_44*/
	moteur2sens1vit_cmdAv = __start.Bool+4; /*moteurs__cn_45*/
	moteur2sens1vit_cmdAr = __start.Bool+3; /*moteurs__cn_46*/
	moteur2sens1vit_retourAv = __start.Bool+2; /*moteurs__cn_47*/
	moteur2sens1vit_retourAr = __start.Bool+1; /*moteurs__cn_48*/
	moteur2sens1vit_thermique = __start.Bool+0; /*moteurs__cn_49*/
	moteur2sens1vit_valeurVitesse = __start.Float+1; /*moteurs__cn_50*/
	moteur2sens1vit_pourcentVitesse = __start.Float+0; /*moteurs__cn_51*/
	_bibliotheque_epo__moteur2sens1vit_init();

	bibliotheque_epo__moteurs_offset__end.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__moteurs_offset__end.Int = self.Int - __start.Int;
	bibliotheque_epo__moteurs_offset__end.Float = self.Float - __start.Float;
	bibliotheque_epo__moteurs_offset__end.Char = self.Char - __start.Char;

	return 0;
}


/************************ Behavior function *************************/

static int bibliotheque_epo__moteurs(void)
{
	CB_Object __start = self;
	int __ret;
	if (exec_mac_node(self_num)) {

		/*********************** Internals variables ************************/

																																																																																																						
		/********************* Pre-conditions execution *********************/

		/*no Pre-conditions*/

		/************************ Behavior execution ************************/

		{
			self.Bool = __start.Bool + bibliotheque_epo__moteurs_offset_moteur2sens2vit1.Bool;
			self.Int = __start.Int + bibliotheque_epo__moteurs_offset_moteur2sens2vit1.Int;
			self.Float = __start.Float + bibliotheque_epo__moteurs_offset_moteur2sens2vit1.Float;
			self.Char = __start.Char + bibliotheque_epo__moteurs_offset_moteur2sens2vit1.Char;

			/******************** moteur2sens2vit1 execution ********************/

			self_num++;
			if (moteur2sens2vit__num != self_num) {
				moteur2sens2vit__num = self_num;
				moteur2sens2vit_energie380 = __start.Bool+39; /*moteurs__cn_1*/
				moteur2sens2vit_tensionCmd = __start.Bool+38; /*moteurs__cn_2*/
				moteur2sens2vit_tensionCpt = __start.Bool+37; /*moteurs__cn_3*/
				moteur2sens2vit_cmdAv = __start.Bool+36; /*moteurs__cn_4*/
				moteur2sens2vit_cmdAr = __start.Bool+35; /*moteurs__cn_5*/
				moteur2sens2vit_cmdGv = __start.Bool+34; /*moteurs__cn_6*/
				moteur2sens2vit_cmdPv = __start.Bool+33; /*moteurs__cn_7*/
				moteur2sens2vit_retourAv = __start.Bool+32; /*moteurs__cn_8*/
				moteur2sens2vit_retourAr = __start.Bool+31; /*moteurs__cn_9*/
				moteur2sens2vit_retourGv = __start.Bool+30; /*moteurs__cn_10*/
				moteur2sens2vit_retourPv = __start.Bool+29; /*moteurs__cn_11*/
				moteur2sens2vit_thermique = __start.Bool+28; /*moteurs__cn_12*/
				moteur2sens2vit_valeurVitesse = __start.Float+10; /*moteurs__cn_13*/
				moteur2sens2vit_pourcentVitesse = __start.Float+9; /*moteurs__cn_14*/
			}
			__ret = bibliotheque_epo__moteur2sens2vit();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/******************** moteur1sens1vit1 execution ********************/

			self_num++;
			if (moteur1sens1vit__num != self_num) {
				moteur1sens1vit__num = self_num;
				moteur1sens1vit_energie380 = __start.Bool+27; /*moteurs__cn_15*/
				moteur1sens1vit_tensionCmd = __start.Bool+26; /*moteurs__cn_16*/
				moteur1sens1vit_tensionCpt = __start.Bool+25; /*moteurs__cn_17*/
				moteur1sens1vit_cmdAv = __start.Bool+24; /*moteurs__cn_18*/
				moteur1sens1vit_retourAv = __start.Bool+23; /*moteurs__cn_19*/
				moteur1sens1vit_thermique = __start.Bool+22; /*moteurs__cn_20*/
				moteur1sens1vit_valeurVitesse = __start.Float+8; /*moteurs__cn_21*/
				moteur1sens1vit_pourcentVitesse = __start.Float+7; /*moteurs__cn_22*/
			}
			__ret = bibliotheque_epo__moteur1sens1vit();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/******************** moteur1sens2vit1 execution ********************/

			self_num++;
			if (moteur1sens2vit__num != self_num) {
				moteur1sens2vit__num = self_num;
				moteur1sens2vit_energie380 = __start.Bool+21; /*moteurs__cn_23*/
				moteur1sens2vit_tensionCmd = __start.Bool+20; /*moteurs__cn_24*/
				moteur1sens2vit_tensionCpt = __start.Bool+19; /*moteurs__cn_25*/
				moteur1sens2vit_cmdGv = __start.Bool+18; /*moteurs__cn_26*/
				moteur1sens2vit_cmdPv = __start.Bool+17; /*moteurs__cn_27*/
				moteur1sens2vit_retourGv = __start.Bool+16; /*moteurs__cn_28*/
				moteur1sens2vit_retourPv = __start.Bool+15; /*moteurs__cn_29*/
				moteur1sens2vit_thermique = __start.Bool+14; /*moteurs__cn_30*/
				moteur1sens2vit_valeurVitesse = __start.Float+6; /*moteurs__cn_31*/
				moteur1sens2vit_pourcentVitesse = __start.Float+5; /*moteurs__cn_32*/
			}
			__ret = bibliotheque_epo__moteur1sens2vit();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/*********************** variateur1 execution ***********************/

			self_num++;
			if (variateur__num != self_num) {
				variateur__num = self_num;
				variateur_energie380 = __start.Bool+13; /*moteurs__cn_33*/
				variateur_tensionCmd = __start.Bool+12; /*moteurs__cn_34*/
				variateur_tensionCpt = __start.Bool+11; /*moteurs__cn_35*/
				variateur_cmdAv = __start.Bool+10; /*moteurs__cn_36*/
				variateur_consigne = __start.Float+4; /*moteurs__cn_37*/
				variateur_retourAv = __start.Bool+9; /*moteurs__cn_38*/
				variateur_thermique = __start.Bool+8; /*moteurs__cn_39*/
				variateur_valeurVitesse = __start.Float+3; /*moteurs__cn_40*/
				variateur_pourcentVitesse = __start.Float+2; /*moteurs__cn_41*/
			}
			__ret = bibliotheque_epo__variateur();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/******************** moteur2sens1vit1 execution ********************/

			self_num++;
			if (moteur2sens1vit__num != self_num) {
				moteur2sens1vit__num = self_num;
				moteur2sens1vit_energie380 = __start.Bool+7; /*moteurs__cn_42*/
				moteur2sens1vit_tensionCmd = __start.Bool+6; /*moteurs__cn_43*/
				moteur2sens1vit_tensionCpt = __start.Bool+5; /*moteurs__cn_44*/
				moteur2sens1vit_cmdAv = __start.Bool+4; /*moteurs__cn_45*/
				moteur2sens1vit_cmdAr = __start.Bool+3; /*moteurs__cn_46*/
				moteur2sens1vit_retourAv = __start.Bool+2; /*moteurs__cn_47*/
				moteur2sens1vit_retourAr = __start.Bool+1; /*moteurs__cn_48*/
				moteur2sens1vit_thermique = __start.Bool+0; /*moteurs__cn_49*/
				moteur2sens1vit_valeurVitesse = __start.Float+1; /*moteurs__cn_50*/
				moteur2sens1vit_pourcentVitesse = __start.Float+0; /*moteurs__cn_51*/
			}
			__ret = bibliotheque_epo__moteur2sens1vit();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

		}


		/******************** Post-conditions execution *********************/

		/*no Post-conditions*/
	}

	/*************************** self update ****************************/

	self.Bool = __start.Bool + bibliotheque_epo__moteurs_offset__end.Bool;
	self.Int = __start.Int + bibliotheque_epo__moteurs_offset__end.Int;
	self.Float = __start.Float + bibliotheque_epo__moteurs_offset__end.Float;
	self.Char = __start.Char + bibliotheque_epo__moteurs_offset__end.Char;

	return 0;
}


/********************************************************************
 *                  Inner 'verins' implementation                   *
 ********************************************************************/

#include "bibliotheque_epo/functional/verin_double_effet/verin_double_effet.h"
#include "bibliotheque_epo/functional/verin_simple_effet/verin_simple_effet.h"
#include "bibliotheque_epo/functional/verin_double_effet_pmb/verin_double_effet_pmb.h"
#include "bibliotheque_epo/functional/verin_electrique/verin_electrique.h"


/**************************** Variables *****************************/

static CB_Index verins__num = 0;

/**************************** Variables *****************************/



/************************ Components offsets ************************/

static CB_Offset bibliotheque_epo__verins_offset_verin_double_effet1;
static CB_Offset bibliotheque_epo__verins_offset_verin_simple_effet1;
static CB_Offset bibliotheque_epo__verins_offset_verin_double_effet_pmb1;
static CB_Offset bibliotheque_epo__verins_offset_verin_electrique1;
static CB_Offset bibliotheque_epo__verins_offset__end = {0, 0, 0, 0};


/********************* Initialization function **********************/

static int _bibliotheque_epo__verins_init(void)
{
	CB_Object __start = self;
	self.Bool+=30;
	self.Float+=12;

	/*initialize child verin_double_effet1 (bibliotheque_epo.verin_double_effet):*/
	self_num++;
	bibliotheque_epo__verins_offset_verin_double_effet1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__verins_offset_verin_double_effet1.Int = self.Int - __start.Int;
	bibliotheque_epo__verins_offset_verin_double_effet1.Float = self.Float - __start.Float;
	bibliotheque_epo__verins_offset_verin_double_effet1.Char = self.Char - __start.Char;
	verin_double_effet_energieAir = __start.Bool+29; /*verins__cn_1*/
	verin_double_effet_tensionCmd = __start.Bool+28; /*verins__cn_2*/
	verin_double_effet_tensionCpt = __start.Bool+27; /*verins__cn_3*/
	verin_double_effet_electroRetour = __start.Bool+26; /*verins__cn_4*/
	verin_double_effet_electroTravail = __start.Bool+25; /*verins__cn_5*/
	verin_double_effet_cptRentre = __start.Bool+24; /*verins__cn_6*/
	verin_double_effet_cptSorti = __start.Bool+23; /*verins__cn_7*/
	verin_double_effet_positionTige = __start.Float+11; /*verins__cn_8*/
	verin_double_effet_pourcentTige = __start.Float+10; /*verins__cn_9*/
	verin_double_effet_valeurIncrement = __start.Float+9; /*verins__cn_10*/
	_bibliotheque_epo__verin_double_effet_init();

	/*initialize child verin_simple_effet1 (bibliotheque_epo.verin_simple_effet):*/
	self_num++;
	bibliotheque_epo__verins_offset_verin_simple_effet1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__verins_offset_verin_simple_effet1.Int = self.Int - __start.Int;
	bibliotheque_epo__verins_offset_verin_simple_effet1.Float = self.Float - __start.Float;
	bibliotheque_epo__verins_offset_verin_simple_effet1.Char = self.Char - __start.Char;
	verin_simple_effet_energieAir = __start.Bool+22; /*verins__cn_11*/
	verin_simple_effet_tensionCmd = __start.Bool+21; /*verins__cn_12*/
	verin_simple_effet_tensionCpt = __start.Bool+20; /*verins__cn_13*/
	verin_simple_effet_electroTravail = __start.Bool+19; /*verins__cn_14*/
	verin_simple_effet_cptRentre = __start.Bool+18; /*verins__cn_15*/
	verin_simple_effet_cptSorti = __start.Bool+17; /*verins__cn_16*/
	verin_simple_effet_positionTige = __start.Float+8; /*verins__cn_17*/
	verin_simple_effet_pourcentTige = __start.Float+7; /*verins__cn_18*/
	verin_simple_effet_valeurIncrement = __start.Float+6; /*verins__cn_19*/
	_bibliotheque_epo__verin_simple_effet_init();

	/*initialize child verin_double_effet_pmb1 (bibliotheque_epo.verin_double_effet_pmb):*/
	self_num++;
	bibliotheque_epo__verins_offset_verin_double_effet_pmb1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__verins_offset_verin_double_effet_pmb1.Int = self.Int - __start.Int;
	bibliotheque_epo__verins_offset_verin_double_effet_pmb1.Float = self.Float - __start.Float;
	bibliotheque_epo__verins_offset_verin_double_effet_pmb1.Char = self.Char - __start.Char;
	verin_double_effet_pmb_energieAir = __start.Bool+16; /*verins__cn_20*/
	verin_double_effet_pmb_tensionCmd = __start.Bool+15; /*verins__cn_21*/
	verin_double_effet_pmb_tensionCpt = __start.Bool+14; /*verins__cn_22*/
	verin_double_effet_pmb_electroRetour = __start.Bool+13; /*verins__cn_23*/
	verin_double_effet_pmb_electroTravail = __start.Bool+12; /*verins__cn_24*/
	verin_double_effet_pmb_cptRentre = __start.Bool+11; /*verins__cn_25*/
	verin_double_effet_pmb_cptSorti = __start.Bool+10; /*verins__cn_26*/
	verin_double_effet_pmb_positionTige = __start.Float+5; /*verins__cn_27*/
	verin_double_effet_pmb_pourcentTige = __start.Float+4; /*verins__cn_28*/
	verin_double_effet_pmb_valeurIncrement = __start.Float+3; /*verins__cn_29*/
	_bibliotheque_epo__verin_double_effet_pmb_init();

	/*initialize child verin_electrique1 (bibliotheque_epo.verin_electrique):*/
	self_num++;
	bibliotheque_epo__verins_offset_verin_electrique1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__verins_offset_verin_electrique1.Int = self.Int - __start.Int;
	bibliotheque_epo__verins_offset_verin_electrique1.Float = self.Float - __start.Float;
	bibliotheque_epo__verins_offset_verin_electrique1.Char = self.Char - __start.Char;
	verin_electrique_energie380 = __start.Bool+9; /*verins__cn_30*/
	verin_electrique_tensionCmd = __start.Bool+8; /*verins__cn_31*/
	verin_electrique_tensionCpt = __start.Bool+7; /*verins__cn_32*/
	verin_electrique_electroRetour = __start.Bool+6; /*verins__cn_33*/
	verin_electrique_electroTravail = __start.Bool+5; /*verins__cn_34*/
	verin_electrique_cptRentre = __start.Bool+4; /*verins__cn_35*/
	verin_electrique_cptSorti = __start.Bool+3; /*verins__cn_36*/
	verin_electrique_retourFerm = __start.Bool+2; /*verins__cn_37*/
	verin_electrique_retourOuv = __start.Bool+1; /*verins__cn_38*/
	verin_electrique_thermique = __start.Bool+0; /*verins__cn_39*/
	verin_electrique_positionTige = __start.Float+2; /*verins__cn_40*/
	verin_electrique_pourcentTige = __start.Float+1; /*verins__cn_41*/
	verin_electrique_valeurIncrement = __start.Float+0; /*verins__cn_42*/
	_bibliotheque_epo__verin_electrique_init();

	bibliotheque_epo__verins_offset__end.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__verins_offset__end.Int = self.Int - __start.Int;
	bibliotheque_epo__verins_offset__end.Float = self.Float - __start.Float;
	bibliotheque_epo__verins_offset__end.Char = self.Char - __start.Char;

	return 0;
}


/************************ Behavior function *************************/

static int bibliotheque_epo__verins(void)
{
	CB_Object __start = self;
	int __ret;
	if (exec_mac_node(self_num)) {

		/*********************** Internals variables ************************/

																																																																																				
		/********************* Pre-conditions execution *********************/

		/*no Pre-conditions*/

		/************************ Behavior execution ************************/

		{
			self.Bool = __start.Bool + bibliotheque_epo__verins_offset_verin_double_effet1.Bool;
			self.Int = __start.Int + bibliotheque_epo__verins_offset_verin_double_effet1.Int;
			self.Float = __start.Float + bibliotheque_epo__verins_offset_verin_double_effet1.Float;
			self.Char = __start.Char + bibliotheque_epo__verins_offset_verin_double_effet1.Char;

			/****************** verin_double_effet1 execution *******************/

			self_num++;
			if (verin_double_effet__num != self_num) {
				verin_double_effet__num = self_num;
				verin_double_effet_energieAir = __start.Bool+29; /*verins__cn_1*/
				verin_double_effet_tensionCmd = __start.Bool+28; /*verins__cn_2*/
				verin_double_effet_tensionCpt = __start.Bool+27; /*verins__cn_3*/
				verin_double_effet_electroRetour = __start.Bool+26; /*verins__cn_4*/
				verin_double_effet_electroTravail = __start.Bool+25; /*verins__cn_5*/
				verin_double_effet_cptRentre = __start.Bool+24; /*verins__cn_6*/
				verin_double_effet_cptSorti = __start.Bool+23; /*verins__cn_7*/
				verin_double_effet_positionTige = __start.Float+11; /*verins__cn_8*/
				verin_double_effet_pourcentTige = __start.Float+10; /*verins__cn_9*/
				verin_double_effet_valeurIncrement = __start.Float+9; /*verins__cn_10*/
			}
			__ret = bibliotheque_epo__verin_double_effet();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/****************** verin_simple_effet1 execution *******************/

			self_num++;
			if (verin_simple_effet__num != self_num) {
				verin_simple_effet__num = self_num;
				verin_simple_effet_energieAir = __start.Bool+22; /*verins__cn_11*/
				verin_simple_effet_tensionCmd = __start.Bool+21; /*verins__cn_12*/
				verin_simple_effet_tensionCpt = __start.Bool+20; /*verins__cn_13*/
				verin_simple_effet_electroTravail = __start.Bool+19; /*verins__cn_14*/
				verin_simple_effet_cptRentre = __start.Bool+18; /*verins__cn_15*/
				verin_simple_effet_cptSorti = __start.Bool+17; /*verins__cn_16*/
				verin_simple_effet_positionTige = __start.Float+8; /*verins__cn_17*/
				verin_simple_effet_pourcentTige = __start.Float+7; /*verins__cn_18*/
				verin_simple_effet_valeurIncrement = __start.Float+6; /*verins__cn_19*/
			}
			__ret = bibliotheque_epo__verin_simple_effet();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/**************** verin_double_effet_pmb1 execution *****************/

			self_num++;
			if (verin_double_effet_pmb__num != self_num) {
				verin_double_effet_pmb__num = self_num;
				verin_double_effet_pmb_energieAir = __start.Bool+16; /*verins__cn_20*/
				verin_double_effet_pmb_tensionCmd = __start.Bool+15; /*verins__cn_21*/
				verin_double_effet_pmb_tensionCpt = __start.Bool+14; /*verins__cn_22*/
				verin_double_effet_pmb_electroRetour = __start.Bool+13; /*verins__cn_23*/
				verin_double_effet_pmb_electroTravail = __start.Bool+12; /*verins__cn_24*/
				verin_double_effet_pmb_cptRentre = __start.Bool+11; /*verins__cn_25*/
				verin_double_effet_pmb_cptSorti = __start.Bool+10; /*verins__cn_26*/
				verin_double_effet_pmb_positionTige = __start.Float+5; /*verins__cn_27*/
				verin_double_effet_pmb_pourcentTige = __start.Float+4; /*verins__cn_28*/
				verin_double_effet_pmb_valeurIncrement = __start.Float+3; /*verins__cn_29*/
			}
			__ret = bibliotheque_epo__verin_double_effet_pmb();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/******************* verin_electrique1 execution ********************/

			self_num++;
			if (verin_electrique__num != self_num) {
				verin_electrique__num = self_num;
				verin_electrique_energie380 = __start.Bool+9; /*verins__cn_30*/
				verin_electrique_tensionCmd = __start.Bool+8; /*verins__cn_31*/
				verin_electrique_tensionCpt = __start.Bool+7; /*verins__cn_32*/
				verin_electrique_electroRetour = __start.Bool+6; /*verins__cn_33*/
				verin_electrique_electroTravail = __start.Bool+5; /*verins__cn_34*/
				verin_electrique_cptRentre = __start.Bool+4; /*verins__cn_35*/
				verin_electrique_cptSorti = __start.Bool+3; /*verins__cn_36*/
				verin_electrique_retourFerm = __start.Bool+2; /*verins__cn_37*/
				verin_electrique_retourOuv = __start.Bool+1; /*verins__cn_38*/
				verin_electrique_thermique = __start.Bool+0; /*verins__cn_39*/
				verin_electrique_positionTige = __start.Float+2; /*verins__cn_40*/
				verin_electrique_pourcentTige = __start.Float+1; /*verins__cn_41*/
				verin_electrique_valeurIncrement = __start.Float+0; /*verins__cn_42*/
			}
			__ret = bibliotheque_epo__verin_electrique();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

		}


		/******************** Post-conditions execution *********************/

		/*no Post-conditions*/
	}

	/*************************** self update ****************************/

	self.Bool = __start.Bool + bibliotheque_epo__verins_offset__end.Bool;
	self.Int = __start.Int + bibliotheque_epo__verins_offset__end.Int;
	self.Float = __start.Float + bibliotheque_epo__verins_offset__end.Float;
	self.Char = __start.Char + bibliotheque_epo__verins_offset__end.Char;

	return 0;
}


/********************************************************************
 *                Inner 'hydraulique' implementation                *
 ********************************************************************/

#include "bibliotheque_epo/functional/vanne_simple_effet/vanne_simple_effet.h"
#include "bibliotheque_epo/functional/capteur_debit/capteur_debit.h"
#include "bibliotheque_epo/functional/agitateur_1vit/agitateur_1vit.h"
#include "bibliotheque_epo/functional/pompe_tor/pompe_tor.h"
#include "bibliotheque_epo/functional/agitateur_2vit/agitateur_2vit.h"
#include "bibliotheque_epo/functional/cuve/cuve.h"
#include "bibliotheque_epo/functional/vanne_motorisee/vanne_motorisee.h"
#include "bibliotheque_epo/functional/vanne_tor/vanne_tor.h"
#include "bibliotheque_epo/functional/calcul_debit/calcul_debit.h"
#include "bibliotheque_epo/functional/pompe_ana/pompe_ana.h"
#include "bibliotheque_epo/functional/vanne_regulation/vanne_regulation.h"


/**************************** Variables *****************************/

static CB_Index hydraulique__num = 0;

/**************************** Variables *****************************/



/************************ Components offsets ************************/

static CB_Offset bibliotheque_epo__hydraulique_offset_vanne_simple_effet1;
static CB_Offset bibliotheque_epo__hydraulique_offset_capteur_debit1;
static CB_Offset bibliotheque_epo__hydraulique_offset_agitateur_1vit1;
static CB_Offset bibliotheque_epo__hydraulique_offset_pompe_tor1;
static CB_Offset bibliotheque_epo__hydraulique_offset_agitateur_2vit1;
static CB_Offset bibliotheque_epo__hydraulique_offset_cuve1;
static CB_Offset bibliotheque_epo__hydraulique_offset_vanne_motorisee1;
static CB_Offset bibliotheque_epo__hydraulique_offset_vanne_tor1;
static CB_Offset bibliotheque_epo__hydraulique_offset_calcul_debit1;
static CB_Offset bibliotheque_epo__hydraulique_offset_pompe_ana1;
static CB_Offset bibliotheque_epo__hydraulique_offset_vanne_regulation1;
static CB_Offset bibliotheque_epo__hydraulique_offset__end = {0, 0, 0, 0};


/********************* Initialization function **********************/

static int _bibliotheque_epo__hydraulique_init(void)
{
	CB_Object __start = self;
	self.Bool+=55;
	self.Float+=31;

	/*initialize child vanne_simple_effet1 (bibliotheque_epo.vanne_simple_effet):*/
	self_num++;
	bibliotheque_epo__hydraulique_offset_vanne_simple_effet1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__hydraulique_offset_vanne_simple_effet1.Int = self.Int - __start.Int;
	bibliotheque_epo__hydraulique_offset_vanne_simple_effet1.Float = self.Float - __start.Float;
	bibliotheque_epo__hydraulique_offset_vanne_simple_effet1.Char = self.Char - __start.Char;
	vanne_simple_effet_energie380 = __start.Bool+54; /*hydraulique__cn_1*/
	vanne_simple_effet_tensionCmd = __start.Bool+53; /*hydraulique__cn_2*/
	vanne_simple_effet_tensionCpt = __start.Bool+52; /*hydraulique__cn_3*/
	vanne_simple_effet_cmdOuv = __start.Bool+51; /*hydraulique__cn_4*/
	vanne_simple_effet_debitEntree = __start.Float+30; /*hydraulique__cn_5*/
	vanne_simple_effet_cptFerm = __start.Bool+50; /*hydraulique__cn_6*/
	vanne_simple_effet_cptOuv = __start.Bool+49; /*hydraulique__cn_7*/
	vanne_simple_effet_debitSortie = __start.Float+29; /*hydraulique__cn_8*/
	vanne_simple_effet_pourcentOuverture = __start.Float+28; /*hydraulique__cn_9*/
	_bibliotheque_epo__vanne_simple_effet_init();

	/*initialize child capteur_debit1 (bibliotheque_epo.capteur_debit):*/
	self_num++;
	bibliotheque_epo__hydraulique_offset_capteur_debit1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__hydraulique_offset_capteur_debit1.Int = self.Int - __start.Int;
	bibliotheque_epo__hydraulique_offset_capteur_debit1.Float = self.Float - __start.Float;
	bibliotheque_epo__hydraulique_offset_capteur_debit1.Char = self.Char - __start.Char;
	capteur_debit_debitEntree = __start.Float+27; /*hydraulique__cn_10*/
	capteur_debit_debitSortie = __start.Float+26; /*hydraulique__cn_11*/
	_bibliotheque_epo__capteur_debit_init();

	/*initialize child agitateur_1vit1 (bibliotheque_epo.agitateur_1vit):*/
	self_num++;
	bibliotheque_epo__hydraulique_offset_agitateur_1vit1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__hydraulique_offset_agitateur_1vit1.Int = self.Int - __start.Int;
	bibliotheque_epo__hydraulique_offset_agitateur_1vit1.Float = self.Float - __start.Float;
	bibliotheque_epo__hydraulique_offset_agitateur_1vit1.Char = self.Char - __start.Char;
	agitateur_1vit_energie380 = __start.Bool+48; /*hydraulique__cn_12*/
	agitateur_1vit_tensionCpt = __start.Bool+47; /*hydraulique__cn_13*/
	agitateur_1vit_tensionCmd = __start.Bool+46; /*hydraulique__cn_14*/
	agitateur_1vit_cmd = __start.Bool+45; /*hydraulique__cn_15*/
	agitateur_1vit_retour = __start.Bool+44; /*hydraulique__cn_16*/
	agitateur_1vit_thermique = __start.Bool+43; /*hydraulique__cn_17*/
	agitateur_1vit_valeurVitesse = __start.Float+25; /*hydraulique__cn_18*/
	agitateur_1vit_pourcentVitesse = __start.Float+24; /*hydraulique__cn_19*/
	_bibliotheque_epo__agitateur_1vit_init();

	/*initialize child pompe_tor1 (bibliotheque_epo.pompe_tor):*/
	self_num++;
	bibliotheque_epo__hydraulique_offset_pompe_tor1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__hydraulique_offset_pompe_tor1.Int = self.Int - __start.Int;
	bibliotheque_epo__hydraulique_offset_pompe_tor1.Float = self.Float - __start.Float;
	bibliotheque_epo__hydraulique_offset_pompe_tor1.Char = self.Char - __start.Char;
	pompe_tor_energie380 = __start.Bool+42; /*hydraulique__cn_20*/
	pompe_tor_tensionCmd = __start.Bool+41; /*hydraulique__cn_21*/
	pompe_tor_tensionCpt = __start.Bool+40; /*hydraulique__cn_22*/
	pompe_tor_cmdMarche = __start.Bool+39; /*hydraulique__cn_23*/
	pompe_tor_debitEntree = __start.Float+23; /*hydraulique__cn_24*/
	pompe_tor_retourMarche = __start.Bool+38; /*hydraulique__cn_25*/
	pompe_tor_thermique = __start.Bool+37; /*hydraulique__cn_26*/
	pompe_tor_valeurVitesse = __start.Float+22; /*hydraulique__cn_27*/
	pompe_tor_debitSortie = __start.Float+21; /*hydraulique__cn_28*/
	_bibliotheque_epo__pompe_tor_init();

	/*initialize child agitateur_2vit1 (bibliotheque_epo.agitateur_2vit):*/
	self_num++;
	bibliotheque_epo__hydraulique_offset_agitateur_2vit1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__hydraulique_offset_agitateur_2vit1.Int = self.Int - __start.Int;
	bibliotheque_epo__hydraulique_offset_agitateur_2vit1.Float = self.Float - __start.Float;
	bibliotheque_epo__hydraulique_offset_agitateur_2vit1.Char = self.Char - __start.Char;
	agitateur_2vit_energie380 = __start.Bool+36; /*hydraulique__cn_29*/
	agitateur_2vit_tensionCmd = __start.Bool+35; /*hydraulique__cn_30*/
	agitateur_2vit_tensionCpt = __start.Bool+34; /*hydraulique__cn_31*/
	agitateur_2vit_cmdPv = __start.Bool+33; /*hydraulique__cn_32*/
	agitateur_2vit_cmdGv = __start.Bool+32; /*hydraulique__cn_33*/
	agitateur_2vit_retourPv = __start.Bool+31; /*hydraulique__cn_34*/
	agitateur_2vit_retourGv = __start.Bool+30; /*hydraulique__cn_35*/
	agitateur_2vit_thermique = __start.Bool+29; /*hydraulique__cn_36*/
	agitateur_2vit_valeurVitesse = __start.Float+20; /*hydraulique__cn_37*/
	agitateur_2vit_pourcentVitesse = __start.Float+19; /*hydraulique__cn_38*/
	_bibliotheque_epo__agitateur_2vit_init();

	/*initialize child cuve1 (bibliotheque_epo.cuve):*/
	self_num++;
	bibliotheque_epo__hydraulique_offset_cuve1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__hydraulique_offset_cuve1.Int = self.Int - __start.Int;
	bibliotheque_epo__hydraulique_offset_cuve1.Float = self.Float - __start.Float;
	bibliotheque_epo__hydraulique_offset_cuve1.Char = self.Char - __start.Char;
	cuve_debitRemplir = __start.Float+18; /*hydraulique__cn_39*/
	cuve_debitVider = __start.Float+17; /*hydraulique__cn_40*/
	cuve_niveauCuve = __start.Float+16; /*hydraulique__cn_41*/
	_bibliotheque_epo__cuve_init();

	/*initialize child vanne_motorisee1 (bibliotheque_epo.vanne_motorisee):*/
	self_num++;
	bibliotheque_epo__hydraulique_offset_vanne_motorisee1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__hydraulique_offset_vanne_motorisee1.Int = self.Int - __start.Int;
	bibliotheque_epo__hydraulique_offset_vanne_motorisee1.Float = self.Float - __start.Float;
	bibliotheque_epo__hydraulique_offset_vanne_motorisee1.Char = self.Char - __start.Char;
	vanne_motorisee_energie380 = __start.Bool+28; /*hydraulique__cn_42*/
	vanne_motorisee_tensionCmd = __start.Bool+27; /*hydraulique__cn_43*/
	vanne_motorisee_tensionCpt = __start.Bool+26; /*hydraulique__cn_44*/
	vanne_motorisee_cmdOuv = __start.Bool+25; /*hydraulique__cn_45*/
	vanne_motorisee_cmdFerm = __start.Bool+24; /*hydraulique__cn_46*/
	vanne_motorisee_debitEntree = __start.Float+15; /*hydraulique__cn_47*/
	vanne_motorisee_retourOuv = __start.Bool+23; /*hydraulique__cn_48*/
	vanne_motorisee_retourFerm = __start.Bool+22; /*hydraulique__cn_49*/
	vanne_motorisee_thermique = __start.Bool+21; /*hydraulique__cn_50*/
	vanne_motorisee_cptOuv = __start.Bool+20; /*hydraulique__cn_51*/
	vanne_motorisee_cptFerm = __start.Bool+19; /*hydraulique__cn_52*/
	vanne_motorisee_debitSortie = __start.Float+14; /*hydraulique__cn_53*/
	vanne_motorisee_pourcentOuverture = __start.Float+13; /*hydraulique__cn_54*/
	_bibliotheque_epo__vanne_motorisee_init();

	/*initialize child vanne_tor1 (bibliotheque_epo.vanne_tor):*/
	self_num++;
	bibliotheque_epo__hydraulique_offset_vanne_tor1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__hydraulique_offset_vanne_tor1.Int = self.Int - __start.Int;
	bibliotheque_epo__hydraulique_offset_vanne_tor1.Float = self.Float - __start.Float;
	bibliotheque_epo__hydraulique_offset_vanne_tor1.Char = self.Char - __start.Char;
	vanne_tor_energie380 = __start.Bool+18; /*hydraulique__cn_55*/
	vanne_tor_tensionCmd = __start.Bool+17; /*hydraulique__cn_56*/
	vanne_tor_tensionCpt = __start.Bool+16; /*hydraulique__cn_57*/
	vanne_tor_cmdFerm = __start.Bool+15; /*hydraulique__cn_58*/
	vanne_tor_cmdOuv = __start.Bool+14; /*hydraulique__cn_59*/
	vanne_tor_debitEntree = __start.Float+12; /*hydraulique__cn_60*/
	vanne_tor_cptFerm = __start.Bool+13; /*hydraulique__cn_61*/
	vanne_tor_cptOuv = __start.Bool+12; /*hydraulique__cn_62*/
	vanne_tor_debitSortie = __start.Float+11; /*hydraulique__cn_63*/
	vanne_tor_pourcentOuverture = __start.Float+10; /*hydraulique__cn_64*/
	_bibliotheque_epo__vanne_tor_init();

	/*initialize child calcul_debit1 (bibliotheque_epo.calcul_debit):*/
	self_num++;
	bibliotheque_epo__hydraulique_offset_calcul_debit1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__hydraulique_offset_calcul_debit1.Int = self.Int - __start.Int;
	bibliotheque_epo__hydraulique_offset_calcul_debit1.Float = self.Float - __start.Float;
	bibliotheque_epo__hydraulique_offset_calcul_debit1.Char = self.Char - __start.Char;
	calcul_debit_debitEntree = __start.Float+9; /*hydraulique__cn_65*/
	calcul_debit_debitSortie = __start.Float+8; /*hydraulique__cn_66*/
	_bibliotheque_epo__calcul_debit_init();

	/*initialize child pompe_ana1 (bibliotheque_epo.pompe_ana):*/
	self_num++;
	bibliotheque_epo__hydraulique_offset_pompe_ana1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__hydraulique_offset_pompe_ana1.Int = self.Int - __start.Int;
	bibliotheque_epo__hydraulique_offset_pompe_ana1.Float = self.Float - __start.Float;
	bibliotheque_epo__hydraulique_offset_pompe_ana1.Char = self.Char - __start.Char;
	pompe_ana_energie380 = __start.Bool+11; /*hydraulique__cn_67*/
	pompe_ana_tensionCmd = __start.Bool+10; /*hydraulique__cn_68*/
	pompe_ana_tensionCpt = __start.Bool+9; /*hydraulique__cn_69*/
	pompe_ana_cmdMarche = __start.Bool+8; /*hydraulique__cn_70*/
	pompe_ana_consigne = __start.Float+7; /*hydraulique__cn_71*/
	pompe_ana_debitEntree = __start.Float+6; /*hydraulique__cn_72*/
	pompe_ana_retourMarche = __start.Bool+7; /*hydraulique__cn_73*/
	pompe_ana_thermique = __start.Bool+6; /*hydraulique__cn_74*/
	pompe_ana_valeurVitesse = __start.Float+5; /*hydraulique__cn_75*/
	pompe_ana_debitSortie = __start.Float+4; /*hydraulique__cn_76*/
	_bibliotheque_epo__pompe_ana_init();

	/*initialize child vanne_regulation1 (bibliotheque_epo.vanne_regulation):*/
	self_num++;
	bibliotheque_epo__hydraulique_offset_vanne_regulation1.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__hydraulique_offset_vanne_regulation1.Int = self.Int - __start.Int;
	bibliotheque_epo__hydraulique_offset_vanne_regulation1.Float = self.Float - __start.Float;
	bibliotheque_epo__hydraulique_offset_vanne_regulation1.Char = self.Char - __start.Char;
	vanne_regulation_energie380 = __start.Bool+5; /*hydraulique__cn_77*/
	vanne_regulation_tensionCmd = __start.Bool+4; /*hydraulique__cn_78*/
	vanne_regulation_tensionCpt = __start.Bool+3; /*hydraulique__cn_79*/
	vanne_regulation_cmdMarche = __start.Bool+2; /*hydraulique__cn_80*/
	vanne_regulation_consigne = __start.Float+3; /*hydraulique__cn_81*/
	vanne_regulation_debitEntree = __start.Float+2; /*hydraulique__cn_82*/
	vanne_regulation_cptFerm = __start.Bool+1; /*hydraulique__cn_83*/
	vanne_regulation_cptOuv = __start.Bool+0; /*hydraulique__cn_84*/
	vanne_regulation_debitSortie = __start.Float+1; /*hydraulique__cn_85*/
	vanne_regulation_pourcentOuverture = __start.Float+0; /*hydraulique__cn_86*/
	_bibliotheque_epo__vanne_regulation_init();

	bibliotheque_epo__hydraulique_offset__end.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__hydraulique_offset__end.Int = self.Int - __start.Int;
	bibliotheque_epo__hydraulique_offset__end.Float = self.Float - __start.Float;
	bibliotheque_epo__hydraulique_offset__end.Char = self.Char - __start.Char;

	return 0;
}


/************************ Behavior function *************************/

static int bibliotheque_epo__hydraulique(void)
{
	CB_Object __start = self;
	int __ret;
	if (exec_mac_node(self_num)) {

		/*********************** Internals variables ************************/

																																																																																																																																																																												
		/********************* Pre-conditions execution *********************/

		/*no Pre-conditions*/

		/************************ Behavior execution ************************/

		{
			self.Bool = __start.Bool + bibliotheque_epo__hydraulique_offset_vanne_simple_effet1.Bool;
			self.Int = __start.Int + bibliotheque_epo__hydraulique_offset_vanne_simple_effet1.Int;
			self.Float = __start.Float + bibliotheque_epo__hydraulique_offset_vanne_simple_effet1.Float;
			self.Char = __start.Char + bibliotheque_epo__hydraulique_offset_vanne_simple_effet1.Char;

			/****************** vanne_simple_effet1 execution *******************/

			self_num++;
			if (vanne_simple_effet__num != self_num) {
				vanne_simple_effet__num = self_num;
				vanne_simple_effet_energie380 = __start.Bool+54; /*hydraulique__cn_1*/
				vanne_simple_effet_tensionCmd = __start.Bool+53; /*hydraulique__cn_2*/
				vanne_simple_effet_tensionCpt = __start.Bool+52; /*hydraulique__cn_3*/
				vanne_simple_effet_cmdOuv = __start.Bool+51; /*hydraulique__cn_4*/
				vanne_simple_effet_debitEntree = __start.Float+30; /*hydraulique__cn_5*/
				vanne_simple_effet_cptFerm = __start.Bool+50; /*hydraulique__cn_6*/
				vanne_simple_effet_cptOuv = __start.Bool+49; /*hydraulique__cn_7*/
				vanne_simple_effet_debitSortie = __start.Float+29; /*hydraulique__cn_8*/
				vanne_simple_effet_pourcentOuverture = __start.Float+28; /*hydraulique__cn_9*/
			}
			__ret = bibliotheque_epo__vanne_simple_effet();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/********************* capteur_debit1 execution *********************/

			self_num++;
			if (capteur_debit__num != self_num) {
				capteur_debit__num = self_num;
				capteur_debit_debitEntree = __start.Float+27; /*hydraulique__cn_10*/
				capteur_debit_debitSortie = __start.Float+26; /*hydraulique__cn_11*/
			}
			__ret = bibliotheque_epo__capteur_debit();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/******************** agitateur_1vit1 execution *********************/

			self_num++;
			if (agitateur_1vit__num != self_num) {
				agitateur_1vit__num = self_num;
				agitateur_1vit_energie380 = __start.Bool+48; /*hydraulique__cn_12*/
				agitateur_1vit_tensionCpt = __start.Bool+47; /*hydraulique__cn_13*/
				agitateur_1vit_tensionCmd = __start.Bool+46; /*hydraulique__cn_14*/
				agitateur_1vit_cmd = __start.Bool+45; /*hydraulique__cn_15*/
				agitateur_1vit_retour = __start.Bool+44; /*hydraulique__cn_16*/
				agitateur_1vit_thermique = __start.Bool+43; /*hydraulique__cn_17*/
				agitateur_1vit_valeurVitesse = __start.Float+25; /*hydraulique__cn_18*/
				agitateur_1vit_pourcentVitesse = __start.Float+24; /*hydraulique__cn_19*/
			}
			__ret = bibliotheque_epo__agitateur_1vit();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/*********************** pompe_tor1 execution ***********************/

			self_num++;
			if (pompe_tor__num != self_num) {
				pompe_tor__num = self_num;
				pompe_tor_energie380 = __start.Bool+42; /*hydraulique__cn_20*/
				pompe_tor_tensionCmd = __start.Bool+41; /*hydraulique__cn_21*/
				pompe_tor_tensionCpt = __start.Bool+40; /*hydraulique__cn_22*/
				pompe_tor_cmdMarche = __start.Bool+39; /*hydraulique__cn_23*/
				pompe_tor_debitEntree = __start.Float+23; /*hydraulique__cn_24*/
				pompe_tor_retourMarche = __start.Bool+38; /*hydraulique__cn_25*/
				pompe_tor_thermique = __start.Bool+37; /*hydraulique__cn_26*/
				pompe_tor_valeurVitesse = __start.Float+22; /*hydraulique__cn_27*/
				pompe_tor_debitSortie = __start.Float+21; /*hydraulique__cn_28*/
			}
			__ret = bibliotheque_epo__pompe_tor();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/******************** agitateur_2vit1 execution *********************/

			self_num++;
			if (agitateur_2vit__num != self_num) {
				agitateur_2vit__num = self_num;
				agitateur_2vit_energie380 = __start.Bool+36; /*hydraulique__cn_29*/
				agitateur_2vit_tensionCmd = __start.Bool+35; /*hydraulique__cn_30*/
				agitateur_2vit_tensionCpt = __start.Bool+34; /*hydraulique__cn_31*/
				agitateur_2vit_cmdPv = __start.Bool+33; /*hydraulique__cn_32*/
				agitateur_2vit_cmdGv = __start.Bool+32; /*hydraulique__cn_33*/
				agitateur_2vit_retourPv = __start.Bool+31; /*hydraulique__cn_34*/
				agitateur_2vit_retourGv = __start.Bool+30; /*hydraulique__cn_35*/
				agitateur_2vit_thermique = __start.Bool+29; /*hydraulique__cn_36*/
				agitateur_2vit_valeurVitesse = __start.Float+20; /*hydraulique__cn_37*/
				agitateur_2vit_pourcentVitesse = __start.Float+19; /*hydraulique__cn_38*/
			}
			__ret = bibliotheque_epo__agitateur_2vit();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/************************* cuve1 execution **************************/

			self_num++;
			if (cuve__num != self_num) {
				cuve__num = self_num;
				cuve_debitRemplir = __start.Float+18; /*hydraulique__cn_39*/
				cuve_debitVider = __start.Float+17; /*hydraulique__cn_40*/
				cuve_niveauCuve = __start.Float+16; /*hydraulique__cn_41*/
			}
			__ret = bibliotheque_epo__cuve();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/******************** vanne_motorisee1 execution ********************/

			self_num++;
			if (vanne_motorisee__num != self_num) {
				vanne_motorisee__num = self_num;
				vanne_motorisee_energie380 = __start.Bool+28; /*hydraulique__cn_42*/
				vanne_motorisee_tensionCmd = __start.Bool+27; /*hydraulique__cn_43*/
				vanne_motorisee_tensionCpt = __start.Bool+26; /*hydraulique__cn_44*/
				vanne_motorisee_cmdOuv = __start.Bool+25; /*hydraulique__cn_45*/
				vanne_motorisee_cmdFerm = __start.Bool+24; /*hydraulique__cn_46*/
				vanne_motorisee_debitEntree = __start.Float+15; /*hydraulique__cn_47*/
				vanne_motorisee_retourOuv = __start.Bool+23; /*hydraulique__cn_48*/
				vanne_motorisee_retourFerm = __start.Bool+22; /*hydraulique__cn_49*/
				vanne_motorisee_thermique = __start.Bool+21; /*hydraulique__cn_50*/
				vanne_motorisee_cptOuv = __start.Bool+20; /*hydraulique__cn_51*/
				vanne_motorisee_cptFerm = __start.Bool+19; /*hydraulique__cn_52*/
				vanne_motorisee_debitSortie = __start.Float+14; /*hydraulique__cn_53*/
				vanne_motorisee_pourcentOuverture = __start.Float+13; /*hydraulique__cn_54*/
			}
			__ret = bibliotheque_epo__vanne_motorisee();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/*********************** vanne_tor1 execution ***********************/

			self_num++;
			if (vanne_tor__num != self_num) {
				vanne_tor__num = self_num;
				vanne_tor_energie380 = __start.Bool+18; /*hydraulique__cn_55*/
				vanne_tor_tensionCmd = __start.Bool+17; /*hydraulique__cn_56*/
				vanne_tor_tensionCpt = __start.Bool+16; /*hydraulique__cn_57*/
				vanne_tor_cmdFerm = __start.Bool+15; /*hydraulique__cn_58*/
				vanne_tor_cmdOuv = __start.Bool+14; /*hydraulique__cn_59*/
				vanne_tor_debitEntree = __start.Float+12; /*hydraulique__cn_60*/
				vanne_tor_cptFerm = __start.Bool+13; /*hydraulique__cn_61*/
				vanne_tor_cptOuv = __start.Bool+12; /*hydraulique__cn_62*/
				vanne_tor_debitSortie = __start.Float+11; /*hydraulique__cn_63*/
				vanne_tor_pourcentOuverture = __start.Float+10; /*hydraulique__cn_64*/
			}
			__ret = bibliotheque_epo__vanne_tor();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/********************* calcul_debit1 execution **********************/

			self_num++;
			if (calcul_debit__num != self_num) {
				calcul_debit__num = self_num;
				calcul_debit_debitEntree = __start.Float+9; /*hydraulique__cn_65*/
				calcul_debit_debitSortie = __start.Float+8; /*hydraulique__cn_66*/
			}
			__ret = bibliotheque_epo__calcul_debit();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/*********************** pompe_ana1 execution ***********************/

			self_num++;
			if (pompe_ana__num != self_num) {
				pompe_ana__num = self_num;
				pompe_ana_energie380 = __start.Bool+11; /*hydraulique__cn_67*/
				pompe_ana_tensionCmd = __start.Bool+10; /*hydraulique__cn_68*/
				pompe_ana_tensionCpt = __start.Bool+9; /*hydraulique__cn_69*/
				pompe_ana_cmdMarche = __start.Bool+8; /*hydraulique__cn_70*/
				pompe_ana_consigne = __start.Float+7; /*hydraulique__cn_71*/
				pompe_ana_debitEntree = __start.Float+6; /*hydraulique__cn_72*/
				pompe_ana_retourMarche = __start.Bool+7; /*hydraulique__cn_73*/
				pompe_ana_thermique = __start.Bool+6; /*hydraulique__cn_74*/
				pompe_ana_valeurVitesse = __start.Float+5; /*hydraulique__cn_75*/
				pompe_ana_debitSortie = __start.Float+4; /*hydraulique__cn_76*/
			}
			__ret = bibliotheque_epo__pompe_ana();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/******************* vanne_regulation1 execution ********************/

			self_num++;
			if (vanne_regulation__num != self_num) {
				vanne_regulation__num = self_num;
				vanne_regulation_energie380 = __start.Bool+5; /*hydraulique__cn_77*/
				vanne_regulation_tensionCmd = __start.Bool+4; /*hydraulique__cn_78*/
				vanne_regulation_tensionCpt = __start.Bool+3; /*hydraulique__cn_79*/
				vanne_regulation_cmdMarche = __start.Bool+2; /*hydraulique__cn_80*/
				vanne_regulation_consigne = __start.Float+3; /*hydraulique__cn_81*/
				vanne_regulation_debitEntree = __start.Float+2; /*hydraulique__cn_82*/
				vanne_regulation_cptFerm = __start.Bool+1; /*hydraulique__cn_83*/
				vanne_regulation_cptOuv = __start.Bool+0; /*hydraulique__cn_84*/
				vanne_regulation_debitSortie = __start.Float+1; /*hydraulique__cn_85*/
				vanne_regulation_pourcentOuverture = __start.Float+0; /*hydraulique__cn_86*/
			}
			__ret = bibliotheque_epo__vanne_regulation();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

		}


		/******************** Post-conditions execution *********************/

		/*no Post-conditions*/
	}

	/*************************** self update ****************************/

	self.Bool = __start.Bool + bibliotheque_epo__hydraulique_offset__end.Bool;
	self.Int = __start.Int + bibliotheque_epo__hydraulique_offset__end.Int;
	self.Float = __start.Float + bibliotheque_epo__hydraulique_offset__end.Float;
	self.Char = __start.Char + bibliotheque_epo__hydraulique_offset__end.Char;

	return 0;
}


/********************************************************************
 *    Public 'bibliotheque_epo.bibliotheque_epo' implementation     *
 ********************************************************************/

#include "bibliotheque_epo.h"


/**************************** Variables *****************************/

CB_Index bibliotheque_epo__num = 0;

/**************************** Variables *****************************/



/************************ Components offsets ************************/

static CB_Offset bibliotheque_epo__bibliotheque_epo_offset_capteurs;
static CB_Offset bibliotheque_epo__bibliotheque_epo_offset_boiteAOutils;
static CB_Offset bibliotheque_epo__bibliotheque_epo_offset_puissance;
static CB_Offset bibliotheque_epo__bibliotheque_epo_offset_preactionneurs;
static CB_Offset bibliotheque_epo__bibliotheque_epo_offset_actionneurs;
static CB_Offset bibliotheque_epo__bibliotheque_epo_offset_moteurs;
static CB_Offset bibliotheque_epo__bibliotheque_epo_offset_verins;
static CB_Offset bibliotheque_epo__bibliotheque_epo_offset_hydraulique;
static CB_Offset bibliotheque_epo__bibliotheque_epo_offset__end = {0, 0, 0, 0};


/********************* Initialization function **********************/

int _bibliotheque_epo__bibliotheque_epo_init(void)
{
	CB_Object __start = self;

	/*initialize child capteurs (bibliotheque_epo.capteurs):*/
	self_num++;
	bibliotheque_epo__bibliotheque_epo_offset_capteurs.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__bibliotheque_epo_offset_capteurs.Int = self.Int - __start.Int;
	bibliotheque_epo__bibliotheque_epo_offset_capteurs.Float = self.Float - __start.Float;
	bibliotheque_epo__bibliotheque_epo_offset_capteurs.Char = self.Char - __start.Char;
	_bibliotheque_epo__capteurs_init();

	/*initialize child boiteAOutils (bibliotheque_epo.boite_outils):*/
	self_num++;
	bibliotheque_epo__bibliotheque_epo_offset_boiteAOutils.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__bibliotheque_epo_offset_boiteAOutils.Int = self.Int - __start.Int;
	bibliotheque_epo__bibliotheque_epo_offset_boiteAOutils.Float = self.Float - __start.Float;
	bibliotheque_epo__bibliotheque_epo_offset_boiteAOutils.Char = self.Char - __start.Char;
	_bibliotheque_epo__boite_outils_init();

	/*initialize child puissance (bibliotheque_epo.puissance):*/
	self_num++;
	bibliotheque_epo__bibliotheque_epo_offset_puissance.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__bibliotheque_epo_offset_puissance.Int = self.Int - __start.Int;
	bibliotheque_epo__bibliotheque_epo_offset_puissance.Float = self.Float - __start.Float;
	bibliotheque_epo__bibliotheque_epo_offset_puissance.Char = self.Char - __start.Char;
	_bibliotheque_epo__puissance_init();

	/*initialize child preactionneurs (bibliotheque_epo.preactionneurs):*/
	self_num++;
	bibliotheque_epo__bibliotheque_epo_offset_preactionneurs.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__bibliotheque_epo_offset_preactionneurs.Int = self.Int - __start.Int;
	bibliotheque_epo__bibliotheque_epo_offset_preactionneurs.Float = self.Float - __start.Float;
	bibliotheque_epo__bibliotheque_epo_offset_preactionneurs.Char = self.Char - __start.Char;
	_bibliotheque_epo__preactionneurs_init();

	/*initialize child actionneurs (bibliotheque_epo.actionneurs):*/
	self_num++;
	bibliotheque_epo__bibliotheque_epo_offset_actionneurs.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__bibliotheque_epo_offset_actionneurs.Int = self.Int - __start.Int;
	bibliotheque_epo__bibliotheque_epo_offset_actionneurs.Float = self.Float - __start.Float;
	bibliotheque_epo__bibliotheque_epo_offset_actionneurs.Char = self.Char - __start.Char;
	_bibliotheque_epo__actionneurs_init();

	/*initialize child moteurs (bibliotheque_epo.moteurs):*/
	self_num++;
	bibliotheque_epo__bibliotheque_epo_offset_moteurs.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__bibliotheque_epo_offset_moteurs.Int = self.Int - __start.Int;
	bibliotheque_epo__bibliotheque_epo_offset_moteurs.Float = self.Float - __start.Float;
	bibliotheque_epo__bibliotheque_epo_offset_moteurs.Char = self.Char - __start.Char;
	_bibliotheque_epo__moteurs_init();

	/*initialize child verins (bibliotheque_epo.verins):*/
	self_num++;
	bibliotheque_epo__bibliotheque_epo_offset_verins.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__bibliotheque_epo_offset_verins.Int = self.Int - __start.Int;
	bibliotheque_epo__bibliotheque_epo_offset_verins.Float = self.Float - __start.Float;
	bibliotheque_epo__bibliotheque_epo_offset_verins.Char = self.Char - __start.Char;
	_bibliotheque_epo__verins_init();

	/*initialize child hydraulique (bibliotheque_epo.hydraulique):*/
	self_num++;
	bibliotheque_epo__bibliotheque_epo_offset_hydraulique.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__bibliotheque_epo_offset_hydraulique.Int = self.Int - __start.Int;
	bibliotheque_epo__bibliotheque_epo_offset_hydraulique.Float = self.Float - __start.Float;
	bibliotheque_epo__bibliotheque_epo_offset_hydraulique.Char = self.Char - __start.Char;
	_bibliotheque_epo__hydraulique_init();

	bibliotheque_epo__bibliotheque_epo_offset__end.Bool = self.Bool - __start.Bool;
	bibliotheque_epo__bibliotheque_epo_offset__end.Int = self.Int - __start.Int;
	bibliotheque_epo__bibliotheque_epo_offset__end.Float = self.Float - __start.Float;
	bibliotheque_epo__bibliotheque_epo_offset__end.Char = self.Char - __start.Char;

	return 0;
}


/************************ Behavior function *************************/

int bibliotheque_epo__bibliotheque_epo(void)
{
	CB_Object __start = self;
	int __ret;
	if (exec_mac_node(self_num)) {

		/*********************** Internals variables ************************/


		/********************* Pre-conditions execution *********************/

		/*no Pre-conditions*/

		/************************ Behavior execution ************************/

		{
			self.Bool = __start.Bool + bibliotheque_epo__bibliotheque_epo_offset_capteurs.Bool;
			self.Int = __start.Int + bibliotheque_epo__bibliotheque_epo_offset_capteurs.Int;
			self.Float = __start.Float + bibliotheque_epo__bibliotheque_epo_offset_capteurs.Float;
			self.Char = __start.Char + bibliotheque_epo__bibliotheque_epo_offset_capteurs.Char;

			/************************ capteurs execution ************************/

			self_num++;
			if (capteurs__num != self_num) {
				capteurs__num = self_num;
			}
			__ret = bibliotheque_epo__capteurs();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/********************** boiteAOutils execution **********************/

			self_num++;
			if (boite_outils__num != self_num) {
				boite_outils__num = self_num;
			}
			__ret = bibliotheque_epo__boite_outils();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/*********************** puissance execution ************************/

			self_num++;
			if (puissance__num != self_num) {
				puissance__num = self_num;
			}
			__ret = bibliotheque_epo__puissance();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/********************* preactionneurs execution *********************/

			self_num++;
			if (preactionneurs__num != self_num) {
				preactionneurs__num = self_num;
			}
			__ret = bibliotheque_epo__preactionneurs();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/********************** actionneurs execution ***********************/

			self_num++;
			if (actionneurs__num != self_num) {
				actionneurs__num = self_num;
			}
			__ret = bibliotheque_epo__actionneurs();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/************************ moteurs execution *************************/

			self_num++;
			if (moteurs__num != self_num) {
				moteurs__num = self_num;
			}
			__ret = bibliotheque_epo__moteurs();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/************************* verins execution *************************/

			self_num++;
			if (verins__num != self_num) {
				verins__num = self_num;
			}
			__ret = bibliotheque_epo__verins();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

			/********************** hydraulique execution ***********************/

			self_num++;
			if (hydraulique__num != self_num) {
				hydraulique__num = self_num;
			}
			__ret = bibliotheque_epo__hydraulique();
			if (__ret != 0) {
				return __ret; /*child execution failure*/
			}

		}


		/******************** Post-conditions execution *********************/

		/*no Post-conditions*/
	}

	/*************************** self update ****************************/

	self.Bool = __start.Bool + bibliotheque_epo__bibliotheque_epo_offset__end.Bool;
	self.Int = __start.Int + bibliotheque_epo__bibliotheque_epo_offset__end.Int;
	self.Float = __start.Float + bibliotheque_epo__bibliotheque_epo_offset__end.Float;
	self.Char = __start.Char + bibliotheque_epo__bibliotheque_epo_offset__end.Char;

	return 0;
}

