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

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

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

#include "destructeur_produit.h"



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

CB_Index destructeur_produit__num = 0;
CB_Mem_Int *destructeur_produit_status_act_prod;
CB_Mem_Float *destructeur_produit_m11;
CB_Mem_Float *destructeur_produit_m12;
CB_Mem_Float *destructeur_produit_m13;
CB_Mem_Float *destructeur_produit_m14;
CB_Mem_Float *destructeur_produit_m21;
CB_Mem_Float *destructeur_produit_m22;
CB_Mem_Float *destructeur_produit_m23;
CB_Mem_Float *destructeur_produit_m24;
CB_Mem_Float *destructeur_produit_m31;
CB_Mem_Float *destructeur_produit_m32;
CB_Mem_Float *destructeur_produit_m33;
CB_Mem_Float *destructeur_produit_m34;
CB_Mem_Float *destructeur_produit_m41;
CB_Mem_Float *destructeur_produit_m42;
CB_Mem_Float *destructeur_produit_m43;
CB_Mem_Float *destructeur_produit_m44;
CB_Mem_Bool *destructeur_produit_estActif;

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

#define status_act_prod (destructeur_produit_status_act_prod->CB_current_value)
#define m11 (destructeur_produit_m11->CB_current_value)
#define m12 (destructeur_produit_m12->CB_current_value)
#define m13 (destructeur_produit_m13->CB_current_value)
#define m14 (destructeur_produit_m14->CB_current_value)
#define m21 (destructeur_produit_m21->CB_current_value)
#define m22 (destructeur_produit_m22->CB_current_value)
#define m23 (destructeur_produit_m23->CB_current_value)
#define m24 (destructeur_produit_m24->CB_current_value)
#define m31 (destructeur_produit_m31->CB_current_value)
#define m32 (destructeur_produit_m32->CB_current_value)
#define m33 (destructeur_produit_m33->CB_current_value)
#define m34 (destructeur_produit_m34->CB_current_value)
#define m41 (destructeur_produit_m41->CB_current_value)
#define m42 (destructeur_produit_m42->CB_current_value)
#define m43 (destructeur_produit_m43->CB_current_value)
#define m44 (destructeur_produit_m44->CB_current_value)
#define estActif (destructeur_produit_estActif->CB_current_value)


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


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

int _bibliotheque_epo__destructeur_produit_init(void)
{
	(self.Float+0)->CB_current_value = 1.0; /*m11*/
	(self.Float+5)->CB_current_value = 1.0; /*m22*/
	(self.Float+10)->CB_current_value = 1.0; /*m33*/
	(self.Float+15)->CB_current_value = 1.0; /*m44*/
	(self.Bool+0)->CB_current_value = 1; /*estActif*/
	self.Bool+=1;
	self.Int+=1;
	self.Float+=16;


	return 0;
}


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

int bibliotheque_epo__destructeur_produit(void)
{
	if (exec_term_node(self_num)) {

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

		destructeur_produit_status_act_prod = self.Int+0;
		destructeur_produit_m11 = self.Float+0;
		destructeur_produit_m12 = self.Float+1;
		destructeur_produit_m13 = self.Float+2;
		destructeur_produit_m14 = self.Float+3;
		destructeur_produit_m21 = self.Float+4;
		destructeur_produit_m22 = self.Float+5;
		destructeur_produit_m23 = self.Float+6;
		destructeur_produit_m24 = self.Float+7;
		destructeur_produit_m31 = self.Float+8;
		destructeur_produit_m32 = self.Float+9;
		destructeur_produit_m33 = self.Float+10;
		destructeur_produit_m34 = self.Float+11;
		destructeur_produit_m41 = self.Float+12;
		destructeur_produit_m42 = self.Float+13;
		destructeur_produit_m43 = self.Float+14;
		destructeur_produit_m44 = self.Float+15;
		destructeur_produit_estActif = self.Bool+0;

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

		/*no Pre-conditions*/

		/************************ Actor Myself init *************************/

		setMyselfFor(self_num);

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

		{
			/* -------------------------------------------------------------------------------------------------	*/
			/* Modèle de Comportement Opératif											*/
			/* Catégorie Acteurs													*/
			/* Techniques Nouvelles d'Informatique										*/
			/* Date de révision : Octobre 2002											*/
			/* -------------------------------------------------------------------------------------------------	*/
			/* Ce module représente un Destructeur de Produit								*/
			/* -------------------------------------------------------------------------------------------------	*/
		}


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

		/*no Post-conditions*/
	}

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

	self.Bool += 1;
	self.Int += 1;
	self.Float += 16;

	return 0;
}

