5.1 Com LINA API fin OF
5.1.1 EVT fin dans l’API
Deux UDT :
Figure 85 : UDT_LINA_Gestion_evt fin
Figure 86 : UDT_LINA_EvtClotOF OF_SEQ_ID
Dans le DB500, clic [GEST_]EVT_CLOT_OF :
Figure 87 : DB500_LINA_OF_CONV fin
Une section de code FC :
Figure 88 : SFC fin OF
REGION INIT
//INIT SEQUENCE PAR AFFICHEUR
IF "AlwaysFALSE" THEN "DB280_SEQ_EVT_ClotOF".SEQ.NUM_ETAPE := 0; END_IF;L10:;
//RAZ DES VARIABLES
IF "DB280_SEQ_EVT_ClotOF".SEQ.NUM_ETAPE = 0 THEN"DB280_SEQ_EVT_ClotOF".SEQ.T_100MS := 0;
"DB280_SEQ_EVT_ClotOF".SEQ.T_1S := 0;%DB280.DBW6 := 0;
%DB280.DBW8 := 0;
%DB280.DBW10 := 0;
%DB280.DBW12 := 0;"DB280_SEQ_EVT_ClotOF".SEQ.INT_1:=0;
"DB280_SEQ_EVT_ClotOF".SEQ.INT_2:=0;END_IF;
L20:;
//SAUT SI AU POUR FIGER SEQUENCE
IF "Tjrs_0" THEN GOTO L999; END_IF;L30:;
//DEMARRAGE DE LA SEQUENCE
IF "DB280_SEQ_EVT_ClotOF".SEQ.NUM_ETAPE = 0 AND "REPRISE_API_OK" THEN
"DB280_SEQ_EVT_ClotOF".SEQ.NUM_ETAPE := 10;
END_IF;L40:;
//INCREMENTATION TEMPO
IF "BIT_100ms" AND "DB280_SEQ_EVT_ClotOF".SEQ.T_100MS < 32766 THEN "DB280_SEQ_EVT_ClotOF".SEQ.T_100MS := "DB280_SEQ_EVT_ClotOF".SEQ.T_100MS + 1; END_IF;
IF "BIT_1s" AND "DB280_SEQ_EVT_ClotOF".SEQ.T_1S < 32766 THEN "DB280_SEQ_EVT_ClotOF".SEQ.T_1S := "DB280_SEQ_EVT_ClotOF".SEQ.T_1S + 1; END_IF;
END_REGIONREGION Création d'un OF
(* Preparation au demarrage *)
IF "DB280_SEQ_EVT_ClotOF".SEQ.NUM_ETAPE=10 THEN"DB280_SEQ_EVT_ClotOF".SEQ.CMD1_0:=0; (* Cloture d'OF réalisée avec succès *)
"DB280_SEQ_EVT_ClotOF".SEQ.CMD1_1:=0; (* Cloture d'OF en défaut *)
"DB280_SEQ_EVT_ClotOF".SEQ.CMD1_2:=0; (* *)
"DB280_SEQ_EVT_ClotOF".SEQ.CMD1_3:=0; (* *)
"DB280_SEQ_EVT_ClotOF".SEQ.CMD1_4:=0; (* *)
"DB280_SEQ_EVT_ClotOF".SEQ.CMD1_5:=0; (* *)
"DB280_SEQ_EVT_ClotOF".SEQ.CMD1_6:=0; (* *)
"DB280_SEQ_EVT_ClotOF".SEQ.CMD1_7:=0; (* *)
"DB280_SEQ_EVT_ClotOF".SEQ.CMD1_8:=0; (* *)
"DB280_SEQ_EVT_ClotOF".SEQ.CMD1_9:=0; (* *)
"DB280_SEQ_EVT_ClotOF".SEQ.CMD1_10:=0; (* *)
"DB280_SEQ_EVT_ClotOF".SEQ.CMD1_11:=0; (* *)
"DB280_SEQ_EVT_ClotOF".SEQ.CMD1_12:=0; (* *)
"DB280_SEQ_EVT_ClotOF".SEQ.CMD1_13:=0; (* *)
"DB280_SEQ_EVT_ClotOF".SEQ.CMD1_14:=0; (* *)
"DB280_SEQ_EVT_ClotOF".SEQ.CMD1_15:=0; (* *)"DB280_SEQ_EVT_ClotOF".SEQ.INT_1:=0; (* *)
"DB280_SEQ_EVT_ClotOF".SEQ.INT_2:=0; (* *)(* Conditions de lancement *)
IF "DB202_SEQ_MAITRE".SEQ.CMD4_4 THEN
"DB280_SEQ_EVT_ClotOF".SEQ.T_100MS:=0;
"DB280_SEQ_EVT_ClotOF".SEQ.T_1S:=0;
"DB280_SEQ_EVT_ClotOF".SEQ.NUM_ETAPE:=110;
END_IF;
END_IF;(* Ouverture et Actualisation des données lu en début d'évènement *)
IF "DB280_SEQ_EVT_ClotOF".SEQ.NUM_ETAPE = 110 THEN"DB500_LINA_OF_CONV".GEST_EVT_CLOT_OF.Declencheur := 1;
"DB500_LINA_OF_CONV".GEST_EVT_CLOT_OF.Evt_termine := 0;"DB500_LINA_OF_CONV".EVT_CLOT_OF.OF_SEQ_ID := "DB500_LINA_OF_CONV".NOMENCLATURE.OF_ID;
IF "DB280_SEQ_EVT_ClotOF".SEQ.T_1S > 60 THEN "DB280_SEQ_EVT_ClotOF".SEQ.CMD1_1:=1; END_IF; (* Cloture d'OF en défaut *)
(* Evènement Création d'OF ouvert *)
IF "DB500_LINA_OF_CONV".GEST_EVT_CLOT_OF.Evt_active = 1 THEN
"DB500_LINA_OF_CONV".GEST_EVT_CLOT_OF.Declencheur := 0;
"DB280_SEQ_EVT_ClotOF".SEQ.CMD1_1:=0; (* cloture d'OF en défaut *)"DB280_SEQ_EVT_ClotOF".SEQ.T_100MS := 0;
"DB280_SEQ_EVT_ClotOF".SEQ.T_1S := 0;
"DB280_SEQ_EVT_ClotOF".SEQ.NUM_ETAPE := 120;
END_IF;
END_IF;(* Attente cloture d'OF *)
IF "DB280_SEQ_EVT_ClotOF".SEQ.NUM_ETAPE = 120 THENIF "DB280_SEQ_EVT_ClotOF".SEQ.T_1S > 60 THEN "DB280_SEQ_EVT_ClotOF".SEQ.CMD1_1:=1; END_IF; (* Création d'OF en défaut *)
(* OF Crée *)
IF "DB500_LINA_OF_CONV".EVT_CLOT_OF.OF_SEQ_ID = 0 THEN
"DB280_SEQ_EVT_ClotOF".SEQ.CMD1_1:=0; (* Création d'OF en défaut *)"DB280_SEQ_EVT_ClotOF".SEQ.T_100MS := 0;
"DB280_SEQ_EVT_ClotOF".SEQ.T_1S := 0;
"DB280_SEQ_EVT_ClotOF".SEQ.NUM_ETAPE := 130;
END_IF;
END_IF;(* Information OF cloturé avec succès *)
IF "DB280_SEQ_EVT_ClotOF".SEQ.NUM_ETAPE = 130 THEN"DB500_LINA_OF_CONV".GEST_EVT_CLOT_OF.Evt_active := 0;
"DB280_SEQ_EVT_ClotOF".SEQ.CMD1_0:=1; (* Cloture d'OF réalisée avec succès *)(* Fin de cloture *)
IF NOT "DB202_SEQ_MAITRE".SEQ.CMD4_4 THEN
"DB280_SEQ_EVT_ClotOF".SEQ.T_100MS:=0;
"DB280_SEQ_EVT_ClotOF".SEQ.T_1S:=0;
"DB280_SEQ_EVT_ClotOF".SEQ.NUM_ETAPE:=10;
END_IF;
END_IF;
END_REGION
L999:;
5.1.2 EVT fin dans Lina
Figure 91 : Structure gestion EVT fin
La structure de gestion de l’évènement Clôture UDT_LINA_Gest_EVT est commune aux évènements.
Figure 92 : Structure clôture OF_SEQ_ID
Figure 93 : Mnémo CLOT OF
Dans Editer Evènement, 1er onglet Définition :
Figure 94 : Définition EVT CLOT
Dans le 2e onglet Acquisition :
Figure 95 : Acquisition EVT CLOT
Dans le 3e onglet Données associées :
Figure 96 : Données associées Evt_Actif CLOT
Figure 97 : Gestion DA Type CLOT
Figure 98 : Gestion DA OF ID CLOT
Figure 99 : DA Evt_Actif CLOT
Figure 100 : DA Evt_terminée CLOT