Versie: 1.1
Datum: 03-06-2010
Applicatie toolkit: Versie:
Fabrikant: Type regelaar:
#ifndef AUTOMAAT #include "mv_ccol.h" #else #include "mv_ccol.c" #endif
#ifndef AUTOMAAT #include "pi_ccol.h" #else #include "pi_ccol.c" #endif
#include "mv_rwsc.c"
#include "pi_rwsc.c"
#ifndef AUTOMAAT #include "mv_ccol.h" #endif
#ifndef AUTOMAAT #include "mv_rwsc.c" #endif
MvSave();
#ifndef AUTOMAAT MvSave(); #endif
PI_save();
In de CCOL simulatie omgeving dient u het "mv_ccol6.obj" en "mv_fab.obj" bestand op te nemen in het project.
In de CCOL simulatie omgeving dient u het "mv_ccol7.obj" en "mv_fab.obj" bestand op te nemen in het project.
In de CCOL simulatie omgeving dient u het "pi_ccol_6.obj" en "pi_fab_3.obj" bestand op te nemen in het project.
In de CCOL simulatie omgeving dient u het "pi_ccol_7.obj" en "pi_fab_3.obj" bestand op te nemen in het project.
In de RWSC simulatie omgeving dient u het "mv_fab.c" bestand op te nemen in het project.
In de RWSC simulatie omgeving dient u het "pi_fab_3.c" bestand op te nemen in het project.
Bij de gekozen toolkit en versie wordt selectieve detectie informatie aan de applicatie
doorgegeven middels de CVN-DSI buffer.
Er hoeft
geen extra programmering te worden opgenomen om de gegevens die in de CVN-DSI buffer worden
geplaatst in de MV file te krijgen.
Bij de gekozen toolkit en versie wordt KAR informatie aan de applicatie doorgegeven middels
de overige ingangssignalen.
Aan de MV module dient
aangegeven te worden, dat er kar aanwezig is. Er wordt vanuit gegaan dat
de laatste 37 overige ingangen op de interface worden gebruikt voor doorgifte van de informatie.
has_kar_ing = 1;
In de RWSC module zijn geen voorzieningen opgenomen om KAR berichten te registreren die worden aangeboden middels de overige ingangen.
Bij de gekozen toolkit en versie wordt selectieve detectie informatie aan de applicatie doorgegeven middels detectie ingangen.
Voor classificatie ingangen die worden aangeboden in CVN-3 formaat geldt dat die dienen te worden opgenomen bij snelheidsingangen in de uitgebreide programmerings parameters.
Voor de bijzondere ingrepen zijn in het code voorbeeld twee varianten opgenomen, één voor hulpverlening, en één voor file op richting 08. Andere bijzondere ingrepen kunnen op vergelijkbare wijze in de code worden opgenomen.
Bij de gekozen opties is het niet noodzakelijk parameters op te nemen volgens programmeervoorschrift,
De code voorbeelden gaan uit van de volgende veronderstellingen:
#define PRMMAX1 123 /* in plaats van bestaande #define PRMMAX definitie */ #define kwc_nr_class (PRMMAX1 + 0) /* aantal classificatie detectie ingangen */ #define kwc_nr_length (PRMMAX1 + 1) /* aantal lengte detectie ingangen */ #define kwc_nr_snel (PRMMAX1 + 2) /* aantal snelheids detectie ingangen */ #define kwc_nr_sel_in (PRMMAX1 + 3) /* aantal selectieve detectie ingangen - inmeldingen */ #define kwc_nr_sel_uit (PRMMAX1 + 4) /* aantal selectieve detectie ingangen - uitmeldingen */ #define kwc_bi_type (PRMMAX1 + 5) /* bijzonder ingreep - type */ #define kwc_bi_tijd (PRMMAX1 + 6) /* bijzonder ingreep - tijsduur */ #define kwc_bi_fc (PRMMAX1 + 7) /* bijzonder ingreep - fasecyclus */ /* voor iedere gedefinieerde fasecyclus een parameter opnemen (in dit voorbeeld 12 fasecycli) */ #define kwc_fc01 (PRMMAX1 + 8) /* fasecyclus gegevens eerste fasecyclus */ ... #define kwc_fc38 (PRMMAX1 + 19) /* fasecyclus gegevens laatste fasecyclus */ #define kwc_tijd (PRMMAX1 + 20) #define kwc_sch (PRMMAX1 + 21) #define kwc_version (PRMMAX1 + 22) #define kwc_id (PRMMAX1 + 23) #define PRMMAX (PRMMAX1 + 24)(uitgebreid programmeervoorschrift Vialis/TPA versie 3)
#define PRMMAX1 123 /* in plaats van bestaande #define PRMMAX definitie */ #define kwc_nr_class (PRMMAX1 + 0) /* aantal classificatie detectie ingangen */ #define kwc_nr_length (PRMMAX1 + 1) /* aantal lengte detectie ingangen */ #define kwc_nr_snel (PRMMAX1 + 2) /* aantal snelheids detectie ingangen */ #define kwc_dsi01 (PRMMAX1 + 3) /* detectie ingang selectie inmelding fc01 */ #define kwc_dsi12 (PRMMAX1 + 4) /* detectie ingang selectie inmelding fc12 */ #define kwc_dsu01 (PRMMAX1 + 5) /* detectie ingang selectie uitmelding fc01 */ #define kwc_dsu12 (PRMMAX1 + 6) /* detectie ingang selectie uitmelding fc12 */ #define kwc_nr_sel_in (PRMMAX1 + 7) /* aantal selectieve detectie ingangen - inmeldingen */ #define kwc_nr_sel_uit (PRMMAX1 + 8) /* aantal selectieve detectie ingangen - uitmeldingen */ #define kwc_bi_type (PRMMAX1 + 9) /* bijzonder ingreep - type */ #define kwc_bi_tijd (PRMMAX1 + 10) /* bijzonder ingreep - tijsduur */ #define kwc_bi_fc (PRMMAX1 + 11) /* bijzonder ingreep - fasecyclus */ /* voor iedere gedefinieerde fasecyclus een parameter opnemen (in dit voorbeeld 12 fasecycli) */ #define kwc_fc01 (PRMMAX1 + 12) /* fasecyclus gegevens eerste fasecyclus */ ... #define kwc_fc38 (PRMMAX1 + 23) /* fasecyclus gegevens laatste fasecyclus */ #define kwc_tijd (PRMMAX1 + 24) #define kwc_sch (PRMMAX1 + 25) #define kwc_version (PRMMAX1 + 26) #define kwc_id (PRMMAX1 + 27) #define PRMMAX (PRMMAX1 + 28)(uitgebreid programmeervoorschrift Vialis/TPA versie 3)
#define PRMMAX1 123 /* in plaats van bestaande #define PRMMAX definitie */ #define kwc_nr_class (PRMMAX1 + 0) /* aantal classificatie detectie ingangen */ #define kwc_nr_length (PRMMAX1 + 1) /* aantal lengte detectie ingangen */ #define kwc_sn02 (PRMMAX1 + 2) /* CVN3 classificatie ingang issn02 */ #define kwc_sn08 (PRMMAX1 + 3) /* CVN3 classificatie ingang issn08 */ #define kwc_nr_snel (PRMMAX1 + 4) /* aantal snelheids detectie ingangen */ #define kwc_nr_sel_in (PRMMAX1 + 5) /* aantal selectieve detectie ingangen - inmeldingen */ #define kwc_nr_sel_uit (PRMMAX1 + 6) /* aantal selectieve detectie ingangen - uitmeldingen */ #define kwc_bi_type (PRMMAX1 + 7) /* bijzonder ingreep - type */ #define kwc_bi_tijd (PRMMAX1 + 8) /* bijzonder ingreep - tijsduur */ #define kwc_bi_fc (PRMMAX1 + 9) /* bijzonder ingreep - fasecyclus */ /* voor iedere gedefinieerde fasecyclus een parameter opnemen (in dit voorbeeld 12 fasecycli) */ #define kwc_fc01 (PRMMAX1 + 10) /* fasecyclus gegevens eerste fasecyclus */ ... #define kwc_fc38 (PRMMAX1 + 21) /* fasecyclus gegevens laatste fasecyclus */ #define kwc_tijd (PRMMAX1 + 20) #define kwc_sch (PRMMAX1 + 21) #define kwc_version (PRMMAX1 + 22) #define kwc_id (PRMMAX1 + 23) #define PRMMAX (PRMMAX1 + 24)(uitgebreid programmeervoorschrift Vialis/TPA versie 3)
#define PRMMAX1 123 /* in plaats van bestaande #define PRMMAX definitie */ #define kwc_nr_class (PRMMAX1 + 0) /* aantal classificatie detectie ingangen */ #define kwc_nr_length (PRMMAX1 + 1) /* aantal lengte detectie ingangen */ #define kwc_sn02 (PRMMAX1 + 2) /* CVN3 classificatie ingang issn02 */ #define kwc_sn08 (PRMMAX1 + 3) /* CVN3 classificatie ingang issn08 */ #define kwc_nr_snel (PRMMAX1 + 4) /* aantal snelheids detectie ingangen */ #define kwc_dsi01 (PRMMAX1 + 5) /* detectie ingang selectie inmelding fc01 */ #define kwc_dsi12 (PRMMAX1 + 6) /* detectie ingang selectie inmelding fc12 */ #define kwc_dsu01 (PRMMAX1 + 7) /* detectie ingang selectie uitmelding fc01 */ #define kwc_dsu12 (PRMMAX1 + 8) /* detectie ingang selectie uitmelding fc12 */ #define kwc_nr_sel_in (PRMMAX1 + 9) /* aantal selectieve detectie ingangen - inmeldingen */ #define kwc_nr_sel_uit (PRMMAX1 + 10) /* aantal selectieve detectie ingangen - uitmeldingen */ #define kwc_bi_type (PRMMAX1 + 11) /* bijzonder ingreep - type */ #define kwc_bi_tijd (PRMMAX1 + 12) /* bijzonder ingreep - tijsduur */ #define kwc_bi_fc (PRMMAX1 + 13) /* bijzonder ingreep - fasecyclus */ /* voor iedere gedefinieerde fasecyclus een parameter opnemen (in dit voorbeeld 12 fasecycli) */ #define kwc_fc01 (PRMMAX1 + 14) /* fasecyclus gegevens eerste fasecyclus */ ... #define kwc_fc38 (PRMMAX1 + 25) /* fasecyclus gegevens laatste fasecyclus */ #define kwc_tijd (PRMMAX1 + 26) #define kwc_sch (PRMMAX1 + 27) #define kwc_version (PRMMAX1 + 28) #define kwc_id (PRMMAX1 + 29) #define PRMMAX (PRMMAX1 + 30)(uitgebreid programmeervoorschrift versie 2)
#define PRMMAX1 123 /* in plaats van bestaande #define PRMMAX definitie */ #define kwc_nr_snel (PRMMAX1 + 0) /* aantal snelheids detectie ingangen */ #define kwc_nr_sel_in (PRMMAX1 + 1) /* aantal selectieve detectie ingangen - inmeldingen */ #define kwc_nr_sel_uit (PRMMAX1 + 2) /* aantal selectieve detectie ingangen - uitmeldingen */ #define kwc_bi_type (PRMMAX1 + 3) /* bijzonder ingreep - type */ #define kwc_bi_tijd (PRMMAX1 + 4) /* bijzonder ingreep - tijsduur */ /* voor iedere gedefinieerde fasecyclus een parameter opnemen (in dit voorbeeld 12 fasecycli) */ #define kwc_fc01 (PRMMAX1 + 5) /* fasecyclus gegevens eerste fasecyclus */ ... #define kwc_fc38 (PRMMAX1 + 16) /* fasecyclus gegevens laatste fasecyclus */ #define kwc_blok (PRMMAX1 + 17) #define kwc_version (PRMMAX1 + 18) #define kwc_id (PRMMAX1 + 19) #define PRMMAX (PRMMAX1 + 20)(uitgebreid programmeervoorschrift versie 3)
#define PRMMAX1 123 /* in plaats van bestaande #define PRMMAX definitie */ #define kwc_nr_class (PRMMAX1 + 0) /* aantal classificatie detectie ingangen */ #define kwc_nr_length (PRMMAX1 + 1) /* aantal lengte detectie ingangen */ #define kwc_nr_snel (PRMMAX1 + 2) /* aantal snelheids detectie ingangen */ #define kwc_nr_sel_in (PRMMAX1 + 3) /* aantal selectieve detectie ingangen - inmeldingen */ #define kwc_nr_sel_uit (PRMMAX1 + 4) /* aantal selectieve detectie ingangen - uitmeldingen */ #define kwc_bi_type (PRMMAX1 + 5) /* bijzonder ingreep - type */ #define kwc_bi_tijd (PRMMAX1 + 6) /* bijzonder ingreep - tijsduur */ #define kwc_bi_fc (PRMMAX1 + 7) /* bijzonder ingreep - fasecyclus */ /* voor iedere gedefinieerde fasecyclus een parameter opnemen (in dit voorbeeld 12 fasecycli) */ #define kwc_fc01 (PRMMAX1 + 8) /* fasecyclus gegevens eerste fasecyclus */ ... #define kwc_fc38 (PRMMAX1 + 19) /* fasecyclus gegevens laatste fasecyclus */ #define kwc_version (PRMMAX1 + 20) #define kwc_id (PRMMAX1 + 21) #define PRMMAX (PRMMAX1 + 22)(uitgebreid programmeervoorschrift versie 3)
#define PRMMAX1 123 /* in plaats van bestaande #define PRMMAX definitie */ #define kwc_nr_class (PRMMAX1 + 0) /* aantal classificatie detectie ingangen */ #define kwc_nr_length (PRMMAX1 + 1) /* aantal lengte detectie ingangen */ #define kwc_nr_snel (PRMMAX1 + 2) /* aantal snelheids detectie ingangen */ #define kwc_dsi01 (PRMMAX1 + 3) /* detectie ingang selectie inmelding fc01 */ #define kwc_dsi12 (PRMMAX1 + 4) /* detectie ingang selectie inmelding fc12 */ #define kwc_dsu01 (PRMMAX1 + 5) /* detectie ingang selectie uitmelding fc01 */ #define kwc_dsu12 (PRMMAX1 + 6) /* detectie ingang selectie uitmelding fc12 */ #define kwc_nr_sel_in (PRMMAX1 + 7) /* aantal selectieve detectie ingangen - inmeldingen */ #define kwc_nr_sel_uit (PRMMAX1 + 8) /* aantal selectieve detectie ingangen - uitmeldingen */ #define kwc_bi_type (PRMMAX1 + 9) /* bijzonder ingreep - type */ #define kwc_bi_tijd (PRMMAX1 + 10) /* bijzonder ingreep - tijsduur */ #define kwc_bi_fc (PRMMAX1 + 11) /* bijzonder ingreep - fasecyclus */ /* voor iedere gedefinieerde fasecyclus een parameter opnemen (in dit voorbeeld 12 fasecycli) */ #define kwc_fc01 (PRMMAX1 + 12) /* fasecyclus gegevens eerste fasecyclus */ ... #define kwc_fc38 (PRMMAX1 + 23) /* fasecyclus gegevens laatste fasecyclus */ #define kwc_version (PRMMAX1 + 24) #define kwc_id (PRMMAX1 + 25) #define PRMMAX (PRMMAX1 + 26)(uitgebreid programmeervoorschrift versie 3)
#define PRMMAX1 123 /* in plaats van bestaande #define PRMMAX definitie */ #define kwc_nr_class (PRMMAX1 + 0) /* aantal classificatie detectie ingangen */ #define kwc_nr_length (PRMMAX1 + 1) /* aantal lengte detectie ingangen */ #define kwc_sn02 (PRMMAX1 + 2) /* CVN3 classificatie ingang issn02 */ #define kwc_sn08 (PRMMAX1 + 3) /* CVN3 classificatie ingang issn08 */ #define kwc_nr_snel (PRMMAX1 + 4) /* aantal snelheids detectie ingangen */ #define kwc_nr_sel_in (PRMMAX1 + 5) /* aantal selectieve detectie ingangen - inmeldingen */ #define kwc_nr_sel_uit (PRMMAX1 + 6) /* aantal selectieve detectie ingangen - uitmeldingen */ #define kwc_bi_type (PRMMAX1 + 7) /* bijzonder ingreep - type */ #define kwc_bi_tijd (PRMMAX1 + 8) /* bijzonder ingreep - tijsduur */ #define kwc_bi_fc (PRMMAX1 + 9) /* bijzonder ingreep - fasecyclus */ /* voor iedere gedefinieerde fasecyclus een parameter opnemen (in dit voorbeeld 12 fasecycli) */ #define kwc_fc01 (PRMMAX1 + 10) /* fasecyclus gegevens eerste fasecyclus */ ... #define kwc_fc38 (PRMMAX1 + 21) /* fasecyclus gegevens laatste fasecyclus */ #define kwc_version (PRMMAX1 + 22) #define kwc_id (PRMMAX1 + 23) #define PRMMAX (PRMMAX1 + 24)(uitgebreid programmeervoorschrift versie 3)
#define PRMMAX1 123 /* in plaats van bestaande #define PRMMAX definitie */ #define kwc_nr_class (PRMMAX1 + 0) /* aantal classificatie detectie ingangen */ #define kwc_nr_length (PRMMAX1 + 1) /* aantal lengte detectie ingangen */ #define kwc_sn02 (PRMMAX1 + 2) /* CVN3 classificatie ingang issn02 */ #define kwc_sn08 (PRMMAX1 + 3) /* CVN3 classificatie ingang issn08 */ #define kwc_nr_snel (PRMMAX1 + 4) /* aantal snelheids detectie ingangen */ #define kwc_dsi01 (PRMMAX1 + 5) /* detectie ingang selectie inmelding fc01 */ #define kwc_dsi12 (PRMMAX1 + 6) /* detectie ingang selectie inmelding fc12 */ #define kwc_dsu01 (PRMMAX1 + 7) /* detectie ingang selectie uitmelding fc01 */ #define kwc_dsu12 (PRMMAX1 + 8) /* detectie ingang selectie uitmelding fc12 */ #define kwc_nr_sel_in (PRMMAX1 + 9) /* aantal selectieve detectie ingangen - inmeldingen */ #define kwc_nr_sel_uit (PRMMAX1 + 10) /* aantal selectieve detectie ingangen - uitmeldingen */ #define kwc_bi_type (PRMMAX1 + 11) /* bijzonder ingreep - type */ #define kwc_bi_tijd (PRMMAX1 + 12) /* bijzonder ingreep - tijsduur */ #define kwc_bi_fc (PRMMAX1 + 13) /* bijzonder ingreep - fasecyclus */ /* voor iedere gedefinieerde fasecyclus een parameter opnemen (in dit voorbeeld 12 fasecycli) */ #define kwc_fc01 (PRMMAX1 + 14) /* fasecyclus gegevens eerste fasecyclus */ ... #define kwc_fc38 (PRMMAX1 + 25) /* fasecyclus gegevens laatste fasecyclus */ #define kwc_version (PRMMAX1 + 26) #define kwc_id (PRMMAX1 + 27) #define PRMMAX (PRMMAX1 + 38)(uitgebreid programmeervoorschrift Vialis/TPA versie 3)
#define KWC_NR_CLASS 123 /* aantal classificatie detectie ingangen */ #define KWC_NR_LENGTH 124 /* aantal lengte detectie ingangen */ #define KWC_NR_SNEL 125 /* aantal snelheids detectie ingangen */ #define KWC_NR_SEL_IN 126 /* aantal selectieve detectie ingangen - inmeldingen */ #define KWC_NR_SEL_UIT 127 /* aantal selectieve detectie ingangen - uitmeldingen */ #define KWC_BI_TYPE 128 /* bijzonder ingreep - type */ #define KWC_BI_TIJD 129 /* bijzonder ingreep - tijsduur */ #define KWC_BI_SG 130 /* bijzonder ingreep - signaalgroep */ /* voor iedere gedefinieerde signaalgroep een parameter opnemen (in dit voorbeeld 12 signaalgroepen) */ #define KWC_SG01 131 /* signaalgroep gegevens eerste signaalgroep */ ... #define KWC_SG38 142 /* signaalgroep gegevens laatste signaalgroep */ #define KWC_TIJD 143 #define KWC_SCH 144 #define KWC_VERSION 145 #define KWC_ID 146 #define NUMEP 147(uitgebreid programmeervoorschrift Vialis/TPA versie 3)
#define KWC_NR_CLASS 123 /* aantal classificatie detectie ingangen */ #define KWC_NR_LENGTH 124 /* aantal lengte detectie ingangen */ #define KWC_NR_SNEL 125 /* aantal snelheids detectie ingangen */ #define KWC_DSI01 126 /* detectie ingang selectie inmelding SG01 */ #define KWC_DSI12 127 /* detectie ingang selectie inmelding SG12 */ #define KWC_DSU01 128 /* detectie ingang selectie uitmelding SG01 */ #define KWC_DSU12 129 /* detectie ingang selectie uitmelding SG12 */ #define KWC_NR_SEL_IN 130 /* aantal selectieve detectie ingangen - inmeldingen */ #define KWC_NR_SEL_UIT 131 /* aantal selectieve detectie ingangen - uitmeldingen */ #define KWC_BI_TYPE 132 /* bijzonder ingreep - type */ #define KWC_BI_TIJD 133 /* bijzonder ingreep - tijsduur */ #define KWC_BI_SG 134 /* bijzonder ingreep - signaalgroep */ /* voor iedere gedefinieerde signaalgroep een parameter opnemen (in dit voorbeeld 12 signaalgroepen) */ #define KWC_SG01 135 /* signaalgroep gegevens eerste signaalgroep */ ... #define KWC_SG38 146 /* signaalgroep gegevens laatste signaalgroep */ #define KWC_TIJD 147 #define KWC_SCH 148 #define KWC_VERSION 149 #define KWC_ID 150 #define NUMEP 151(uitgebreid programmeervoorschrift Vialis/TPA versie 3)
#define KWC_NR_CLASS 123 /* aantal classificatie detectie ingangen */ #define KWC_NR_LENGTH 124 /* aantal lengte detectie ingangen */ #define KWC_SN02 125 /* CVN3 classificatie ingang sn02 */ #define KWC_SN08 126 /* CVN3 classificatie ingang sn08 */ #define KWC_NR_SNEL 127 /* aantal snelheids detectie ingangen */ #define KWC_NR_SEL_IN 128 /* aantal selectieve detectie ingangen - inmeldingen */ #define KWC_NR_SEL_UIT 129 /* aantal selectieve detectie ingangen - uitmeldingen */ #define KWC_BI_TYPE 130 /* bijzonder ingreep - type */ #define KWC_BI_TIJD 131 /* bijzonder ingreep - tijsduur */ #define KWC_BI_SG 132 /* bijzonder ingreep - signaalgroep */ /* voor iedere gedefinieerde signaalgroep een parameter opnemen (in dit voorbeeld 12 signaalgroepen) */ #define KWC_SG01 133 /* signaalgroep gegevens eerste signaalgroep */ ... #define KWC_SG38 144 /* signaalgroep gegevens laatste signaalgroep */ #define KWC_TIJD 145 #define KWC_SCH 146 #define KWC_VERSION 147 #define KWC_ID 148 #define NUMEP 149(uitgebreid programmeervoorschrift Vialis/TPA versie 3)
#define KWC_NR_CLASS 123 /* aantal classificatie detectie ingangen */ #define KWC_NR_LENGTH 124 /* aantal lengte detectie ingangen */ #define KWC_SN02 125 /* CVN3 classificatie ingang sn02 */ #define KWC_SN08 126 /* CVN3 classificatie ingang sn08 */ #define KWC_NR_SNEL 127 /* aantal snelheids detectie ingangen */ #define KWC_DSI01 128 /* detectie ingang selectie inmelding SG01 */ #define KWC_DSI12 129 /* detectie ingang selectie inmelding SG12 */ #define KWC_DSU01 130 /* detectie ingang selectie uitmelding SG01 */ #define KWC_DSU12 131 /* detectie ingang selectie uitmelding SG12 */ #define KWC_NR_SEL_IN 132 /* aantal selectieve detectie ingangen - inmeldingen */ #define KWC_NR_SEL_UIT 133 /* aantal selectieve detectie ingangen - uitmeldingen */ #define KWC_BI_TYPE 134 /* bijzonder ingreep - type */ #define KWC_BI_TIJD 135 /* bijzonder ingreep - tijsduur */ #define KWC_BI_SG 136 /* bijzonder ingreep - signaalgroep */ /* voor iedere gedefinieerde signaalgroep een parameter opnemen (in dit voorbeeld 12 signaalgroepen) */ #define KWC_SG01 137 /* signaalgroep gegevens eerste signaalgroep */ ... #define KWC_SG38 148 /* signaalgroep gegevens laatste signaalgroep */ #define KWC_TIJD 149 #define KWC_SCH 150 #define KWC_VERSION 151 #define KWC_ID 152 #define NUMEP 153(uitgebreid programmeervoorschrift versie 2)
#define KWC_NR_SNEL 123 /* aantal snelheids detectie ingangen */ #define KWC_NR_SEL_IN 124 /* aantal selectieve detectie ingangen - inmeldingen */ #define KWC_NR_SEL_UIT 125 /* aantal selectieve detectie ingangen - uitmeldingen */ #define KWC_BI_TYPE 126 /* bijzonder ingreep - type */ #define KWC_BI_TIJD 127 /* bijzonder ingreep - tijsduur */ /* voor iedere gedefinieerde signaalgroep een parameter opnemen (in dit voorbeeld 12 signaalgroepen) */ #define KWC_SG01 128 /* signaalgroep gegevens eerste signaalgroep */ ... #define KWC_SG38 139 /* signaalgroep gegevens laatste signaalgroep */ #define KWC_BLOK 140 #define KWC_VERSION 141 #define KWC_ID 142 #define NUMEP 143(uitgebreid programmeervoorschrift versie 3)
#define KWC_NR_CLASS 123 /* aantal classificatie detectie ingangen */ #define KWC_NR_LENGTH 124 /* aantal lengte detectie ingangen */ #define KWC_NR_SNEL 125 /* aantal snelheids detectie ingangen */ #define KWC_NR_SEL_IN 126 /* aantal selectieve detectie ingangen - inmeldingen */ #define KWC_NR_SEL_UIT 127 /* aantal selectieve detectie ingangen - uitmeldingen */ #define KWC_BI_TYPE 128 /* bijzonder ingreep - type */ #define KWC_BI_TIJD 129 /* bijzonder ingreep - tijsduur */ #define KWC_BI_SG 130 /* bijzonder ingreep - signaalgroep */ /* voor iedere gedefinieerde signaalgroep een parameter opnemen (in dit voorbeeld 12 signaalgroepen) */ #define KWC_SG01 131 /* signaalgroep gegevens eerste signaalgroep */ ... #define KWC_SG38 142 /* signaalgroep gegevens laatste signaalgroep */ #define KWC_VERSION 143 #define KWC_ID 144 #define NUMEP 145(uitgebreid programmeervoorschrift versie 3)
#define KWC_NR_CLASS 123 /* aantal classificatie detectie ingangen */ #define KWC_NR_LENGTH 124 /* aantal lengte detectie ingangen */ #define KWC_NR_SNEL 125 /* aantal snelheids detectie ingangen */ #define KWC_DSI01 126 /* detectie ingang selectie inmelding SG01 */ #define KWC_DSI12 127 /* detectie ingang selectie inmelding SG12 */ #define KWC_DSU01 128 /* detectie ingang selectie uitmelding SG01 */ #define KWC_DSU12 129 /* detectie ingang selectie uitmelding SG12 */ #define KWC_NR_SEL_IN 130 /* aantal selectieve detectie ingangen - inmeldingen */ #define KWC_NR_SEL_UIT 131 /* aantal selectieve detectie ingangen - uitmeldingen */ #define KWC_BI_TYPE 132 /* bijzonder ingreep - type */ #define KWC_BI_TIJD 133 /* bijzonder ingreep - tijsduur */ #define KWC_BI_SG 134 /* bijzonder ingreep - signaalgroep */ /* voor iedere gedefinieerde signaalgroep een parameter opnemen (in dit voorbeeld 12 signaalgroepen) */ #define KWC_SG01 135 /* signaalgroep gegevens eerste signaalgroep */ ... #define KWC_SG38 146 /* signaalgroep gegevens laatste signaalgroep */ #define KWC_VERSION 147 #define KWC_ID 148 #define NUMEP 149(uitgebreid programmeervoorschrift versie 3)
#define KWC_NR_CLASS 123 /* aantal classificatie detectie ingangen */ #define KWC_NR_LENGTH 124 /* aantal lengte detectie ingangen */ #define KWC_SN02 125 /* CVN3 classificatie ingang sn02 */ #define KWC_SN08 126 /* CVN3 classificatie ingang sn08 */ #define KWC_NR_SNEL 127 /* aantal snelheids detectie ingangen */ #define KWC_NR_SEL_IN 128 /* aantal selectieve detectie ingangen - inmeldingen */ #define KWC_NR_SEL_UIT 129 /* aantal selectieve detectie ingangen - uitmeldingen */ #define KWC_BI_TYPE 130 /* bijzonder ingreep - type */ #define KWC_BI_TIJD 131 /* bijzonder ingreep - tijsduur */ #define KWC_BI_SG 132 /* bijzonder ingreep - signaalgroep */ /* voor iedere gedefinieerde signaalgroep een parameter opnemen (in dit voorbeeld 12 signaalgroepen) */ #define KWC_SG01 133 /* signaalgroep gegevens eerste signaalgroep */ ... #define KWC_SG38 144 /* signaalgroep gegevens laatste signaalgroep */ #define KWC_VERSION 145 #define KWC_ID 146 #define NUMEP 147(uitgebreid programmeervoorschrift versie 3)
#define KWC_NR_CLASS 123 /* aantal classificatie detectie ingangen */ #define KWC_NR_LENGTH 124 /* aantal lengte detectie ingangen */ #define KWC_SN02 125 /* CVN3 classificatie ingang sn02 */ #define KWC_SN08 126 /* CVN3 classificatie ingang sn08 */ #define KWC_NR_SNEL 127 /* aantal snelheids detectie ingangen */ #define KWC_DSI01 128 /* detectie ingang selectie inmelding SG01 */ #define KWC_DSI12 129 /* detectie ingang selectie inmelding SG12 */ #define KWC_DSU01 130 /* detectie ingang selectie uitmelding SG01 */ #define KWC_DSU12 131 /* detectie ingang selectie uitmelding SG12 */ #define KWC_NR_SEL_IN 132 /* aantal selectieve detectie ingangen - inmeldingen */ #define KWC_NR_SEL_UIT 133 /* aantal selectieve detectie ingangen - uitmeldingen */ #define KWC_BI_TYPE 134 /* bijzonder ingreep - type */ #define KWC_BI_TIJD 135 /* bijzonder ingreep - tijsduur */ #define KWC_BI_SG 136 /* bijzonder ingreep - signaalgroep */ /* voor iedere gedefinieerde signaalgroep een parameter opnemen (in dit voorbeeld 12 signaalgroepen) */ #define KWC_SG01 137 /* signaalgroep gegevens eerste signaalgroep */ ... #define KWC_SG38 148 /* signaalgroep gegevens laatste signaalgroep */ #define KWC_VERSION 149 #define KWC_ID 150 #define NUMEP 151
#define PRMMAX1 123 /* in plaats van bestaande #define PRMMAX definitie */ #define kwc_tijd (PRMMAX1 + 0) /* tijdsduur per MV file */ #define kwc_sch (PRMMAX1 + 1) #define kwc_version (PRMMAX1 + 2) #define kwc_id (PRMMAX1 + 3) #define PRMMAX (PRMMAX1 + 4)(verkort programmeervoorschrift)
#define KWC_TIJD 123 /* tijdsduur per MV file */ #define KWC_SCH 124 #define KWC_VERSION 125 #define KWC_ID 126 #define NUMEP 127
PRM_code[kwc_nr_snel] = "KWC_NR_SNEL"; PRM[kwc_nr_snel] = 0; PRM_type[kwc_nr_snel] = RO_type; PRM_code[kwc_nr_sel_in] = "KWC_NR_SEL_IN"; PRM[kwc_nr_sel_in] = 0; PRM_type[kwc_nr_sel_in] = RO_type; PRM_code[kwc_nr_sel_uit] = "KWC_NR_SEL_UIT"; PRM[kwc_nr_sel_uit] = 0; PRM_type[kwc_nr_sel_uit] = RO_type; PRM_code[kwc_bi_type] = "KWC_BI_TYPE"; PRM[kwc_bi_type] = 0; PRM_code[kwc_bi_tijd] = "KWC_BI_TIJD"; PRM[kwc_bi_tijd] = 0; PRM_code[kwc_fc01] = "KWC_FC01"; PRM[kwc_fc01] = 0; PRM_type[kwc_fc01] = RO_type; ... PRM_code[kwc_fc38] = "KWC_FC38"; PRM[kwc_fc38] = 0; PRM_type[kwc_fc38] = RO_type; PRM_code[kwc_blok] = "KWC_BLOK"; PRM[kwc_blok] = 0; PRM_code[kwc_version] = "KWC_VERSION"; PRM[kwc_version] = 2; PRM_type[kwc_version] = RO_type; PRM_code[kwc_id] = "KWC_ID"; PRM[kwc_id] = 32493; PRM_type[kwc_id] = RO_type;
PRM_code[kwc_nr_class] = "KWC_NR_CLASS"; PRM[kwc_nr_class] = 0; PRM_type[kwc_nr_class] = RO_type; PRM_code[kwc_nr_length] = "KWC_NR_LENGTH"; PRM[kwc_nr_length] = 0; PRM_type[kwc_nr_length] = RO_type; PRM_code[kwc_sn02] = "KWC_SN02"; PRM[kwc_sn02] = issn02; PRM_type[kwc_sn02] = RO_type; PRM_code[kwc_sn08] = "KWC_SN08"; PRM[kwc_sn08] = issn08; PRM_type[kwc_sn08] = RO_type; PRM_code[kwc_nr_snel] = "KWC_NR_SNEL"; PRM[kwc_nr_snel] = 2; PRM_type[kwc_nr_snel] = RO_type;PRM_code[kwc_nr_snel] = "KWC_NR_SNEL"; PRM[kwc_nr_snel] = 0; PRM_type[kwc_nr_snel] = RO_type; PRM_code[kwc_dsi01] = "KWC_DSI01"; PRM[kwc_dsi01] = dsi01; PRM_type[kwc_dsi01] = RO_type; PRM_code[kwc_dsi12] = "KWC_DSI12"; PRM[kwc_dsi12] = dsi12; PRM_type[kwc_dsi12] = RO_type; PRM_code[kwc_dsu01] = "KWC_DSU01"; PRM[kwc_dsu01] = dsu01; PRM_type[kwc_dsu01] = RO_type; PRM_code[kwc_dsu12] = "KWC_DSU12"; PRM[kwc_dsu12] = dsu12; PRM_type[kwc_dsu12] = RO_type; PRM_code[kwc_nr_sel_in] = "KWC_NR_SEL_IN"; PRM[kwc_nr_sel_in] = 2; PRM_type[kwc_nr_sel_in] = RO_type; PRM_code[kwc_nr_sel_uit] = "KWC_NR_SEL_UIT"; PRM[kwc_nr_sel_uit] = 2; PRM_type[kwc_nr_sel_uit] = RO_type;PRM_code[kwc_nr_sel_in] = "KWC_NR_SEL_IN"; PRM[kwc_nr_sel_in] = 0; PRM_type[kwc_nr_sel_in] = RO_type; PRM_code[kwc_nr_sel_uit] = "KWC_NR_SEL_UIT"; PRM[kwc_nr_sel_uit] = 0; PRM_type[kwc_nr_sel_uit] = RO_type; PRM_code[kwc_bi_type] = "KWC_BI_TYPE"; PRM[kwc_bi_type] = 0; PRM_code[kwc_bi_tijd] = "KWC_BI_TIJD"; PRM[kwc_bi_tijd] = 0; PRM_code[kwc_bi_fc] = "KWC_BI_FC"; PRM[kwc_bi_fc] = 255; PRM_code[kwc_fc01] = "KWC_FC01"; PRM[kwc_fc01] = 0; ... PRM_code[kwc_fc38] = "KWC_FC38"; PRM[kwc_fc38] = 0; PRM_code[kwc_tijd] = "KWC_TIJD"; PRM[kwc_tijd] = 60; PRM_type[kwc_tijd] = TS_type; PRM_code[kwc_sch] = "KWC_SCH"; PRM[kwc_sch] = 7; PRM_code[kwc_version] = "KWC_VERSION"; PRM[kwc_version] = 3; PRM_type[kwc_version] = RO_type; PRM_code[kwc_id] = "KWC_ID"; PRM[kwc_id] = 32493; PRM_type[kwc_id] = RO_type;
KWC_NR_SNEL, 0.0, KWC_NR_SEL_IN, 0.0, KWC_NR_SEL_UIT, 0.0, KWC_BI_TYPE, 0.0, KWC_BI_TIJD, 0.0, KWC_SG01, 0.0, ... KWC_SG38, 0.0, KWC_BLOK 0.0, KWC_VERSION, 0.2, KWC_ID, 3249.3,
KWC_NR_CLASS, 0.0, KWC_NR_LENGTH, 0.0, KWC_SN02, 37.3, /* detectie index (hier 53) + CIF_AANT_IS_D (128) + OVERIGE_SIGNALEN (64) + MAX_KOPPELSGN (10) */ KWC_SN08, 37.4, KWC_NR_SNEL, 0.2,KWC_NR_SNEL, 0.0, KWC_DSI01 7.8, /* detectie index (hier 78) */ KWC_DSI12, 7.9, KWC_DSU01, 8.0, KWC_DSU12, 8.1, KWC_NR_SEL_IN, 0.2, KWC_NR_SEL_UIT, 0.2,KWC_NR_SEL_IN, 0.0, KWC_NR_SEL_UIT, 0.0, KWC_BI_TYPE, 0.0, KWC_BI_TIJD, 0.0, KWC_BI_SG, 0.0, KWC_SG01, 0.0, ... KWC_SG38, 0.0, KWC_TIJD, 6.0, KWC_SCH, 0.7, KWC_VERSION, 0.3, KWC_ID, 3249.3,
PRM_code[kwc_tijd] = "KWC_TIJD"; PRM[kwc_tijd] = 60; PRM_type[kwc_tijd] = TS_type; PRM_code[kwc_sch] = "KWC_SCH"; PRM[kwc_sch] = 7; PRM_code[kwc_version] = "KWC_VERSION"; PRM[kwc_version] = 2; PRM_code[kwc_id] = "KWC_ID"; PRM[kwc_id] = 32492;
PRM_code[kwc_tijd] = "KWC_TIJD"; PRM[kwc_tijd] = 60; PRM_type[kwc_tijd] = TS_type; PRM_code[kwc_sch] = "KWC_SCH"; PRM[kwc_sch] = 7; PRM_code[kwc_version] = "KWC_VERSION"; PRM[kwc_version] = 3; PRM_code[kwc_id] = "KWC_ID"; PRM[kwc_id] = 32492;
KWC_TIJD, 6.0, KWC_SCH, 0.7, KWC_VERSION, 0.2, KWC_ID, 3249.2,
KWC_TIJD, 6.0, KWC_SCH, 0.7, KWC_VERSION, 0.3, KWC_ID, 3249.2,
count i; static mulv klok_brand_ingreep; static mulv klok_file_08; static mulv aanvraag[FCMAX]; for (i=0; i<FCMAX; i++) { PRM[kwc_fc01 + i] &= 0x8000; /* reset alle bits m.u.v. schakelaar bit */ if (EVG[i] && !(Z[i] || FM[i]) && MK[i]) PRM[kwc_fc01 + i] |= 0x0001; /* maxgroen bereikt */ if (EG[i] && AR[i]) PRM[kwc_fc01 + i] |= 0x0002; /* alternatieve realisatie */ if (A[i] != aanvraag[i]) { if (A[i] && !aanvraag[i]) PRM[kwc_fc01 + i] |= 0x0008; /* start aanvraag */ aanvraag[i] = A[i]; } } if (SH[hov01]) PRM[kwc_fc01] |= 0x0004; /* openbaar vervoer ingreep fc01 */ if (SH[hov12]) PRM[kwc_fc12] |= 0x0004; /* openbaar vervoer ingreep fc12 */ /* bijzondere ingrepen */ /* ------------------- */ PRM[kwc_bi_type] = 0; PRM[kwc_bi_tijd] = 0; PRM[kwc_bi_fc] = 255; /* 255 = geen signaalgroep info */ if (H[hbrand] && (klok_brand_ingreep == 0)) klok_brand_ingreep = CIF_KLOK[CIF_SEC_TELLER]; /* registratie startmoment */ else if ((klok_brand_ingreep != 0) && !H[hbrand] && PRM[kwc_bi_type] == 0) /* einde ingreep */ { PRM[kwc_bi_type] = 4; /* 4 = hulpverlening */ PRM[kwc_bi_tijd] = CIF_KLOK[CIF_SEC_TELLER] - klok_brand_ingreep; /* tijdsduur */ klok_brand_ingreep = 0; } if (H[hfile08] && (klok_file_08 == 0)) klok_file_08 = CIF_KLOK[CIF_SEC_TELLER]; /* registratie startmoment */ else if ((klok_file_08 != 0) && !H[hfile08] && PRM[kwc_bi_type] == 0) /* einde ingreep */ { PRM[kwc_bi_type] = 3; /* 3 = filemelding */ PRM[kwc_bi_tijd] = CIF_KLOK[CIF_SEC_TELLER] - klok_file_08; /* tijdsduur */ PRM[kwc_bi_fc] = fc08; klok_file_08 = 0; }
Int16 i; static Bool maxg[NUMSG]; static Int32 klok_brand_ingreep; static Int32 klok_file_08; static Int16 aanvraag[NUMSG]; static Int16 bijzonder[NUMSG]; for (i=0; i<NUMSG; i++) { wijzig_EPARM((Int16) (KWC_SG01 + i), (inst_EPARM(KWC_SG01 + i) & 0x8000) ); if (begin_G(i)) maxg[i] = TRUE; if (G(i) && !(H1e_TIJD(i) || H2e_TIJD(i))) maxg[i] = FALSE; if (einde_G(i) && maxg[i]) wijzig_EPARM((Int16) (KWC_SG01 + i), (inst_EPARM(KWC_SG01 + i) | 0x0001) ); /* maxgroen bereikt */ if (A(i) != aanvraag[i]) { if (A(i) && !aanvraag[i]) wijzig_EPARM((Int16)(KWC_SG01 + i), (inst_EPARM(KWC_SG01 + i) | 0x0008); /* start aanvraag */ aanvraag[i] = A(i); } #ifdef BLOK if (einde_G(i) && (AR(i, 0) || AR(i, 1) || AR(i, 2) || AR(i, 3) || AR(i, 4) || AR(i, 5) || AR(i, 6) || AR(i, 7) || AR(i, 8) || AR(i, 9))) wijzig_EPARM((Int16)(KWC_SG01 + i), (inst_EPARM(KWC_SG01 + i) | 0x0002); /* alternatieve realisatie */ if (BR(i) != bijzonder[i]) { if (BR(i) && !bijzonder[i]) wijzig_EPARM((Int16)(KWC_SG01 + i), (inst_EPARM(KWC_SG01 + i) | 0x0004); /* bijzondere ingreep */ bijzonder[i] = BR(i); } #endif } /* bijzondere ingrepen */ /* ------------------- */ wijzig_EPARM(KWC_BI_TYPE, 0); wijzig_EPARM(KWC_BI_TIJD, 0); wijzig_EPARM(KWC_BI_SG, 255); /* 255 = geen signaalgroep info */ if (HF(BRAND_INGREEP) && klok_brand_ingreep == 0) klok_brand_ingreep = CIF_KLOK[CIF_SEC_TELLER]; /* registratie startmoment */ else if (klok_brand_ingreep != 0 && !HF(BRAND_INGREEP) && inst_EPARM(KWC_BI_TYPE) == 0) { wijzig_EPARM(KWC_BI_TYPE, 4); /* 4 = hulpverlening */ wijzig_EPARM(KWC_BI_TIJD, CIF_KLOK[CIF_SEC_TELLER] - klok_brand_ingreep); /* tijdsduur */ klok_brand_ingreep = 0; } if (HF(FILE_08) && klok_file_08 == 0) klok_file_08 = CIF_KLOK[CIF_SEC_TELLER]; /* registratie startmoment */ else if (klok_file_08 != 0 && !HF(FILE_08) && inst_EPARM(KWC_BI_TYPE) == 0) { wijzig_EPARM(KWC_BI_TYPE, 3); /* 3 = filemelding */ wijzig_EPARM(KWC_BI_TIJD, CIF_KLOK[CIF_SEC_TELLER] - klok_file_08); /* tijdsduur */ wijzig_EPARM(KWC_BI_SG, SG08); klok_file_08 = 0; }