FUNCTION_BLOCK "Doseren"
TITLE =
//Opgelet NETWERK3&4 gaat over reservatie van WH deze NETWERKEN zijn installatie
//afhankelijk. Het is bv mogelijk dat men verplicht wordt door mechanisch
//opstelling meerdere wh te reserveren ook al heeft men deze niet nodig voor te
//doseren.
VERSION : 0.1
VAR_INPUT
Start_comp_wh1 : BOOL ; //Indien hoog mag men overgaan naar volgend component
Transport_ok_wh1 : BOOL ; //Indien hoog mag men starten met doseren
Start_comp_wh2 : BOOL ; //Indien hoog mag men overgaan naar volgend component
Transport_ok_wh2 : BOOL ; //Indien hoog mag men starten met doseren
Start_comp_wh3 : BOOL ; //Indien hoog mag men overgaan naar volgend component
Transport_ok_wh3 : BOOL ; //Indien hoog mag men starten met doseren
Start_comp_wh4 : BOOL ; //Indien hoog mag men overgaan naar volgend component
Transport_ok_wh4 : BOOL ; //Indien hoog mag men starten met doseren
Start_comp_wh5 : BOOL ; //Indien hoog mag men overgaan naar volgend component
Transport_ok_wh5 : BOOL ; //Indien hoog mag men starten met doseren
Alarm_recept : BOOL ; //Indien hoog mag men niet starten met recept
Naval_timer_wh1 : TIMER ;
Naval_timer_wh2 : TIMER ;
Naval_timer_wh3 : TIMER ;
Naval_timer_wh4 : TIMER ;
Naval_timer_wh5 : TIMER ;
END_VAR
VAR_OUTPUT
Wh_nr_route_wh1 : INT ; //Naar waar er wordt gedosseerd
Silo_nr_route_wh1 : INT ; //Van waar er wordt gedosseerd
Frequentie_analoog_wh1 : REAL ;
Hoge_snelheid_wh1 : BOOL ;
Lage_snelheid_wh1 : BOOL ;
Einde_doseren_comp_wh1 : BOOL ;
Einde_doseren_Wh1 : BOOL ;
Buiten_tolerantie_wh1 : BOOL ;
DTO_alarm_wh1 : BOOL ;
Wh_nr_route_wh2 : INT ; //Naar waar er wordt gedosseerd
Silo_nr_route_wh2 : INT ; //Van waar er wordt gedosseerd
Frequentie_analoog_wh2 : REAL ;
Hoge_snelheid_wh2 : BOOL ;
Lage_snelheid_wh2 : BOOL ;
Einde_doseren_comp_wh2 : BOOL ;
Einde_doseren_Wh2 : BOOL ;
Buiten_tolerantie_wh2 : BOOL ;
DTO_alarm_wh2 : BOOL ;
Wh_nr_route_wh3 : INT ; //Naar waar er wordt gedosseerd
Silo_nr_route_wh3 : INT ; //Van waar er wordt gedosseerd
Frequentie_analoog_wh3 : REAL ;
Hoge_snelheid_wh3 : BOOL ;
Lage_snelheid_wh3 : BOOL ;
Einde_doseren_comp_wh3 : BOOL ;
Einde_doseren_Wh3 : BOOL ;
Buiten_tolerantie_wh3 : BOOL ;
DTO_alarm_wh3 : BOOL ;
Wh_nr_route_wh4 : INT ; //Naar waar er wordt gedosseerd
Silo_nr_route_wh4 : INT ; //Van waar er wordt gedosseerd
Frequentie_analoog_wh4 : REAL ;
Hoge_snelheid_wh4 : BOOL ;
Lage_snelheid_wh4 : BOOL ;
Einde_doseren_comp_wh4 : BOOL ;
Einde_doseren_Wh4 : BOOL ;
Buiten_tolerantie_wh4 : BOOL ;
DTO_alarm_wh4 : BOOL ;
Wh_nr_route_wh5 : INT ; //Naar waar er wordt gedosseerd
Silo_nr_route_wh5 : INT ; //Van waar er wordt gedosseerd
Frequentie_analoog_wh5 : REAL ;
Hoge_snelheid_wh5 : BOOL ;
Lage_snelheid_wh5 : BOOL ;
Einde_doseren_comp_wh5 : BOOL ;
Einde_doseren_Wh5 : BOOL ;
Buiten_tolerantie_wh5 : BOOL ;
DTO_alarm_wh5 : BOOL ;
END_VAR
VAR
Wh1 : "ijkenWH";
Wh2 : "ijkenWH";
Wh3 : "ijkenWH";
Wh4 : "ijkenWH";
Wh5 : "ijkenWH";
Doseren : STRUCT
Start_recept : BOOL ;
Stop_recept : BOOL ;
Skip_component_Wh1 : BOOL ;
Skip_component_Wh2 : BOOL ;
Skip_component_Wh3 : BOOL ;
Skip_component_Wh4 : BOOL ;
Skip_component_Wh5 : BOOL ;
Route_geladen_Wh1 : BOOL ;
Route_geladen_Wh2 : BOOL ;
Route_geladen_Wh3 : BOOL ;
Route_geladen_Wh4 : BOOL ;
Route_geladen_Wh5 : BOOL ;
Check_reservatie : BOOL ;
Doseren : BOOL ;
FP_reservatie : BOOL ;
WH1_comp_geladen : BOOL ; //Indien hoog is op WH1 iets aan het doseren
WH2_comp_geladen : BOOL ; //Indien hoog is op WH2 iets aan het doseren
WH3_comp_geladen : BOOL ; //Indien hoog is op WH3 iets aan het doseren
WH4_comp_geladen : BOOL ; //Indien hoog is op WH4 iets aan het doseren
WH5_comp_geladen : BOOL ; //Indien hoog is op WH5 iets aan het doseren
FP_transport_ok_wh1 : BOOL ;
FP_transport_ok_wh2 : BOOL ;
FP_transport_ok_wh3 : BOOL ;
FP_transport_ok_wh4 : BOOL ;
FP_transport_ok_wh5 : BOOL ;
Transport_wh1_set : BOOL ;
Transport_wh2_set : BOOL ;
Transport_wh3_set : BOOL ;
Transport_wh4_set : BOOL ;
Transport_wh5_set : BOOL ;
Naval_wh1 : BOOL ;
Naval_wh2 : BOOL ;
Naval_wh3 : BOOL ;
naval_wh4 : BOOL ;
Naval_wh5 : BOOL ;
Wh1_real_tarra_waarde : REAL ; //Is getarreerd gewicht enkel software matig
Wh2_real_tarra_waarde : REAL ; //Is getarreerd gewicht enkel software matig
Wh3_real_tarra_waarde : REAL ; //Is getarreerd gewicht enkel software matig
Wh4_real_tarra_waarde : REAL ; //Is getarreerd gewicht enkel software matig
Wh5_real_tarra_waarde : REAL ; //Is getarreerd gewicht enkel software matig
Wh1_real_waarde : REAL ; //Is Wh_ingangswaarde min Wh_real_tarra_waarde
Wh2_real_waarde : REAL ; //Is Wh_ingangswaarde min Wh_real_tarra_waarde
Wh3_real_waarde : REAL ; //Is Wh_ingangswaarde min Wh_real_tarra_waarde
Wh4_real_waarde : REAL ; //Is Wh_ingangswaarde min Wh_real_tarra_waarde
Wh5_real_waarde : REAL ; //Is Wh_ingangswaarde min Wh_real_tarra_waarde
Gevraagd_min_naval_Wh1 : REAL ;
Gevraagd_min_naval_Wh2 : REAL ;
Gevraagd_min_naval_Wh3 : REAL ;
Gevraagd_min_naval_Wh4 : REAL ;
Gevraagd_min_naval_Wh5 : REAL ;
Reservatie_wh1 : INT ;
Reservatie_wh2 : INT ;
Reservatie_wh3 : INT ;
Reservatie_wh4 : INT ;
Reservatie_wh5 : INT ;
te_doseren_comp_wh1 : INT ;
te_doseren_comp_wh2 : INT ;
te_doseren_comp_wh3 : INT ;
te_doseren_comp_wh4 : INT ;
te_doseren_comp_wh5 : INT ;
END_STRUCT ;
END_VAR
VAR_TEMP
Integer : STRUCT
Int1 : INT ;
Int1_1 : INT ;
Int1_2 : INT ;
Int1_3 : INT ;
Int1_4 : INT ;
Int1_5 : INT ;
Int1_6 : INT ;
Int1_7 : INT ;
Int1_8 : INT ;
Int1_9 : INT ;
Int1_10 : INT ;
Int1_11 : INT ;
Int1_12 : INT ;
Int1_13 : INT ;
Int1_14 : INT ;
Int1_15 : INT ;
Int1_16 : INT ;
Int1_17 : INT ;
Int1_18 : INT ;
Int1_19 : INT ;
Int1_20 : INT ;
END_STRUCT ;
Dubbel_word : STRUCT
Dword1 : DWORD ;
Dword1_1 : DWORD ;
Dword1_2 : DWORD ;
Dword1_3 : DWORD ;
Dword1_4 : DWORD ;
Dword1_5 : DWORD ;
Dword1_6 : DWORD ;
Dword1_7 : DWORD ;
Dword1_8 : DWORD ;
Dword1_9 : DWORD ;
Dword1_10 : DWORD ;
Dword1_11 : DWORD ;
Dword1_12 : DWORD ;
Dword1_13 : DWORD ;
Dword1_14 : DWORD ;
Dword1_15 : DWORD ;
Dword1_16 : DWORD ;
Dword1_17 : DWORD ;
Dword1_18 : DWORD ;
Dword1_19 : DWORD ;
Dword1_20 : DWORD ;
Dword1_21 : DWORD ;
Dword1_22 : DWORD ;
Dword1_23 : DWORD ;
Dword1_24 : DWORD ;
Dword1_25 : DWORD ;
Dword1_26 : DWORD ;
Dword1_27 : DWORD ;
Dword1_28 : DWORD ;
Dword1_29 : DWORD ;
Dword1_30 : DWORD ;
Dword1_31 : DWORD ;
Dword1_32 : DWORD ;
Dword1_33 : DWORD ;
Dword1_34 : DWORD ;
Dword1_35 : DWORD ;
Dword1_36 : DWORD ;
Dword1_37 : DWORD ;
Dword1_38 : DWORD ;
Dword1_39 : DWORD ;
Dword1_40 : DWORD ;
Dword1_41 : DWORD ;
Dword1_42 : DWORD ;
Dword1_43 : DWORD ;
Dword1_44 : DWORD ;
Dword1_45 : DWORD ;
Dword1_46 : DWORD ;
Dword1_47 : DWORD ;
Dword1_48 : DWORD ;
Dword1_49 : DWORD ;
Dword1_50 : DWORD ;
Dword1_51 : DWORD ;
Dword1_52 : DWORD ;
Dword1_53 : DWORD ;
Dword1_54 : DWORD ;
Dword1_55 : DWORD ;
Dword1_56 : DWORD ;
Dword1_57 : DWORD ;
Dword1_58 : DWORD ;
Dword1_59 : DWORD ;
Dword1_60 : DWORD ;
Dword1_61 : DWORD ;
Dword1_62 : DWORD ;
Dword1_63 : DWORD ;
Dword1_64 : DWORD ;
Dword1_65 : DWORD ;
Dword1_66 : DWORD ;
Dword1_67 : DWORD ;
Dword1_68 : DWORD ;
Dword1_69 : DWORD ;
Dword1_70 : DWORD ;
Dword1_71 : DWORD ;
Dword1_72 : DWORD ;
Dword1_73 : DWORD ;
Dword1_74 : DWORD ;
Dword1_75 : DWORD ;
Dword1_76 : DWORD ;
Dword1_77 : DWORD ;
Dword1_78 : DWORD ;
Dword1_79 : DWORD ;
Dword1_80 : DWORD ;
END_STRUCT ;
Enkel_word : STRUCT
Word1 : WORD ;
Word1_1 : WORD ;
Word1_2 : WORD ;
Word1_3 : WORD ;
Word1_4 : WORD ;
Word1_5 : WORD ;
Word1_6 : WORD ;
Word1_7 : WORD ;
Word1_8 : WORD ;
Word1_9 : WORD ;
Word1_10 : WORD ;
Word1_11 : WORD ;
Word1_12 : WORD ;
Word1_13 : WORD ;
Word1_14 : WORD ;
Word1_15 : WORD ;
Word1_16 : WORD ;
Word1_17 : WORD ;
Word1_18 : WORD ;
Word1_19 : WORD ;
Word1_20 : WORD ;
END_STRUCT ;
FP_Uitgang_reservatie : BOOL ;
FP_uitgang_trans_ok_wh1 : BOOL ;
FP_uitgang_trans_ok_wh2 : BOOL ;
FP_uitgang_trans_ok_wh3 : BOOL ;
FP_uitgang_trans_ok_wh4 : BOOL ;
FP_uitgang_trans_ok_wh5 : BOOL ;
END_VAR
BEGIN
NETWORK
TITLE =
CALL #Wh1 (
FB152_WH_leeg_timer := T 1,
FB152_Einde_transport := M 25.0);
CALL #Wh2 (
FB152_WH_leeg_timer := T 2,
FB152_Einde_transport := M 25.1);
CALL #Wh3 (
FB152_WH_leeg_timer := T 3,
FB152_Einde_transport := M 25.2);
CALL #Wh4 (
FB152_WH_leeg_timer := T 4,
FB152_Einde_transport := M 25.3);
CALL #Wh5 (
FB152_WH_leeg_timer := T 5,
FB152_Einde_transport := M 25.4);