//RAZ STRING D ETAT ETAPES
"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := ' ';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := ' ';
REGION SEQ EN-TÊTE
//INIT SEQUENCE PAR AFFICHEUR
IF "DB810_GESTION_IHM".INIT_SEQ THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 0;
END_IF;//RAZ DES VARIABLES
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 0 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;%DB562.DBW6 := 0; (* RAZ CMD01*)
%DB562.DBW8 := 0; (* RAZ CMD02*)
%DB562.DBW10 := 0; (* RAZ CMD03*)
%DB562.DBW12 := 0; (* RAZ CMD04*)"DB562_SEQ_PROG_EN_COURS".SEQ.INT01 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.INT02 := 0; (* *)"DB562_SEQ_PROG_EN_COURS".SEQ.ETAT01 := 0; (* *)
END_IF;// DEMARRAGE DE LA SEQUENCE
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 0 AND "REPRISE_API_OK" THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 10;
END_IF;// INCREMENTATION TEMPO
IF "BIT_100ms" AND "DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS < 32766 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := "DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS + 1;
END_IF;
IF "BIT_1s" AND "DB562_SEQ_PROG_EN_COURS".SEQ.T_1S < 32766 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := "DB562_SEQ_PROG_EN_COURS".SEQ.T_1S + 1;
END_IF;END_REGION ;
REGION 10 INITIALISATION
// ETAPE DE PREPARATION AU DEMARRAGE
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 10 THEN"DB562_SEQ_PROG_EN_COURS".SEQ.CMD01_00 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD01_01 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD01_02 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD01_03 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD01_04 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD01_05 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD01_06 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD01_07 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD01_08 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD01_09 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD01_10 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD01_11 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD01_12 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD01_13 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD01_14 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD01_15 := 0; (* *)"DB562_SEQ_PROG_EN_COURS".SEQ.CMD02_00 := 0; (* RAZ SEQ PROCESS *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD02_01 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD02_02 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD02_03 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD02_04 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD02_05 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD02_06 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD02_07 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD02_08 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD02_09 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD02_10 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD02_11 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD02_12 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD02_13 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD02_14 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD02_15 := 0; (* *)"DB562_SEQ_PROG_EN_COURS".SEQ.INT01 := 0; (* *)
"DB562_SEQ_PROG_EN_COURS".SEQ.INT02 := 0; (* *)"DB562_SEQ_PROG_EN_COURS".SEQ.ETAT01 := 0; (* *)
(*RAZ ETAT EQUIPEMENT*)
"DB550_GESTION_COM_LINA".E_Etat_equipement := 0;
"DB550_GESTION_COM_LINA".E_Etape_en_cours := 0;
"DB550_GESTION_COM_LINA".LAP_Dmd_annulation := 0;(*RAZ TABLEAU PROGRAMME EN COURS*)
"NULL" := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.INT03 := FILL(BVAL := "NULL", BLK => "DB556_REMONTEE_DATA_PROG");
"DB562_SEQ_PROG_EN_COURS".SEQ.INT03 := FILL(BVAL := "NULL", BLK => "DB576_PROG_EN_COURS");
"DB562_SEQ_PROG_EN_COURS".SEQ.INT03 := FILL(BVAL := "NULL", BLK => "DB577_PARAM_PROG_EN_COURS");(*RAZ variables tableau de gestion procédé*)
"DB550_GESTION_COM_LINA".RV_Remonte_valeur_arret_prog := 0;"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Etape de preparation au demarrage';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Attente demande de lancement programme';(*Demande de lancement programme*)
IF "DB550_GESTION_COM_LINA".LAP_Dmd_de_lancement AND "DB550_GESTION_COM_LINA".LAP_Code_prog <> 0 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 100;
END_IF;
END_IF;(*Etape 100 : Lancement du programme dans le db de programme en cours*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 100 THENIF "DB550_GESTION_COM_LINA".LAP_Code_prog < 10 THEN
"DB576_PROG_EN_COURS".CODE_PROG := "DB550_GESTION_COM_LINA".LAP_Code_prog;
"DB576_PROG_EN_COURS".NOM := "DB590_STOCKAGE_PROG_001_010".PROGRAMMES["DB550_GESTION_COM_LINA".LAP_Code_prog].NOM;
"DB576_PROG_EN_COURS".ETAPES := "DB590_STOCKAGE_PROG_001_010".PROGRAMMES["DB550_GESTION_COM_LINA".LAP_Code_prog].ETAPES;
"DB576_PROG_EN_COURS".COMPLEMENT := "DB590_STOCKAGE_PROG_001_010".PROGRAMMES["DB550_GESTION_COM_LINA".LAP_Code_prog].COMPLEMENT;
END_IF;IF "DB550_GESTION_COM_LINA".LAP_Code_prog >= 10 AND "DB550_GESTION_COM_LINA".LAP_Code_prog < 21 THEN
"DB576_PROG_EN_COURS".CODE_PROG := "DB550_GESTION_COM_LINA".LAP_Code_prog;
"DB576_PROG_EN_COURS".NOM := "DB591_STOCKAGE_PROG_011_020".PROGRAMMES["DB550_GESTION_COM_LINA".LAP_Code_prog].NOM;
"DB576_PROG_EN_COURS".ETAPES := "DB591_STOCKAGE_PROG_011_020".PROGRAMMES["DB550_GESTION_COM_LINA".LAP_Code_prog].ETAPES;
"DB576_PROG_EN_COURS".COMPLEMENT := "DB591_STOCKAGE_PROG_011_020".PROGRAMMES["DB550_GESTION_COM_LINA".LAP_Code_prog].COMPLEMENT;
END_IF;IF "DB550_GESTION_COM_LINA".LAP_Code_prog >= 21 AND "DB550_GESTION_COM_LINA".LAP_Code_prog < 31 THEN
"DB576_PROG_EN_COURS".CODE_PROG := "DB550_GESTION_COM_LINA".LAP_Code_prog;
"DB576_PROG_EN_COURS".NOM := "DB592_STOCKAGE_PROG_021_030".PROGRAMMES["DB550_GESTION_COM_LINA".LAP_Code_prog].NOM;
"DB576_PROG_EN_COURS".ETAPES := "DB592_STOCKAGE_PROG_021_030".PROGRAMMES["DB550_GESTION_COM_LINA".LAP_Code_prog].ETAPES;
"DB576_PROG_EN_COURS".COMPLEMENT := "DB592_STOCKAGE_PROG_021_030".PROGRAMMES["DB550_GESTION_COM_LINA".LAP_Code_prog].COMPLEMENT;
END_IF;IF "DB550_GESTION_COM_LINA".LAP_Code_prog >= 31 AND "DB550_GESTION_COM_LINA".LAP_Code_prog < 41 THEN
"DB576_PROG_EN_COURS".CODE_PROG := "DB550_GESTION_COM_LINA".LAP_Code_prog;
"DB576_PROG_EN_COURS".NOM := "DB593_STOCKAGE_PROG_031_040".PROGRAMMES["DB550_GESTION_COM_LINA".LAP_Code_prog].NOM;
"DB576_PROG_EN_COURS".ETAPES := "DB593_STOCKAGE_PROG_031_040".PROGRAMMES["DB550_GESTION_COM_LINA".LAP_Code_prog].ETAPES;
"DB576_PROG_EN_COURS".COMPLEMENT := "DB593_STOCKAGE_PROG_031_040".PROGRAMMES["DB550_GESTION_COM_LINA".LAP_Code_prog].COMPLEMENT;
END_IF;IF "DB550_GESTION_COM_LINA".LAP_Code_prog >= 41 AND "DB550_GESTION_COM_LINA".LAP_Code_prog < 51 THEN
"DB576_PROG_EN_COURS".CODE_PROG := "DB550_GESTION_COM_LINA".LAP_Code_prog;
"DB576_PROG_EN_COURS".NOM := "DB594_STOCKAGE_PROG_041_050".PROGRAMMES["DB550_GESTION_COM_LINA".LAP_Code_prog].NOM;
"DB576_PROG_EN_COURS".ETAPES := "DB594_STOCKAGE_PROG_041_050".PROGRAMMES["DB550_GESTION_COM_LINA".LAP_Code_prog].ETAPES;
"DB576_PROG_EN_COURS".COMPLEMENT := "DB594_STOCKAGE_PROG_041_050".PROGRAMMES["DB550_GESTION_COM_LINA".LAP_Code_prog].COMPLEMENT;
END_IF;IF "DB550_GESTION_COM_LINA".LAP_Code_prog >= 51 AND "DB550_GESTION_COM_LINA".LAP_Code_prog < 61 THEN
"DB576_PROG_EN_COURS".CODE_PROG := "DB550_GESTION_COM_LINA".LAP_Code_prog;
"DB576_PROG_EN_COURS".NOM := "DB595_STOCKAGE_PROG_051_060".PROGRAMMES["DB550_GESTION_COM_LINA".LAP_Code_prog].NOM;
"DB576_PROG_EN_COURS".ETAPES := "DB595_STOCKAGE_PROG_051_060".PROGRAMMES["DB550_GESTION_COM_LINA".LAP_Code_prog].ETAPES;
"DB576_PROG_EN_COURS".COMPLEMENT := "DB595_STOCKAGE_PROG_051_060".PROGRAMMES["DB550_GESTION_COM_LINA".LAP_Code_prog].COMPLEMENT;
END_IF;IF "DB550_GESTION_COM_LINA".LAP_Code_prog >= 61 AND "DB550_GESTION_COM_LINA".LAP_Code_prog < 71 THEN
"DB576_PROG_EN_COURS".CODE_PROG := "DB550_GESTION_COM_LINA".LAP_Code_prog;
"DB576_PROG_EN_COURS".NOM := "DB596_STOCKAGE_PROG_061_070".PROGRAMMES["DB550_GESTION_COM_LINA".LAP_Code_prog].NOM;
"DB576_PROG_EN_COURS".ETAPES := "DB596_STOCKAGE_PROG_061_070".PROGRAMMES["DB550_GESTION_COM_LINA".LAP_Code_prog].ETAPES;
"DB576_PROG_EN_COURS".COMPLEMENT := "DB596_STOCKAGE_PROG_061_070".PROGRAMMES["DB550_GESTION_COM_LINA".LAP_Code_prog].COMPLEMENT;
END_IF;IF "DB550_GESTION_COM_LINA".LAP_Code_prog >= 71 AND "DB550_GESTION_COM_LINA".LAP_Code_prog < 81 THEN
"DB576_PROG_EN_COURS".CODE_PROG := "DB550_GESTION_COM_LINA".LAP_Code_prog;
"DB576_PROG_EN_COURS".NOM := "DB597_STOCKAGE_PROG_071_080".PROGRAMMES["DB550_GESTION_COM_LINA".LAP_Code_prog].NOM;
"DB576_PROG_EN_COURS".ETAPES := "DB597_STOCKAGE_PROG_071_080".PROGRAMMES["DB550_GESTION_COM_LINA".LAP_Code_prog].ETAPES;
"DB576_PROG_EN_COURS".COMPLEMENT := "DB597_STOCKAGE_PROG_071_080".PROGRAMMES["DB550_GESTION_COM_LINA".LAP_Code_prog].COMPLEMENT;
END_IF;IF "DB550_GESTION_COM_LINA".LAP_Code_prog >= 81 AND "DB550_GESTION_COM_LINA".LAP_Code_prog < 91 THEN
"DB576_PROG_EN_COURS".CODE_PROG := "DB550_GESTION_COM_LINA".LAP_Code_prog;
"DB576_PROG_EN_COURS".NOM := "DB598_STOCKAGE_PROG_081_090".PROGRAMMES["DB550_GESTION_COM_LINA".LAP_Code_prog].NOM;
"DB576_PROG_EN_COURS".ETAPES := "DB598_STOCKAGE_PROG_081_090".PROGRAMMES["DB550_GESTION_COM_LINA".LAP_Code_prog].ETAPES;
"DB576_PROG_EN_COURS".COMPLEMENT := "DB598_STOCKAGE_PROG_081_090".PROGRAMMES["DB550_GESTION_COM_LINA".LAP_Code_prog].COMPLEMENT;
END_IF;IF "DB550_GESTION_COM_LINA".LAP_Code_prog >= 91 AND "DB599_STOCKAGE_PROG_AUTRES".Code_programme = "DB550_GESTION_COM_LINA".LAP_Code_prog THEN
"DB576_PROG_EN_COURS".CODE_PROG := "DB550_GESTION_COM_LINA".LAP_Code_prog;
"DB576_PROG_EN_COURS".NOM := "DB599_STOCKAGE_PROG_AUTRES".PROGRAMMES.NOM;
"DB576_PROG_EN_COURS".ETAPES := "DB599_STOCKAGE_PROG_AUTRES".PROGRAMMES.ETAPES;
"DB576_PROG_EN_COURS".COMPLEMENT := "DB599_STOCKAGE_PROG_AUTRES".PROGRAMMES.COMPLEMENT;
END_IF;"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Affectation du progamme en cours';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Programme en cours affecte';IF "Tjrs_1" THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 200;
END_IF;
END_IF;(*étape 200 : RAZ échanges recettes en cours*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 200 THEN(*A TESTER : potentiellement intéressant pour l'Hypervision*)
(*"DB571_PARAM_RECETTE_EN_COURS".HEURE_DEBUT := "DB810_GESTION_IHM".Date_heure_en_cours_bcd[1];*)"DB550_GESTION_COM_LINA".LAP_Dmd_de_lancement := 0;
"DB550_GESTION_COM_LINA".LAP_Code_prog := 0;
"DB550_GESTION_COM_LINA".LAP_Confirmation_demande := 0;"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Reinitialisation des donnees d echange ';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Donnees reinitialisee';(*Aucune demande de modification*)
IF "Tjrs_1" THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 300;
END_IF;
END_IF;(*étape 250 : Attente notif modif*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 300 THEN"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Verif attente demande de modification';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Demande ou aucune demande de modif';(*Demande modification*)
IF "DB550_GESTION_COM_LINA".SP_Dmd_modif_prog_en_cours THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 400;
END_IF;(*Aucune demande de modification*)
IF NOT "DB550_GESTION_COM_LINA".SP_Dmd_modif_prog_en_cours AND "DB562_SEQ_PROG_EN_COURS".SEQ.T_1S > 1 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 1000;
END_IF;
END_IF;(*étape 400 : Recopie du tampon dans la recette en cours*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 400 THEN"DB576_PROG_EN_COURS".ETAPES := "DB551_PROG_RECEPT_LINA".ETAPES;
"DB576_PROG_EN_COURS".COMPLEMENT := "DB551_PROG_RECEPT_LINA".COMPLEMENT;(*Validation sauvegarde effectué*)
"DB550_GESTION_COM_LINA".SP_Rep_modif_prog_en_cours_api := 1;"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Recopie du tampon dans le programme en cours';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Reponse modif en cours traitee';IF "Tjrs_1" THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 500;
END_IF;
END_IF;(*étape 500 : Attente RAZ modif en prog en cours*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 500 THEN"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Attente retour Lina';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Retour Lina effectue';IF NOT "DB550_GESTION_COM_LINA".SP_Rep_modif_prog_en_cours_api THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 600;
END_IF;
END_IF;(*Etape 600 : Attente demande vidage tampon*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 600 THEN"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Attente demande vidage tampon';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Demande de vidage effectue';IF "DB550_GESTION_COM_LINA".SP_Dmd_vidage_tampon THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 700;
END_IF;
END_IF;(*étape 700 : Raz du DB recette tampon par automate*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 700 THEN"NULL" := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.INT03 := FILL(BVAL := "NULL", BLK => "DB551_PROG_RECEPT_LINA");"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Vidage du tableau tampon';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Tableau tampon vide';IF "Tjrs_1" THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 800;
END_IF;
END_IF;(*Etape 800 : Réponse vidage tampon OK*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 800 THEN"DB550_GESTION_COM_LINA".SP_Rep_vidage_tampon_api := 1;
"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Reponse tableau tampon vide';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Reponse effectuee';IF "Tjrs_1" THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 900;
END_IF;
END_IF;(*Etape 900 : Attente échange Lina raz*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 900 THEN"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Attente reinitialisation des donnees d echange';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Donnees d echange reinitialisee';IF "DB550_GESTION_COM_LINA".SP_Rep_vidage_tampon_api = 0 AND "DB550_GESTION_COM_LINA".SP_Dmd_vidage_tampon = 0 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 1000;
END_IF;
END_IF;
END_REGIONREGION 1000 TYPE DE LANCEMENT
(*étape 1000 : Vérification type de départ*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 1000 THEN(*Vérification départ différé*)
IF "DB550_GESTION_COM_LINA".DD_mois <> 0 OR "DB550_GESTION_COM_LINA".DD_jour <> 0
OR "DB550_GESTION_COM_LINA".DD_minute <> 0 OR "DB550_GESTION_COM_LINA".DD_heure <> 0 THEN"DB562_SEQ_PROG_EN_COURS".SEQ.CMD01_00 := 1; (*départ différé*)
ELSE
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD01_00 := 0; (*départ direct*)
END_IF;"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Verification type de depart';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Type de depart determine';(*Départ différé*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.CMD01_00 = 1 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 1100;
END_IF;(*Départ direct*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.CMD01_00 = 0 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 2000;
END_IF;
END_IF;REGION Départ différé
(*étape 1100 : Sauvegarde date de départ*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 1100 THEN//Sauvegarde date de départ
"DB577_PARAM_PROG_EN_COURS".JOUR_MOIS_DEBUT := ("DB550_GESTION_COM_LINA".DD_mois * 100) + "DB550_GESTION_COM_LINA".DD_jour;
"DB577_PARAM_PROG_EN_COURS".HEURE_MINUTE_DEBUT := ("DB550_GESTION_COM_LINA".DD_heure * 100) + "DB550_GESTION_COM_LINA".DD_minute;"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Sauvegarde date de depart';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Date sauvegardee';IF "Tjrs_1" THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 1110;
END_IF;
END_IF;(*étape 1110 : RAZ échange DD Lina*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 1110 THEN(*RAZ Date de départ*)
"DB550_GESTION_COM_LINA".DD_annee := 0;
"DB550_GESTION_COM_LINA".DD_mois := 0;
"DB550_GESTION_COM_LINA".DD_jour := 0;
"DB550_GESTION_COM_LINA".DD_heure := 0;
"DB550_GESTION_COM_LINA".DD_minute := 0;"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'RAZ donnee echange depart differe';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Donnees reinitialisee';IF "Tjrs_1" THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 1120;
END_IF;
END_IF;(*étape 1120 : Attente départ différé*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 1120 THEN"DB562_SEQ_PROG_EN_COURS".SEQ.INT01 := (USINT_TO_INT("DB20000_LINA".date_heure_en_cours.MONTH) * 100) + USINT_TO_INT("DB20000_LINA".date_heure_en_cours.DAY);
"DB562_SEQ_PROG_EN_COURS".SEQ.INT02 := (USINT_TO_INT("DB20000_LINA".date_heure_en_cours.HOUR) * 100) + USINT_TO_INT("DB20000_LINA".date_heure_en_cours.MINUTE);"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Attente depart differe';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Dmd modif ou depart direct ou date depart ok ou dmd annulation';(*Demande de modif en cours*)
IF "DB550_GESTION_COM_LINA".SP_Dmd_modif_prog_en_cours THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 1130;
END_IF;(*Temps départ différé = temps départ direct*)
IF "DB577_PARAM_PROG_EN_COURS".JOUR_MOIS_DEBUT = "DB562_SEQ_PROG_EN_COURS".SEQ.INT01 AND "DB577_PARAM_PROG_EN_COURS".HEURE_MINUTE_DEBUT = "DB562_SEQ_PROG_EN_COURS".SEQ.INT02 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 2000;
END_IF;(*Dmd de départ direct*) (*A compléter*)
IF "DB550_GESTION_COM_LINA".LAP_Dmd_de_lancement AND "DB550_GESTION_COM_LINA".LAP_Code_prog <> 0 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 10;
END_IF;(*annulation*)
IF "DB550_GESTION_COM_LINA".LAP_Dmd_annulation = 1 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 3000;
END_IF;
END_IF;(*étape 1130 : Sauvegarde modification programme *)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 1130 THEN(*Sauvegarde modification données programme*)
"DB576_PROG_EN_COURS".ETAPES := "DB551_PROG_RECEPT_LINA".ETAPES;
"DB576_PROG_EN_COURS".COMPLEMENT := "DB551_PROG_RECEPT_LINA".COMPLEMENT;(*Sauvegarde modification Date de départ*)
"DB577_PARAM_PROG_EN_COURS".JOUR_MOIS_DEBUT := ("DB550_GESTION_COM_LINA".DD_mois * 100) + "DB550_GESTION_COM_LINA".DD_jour;
"DB577_PARAM_PROG_EN_COURS".HEURE_MINUTE_DEBUT := ("DB550_GESTION_COM_LINA".DD_heure * 100) + "DB550_GESTION_COM_LINA".DD_minute;(*Validation sauvegarde effectué*)
"DB550_GESTION_COM_LINA".SP_Rep_modif_prog_en_cours_api := 1;"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Sauvegarde donnees modification';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Donnees sauvegardees';IF "Tjrs_1" THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 1140;
END_IF;
END_IF;(*étape 1140 : Attente retour Lina réponse modif prog en cours *)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 1140 THEN"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Attente retour Lina reponse modif prog en cours';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Reponse Lina ok';IF NOT "DB550_GESTION_COM_LINA".SP_Rep_modif_prog_en_cours_api THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 1150;
END_IF;
END_IF;(*Etape 1150 : Attente demande vidage tampon*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 1150 THEN"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Attente demande vidage tampon';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Demande vidage ok';IF "DB550_GESTION_COM_LINA".SP_Dmd_vidage_tampon THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 1160;
END_IF;
END_IF;(*étape 1160 : Raz du DB recette tampon par automate*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 1160 THEN"NULL" := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.INT03 := FILL(BVAL := "NULL", BLK => "DB551_PROG_RECEPT_LINA");"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Raz tableau tampon';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Tableau vide';IF "Tjrs_1" THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 1170;
END_IF;
END_IF;(*Etape 1170 : Réponse vidage tampon OK*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 1170 THEN"DB550_GESTION_COM_LINA".SP_Rep_vidage_tampon_api := 1;
"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Reponse tableau vide';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Reponse emise';IF "Tjrs_1" THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 1180;
END_IF;
END_IF;(*Etape 1180 : Attente échange Lina raz*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 1180 THEN"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := ' Attente donnees echange Lina raz';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Donnees echange Lina reinitialisees';IF "DB550_GESTION_COM_LINA".SP_Rep_vidage_tampon_api = 0 AND "DB550_GESTION_COM_LINA".SP_Dmd_vidage_tampon = 0 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 2000;
END_IF;
END_IF;
END_REGION
END_REGIONREGION 2000 Programme en cours
(*DEMANDE DE SYNCHRO CI*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 2000 AND "DB204_SEQ_PROCESS_CI".SEQ.NUM_ETAPE = 25 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 2005;
END_IF;
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 2005 AND "DB204_SEQ_PROCESS_CI".SEQ.NUM_ETAPE <> 25 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 2010;
END_IF;(*Demande annulation durant la Demande de synchro*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 2010 THEN"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Attente demande synchro fin condition initiales';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'CI ok ou dmd annulation programme';IF "DB550_GESTION_COM_LINA".LAP_Dmd_annulation THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 3000;
END_IF;
END_IF;(*ATTENTE RETOUR DE SYNCHRO CI*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 2010 AND "DB204_SEQ_PROCESS_CI".SEQ.NUM_ETAPE = 31010 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 2015;
END_IF;
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 2015 AND "DB204_SEQ_PROCESS_CI".SEQ.NUM_ETAPE <> 31010 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 2020;
END_IF;(*Etape 2020 : Attente de lancement process*)
(*DEMANDE DE SYNCHRO DEMARRAGE*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 2020 AND "DB200_SEQ_PROCESS".SEQ.NUM_ETAPE = 25 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 2025;
END_IF;
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 2025 AND "DB200_SEQ_PROCESS".SEQ.NUM_ETAPE <> 25 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 2030;
END_IF;(*etape 2030 : Gestion état programme en cours*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 2030 THEN(*gestion d'état équipement*)
"DB550_GESTION_COM_LINA".E_Etat_equipement := 1;(*gestion d'état de phase*)
IF "DB550_GESTION_COM_LINA".E_Etape_en_cours = 0 THEN
"DB550_GESTION_COM_LINA".E_Etape_en_cours := "DB550_GESTION_COM_LINA".LAP_Num_etape_demarrage;
"DB550_GESTION_COM_LINA".LAP_Num_etape_demarrage := 0;
END_IF;(*Autorisation remontée de données*)
"DB550_GESTION_COM_LINA".RV_Remonte_valeur_top_courbe := 1;(*RAZ du stockage des données liées au départ différé*)
"NULL" := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.INT01 := FILL(BVAL := "NULL", BLK => "DB577_PARAM_PROG_EN_COURS");"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Gestion etat programme en cours';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Etape en cours';IF "DB550_GESTION_COM_LINA".E_Etape_en_cours <> 0 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 2040;
END_IF;
END_IF;(*etape 2040 : Attente notif Lina ou fin de programme*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 2040 THEN"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Attente notif Lina ou fin de programme ';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Notif Lina ou fin de programme';(*Lecture continue de la phase du process en cours*)
IF "DB200_SEQ_PROCESS".SEQ.INT01 <> 0 THEN
"DB550_GESTION_COM_LINA".E_Etape_en_cours := "DB200_SEQ_PROCESS".SEQ.INT01;
END_IF;(*Demande saut d'étape*)
IF "DB550_GESTION_COM_LINA".SE_Etape_ou_aller <> 0 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 2050;
END_IF;(*Demande de reprise*)
IF "DB550_GESTION_COM_LINA".LAP_Num_etape_demarrage <> 0 AND "DB550_GESTION_COM_LINA".SP_Dmd_reprise THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 2050;
END_IF;(*Demande annulation*)
IF "DB550_GESTION_COM_LINA".LAP_Dmd_annulation THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 3000;
END_IF;(*Demande modif prog en cours*)
IF "DB550_GESTION_COM_LINA".SP_Dmd_modif_prog_en_cours THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 6000;
END_IF;(*fin du programme*)
IF "DB576_PROG_EN_COURS".ETAPES["DB550_GESTION_COM_LINA".E_Etape_en_cours].CODE_ETAPE = 0 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 30000;
END_IF;
END_IF;(*DEMANDE DE SYNCHRO ARRET*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 2050 AND "DB200_SEQ_PROCESS".SEQ.NUM_ETAPE = 5 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 2055;
END_IF;
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 2055 AND "DB200_SEQ_PROCESS".SEQ.NUM_ETAPE <> 5 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 2060;
END_IF;(*etape 2060 : Analyse demande traitement Lina*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 2060 THEN"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Analyse demande traitement Lina';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Demande de saut d etape ou reprise';(*Demande saut d'étape*)
IF "DB550_GESTION_COM_LINA".SE_Etape_ou_aller <> 0 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 4000;
END_IF;(*Demande de reprise*)
IF "DB550_GESTION_COM_LINA".LAP_Num_etape_demarrage <> 0 AND "DB550_GESTION_COM_LINA".SP_Dmd_reprise THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 5000;
END_IF;
END_IF;END_REGION
REGION 3000 Annulation
(*DEMANDE DE SYNCHRO ARRET*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 3000 AND "DB200_SEQ_PROCESS".SEQ.NUM_ETAPE = 15 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 3005;
END_IF;
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 3005 AND "DB200_SEQ_PROCESS".SEQ.NUM_ETAPE <> 15 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 3010;
END_IF;(*etape 3010 : Attente confimation annulation *)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 3010 THEN"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Attente confimation annulation';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := '1';IF "Tjrs_1" THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 3020;
END_IF;
END_IF;(*etape 3020 : RAZ des données d'échanges avec Lina*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 3020 THEN"DB550_GESTION_COM_LINA".LAP_Dmd_annulation := 0;
"DB550_GESTION_COM_LINA".LAP_Confirmation_demande := 0;"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Demande annulation traitee';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Demande annulation traitee';IF "Tjrs_1" THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 30000;
END_IF;
END_IF;
END_REGIONREGION 4000 Saut étape
(*étape 4000 : Affectation étape destination*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 4000 THEN"DB550_GESTION_COM_LINA".E_Etape_en_cours := "DB550_GESTION_COM_LINA".SE_Etape_ou_aller;
"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Recuperation de l etape ou aller ';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Demande annulation traitee';IF "Tjrs_1" THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 4010;
END_IF;
END_IF;(*étape 4010 : Attente confirmation Lina*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 4010 THEN"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Attente confirmation Lina';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Confirmation Lina saut d etape';IF "DB550_GESTION_COM_LINA".SE_Confirmation_Saut_Etape THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 4020;
END_IF;
END_IF;(*étape 4020 : RAZ des données d'échanges Lina*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 4020 THEN"DB550_GESTION_COM_LINA".SE_Etape_ou_aller := 0;
"DB550_GESTION_COM_LINA".SE_Confirmation_Saut_Etape := 0;"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'RAZ des donnees d echanges Lina';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := '1';IF "DB550_GESTION_COM_LINA".SE_Etape_ou_aller = 0 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 2020;
END_IF;
END_IF;
END_REGIONREGION 5000 Reprise
(*étape 5000 : RAZ des remontées de données*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 5000 THEN"NULL" := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.INT01 := FILL(BVAL :="NULL", BLK => "DB556_REMONTEE_DATA_PROG");"DB550_GESTION_COM_LINA".E_Etape_en_cours := "DB550_GESTION_COM_LINA".LAP_Num_etape_demarrage;
"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'RAZ des remontees de donnees';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := '1';IF "Tjrs_1" THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 5010;
END_IF;
END_IF;(*étape 5010 : Réponse de reprise api*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 5010 THEN"DB550_GESTION_COM_LINA".SP_Rep_reprise_api := 1;
"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Reponse de reprise api';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := '1';IF "Tjrs_1" THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 5020;
END_IF;
END_IF;(*étape 5020 : RAZ du num étape démarrage*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 5020 THEN"DB550_GESTION_COM_LINA".LAP_Num_etape_demarrage := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Raz du nom etape demarrage';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := '1';IF "Tjrs_1" THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 5030;
END_IF;
END_IF;(*Etape 5030 : Attente demande vidage tampon*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 5030 THEN"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Attente demande vidage tampon';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Demande de vidage ok';IF "DB550_GESTION_COM_LINA".SP_Dmd_vidage_tampon THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 5040;
END_IF;
END_IF;(*étape 5040 : Raz du DB recette tampon par automate*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 5040 THEN"NULL" := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.INT03 := FILL(BVAL := "NULL", BLK => "DB551_PROG_RECEPT_LINA");"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Raz du DB recette tampon par automate';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := '1';IF "Tjrs_1" THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 5050;
END_IF;
END_IF;(*Etape 5050 : Réponse vidage tampon OK*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 5050 THEN"DB550_GESTION_COM_LINA".SP_Rep_vidage_tampon_api := 1;
"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Reponse vidage tampon OK';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := '1';IF "Tjrs_1" THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 5060;
END_IF;
END_IF;(*Etape 5060 : Attente échange Lina raz*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 5060 THEN"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Attente echange Lina raz';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Donnees echanges raz';IF "DB550_GESTION_COM_LINA".SP_Rep_vidage_tampon_api = 0 AND "DB550_GESTION_COM_LINA".SP_Dmd_vidage_tampon = 0 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 2020;
END_IF;
END_IF;
END_REGIONREGION 6000 Modification du programme en cours
(*étape 6000 : Recopie du tampon dans la recette en cours*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 6000 THEN"DB576_PROG_EN_COURS".ETAPES := "DB551_PROG_RECEPT_LINA".ETAPES;
"DB576_PROG_EN_COURS".COMPLEMENT := "DB551_PROG_RECEPT_LINA".COMPLEMENT;(*Validation sauvegarde effectué*)
"DB550_GESTION_COM_LINA".SP_Rep_modif_prog_en_cours_api := 1;"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Recopie du tampon dans la recette en cours';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := '1';IF "Tjrs_1" THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 6010;
END_IF;
END_IF;(*étape 6010 : Attente RAZ modif en prog en cours*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 6010 THEN"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Attente RAZ modif en prog en cours';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Donnee modif prog en cours raz';IF NOT "DB550_GESTION_COM_LINA".SP_Rep_modif_prog_en_cours_api THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 6020;
END_IF;
END_IF;(*Etape 6020 : Attente demande vidage tampon*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 6020 THEN"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Attente demande vidage tampon';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Demande de vidage Lina';IF "DB550_GESTION_COM_LINA".SP_Dmd_vidage_tampon THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 6030;
END_IF;
END_IF;(*étape 6030 : Raz du DB recette tampon par automate*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 6030 THEN"NULL" := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.INT03 := FILL(BVAL := "NULL", BLK => "DB551_PROG_RECEPT_LINA");"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Raz du DB recette tampon par automate';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := '1';IF "Tjrs_1" THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 6040;
END_IF;
END_IF;(*Etape 6040 : Réponse vidage tampon OK*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 6040 THEN"DB550_GESTION_COM_LINA".SP_Rep_vidage_tampon_api := 1;
"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Reponse vidage tampon OK';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := '1';IF "Tjrs_1" THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 6050;
END_IF;
END_IF;(*Etape 6050 : Attente échange Lina raz*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 6050 THEN"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Attente echange Lina raz';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Donnees echange Lina raz';IF "DB550_GESTION_COM_LINA".SP_Rep_vidage_tampon_api = 0 AND "DB550_GESTION_COM_LINA".SP_Dmd_vidage_tampon = 0 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 2030;
END_IF;
END_IF;
END_REGIONREGION 30000 Fin de programme
(*étape 30000 : Fin de programme*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 30000 THEN"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Fin de programme';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := '1';IF "Tjrs_1" THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 30010;
END_IF;
END_IF;(* ATTENTE DEMANDE DE SYNCHRO FIN PROGRAMME*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 30010 AND "DB200_SEQ_PROCESS".SEQ.NUM_ETAPE = 31010 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 30015;
END_IF;
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 30015 AND "DB200_SEQ_PROCESS".SEQ.NUM_ETAPE <> 31010 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 30020;
END_IF;(*DEMANDE DE SYNCHRO REINITIALISATION*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 30020 AND "DB202_SEQ_PROCESS_ARRET".SEQ.NUM_ETAPE = 25 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 30025;
END_IF;
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 30025 AND "DB202_SEQ_PROCESS_ARRET".SEQ.NUM_ETAPE <> 25 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 30030;
END_IF;(* ATTENTE DEMANDE DE SYNCHRO REINITIALISATION OK*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 30030 AND "DB202_SEQ_PROCESS_ARRET".SEQ.NUM_ETAPE = 31010 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 30035;
END_IF;
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 30035 AND "DB202_SEQ_PROCESS_ARRET".SEQ.NUM_ETAPE <> 31010 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 30040;
END_IF;(*étape 30040 : Demande fin de programme*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 30040 THEN"DB550_GESTION_COM_LINA".RV_Remonte_valeur_top_courbe := 0;
"DB550_GESTION_COM_LINA".RV_Remonte_valeur_arret_prog := 1;"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Demande fin de programme';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := '1';IF "Tjrs_1" THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 30050;
END_IF;
END_IF;(*étape 30050 : Attente fin de programme Lina*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 30050 THEN"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Attente fin de programme Lina';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := 'Lina fin de programme';IF "DB550_GESTION_COM_LINA".RV_Remonte_valeur_arret_prog = 0 OR "DB562_SEQ_PROG_EN_COURS".SEQ.T_1S > 10 (*attente modif SEB*) THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 30060;
END_IF;
END_IF;(*étape 30060 : Vidange recette en cours*)
IF "DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE = 30060 THEN"NULL" := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.INT03 := FILL(BVAL := "NULL", BLK => "DB576_PROG_EN_COURS");
"DB562_SEQ_PROG_EN_COURS".SEQ.INT03 := FILL(BVAL := "NULL", BLK => "DB556_REMONTEE_DATA_PROG");//RAZ SEQ PROCESS POUR SYNCHRONISATION PROG
"DB562_SEQ_PROG_EN_COURS".SEQ.CMD02_00 := 1;"DB562_SEQ_PROG_EN_COURS".SEQ.NOM_ETAPE := 'Vidange recette en cours';
"DB562_SEQ_PROG_EN_COURS".SEQ.DESCRIP_TRANSITION := '1';IF "DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS > 10 THEN
"DB562_SEQ_PROG_EN_COURS".SEQ.T_100MS := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.T_1S := 0;
"DB562_SEQ_PROG_EN_COURS".SEQ.NUM_ETAPE := 10;
END_IF;
END_IF;
END_REGION///// DIVERS /////
REGION REMONTEE VALEUR
IF "DB200_SEQ_PROCESS".SEQ.NUM_ETAPE > 99 AND "DB200_SEQ_PROCESS".SEQ.NUM_ETAPE < 30999 AND "DB550_GESTION_COM_LINA".E_Etape_en_cours <> 0 THEN
"DB556_REMONTEE_DATA_PROG".Etapes["DB550_GESTION_COM_LINA".E_Etape_en_cours].PARAMETRE_02 := "DB200_SEQ_PROCESS".SEQ.INT03;
"DB556_REMONTEE_DATA_PROG".Etapes["DB550_GESTION_COM_LINA".E_Etape_en_cours].PARAMETRE_04 := "DB200_SEQ_PROCESS".SEQ.INT04;
END_IF;END_REGION
Tutoriel - Lina Procédé - 05/2024