Heeft u vragen? U kunt ons ook bellen op tel: 0318-695315

iVRI specificaties
Deze tekst is gepubliceerd op 30-06-21

iVRI Interface V-log, Protocol and Definitions V-log

Datum besluit SC 02-06-2022
D3047-9 / version 2.8.0
Disclaimer (NL):
Bij het gebruik en toepassen van de Landelijke iVRI standaarden is en blijft de gebruiker, te weten de wegbeheerder respectievelijk opdrachtnemer van de wegbeheerder, zelf aansprakelijk voor de mogelijke risicos die ontstaan of kunnen ontstaan uit het aanbieden of laten aanbieden van (combinaties van) diensten en producten die conform deze standaarden werken in de eigen organisatie of elders in de keten waarvoor de wegbeheerder verantwoordelijk is. Dit geldt in het bijzonder ten aanzien van het verzamelen, opslaan en delen van gegevens en meer specifiek indien daar waar al dan niet direct of indirect herleidbare persoonsgegevens worden verwerkt op grond van de AVG. Gebruikers zijn zelf verantwoordelijk om bij het gebruik van de standaarden telkens na te gaan of gebruik van standaarden, dan wel de combinatie van data vanuit de standaarden in de basis voldoet aan de wet- en regelgeving, in het bijzonder de AVG. Het gebruik conform de standaarden kan het risico op aansprakelijkheid van de wegbeheerder verkleinen, maar niet altijd wegnemen of geheel uitsluiten. Dit is mede afhankelijk van de wijze waarop de wegbeheerder zelf in haar eigen organisatie of bij gebruik van opdrachtnemers in de keten de data verwerkt en gebruikt. Het is dan ook een dringend advies zowel voorafgaand aan de implementatie en ingebruikname door de gebruiker van de standaarden als periodiek een risico-analyse (zoals Data Protection Impact Assessment (DPIA)) en controle van de keten op het gebruik van de standaarden en bijkomende individuele risico s bij de wegbeheerder en haar opdrachtnemers uit te laten voeren. Het doel van dergelijke analyses en controles is dat mogelijke risico s die onbedoeld kunnen optreden op voorhand gedentificeerd kunnen worden, zodat de wegbeheerder zelf de nodige beheersmaatregelen kan treffen om (alsnog) aan de wettelijke voorschriften te kunnen voldoen. CROW en de opstellers van de standaarden hebben deze documenten met de grootst mogelijke zorg en met aandacht opgesteld, maar kunnen geen aansprakelijkheid aanvaarden voor een mogelijke overtreding van wet- en regelgeving door de wegbeheerder respectievelijk opdrachtnemer van de wegbeheerder, door te verwijzen naar de standaarden als oorzaak van een mogelijke overtreding van de AVG of andere wettelijke voorschriften. CROW en de opstellers van de standaarden wijzen derhalve een aansprakelijkheid door gebruikers ten aanzien van het gebruik van de standaarden Landelijke iVRI standaarden® van de hand.
Disclaimer (EN):
When using and applying the Landelijke iVRI standaarden the end user, being the road authority or its principal, remains solely responsible for the possible risks that emerge or can emerge from the provision of services and products that operate by these standards, either within the own organisation or elsewhere in the chain of the road authoritys responsibility. This especially applies to the activities where data is gathered, stored and shared, and more specifically in cases where, be it directly or by inference, private data of individuals are processed, based on the GDPR and/or its national implementation. The user of these standards are themselves responsible for ascertaining that either the use of these standards, or the combination of data that is processed from applying these standards, are legal, especially in terms of the GDPR and/or its national implementation. The use of these standards can reduce the risks for liability of road users, but they can not eliminate these risks; the beforementioned risks of violating privacy legislation are mainly dependent on the way in wicht the road authority uses and processes the data within the own organisation and in relation to contractors within the chain of responsibility. It is urgently advised that, not alone when preparing a project, but also when implementing and operating a service or product, the road authority performs a periodic risk analysis (like a Data Protection Impact Assessment (DPIA)) and a check on the whole chain of information in terms of compliance to standards and additional individual risks on behalf of the road authority and its contractors. The purpose of these analyses and checks is to identify the possible risks beforehand, in order to take preventive and controlling measures, so that the road authority (eventually) is compliant to the legal framework that is applicable. CROW and the authors of these standards have created this document with the utmost care, but will not accept liability for a possible violation of any legislation by the road authority or its contractors by referring to these standards as the root cause of a possible violation of the GDPR, its national implementation or any other legal prescription. CROW and the authors of the Landelijke iVRI standaarden® therefore explicitly waive all responsibility for the use of these standards.
Voorwoord
Met de landelijke publiek private standaarden voor iVRI’s uit 2016 is de afgelopen jaren veel ervaring opgedaan. Enkele van deze standaarden waren al op onderdelen aangescherpt. Eind 2020 is besloten tot een integrale zogenaamde consolidatieslag op al deze standaarden. Met als doel om o.b.v. de opgedane ervaringen en inzichten de ontwikkeling, configuratie, werking en het beheer van (diensten in) de gehele dataketen eenvoudiger en betrouwbaarder te maken. Dit betreft niet alleen standaarden voor iVRI’s, maar ook landelijke afspraken en standaarden over data die cloud service providers aanleveren aan en afnemen van iVRI’s.
Grotere aanpassingen, zoals iVRI security, herziening van beheerinterfaces, ketenbeheer en functionele doorontwikkelingen van diensten (use cases), zijn buiten deze consolidatieslag gehouden en zullen nadien stapsgewijs moeten worden opgepakt. In die zin zal doorontwikkeling van (diensten in) de dataketen doorgaan.
Het voorliggende CROW document is vastgesteld door de landelijke publiek private Strategic Committee en omvat een van de landelijke publiek private iVRI CROW standaarden die is geactualiseerd als onderdeel van de Consolidatie. Aan de actualisatie hebben deskundigen van bedrijven, zowel leveranciers van hardware en software voor iVRI’s als cloud service providers, en overheden actieve bijdragen geleverd. Zoals altijd het geval is bij landelijke standaardisatie, was het niet mogelijk om met de resulterende specificaties en standaarden volledig recht te doen aan alle soms uiteenlopende visies, meningen en standpunten. Door het gevolgde landelijke publieke private proces via de Change Advisory Board en de Strategic Committee zijn al deze visies, meningen en standpunten wel gehoord en gewogen.
De volgende bedrijven hebben actieve bijdragen geleverd aan de iVRI CROW standaarden (in alfabetische volgorde):
  • Be-Mobile
  • Dynniq
  • KPN
  • Monotch
  • RHDHV
  • Siemens Nederland
  • Siemens België
  • Swarco
  • Sweco
  • Van Grinsven software
  • Vialis
Vanuit alle landsdelen hebben overheden actieve bijdragen geleverd aan de landelijke iVRI CROW standaarden, te weten de landsdelen Noord, Noordwest, Oost, Zuid en Zuidwest. Daarnaast hebben het Vlaamse Agentschap Wegen en Verkeer, het ministerie van Infrastructuur en Milieu en Rijkswaterstaat actieve bijdragen geleverd.
Dank gaat uit naar allen voor deze bijdragen.
Verdere gewenste aanpassingen en doorontwikkeling van de nu voorliggende standaarden zal plaatsvinden via het daartoe ingerichte landelijke proces via Change Advisory Board en Strategic Committee.
Referenties
Document
Datum / Document versie
Auteur
[1]
Toolkit CCOL
Versie 8.0
Van Grinsven Software
[2]
Selectieve Detectie-Elementen/Berichten (KAR)
Versie 6.0
Van Grinsven Software
[3]
Selectieve Detectie-Elementen/Berichten
Versie 6.0
Van Grinsven Software
[4]
IVERA Functionele Specificatie
d.d. 7 juli 2014
Versie 3.01
Stichting Beheer IVERA
protocol, Zoetermeer Nederland
[5]
IVERA Objectdefinitie
d.d. 9 juli 2014
Versie 3.01
Stichting Beheer IVERA protocol, Zoetermeer Nederland
[6]
SPAT Profile
Versie 2.2.0
Talking Traffic[subWG Dutch Profile]
[7]Addendum SPAT Profile - TimeIntrval ConfidenceVersie 1.2Talking Traffic[subWG Dutch Profile]
Standaarden
Refer here coding standards and GUI standards
Document
Afkortingen
Refer here coding standards and GUI standards
Omschrijving
ASCII
American Standard Code for Information Interchange
CCITT
International Telegraph Telephone Consultative Comittee
CCOL
Bibliotheek voor verkeersregelingen ook wel de Toolkit CCOL genoemd. De toolkit CCOL is een verzameling voorgedefinieerde variabelen en functies in de programmeertaal C.
CRC
Cyclic Redundancy Check
CVN
Contactgroep Verkeersregeltechnici Nederland
CVN-C interface
Interface afspraak tussen de procesbesturing en een verkeersregeling. B.v. CCOL of RWSC.
FTP
File Transfer Protocol
GPS
Gewenste Programma Status
OSI
Open Systems Interconnection
OV
Openbaar Vervoer
RWSC
Rijkswaterstaat Toolkit voor het maken van verkeersregelingen
V-Log
Verkeerskundige Log
VRI
VerkeersRegelInstallatie
WPS
Werkelijke Programma Status
Inhoudsopgave
1 – Inleiding
2 – V-Log formaat
2.1 – Tijdreferentiebericht
2.1.1 – <type> aanduiding
2.1.2 – <datum / tijd> aanduiding
2.2 – Tijd correctiebericht
2.2.1 – <type> aanduiding
2.2.2 – <oude datum/tijd> aanduiding
2.3 – V-Log informatie bericht
2.3.1 – <type> aanduiding
2.3.2 – <versie> aanduiding
2.3.3 – <vri_id> aanduiding
2.4 – Status bericht
2.4.1 – <type> aanduiding
2.4.2 – <delta-tijd / aantal> aanduiding
2.4.3 – <data-1>…<data-aantal> aanduiding
2.5 – Wijzigingsbericht
2.5.1 – <type> aanduiding
2.5.2 – <delta-tijd / aantal> aanduiding
2.5.3 – <[index/] data-1>…<[index/] data-aantal> aanduiding
2.6 – Realtime controlebericht
2.6.1 – <type> aanduiding
2.6.2 – <delta-tijd> aanduiding
2.6.3 – <CRC> aanduiding
2.7 – Controlebericht
2.7.1 – <type> aanduiding
2.7.2 – <CRC> aanduiding
2.8 – Configuratie bericht
2.8.1 – <type> aanduiding
2.8.2 – <regeltype / regelnummer> aanduiding
2.8.3 – <tekst> aanduiding
3 – V-Log berichten
3.1 – Interne status fasecyclus/aanvraag/realisatiewijze (GUS)
3.2 – Externe signaalgroepstatus (WUS)
3.3 – Status instructievariabelen m.b.t. verlenggroen
3.3.1 – CCOL variant
3.3.2 – RWSC variant
3.4 – Detectie informatie
3.5 – Overige ingangen
3.6 – Overige uitgangen (GUS)
3.7 – Overige uitgangen (WUS)
3.8 – Selectieve detectie informatie (KAR)
3.9 – Selectieve detectie informatie
3.10 – Thermometer berichten
3.11 – Snelheid detectie berichten
3.12 – Gewenste programma status (GPS)
3.13 – Werkelijke programma status (WPS)
3.14 – Aanvullende openbaar vervoer en hulpdienst informatie
3.15 – Fasecyclus timing berichten
3.16 – Reden voor extra wachttijd
3.17 – Omgevingsfactoren
3.18 – Multivalente ingangen (IS)
3.19 – Multivalente uitgangen (GUS)
3.20 – Multivalente uitgangen (WUS)
3.21 – Actuele module
3.22 – Lengte detectie
3.23 –Swico schakelaars
3.24 – Start nieuwe cyclus van een (deel)kruispunt
3.25 – Momenten van Signaalplansturing
3.26 – Realisatiewijze: primair of alternatief gerealiseerd
3.27 – Einde detectiehiaat
3.28 – Zelf gedefinieerde berichten
4 – CCOL V-Log communicatie
4.1 – IBER / UBER van de CVN-interface
4.2 – CIF_FILE_UBER van de CVN-interface
4.3 – Zelfgedefinieerde berichten
4.4 – CCOL V-Log commando’s
4.4.1 – VLOGASCII commando
4.4.2 – VLOGBIN commando
4.4.3 – VLOGCFG commando
4.4.4 – VLOGCLEAR commando
4.4.5 – VLOGHELP commando
4.4.6 – VLOGSTAT commando
4.4.7 – VLOGVER commando
4.5 – Verklaring gebruikte karakters en tekens
1 – Bijlage: VLOGCFG voorbeeld
2 – Bijlage: File logging
2.1 – Naamgeving V-Log bestanden
2.1.1 – Naamgeving V-Log data bestanden
2.1.2 – Naamgeving V-Log configuratie bestanden
2.2 – Inhoud V-Log configuratie bestand
2.3 – Ophalen van Logbestanden
2.4 – V-Log binair bestand
2.4.1 – Voorbeeld binair bestand
2.5 – V-Log ASCII bestand
2.5.1 – Voorbeeld ACSII bestand
3 – Bijlage: Checksum berekening CRC-CCITT
1 Inleiding
Dit document beschrijft het V-Log protocol en definities en is vanaf versie 7.0 een integraal onderdeel van de Toolkit CCOL (RWS C-regelaar vanaf versie 1.1). Het V-Log protocol en definities is ontstaan uit een gemeenschappelijk initiatief tussen Vialis bv en Van Grinsven Software .
Het V-Log protocol en de definities is ontstaan vanuit de behoefte van verkeerskundigen om Dynamisch Verkeersmanagement te kunnen uitvoeren en te monitoren. Daartoe bevat de V-Log alle relevante verkeerskundig te loggen berichten en gegevens, welke een VRI registreert, met daarbij het tijdstip, berichttype en de bijbehorende gegevens.
De opbouw van de V-Log is zodanig, dat het mogelijk is de berichten per gebeurtenis continue in te winnen (real-time) uit de VRI, maar doordat de VRI gebruik maakt van buffering is het ook mogelijk de gegevens op vaste tijdstippen op te halen uit de VRI voor een bepaalde periode (file based, vanaf versie 2.0.0).
Om te kunnen voldoen aan de steeds hogere eisen welke de markt stelt aan de compleetheid van de geleverde gegevens van een VRI enerzijds en de snelheid van overdracht anderzijds, is de V- Log gecomprimeerd door gebruik te maken van tijdreferenties en bit geori nteerde gegevens, zonder te veel concessies te doen aan de prestaties en complexiteit. Het protocol bevindt zich op OSI-laag 7 (de applicatielaag) waardoor foutcontrole en correctie aan de onderliggende lagen wordt overgelaten.
De V-Log gegevens kunnen binair of in ASCII formaat worden aangeboden. Een verkeerskundige heeft dus de mogelijkheid om de ASCII informatiestroom in bijvoorbeeld een Telnet applicatie te monitoren. Ieder bericht is dan door de V-Log bron vertaalt in een leesbare ASCII regel. Een Verkeerscentrale echter, kan de gegevens binair inwinnen, waardoor de snelheid van overdracht met minimaal een factor twee wordt verbeterd.
De V-Log gegevens kunnen ook in bestanden worden gezet en via FTP worden opgehaald uit de VRI.
Indien de V-Log bron een CCOL applicatie is, is het mogelijk de V-Log gegevens gefilterd aangeleverd te krijgen door specifiek aan te geven welk type bericht moet worden opgestuurd. Berichten gaan niet verloren, omdat de filtering plaats vindt op de uitgaande gegevensstroom en niet op de werkelijk gelogde gegevens. Het mag duidelijk zijn dat door het filteren van berichten een snelheidwinst wordt geboekt.
De V-Log is dus een vrij beschikbaar en open protocol. Het is tevens een fabricaat onafhankelijk protocol, omdat het ge ntegreerd is in CCOL vanaf versie 7.0 en in RWSC vanaf versie 1.1. De Verkeerskundige Log gegevens van een VRI zijn op uniforme wijze in te winnen, ongeacht het gebruikte type apparaat en het fabricaat.
Samenvattend heeft V-Log de volgende specificaties:
  • Gestandaardiseerd door integratie in Toolkit CCOL en RWS C-regelaar.
  • Apparaat en fabrikant onafhankelijk protocol op OSI-laag 7.
  • Inwinnen op vastetijdstippen.
  • Inwinnen continue /real-time.
  • Inwinning via bestanden (vanaf V-Log versie 2.0.0).
  • Compact zonder te verliezen aan prestaties en complexiteit
  • Twee uitvoeringsvormen; binair of ASCII formaat.
  • Filtering van de berichttypen.
Specifieke kenmerken van de V-Log berichten:
  • Eenvoudige berichtopbouw met o.a.: tijdstip, berichttype en de gegevens.
  • De tijdresolutie van de gelogde V-Log berichten is op 1/10 seconde nauwkeurig. Het kan voorkomen dat een V-Log element in 1/10 seconde meerdere opvolgende toestandsveranderingen heeft (deze worden dan met dezelfde tijdsaanduiding gelogd) en er zal dus rekening mee moeten worden gehouden bij het verwerken van de V-Log.
  • Bevat iedere 5 minuteneen tijd referentiebericht, V-Log informatiebericht en statusberichten om de gegevens te synchroniseren. Het tijdreferentie bericht wordt verstuurd op de eerstvolgende hele 5 minuten van de systeemklok (bijvoorbeeld om 12:00:00en 12:05:00).
  • Bevatten o.a. de berichttypen: detectielussen, interne/externe signaalgroepen, status instructievariabelen m.b.t. verlenggroen, overige in- en uitgangen, selectieve detectielussen, fasecyclus timing, thermometer1)Thermometer bericht geeft informatie over het functioneren van de regeling en wordt door de applicatie bepaald., snelheidsdetectie, GPS, WPS en zelf gedefinieerde.
  • Gegevens zijn geïndexeerd volgens het formaat van de CVN interface, maar in het bericht altijd startend vanaf nul.
2. V-Log formaat
Het V-Log formaat is zodanig opgebouwd dat een zo ideaal mogelijke compressie / prestatie verhouding wordt verkregen. Naast het feit dat het bit georiënteerde gegevens bevat en de gegevenslengte implicie. Wijzigingsbericht < delta-tijd > is 425 (42.5 seconden)
2) is gedefinieerd wordt ook de tijd gecomprimeerd opgeslagen en verstuurd.
Om een tijd compressie te realiseren worden de V-Log berichten opgedeeld in tijd referentieberichten, statusberichten en wijzigingsberichten. Hierdoor wordt een V-Log berichtcyclus ge ntroduceerd welke om de 5 minuten wordt gestart.
De V-Log berichtcyclus start altijd met n tijd referentiebericht, gevolgd door de statusberichten en wijzigingsberichten. Statusberichten kunnen ook voorkomen tussen de wijzigingsberichten.
Onderstaande figuur toont het V-Log formaat:
Tijd referentiebericht ( V-Log cycli)
Het tijd referentiebericht bevat een exacte datum en tijdstip waar de opvolgende status- en wijzigingsberichten mee gesynchroniseerd worden. Het wordt om de (hele) 5 minuten opnieuw opgeslagen en geeft de start van een V-Log cyclus aan. Bij het lezen en verwerken van het V-Log bestand kan dus binnen een resolutie van 5 minuten, direct met de interpretatie worden gestart zonder het bestand van het begin af aan te moeten inlezen en interpreteren.
Tijd correctiebericht
Het tijd correctiebericht is nieuw vanaf V-Log versie 3.0.0 en bevat de oude tijd wanneer een tijdwijziging heeft plaatsgevonden. Dit tijd correctiebericht wordt verstuurd bij een tijd correctie direct voorafgaand aan het nieuwe tijd referentiebericht. M.b.v. dit bericht is het voor de afnemer duidelijk dat de tijd is aangepast en naar welk tijdstip. De tijd in het tijd correctie bericht is verhoogd met de systeemrondetijd aangezien de oude tijd in vorige systeemronde is bepaald.
V-Log informatiebericht
Het V-Log informatiebericht is nieuw vanaf V-Log versie 2.0.0 en bevat de volgende velden:
  • V-Log versie,
  • VRI id (of naam).
Dit bericht kan in volgende versie worden uitgebreid met nieuwe velden. Dit bericht wordt iedere V- Log cyclus toegevoegd aan de V-Log na het tijd referentiebericht.
Statusbericht
Het statusbericht bevat een momentopname van alle gegevens behorende bij een bepaald type (bv. de detectors of de signaalgroepen). Een statusbericht bevat een relatieve tijd t.o.v. het tijd referentiebericht. De statusberichten komen over het algemeen direct na een tijd referentiebericht, maar mogen ook tussen de wijzigingsberichten staan.
Wijzigingsbericht
Het wijzigingsbericht bevat alle gewijzigde gegevens van een bepaald type (b.v. n of meerdere detectors) welke op een bepaald moment plaats vinden. Een wijzigingsbericht bevat een relatieve tijd t.o.v. het laatst ontvangen tijd referentiebericht. De wijzigingen zijn t.o.v. het vorige status of wijzigingsbericht van het zelfde type.
Realtime controlebericht
Om de V-Log data te kunnen controleren wordt een foutdetectiecode toegepast in de vorm van een Cyclic Redundancy Check (CRC). Het verkeersregeltoestel stuurt de CRC met het Realtime controlebericht. De CRC wordt berekend over alle voorheen verzonden data.
Na ontvangst van een Realtime controlebericht kan de data tussen dit Realtime controlebericht en het voorgaande Realtime controlebericht worden gecontroleerd.
Met de CRC kan de verwerkende kant controleren of de V-Log data correct en compleet is ontvangen.
Na een reeks berichten dient een Realtime controlebericht verstuurd te worden binnen 0.1s na het laatste bericht in de reeks.
Noot: Hoe het einde van de reeks bepaald wordt is afhankelijk van het regelalgoritme en valt buiten deze specificatie.
Indien er geen V-Log berichten zijn verstuurd binnen 1 seconde, dan wordt ook een Realtime controlebericht verstuurd. Met de CRC kan de verwerkende kant van de V-Log data ook controleren of er geen V-Log berichten zijn gemist en er geen statuswijzigingen hebben plaatsgevonden.
Controlebericht
Om de V-Log data te kunnen controleren wordt een foutdetectiecode toegepast in de vorm van een CRC. De CRC is een controlegetal over alle voorheen verzonden data en is identiek aan de CRC die in het Realtime controlebericht verstuurd wordt.
Het Controlebericht dient aan het einde van een V-Log cyclus verstuurd te worden om alle voorafgaande data te kunnen valideren.
Configuratiebericht
In het V-Log protocol kunnen de configuratiegegevens worden meegezonden met de V Log-data. Dat gebeurt dan bijvoorbeeld n keer per uur.
Het verzenden van de configuratiegegevens staat los van de V-Log berichtcyclus van 5 minuten.
Het V-Log configuratiebericht is nieuw vanaf V-Log versie 3.0.0.
De V-Log wordt binair opgeslagen in de VRI en kan door de centrale worden opgevraagd door middel van CCOL commando s en V-Log bestanden. Daarnaast kan de V-Log in ASCII worden opgehaald (zie Hoofdstuk 4 CCOL V-Log communicatie ) of opgestuurd t.b.v. een Telnet applicatie.
2.1 Tijdreferentiebericht
Een tijd referentiebericht heeft het volgende formaat: <type><datum / tijd>.
Een tijd referentiebericht bevat dus altijd de absolute datum en tijd van de gestarte V-Log cyclus.
De datum en tijd komt exact overeen met de op dat moment aanwezige tijd in de automaat.
Aanduiding
Lengte in bits
Betekenis
<type>
8
Hier wordt het type tijd referentiebericht aangegeven welke altijd het oneven getal 1 heeft. Maximaal aantal typen is 255.
<datum / tijd >
64
Hier wordt de absolute datum en tijd aangegeven, welke in het bericht gecodeerd zijn opgeslagen.
2.1.1<type> aanduiding
Er is maar n tijd referentiebericht type.
Berichttype
Data element lengte in bits
Data beschrijving
1
n.v.t.
Tijd referentie, dit bericht is alleen bedoeld om een absoluut tijdstip in de V-Log op te slaan en bevat derhalve geen data.
2.1.2<datum / tijd> aanduiding
Deze informatie bestaat uit een aantal elementen om de absolute datum en tijd weer te geven, in onderstaande tabel is weergegeven hoe dit is opgebouwd. Hierbij merken we op dat bit 63 het MSB en bit 0 het LSB weergeeft.
Element
Bit index
Betekenis
Jaartal
63 t/m 48
Wordt binair gecodeerd in 4 nibbles waarbij elk nibble een digit uit het jaartal representeert. Het jaartal 2001 wordt hexadecimaal als 0x2001 gerepresenteerd.
Maand
47 t/m 40
Wordt binair gecodeerd in 2 nibbles waarbij elke nibble een digit
van de maan representeert. Maand 12 wordt hexadecimaal als 0x12 gerepresenteerd.
Dag
39 t/m 32
Wordt binair gecodeerd in 2 nibbles waarbij elke nibble een digit
van de dag representeert. Dag 31 wordt als hexadecimaal 0x31 gerepresenteerd.
Uur
31 t/m 24
Wordt binair gecodeerd in 2 nibbles waarbij elke nibble een digit van het uur representeert. Uur 23 wordt als hexadecimaal 0x23 gerepresenteerd.
Minuut
23 t/m 16
Wordt binair gecodeerd in 2 nibbles waarbij elke nibble een digit
van het aantal minuten representeert. Minuut 59 wordt als hexadecimaal 0x59 gerepresenteerd.
Seconde
15 t/m 8
Wordt binair gecodeerd in 2 nibbles waarbij elke nibble een digit van het aantal seconden representeert. Seconde 59 wordt als hexadecimaal 0x59 gerepresenteerd.
Tienden
7 t/m 4
Wordt binair gecodeerd in 1 nibble waarbij elke nibble een digit van het aantal tienden representeert. Acht tienden wordt als
hexadecimaal 0x8 gerepresenteerd.
-
3 t/m 0
Gereserveerd.
De totale lengte van het <datum / tijd> veld bedraagt dus altijd 64 bits.
2.2 Tijd correctiebericht
Een tijd correctiebericht heeft het volgende formaat:
<type><oude datum/tijd>
Aanduiding
Lengte in bits
Betekenis
<type>
8
Hier wordt het type tijd correctie bericht aangegeven welke altijd het even getal 0 heeft.
<oude datum/tijd>
64
Hier wordt de oude datum en tijd aangegeven, welke in het bericht gecodeerd zijn opgeslagen.
Direct na een tijd correctiebericht wordt altijd het tijd referentiebericht type 01 verstuurd met de nieuwe datum en tijd.
2.2.1<type> aanduiding
Er is maar n tijd correctiebericht type.
Berichttype
Data element lengte in bits
Data beschrijving
0
n.v.t.
Dit bericht is alleen bedoeld om de tijdstippen van de oude tijd bij een tijd correctie in de V-Log op te slaan en bevat derhalve geen andere data.
2.2.2<oude datum/tijd> aanduiding
Deze informatie bestaat uit een aantal elementen om de oude datum en tijd weer te geven, zoals in de tabel in paragraaf 2.1.2 is weergegeven.
2.3 V-Log informatie bericht
Het V-Log informatie bericht heeft het volgende formaat:
< type> <versie>< vri_id>
Aanduiding
Lengte in bits
Betekenis
<type>
8
Hier wordt het type V-Log informatiebericht aangegeven welke altijd het getal 4 heeft. Maximaal aantal typen is 255
<versie>
8*3
Bevat de versie van V-Log in 3 bytes.
<vri_id>
8*20
Unieke identificatie van de VRI. Tekst van maximaal 20 karakters. Het verdient de aanbeveling dat de wegbeheerder hiervoor zorg draagt.
2.3.1<type> aanduiding
Er is maar n V-Log informatiebericht type.
Berichttype
Data element lengte in bits
Data beschrijving
4
n.v.t.
V-Log informatie bericht type is altijd 4, zonder verder data elementen
2.3.2<versie> aanduiding
De versie informatie bestaat uit 3 bytes om de versie weer te geven, in onderstaande tabel is weergegeven hoe dit is opgebouwd. Hierbij merken we op dat bit 63 het MSB en bit 0 het LSB weergeeft.
Element
Bit index
Betekenis
major
23 t/m 16
Wordt binair gecodeerd in 1 byte, welke de major versie aanduiding representeert. Het major nummer 10 wordt dus binair als 0x0a gerepresenteerd.
minor
15 t/m 8
Wordt binair gecodeerd in 1 byte, welke de minor versie aanduiding representeert. Het minor nummer 32 wordt dus
binair als 0x20 gerepresenteerd.
patch
7 t/m 0
Wordt binair gecodeerd in 1 byte, welke de patch versie aanduiding representeert. Het patch nummer 255 wordt dus binair als 0xff gerepresenteerd.
De totale lengte van het <versie> veld bedraagt dus altijd 24 bits.
2.3.3<vri_id> aanduiding
De vri_id informatie bestaat uit 20 karakters om de naam weer te geven
Element
Bit index
Betekenis
vri_id
159 t/m 0
Identificatie van de VRI. Tekst van maximaal 20 karakters. Toegestane karakters zijn:
a..z, A..Z en 0..9. Leestekens zijn niet toegestaan.
De naam mag korter zijn dan 20 karakters, maar moet met SPATIES (0x20) worden aangevuld tot en met het 20ste karakter. De SPATIES mogen aan de ontvangende / verwerkende kant worden verwijderd.
De totale lengte van het <vri_id> veld bedraagt altijd 160 bits.
2.4 Status bericht
Een statusbericht heeft het volgende formaat: <type><delta-tijd / aantal><data>.
Een statusbericht bevat de delta-tijd t.o.v. van het tijd referentiebericht. Het bevat daarnaast het aantal en alle data van het type. De data zijn impliciet ge ndexeerd, indien gespecificeerd kan voor een bepaald type een index in de data opgenomen zijn.
Aanduiding
Lengte in bits
Betekenis
<type>
8
Hier wordt het type bericht aangegeven. Voor statusberichten geldt dat dit altijd een oneven
getal is (1,3,5,7, etc.). Maximaal aantal typen is 255.
<delta-tijd / aantal>
24
Hier wordt de relatieve tijd en het aantal records welke in het bericht gecodeerd zijn opgeslagen. Tevens wordt het aantal data elementen in het record hier gerepresenteerd.
De delta-tijd bestaat uit 12 bits en het aantal uit 10 bits. (tussen delta-tijd en aantal zijn 2 reserve bits opgenomen)
Het aantal van 10 bits betekent een maximum van 1023 data-elementen per statusbericht.
< [index/]data-1> <[index/]data-aantal>
Min. 0
Max. 40
Hier wordt de feitelijke data gerepresenteerd als een reeks van data elementen. Elk data element kan gerepresenteerd worden met een lengte van 0 t/m 40 bits.
In bijzondere gevallen is het niet wenselijk dat alle data elementen van een bepaald type worden meegestuurd, daarom is in sommige gevallen een index in de data opgenomen die aangeeft welk data element de data representeert.
Het gebruik van de index is standaard expliciet gedefinieerd voor statusberichten.
2.4.1< type> aanduiding
De type aanduiding bestaat uit een oneven getal. De volgende berichttypen voor statusberichten zijn gedefinieerd. Het bereik van het aantal elementen is tussen [ ] aangegeven. Indien het aantal elementen het bereik van het betreffende type overschrijdt worden alleen de elementen die binnen het bereik vallen in het bericht opgenomen.
Berichttype
Data element lengte in bits
Data beschrijving
1
-
Tijd referentiebericht zie 2.1.
3
-
ETX Einde berichtenblok (Vervallen vanaf versie 3.0.0)
5
4
Detectie informatie [0..254], zie 3.4.
Berichttype
Data element lengte in bits
Data beschrijving
7 2)
1
Overige ingangen [0..127], zie 3.5.
9
12
Interne status fasecyclus/aanvraag/realisatiewijze [0..254] (GUS), zie 3.1.
11 2)
1
Overige uitgangen [0..127] (GUS), zie 3.6.
13
4
Externe signaalgroep status [0..254] (WUS), zie 3.2.
15 2)
1
Overige uitgangen [0..127] (WUS), zie 3.7.
17
4
Gewenste programma status (GPS), zie 3.12.
19
4
Werkelijke programma status (WPS), zie 3.13.
21
-
Gereserveerd (zie type 22)
23
4
Thermometer bericht, zie 3.10.
25
-
Gereserveerd (zie type 26)
27
-
Gereserveerd (zie type 28)
29
-
Gereserveerd (zie type 30)
31
-
Gereserveerd (zie type 32)
33
-
Gereserveerd (zie type 34)
35
-
Gereserveerd (zie type 36)
37
16
Reden voor wachttijd, zie 3.16.
39
8
Omgevingsfactoren, zie 3.17.
41 2)
1
Overige ingangen [0..1022], zie 3.5.
43 2)
1
Overige uitgangen [0..1022] (GUS), zie 3.6.
45 2)
1
Overige uitgangen [0..1022] (WUS),zie 3.7.
47-51
Gereserveerd
53
321)
Multivalente ingangen [0..1022] (IS), zie 3.18.
55
321)
Multivalente uitgangen [0..1022] (GUS), zie 3.19.
57
321)
Multivalente uitgangen [0..1022] (WUS), zie 3.20.
59
81)
Actuele module, zie 3.21.
61
Gereserveerd (zie type 62)
63 2 Swico schakelaars - Detectie [0-254], zie 3.23
65
2
Swico schakelaars - Overige ingangen [0-1022], zie 3.23
67 - Gereserveerd (zie type 68)
69 - Gereserveerd (zie type 70)
71 4 Realisatiewijze: Primair of alternatief gerealiseerd - Signaalgroep [0..254], zie 3.26.
73 - Gereserveerd (zie type 74)
75-123
-
Gereserveerd
125 3)
16+n*8
Configuratie, zie 2.8.
127
-
Controlebericht, zie 2.7.
129-253
-
Zelfgedefinieerde berichten met alleen oneven nummers, zie 3.28.
255
-
Gereserveerd
1) Index is onderdeel van de data en is expliciet beschreven in de paragraaf van het desbetreffende berichttype.
2) Type 7, 11, 15 indien er alleen lage indexen zijn: 0..127, Type 55, 57, 59 indien er ook hogere indexen zijn: 0..1022.
3) Een configuratie bericht bevat geen <delta/aantal> en heeft om deze reden niet het formaat van een standaard status bericht.
2.4.2<delta-tijd / aantal> aanduiding
Deze informatie bestaat uit een aantal elementen om de delta tijd weer te geven, in onderstaande tabel is weergegeven hoe dit is opgebouwd. Hierbij merken we op dat bit 23 het MSB en bit 0 het LSB weergeeft.
Element
Bit index
Betekenis
delta-tijd
23 t/m 12
Tijd sinds laatste tijd referentiebericht.
De maximale gerepresenteerde tijd bedraagt 4095 tienden van een seconde.
-
11 t/m 10
Reserve.
aantal
9 t/m 0
Aantal data elementen welke in het bericht gecodeerd zijn. Elke type heeft een eigen lengte voor ieder data element, zie ook 2.4.1.
Het maximaal aantal data elementen is gelijk aan 1023.
De totale lengte van het <delta-tijd / aantal> veld bedraagt dus altijd 24 bits.
2.4.3 <data-1> <data-aantal> aanduiding
Hier wordt de feitelijk data gerepresenteerd. Het eerst element is het element op index 0 van de referentie structuur (meestal de CVN-interface, zie H1 Inleiding, laatste alinea bullet 5). Element n is het element op index n-1 van de referentie structuur. De lengte van ieder data element is afhankelijk van het bericht type en kan vari ren van 0 tot 40 bits, zie 2.4.1 e.v.
Voorbeeld indexconversie CVN-interface naar V-Log bericht:
CVN-interface index
V-Log bericht index
64
0
65
1
126
62
127
63
2.5 Wijzigingsbericht
Een wijzigingsbericht heeft het volgende formaat:
< type> <delta-tijd / aantal> <data-1> <data-aantal>
of.
< type> <delta-tijd / aantal>< index/data-1>< index/data-aantal>
Indien de gegevens wijzigen van een bepaald type worden deze opgeslagen in een wijzigingsbericht welke dus de delta-tijd bevat t.o.v. van het tijd referentiebericht. De wijzigingen hebben betrekking op of het vorige statusbericht of het vorige wijzigingsbericht van hetzelfde type. Een wijzigingsbericht bevat alleen gewijzigde gegevens van dit type, indien gespecificeerd kan voor een bepaald data type een index opgegeven zijn.
Aanduiding
Lengte in bits
Betekenis
<type>
8
Hier wordt het type bericht aangegeven. Voor wijzigingsberichten geldt dat dit altijd een even
getal is (2,4,6,8,etc.). Maximaal aantal typen is 255.
<delta-tijd / aantal>
16
Hier wordt de relatieve tijd in 1/10 seconden
aangegeven sinds het laatste tijd
Aanduiding
Lengte in bits
Betekenis
referentiebericht. Tevens wordt hier het aantal data elementen in het bericht gerepresenteerd.
De delta-tijd bestaat uit 12 bits en het aantal uit 4 bits. Dit betekent een maximum van 15 gewijzigde data-elementen per wijzigingsbericht. Bij meer dan 15 gewijzigde
data-elementen worden er dus meerdere wijzigingsberichten gegeven.
< [index/] data-1>< [index/] data-aantal>
Min. 0
Max. 40
Hier wordt de feitelijke data gerepresenteerd als een reeks van data elementen. Elk data element bestaat uit alleen data (lengte van 0 t/m 40 bits) of is gecombineerd met een index
welke aangeeft welk data element gewijzigd is (zie ook 2.4.3).
2.5.1 <type> aanduiding
De type aanduiding bestaat uit een even getal. Er wordt onderscheid gemaakt uit de volgende typen wijzigingberichten, zie onderstaande tabel. Het uitvoer formaat in de tabel wordt hieronder nader verklaard.
2.5.1.1 Uitvoer formaat
In de kolom uitvoer formaat is gespecificeerd hoeveel bits van het <index/data> of <data> element in het eerste byte / tweede byte / derde byte, etc. van de uitvoer wordt gerepresenteerd. In onderstaande figuur wordt het uitvoer formaat zichtbaar gemaakt:
- gereserveerd
index-bits
- gereserveerd
data-bits
Voorbeeld
Type 6 (detectie bericht) wordt bijvoorbeeld gerepresenteerd als 2 bytes waarbij de eerste 8 bits (de index) in het eerste byte wordt gerepresenteerd en de volgende 4 bits (de data zelf) in het tweede byte. Het uitvoer formaat ziet er dan als volgt uit:
8
-
4
We merken hierbij nog op dat elk data element begint op een nieuw byte i.t.t. statusberichten, waarbij de uitvoer als een bit-stream wordt gerepresenteerd.
Het bereik van het aantal elementen is tussen [ ] aangegeven. Indien het aantal elementen het bereik van het betreffende type overschrijdt worden alleen de elementen die binnen het bereik vallen in het bericht opgenomen.
Wijzig- ing type
Index lengte in bits
Data lengte in bits
Uitvoer formaat en lengte in bits
Totale lengte in bits
1)
Beschrijving
0
0
-
-
-
Tijd correctiebericht zie 2.2.
2
0
-
-
-
STX t.b.v. start berichtenblok (Vervallen vanaf versie 3.0.0)
Wijziging type
Index lengte in bits
Data lengte in bits
Uitvoer formaat en lengte in bits
Totale lengte in bits
1)
Beschrijving
4
0
-
-
-
V-Log informatie, zie 2.3
6
8
4
8
-
4
16
Detectie informatie [0..254], zie 3.4.
8 2)
7
1
7
1
8
Overige ingangen [0..127], zie 3.5.
10
8
12
8
-
4
8
24
Interne status fasecyclus / aanvraag / realisatiewijze [0..254] (GUS), zie 3.1.
12 2)
7
1
7
1
8
Overige uitgangen [0..127] (GUS), zie 3.6.
14
8
4
8
-
4
16
Externe signaalgroep status [0..254] (WUS), zie 3.2.
16 2)
7
1
7
1
8
Overige uitgangen [0..127] (WUS), zie 3.7.
18 1)
4
4
4
4
8
Gewenste programma status (GPS), zie 3.12.
20
4
4
4
4
8
Werkelijke programma status (WPS), zie 3.13.
22
0
-
-
-
SYN t.b.v . einde bericht
24
8
4
8
-
4
16
Thermometer bericht, zie 3.10.
26
8
16
8
8
8
24
Snelheid detectie bericht, zie 3.11.
28
n.v.t. (0)
368
8*46
368
Selectieve detectie bericht (KAR), zie 3.8.
30
n.v.t. (0)
72
8*9
72
Selectieve detectie bericht, zie 3.9.
32
8
8
8
8
16
Status instructievariabelen, zie 3.3.
34
8
16
8
8
8
24
Aanvullende openbaar vervoer en hulpdienst informatie, zie 3.14.
36
8
n
8
Variabel
n
Fasecyclus timing zie 3.15.
38
8
16
8
8
8
24
Reden voor wachttijd, zie 3.16.
40
n.a.(0)
8
8
8
Omgevingsfactoren, zie 3.17.
42 2)
10
1
-
3
7
1
16
Overige ingangen [0..1022], zie 3.5.
44 2)
10
1
-
3
7
1
16
Overige uitgangen [0..1022] (GUS), zie 3.6.
46 2)
10
1
-
3
7
1
16
Overige uitgangen [0..1022] (WUS), zie 3.7.
48-52
-
-
-
-
Gereserveerd
54
10
16
-
2
8
8
8
32
Multivalente ingangen [0..1022] (IS), zie 3.18.
56
10
16
-
2
8
8
8
32
Multivalente uitgangen [0..1022] (GUS), zie 3.19.
58
10
16
-
2
8
8
8
32
Multivalente uitgangen [0..1022] (WUS), zie 3.20.
60
3
5
3
5
8
Actuele module, zie 3.21.
62
8
16
8
8
8
24
Lengte detectie, zie 3.22.
64 8 2 2 6 2 16 Swico schakelaars - Detectie [0..254], zie 3.23
66 10 2 4 6 2 16 Swico schakelaars - Overige ingangen [0 .. 1022], zie 3.23
68 n.a. (0) 4 - 4 8 Start nieuwe cyclus (deel)kruispunt, zie 3.24.
70 8 4 8 - 4 16 Momenten van de Signaalplansturing -Signaalgroep [0..254], zie 0.
72 8 4 8 - 4 16 Realisatiewijze: primair of alternatief gerealiseerd - Signaalgroep [0..254], zie 3.26.
74 8 n.a. (0) 8 - 8 Einde detectiehiaat - Detectie [0..254], zie 3.27.
76-124
-
-
-
-
Gereserveerd
126
-
-
-
-
Gereserveerd (zie type 125)
128
-
-
-
-
Realtime controle bericht, zie 2.6.
Wijzigng type
Index lengte in bits
Data lengte in bits
Uitvoer formaat en lengte in bits
Totale lengte in bits
1)
Beschrijving
130-254
-
-
-
-
Zelfgedefinieerde berichten met alleen even nummers, zie 3.28.
1) Formaat/Index aanduiding zie 2.5.3.
2) Type 8, 12, 16 indien er alleen lage indexen zijn: 0..127, Type 42, 44, 46 indien er ook hogere indexen zijn: 0..1022.
2.5.2 <delta-tijd / aantal> aanduiding
Deze informatie bestaat uit de delta tijd sinds het laatste tijd referentie bericht (welke de absolute tijd weergeeft) in tienden van een seconde. In onderstaande tabel is weergegeven hoe dit is opgebouwd. Hierbij merken we op dat bit 15 het MSB en bit 0 het LSB weergeeft.
Element
Bit index
Betekenis
delta-tijd
15 t/m 4
Tijd sinds laatste tijd referentiebericht.
De maximale gerepresenteerde tijd bedraagt 4096 tienden van een seconde.
aantal
3 t/m 0
Het aantal data elementen welke wordt gerepresenteerd in het bericht.
Het maximaal aantal data elementen bedraagt 15.
De totale lengte van het <delta-tijd/aantal> veld bedraagt dus altijd 16 bits.
2.5.3<[index/] data-1>...<[index/] data-aantal> aanduiding
Hier wordt de feitelijke data gerepresenteerd. Elk element bestaat uit alleen data of, afhankelijk van het type, gecombineerd met een index, zie ook 2.5.1. De index geeft in dat geval de index van de referentie structuur waarop de data betrekking heeft (meestal de CVN-interface, zie ook 2 en 2.4.3). Ieder element begint op een nieuw byte in de uitvoer, i.t.t. het bit-stream karakter bij referentieberichten.
Voorbeeld indexconversie CVN-interface naar V-Log bericht:
CVN-interface index
V-Log bericht index
64
0
65
1
126
62
127
63
2.6 Realtime controlebericht
Een Realtime controlebericht heeft het volgende formaat:
<type>< delta-tijd>< CRC>
Een Realtime controlebericht bevat de delta-tijd t.o.v. het tijdreferentiebericht en de foutdetectiecode (CRC) over de verzonden V-Log data.
Aanduiding
Lengte in bits
Betekenis
<type>
8
Hier wordt het type van het bericht aangegeven.
<delta-tijd>
16
De delta-tijd bestaat uit 12 bits (4 reserve bits).
<CRC>
16
De foutdetectiecode (CRC) over de verzonden V-Log berichten.
2.6.1 <type> aanduiding
De type aanduiding bestaat uit een even getal.
Berichttype
Data element lengte in bits
Data beschrijving
128
n.v.t.
Dit bericht is alleen bedoeld om de CRC van V-Log te versturen en bevat derhalve geen andere data.
2.6.2<delta-tijd> aanduiding
Deze informatie bestaat uit een aantal elementen om de delta tijd weer te geven, in onderstaande tabel is weergegeven hoe dit is opgebouwd. Hierbij merken we op dat bit 15 het MSB en bit 0 het LSB weergeeft.
Element
Bit index
Betekenis
delta-tijd
15 t/m 4
Tijd sinds het laatste referentiebericht. De maximale gerepresenteerde tijd bedraagt 4096 tienden van een seconde.
-
3 t/m 0
Reserve.
De totale lengte van het <delta-tijd> veld bedraagt dus altijd 16 bits.
2.6.3<CRC> aanduiding
Een Realtime controlebericht bevat een foutdetectiecode. De foutdetectiecode in een Realtime controlebericht bestaat uit 2 bytes (16 bits) en bevat een CCITT 16 bits CRC (polynoom 0x1021, startwaarde bij applicatiestart: 0xFFFF).
De berekening van de CRC waarde is doorlopend. Bij de berekening van de CRC van een nieuwe berichtenreeks is de startwaarde voor de berekening de voorgaand berekende CRC. Het betreft bepaling over alle data die v r het begin van het bericht is verstuurd. De CRC wordt berekend over alle gegenereerde V-Log berichten in binair formaat met een <SYN> byte (0x16) als afsluiter. De CRC wordt niet berekend over
  • de key stuffing karakters (extra <SYN>)
  • het Realtime controlebericht
  • het Controlebericht
Het Realtime controlebericht wordt alleen gebruikt bij monitoring (streaming V-Log).
De Realtime controleberichten kunnen bij opslag van de V-Log data worden gefilterd.
2.7 Controlebericht
Een Controlebericht heeft het volgende formaat:
<type>< CRC>
Een Controlebericht bevat de CRC over de verzonden V-Log berichten of de initi le CRC aan het begin van de V-Log stream.
Aanduiding
Lengte in bits
Betekenis
<type>
8
Hier wordt het type van het bericht aangegeven.
<CRC>
16
De CRC over de verzonden V-Log berichten.
2.7.1<type> aanduiding
De type aanduiding bestaat uit een oneven getal.
Berichttype
Data element lengte in bits
Data beschrijving
127
n.v.t.
Dit bericht is alleen bedoeld om de CRC van V-Log te versturen en bevat derhalve geen andere data.
2.7.2<CRC> aanduiding
Een Controlebericht bevat een foutdetectiecode. De foutdetectiecode in een Controlebericht bestaat uit 2 bytes (16 bits) en bevat een CCITT 16 bits CRC (polynoom 0x1021, startwaarde bij applicatiestart: 0xFFFF).
De berekening van de CRC waarde is doorlopend. Bij de berekening van de CRC van een nieuwe berichtenreeks is de startwaarde voor de berekening de voorgaand berekende CRC. Het betreft bepaling over alle data die v r het begin van het bericht is verstuurd. De CRC wordt berekend over alle gegenereerde V-Log berichten in binair formaat met een <SYN> byte (0x16) als afsluiter. De CRC wordt niet berekend over
de key stuffing karakters (extra <SYN>)
het Realtime controlebericht
het Controlebericht
Het Controlebericht wordt gebruikt bij zowel opslag van V-Log berichten in files als bij monitoring (streaming V-Log).
2.8 Configuratie bericht
In het V-Log protocol kunnen de configuratiegegevens worden meegezonden met de V Log-data. Dat gebeurt n keer per uur. Om de communicatie niet te veel te belasten wordt per 0.1 seconde slechts 1 regel van het configuratiebestand verzonden met zogenaamde configuratie tekstberichten. De regels worden in volgorde van het configuratiebestand verstuurd. De eerste regel is de header en de laatste regel de footer . De tussen liggende regels zijn de body. De configuratie gegevens zullen altijd als geheel worden verstuurd en kan daarmee een V-Log cyclus overschrijden.
Een configuratie bericht heeft het volgende formaat:
<type> <regeltype/regelnummer><tekst>
Aanduiding
Lengte in bits
Betekenis
<type>
8
Hier wordt het type van het bericht aangegeven.
<regeltype/regelnummer>
16
Hier wordt het regeltype en regelnummer in weggeschreven
<tekst>
nx8
Hier wordt het tekstbericht aangegeven. N is het aantal karakters en kan per regel vari ren. (Er wordt dus geen CR of LF meegezonden). Lege regels in een bestand worden transparant overgezonden.
2.8.1<type> aanduiding
De type aanduiding bestaat uit een even getal.
Berichttype
Data element lengte in bits
Data beschrijving
125
n.v.t.
Dit bericht is alleen bedoeld om de statische configuratiegegevens te versturen en bevat derhalve geen andere data.
2.8.2<regeltype / regelnummer> aanduiding
Element
Bit index
Betekenis
Regeltype
15 t/m 14
Type van het regeltype doorgegeven.
1 - Header
2 - Body
3 - Footer
Regelnummer
13 t/m 0
Regelnummer. Start vanaf de header met regelnummer=1. Het hoogste regelnummer dat kan worden weggeschreven is 16383.
De totale lengte van het <regeltype/regelnummer> veld bedraagt dus altijd 16 bits.
2.8.3<tekst> aanduiding
Eén regel tekst.
3 V-Log berichten
De V-Log berichten zijn via CCOL opgeslagen in de VRI en kunnen via V-Log CCOL commando s worden opgehaald, het is mogelijk de V-Log berichten continue binnen te krijgen of ze zelf op bepaalde tijdstippen op te halen.
De volgende verkeerskundige informatie wordt gelogd. Voor ieder type informatie is vermeld vanaf welke V-Log versie deze van toepassing is.
Type
v.a. V-Log versie
Interne status fasecyclus/aanvraag/realisatiewijze (GUS)
1.0
Externe signaalgroepstatus (WUS)
1.0
Status instructievariabelen m.b.t. verlenggroen
1.0
Detectie informatie [0..254]
1.0
Overige ingangen [0..127]
1.0
Overige ingangen [0..1022]
3.0.0
Overige uitgangen (GUS) [0..127]
1.0
Overige uitgangen (GUS) [0..1022]
3.0.0
Overige uitgangen (WUS) [0..127]
1.0
Overige uitgangen (WUS) [0..1022]
3.0.0
Selectieve detectie informatie
1.0
Thermometer berichten
1.0
Snelheid detectie berichten
1.0
Gewenste programma status (GPS)
1.0
Werkelijke programma status (WPS)
1.0
Aanvullende openbaar vervoer en hulpdienst informatie
2.0.0
Fasecyclus timing
3.0.0
Reden voor wachttijd
3.0.0
Omgevingsfactoren
3.0.0
Actuele modules
3.0.0
Lengte detectie
3.0.0
Multivalente ingangen (IS) [0..1022]
3.0.0
Multivalente uitgangen (GUS) [0..1022]
3.0.0
Multivalente uitgangen (WUS) [0..1022]
3.0.0
Configuratie
3.0.0
Realtime controlebericht
3.0.0
Controlebericht
3.0.0
Swico schakelaaras - Detectie [0 .. 254] 3.1.0
Swico schakelaars - Overige ingangen [ 0 .. 1022] 3.1.0
Start nieuwe cyclus van een (deel)kruispunt 3.2.0
Momenten van de Signaalplansturing - Signaalgroep [0..254] 3.2.0
Realisatiewijze: primair of alternatief gerealiseerd - Signaalgroep [0..254] 3.2.0
Einde detectiehiaat - Detectie [0..254] 3.2.0
Zelf gedefinieerde berichttypen
1.0
3.1 Interne status fasecyclus/aanvraag/realisatiewijze (GUS)
De informatie is beschikbaar op de CVN-C interface in de CIF_MON1[] buffer.
Voor een beschrijving van de inhoud van de informatie wordt verwezen naar de documentatie van de Toolkit CCOL en de RWSC Toolkit.
BIT
11 (MSB)
10
9
8
7
6
5
4
3
2
1
0 (LSB)
BETEKENIS
-
SR
MR
BR
AR
PR
A
CG
CG
CG
CG
CG
Symbool
Betekenis
CG
Interne status fasecyclus
A
Aanvraag
PR
Primaire realisatie
AR
Alternatieve realisatie
BR
Bijzondere realisatie
MR
Meerealisatie
SR
Speciale realisatie (t.b.v. RWSC applicaties)
De volgende definities zijn gemaakt voor de CG waarden t.b.v. CCOL applicaties.
Waarde ( hex )
Betekenis
0x00
RA (rood na aanvraag afwikkeling / rood voor groen)
0x01
VS (voorstartgroen)
0x02
FG (vastgroen)
0x03
WG (wachtgroen)
0x04
VG (verlenggroen)
0x05
MG (meeverlenggroen)
0x06
GL (geel)
0x07
RV (rood voor aanvraag afwikkeling)
Voor een beschrijving van de inhoud van de informatie wordt verwezen naar de documentatie van de Toolkit CCOL.
Als aanvulling op dit bericht zijn de volgende CG waarden gedefinieerd t.b.v. RWSC applicaties.
Waarde ( hex )
Betekenis
0x10
ROG (recht op groen)
0x11
RVG (rood voor groen)
0x12
VG (vastgroen)
0x13
VAG1e (eerste verlenggroen)
0x14
WG (wachtgroen)
0x15
VAG2e (tweede verlenggroen)
0x16
MVG (meeverlenggroen)
0x17
GL (geel)
0x18
WR (wachtrood)
Voor een beschrijving van de inhoud van de informatie wordt verwezen naar de documentatie van de RWSC Toolkit.
3.2 Externe signaalgroepstatus (WUS)
De informatie is beschikbaar op de CVN-C interface in de CIF_WUS[] buffer. De informatie is opgeslagen in 4 bits met de volgende mogelijke waarden.
BIT
3 (MSB)
2 (MSB)
1
0 (LSB)
BETEKENIS
-
STATUS
STATUS
STATUS
De volgende definities zijn gemaakt voor de STATUS waarden.
Waarde ( hex )
Betekenis
0x00
Rood
0x01
Groen
0x02
Geel
0x03
Wit knipperen
0x04
Gedoofd
0x05
Geel knipperen
3.3 Status instructievariabelen m.b.t. verlenggroen
3.3.1 CCOL variant
De informatie is beschikbaar op de CVN-C interface in de CIF_MON2[] buffer. De informatie is opgeslagen in 8 bits met de volgende mogelijke waarden.
BIT
7 (MSB)
6
5
4
3
2
1
0 (LSB)
BETEKENIS
-
-
-
TVG
YV
MK
Z
FM
De volgende verklaring wordt gegeven voor de instructievariabelen.
Symbool
Betekenis
FM
Versneld naar meeverlenggroen.
Z
Afkappen.
MK
Meetcriterium
YV
Vasthouden in verlenggroen.
TVG
Verlenggroentijd
Dit bericht wordt alleen gegenereerd bij start meeverlenggroen.
3.3.2 RWSC variant
De informatie is opgeslagen in 8 bits met de volgende mogelijke waarden.
BIT
7 (MSB)
6
5
4
3
2
1
0 (LSB)
BETEKENIS
-
-
-
MG
VVAG
H1H2
AFK
VMG
De volgende verklaring wordt gegeven voor de instructievariabelen.
Symbool
Betekenis
VMG
Versneld naar meeverlenggroen.
AFK
Afkappen.
H1H2
H1/H2 loopt
VVAG
Vasthouden in Voertuig Afhankelijk Groen (2e)
MG
MG tijd
3.4 Detectie informatie
De informatie is beschikbaar op de CVN-C interface in de CIF_IS[] buffer.
Voor de ingangssignalen van de detectie geldt de onderstaande (binaire) codering, waarbij in de V- Log alleen de laatste 4 bits uit het 16 bits register worden overgenomen:
xxxx xxxx xxxx xxx1 = CIF_DET_BEZET detectie bezet xxxx xxxx xxxx xx1x = CIF_DET_STORING detectie storing
xxxx xxxx xxxx 001x = CIF_DET_HARDWAREFOUT hardware fout
xxxx xxxx xxxx 011x = CIF_DET_BOVENGEDRAG detectie bovengedrag xxxx xxxx xxxx 101x = CIF_DET_ONDERGEDRAG detectie ondergedrag xxxx xxxx xxxx 111x = CIF_DET_FLUTTERGEDRAG detectie fluttergedrag
Waarbij x niet uit maakt welke waarde deze bevat, kan 0 of 1 zijn.
In onderstaande tabel wordt de opmaak en betekenis in het V-Log bericht getoond. Elke waarde bestaat uit 4 bits waaraan bij ieder bit de volgende betekenis wordt toegekend.
BIT
3 (MSB)
2
1
0 (LSB)
BETEKENIS
OG-BG-FL
STORING
BEZET
OG-BG-FL
ONDERGEDRAG (OG) - (detectie) ingang is onbezet gebleven gedurende de bewakingsperiode voor ondergedrag.
BOVENGEDRAG (BG) - (detectie) ingang is langer bezet gebleven dan de bewakingsperiode voor bovengedrag.
FLUTTERGEDRAG (FL) - (detectie) ingang bezet status heeft tijdens de bewakingsperiode voor fluttergedrag teveel wijzigingen.
HARDWAREFOUT (HWFOUT) De detector geeft aan dat de detector (ingang) of lus een hardwarefout vertoont.
STORING
De detector geeft aan dat de detector (ingang) of lus een storing vertoont.
BEZET
De detector geeft aan dat deze bezet (1) dan wel onbezet is (0).
NB: Een storing is een door de detector zelf geconstateerde fout zoals:
onderbroken of kortgesloten luscircuit
niet starten van de lusoscillator
overschrijding van de maximale kanaal meettijd
aanspreken van een watchdog circuit
etc.
3.5 Overige ingangen
De informatie is beschikbaar op de CVN-C interface in de CIF_IS[] buffer. Elke waarde bestaat uit 1 bit welke aangeeft of de ingang hoog (1) of laag (0) is.
NOTITIE: Voor multivalente ingangswaarden (IS) dient bericht 53/54 toegepast te worden.
3.6 Overige uitgangen (GUS)
De informatie is beschikbaar op de CVN-C interface in de CIF_GUS[] buffer. Elke waarde bestaat uit 1 bit welke aangeeft of de ingang hoog (1) of laag (0) is.
NOTITIE: Voor multivalente uitgangswaarden (GUS) kan bericht 69/70 toegepast te worden.
3.7 Overige uitgangen (WUS)
De informatie is beschikbaar op de CVN-C interface in de CIF_WUS[] buffer. Elke waarde bestaat uit 1 bit welke aangeeft of de ingang hoog (1) of laag (0) is.
NOTITIE: Voor multivalente uitgangswaarden (WUS) kan bericht 71/72 toegepast te worden.
3.8 Selectieve detectie informatie (KAR)
De selectieve detectie informatie wordt door CCOL na het optreden hiervan op de CVN-C interface gezet en is 46 bytes lang. Het formaat is volgens de CVN-C versie 3.0.
De selectieve detectie informatie wordt vastgelegd in een V-Log wijzigingsbericht.
Zie ook 3.9 Selectieve detectie informatie voor compactere selectieve detectie berichten.
3.9 Selectieve detectie informatie
De selectieve detectie informatie wordt door CCOL na het optreden hiervan op de CVN-C interface gezet. Het formaat is volgens de CVN-C versie 4.0.
De selectieve detectie informatie wordt vastgelegd in een V-Log wijzigingsbericht.
Element
Opslagruimte (bytes)
Lusnummer
1
Voertuigtype
1
Lijnnummer
2
Voertuignummer
1
Richtingaanduiding
1
Prioriteit
1
Voertuigstatus / halteren
1
Stiptheidsklasse
1
3.10 Thermometer berichten
Een thermometer bericht geeft informatie over het functioneren van de regeling en wordt door de applicatie bepaald. De informatie is beschikbaar op de CVN-C interface in de CIF_CCOL_MON3[] buffer. De informatie is opgeslagen in 4 bits met de volgende mogelijke waarden.
BIT
3 (MSB)
2
1
0 (LSB)
BETEKENIS
-
-
RNA
MVG
De volgende verklaring wordt gegeven voor de thermometervariabelen.
Symbool
Betekenis
MVG
Te vaak maximum verlenggroen bereikt in opvolgende cycli.
RNA
Overschrijden rood na aanvraagtijd.
3.11 Snelheid detectie berichten
De informatie is beschikbaar op de CVN-C interface in de CIF_IS[] buffer. De volgende definitie wordt gehanteerd:
BIT
15 (MSB)
12
10 - 8
7 - 0 (LSB)
BETEKENIS
Richting
Status
Type
Snelheid
Richting:
Is een 1 bit getal, met de waarde 0 = normale richting en 1 = tegen richting.
Status:
Is een 1 bit getal, met de waarden 0 = betrouwbaar en 1 = onbetrouwbaar.
Type:
Is een 3 bit getal, met de volgende waarden:
Betekenis Bit
10 (MSB)
9
8 (LSB)
Geen voertuigpassage
0
0
0
Personen wagen
0
0
1
Vrachtwagen
0
1
0
Bus
0
1
1
Personenwagen + aanhanger
1
0
0
Vrachtwagen + aanhanger
1
0
1
Niet gebruikt
1
1
0
Ongeldig voertuig
1
1
1
Snelheid:
Voertuigsnelheid is een getal van 0 t/m 255 km/uur
3.12 Gewenste programma status (GPS)
De informatie is beschikbaar op de CVN-C interface in de CIF_GPS[] buffer. De informatie is op de volgende wijze gecodeerd. Ieder element is gecodeerd in 3 bits.
Elementen met index 0 geven de programmawens CIF _ GPS[0] weer.
BIT
3 (MSB)
2
1
0 (LSB)
BETEKENIS
-
PROGRAMMA WENS
PROGRAMMA WENS
PROGRAMMA WENS
Hieronder volgen de mogelijke waarden voor de programmawens.
Waarde ( hex )
Betekenis
0x00
Ongedefinieerd
0x01
Gedoofd
0x02
Geel knipperen
0x03
Inschakelen
0x04
Alles rood
0x05
Regelen
0x06 Uitschakelen
0x07 Fatale fout
Elementen met index 1 geven de foutstatus CIF _ GPS[1] weer.
BIT
3 (MSB)
2
1
0 (LSB)
BETEKENIS
-
FOUT STATUS
FOUT STATUS
FOUT STATUS
Hieronder volgen de mogelijke waarden voor de foutstatus.
Waarde ( hex )
Betekenis
0x00
Geen fout
0x01
Fase bewaking door de applicatie
0x02
Procesbesturing wacht te lang met lezen van door het applicatieprogramma geschreven informatie
0x04
Applicatieprogramma leest een niet gedefinieerde code
Element met index 2 (CIF_GPS[2]) is ongedefinieerd (0x00).
Elementen met index 3 geven de control status CIF_GPS[3] weer.
BIT
3 (MSB)
2
1
0 (LSB)
BETEKENIS
-
CONTROL
STATUS
CONTROL
STATUS
CONTROL
STATUS
Hieronder volgen de mogelijke waarden voor de control status.
Waarde (hex)
Betekenis
0x00
Ongedefinieerd
0x02
Applicatie niet gereed
0x07
Applicatie control fout
Element met index 4 (CIF_GPS[4]) is ongedefinieerd (0x00).
Elementen met index 5 geven de PTP-verbinding fouten CIF_GPS[5] weer.
BIT
3 (MSB)
2
1
0 (LSB)
BETEKENIS
PTP
FOUT
PTP
FOUT
PTP
FOUT
PTP
FOUT
De betekenis van de PTP-verbinding informatie bits is als volgt:
Bit
Betekenis
0
PTP-poort 1 fout
1
PTP-poort 2 fout
2
PTP-poort 3 fout
3
PTP-poort 4 fout
3.13 Werkelijke programma status (WPS)
De informatie is beschikbaar op de CVN-C interface in de CIF_WPS[] buffer. De informatie is op de volgende wijze gecodeerd. Ieder element is gecodeerd in 4 bits.
Elementen met index 0 geven de programmastatus CIF_WPS[0] weer.
BIT
3 (MSB)
2
1
0 (LSB)
BETEKENIS
-
PROGRAMMA STATUS
PROGRAMMA STATUS
PROGRAMMA STATUS
Hieronder volgen de mogelijke waarden voor de programmastatus.
Waarde( hex )
Betekenis
0x00
Ongedefinieerd
0x01
Gedoofd
0x02
Geel knipperen
0x03
Inschakelen
0x04
Alles rood
0x05
Regelen
0x06 Uitschakelen
0x07 Fatale fout
Elementen met index 1 geven de foutstatus CIF_WPS[1] weer.
BIT
3 (MSB)
2
1
0 (LSB)
BETEKENIS
FOUT STATUS
FOUT STATUS
FOUT STATUS
FOUT STATUS
Hieronder volgen de mogelijke waarden voor de foutstatus.
Waarde ( hex )
Betekenis
0x00
Geen fout
0x01
WPS te lang verschillend van GPS
0x02
Applicatieprogramma wacht te lang met inlezen van informatie van de procesbesturing
0x04
Procesbesturing leest een niet gedefinieerde code
0x08
Executie applicatieprogramma duurt te lang
Elementen met index 2 geven de bron (van de programmastatus) CIF_WPS[2] weer.
BIT
3 (MSB)
2
1
0 (LSB)
BETEKENIS
-
BRON PROGRAMMA STATUS
BRON PROGRAMMA STATUS
BRON PROGRAMMA STATUS
Hieronder volgen de mogelijke waarden voor de bron van de programmastatus, zoals aangegeven in CIF_WPS[0].
Waarde( hex )
Betekenis
0x00
Ongedefinieerd
0x01
Bedieningspaneel
0x02
Centrale
0x03
Applicatie
0x04
Klok
0x05
Procesbesturing
0x06
Autonome bewaker
Elementen met index 3 geven de control status CIF_WPS[3] weer.
BIT
3 (MSB)
2
1
0 (LSB)
BETEKENIS
-
CONTROL
STATUS
CONTROL
STATUS
CONTROL
STATUS
Hieronder volgen de mogelijke waarden voor de control status.
Waarde (hex)
Betekenis
0x00
Ongedefinieerd
0x01
Niet geconfigureerd
0x02
Niet gereed
0x03
Gereed
0x04
Start Control
0x05
In Control
0x06
Einde Control
0x07
Control fout
Element met index 4 (CIF_WPS[4]) is ongedefinieerd (0x00).
Elementen met index 5 geven de PTP-verbinding fouten CIF_WPS[5] weer.
BIT
3 (MSB)
2
1
0 (LSB)
BETEKENIS
PTP
FOUT
PTP
FOUT
PTP
FOUT
PTP
FOUT
De betekenis van de PTP-verbinding informatie bits is als volgt:
Bit
Betekenis
0
PTP-poort 1 fout
1
PTP-poort 2 fout
2
PTP-poort 3 fout
3
PTP-poort 4 fout
3.14 Aanvullende openbaar vervoer en hulpdienst informatie
De informatie is beschikbaar op de CVN-C interface in de CIF_CCOL_MON5[] buffer. De volgende definitie wordt gehanteerd:
BIT
15 (MSB) - 10
9 - 0 (LSB)
BETEKENIS
Reserve
Openbaar vervoer en hulpdienst informatie
De betekenis van de openbaar vervoer en hulpdienst informatie bits is als volgt:
Bit
Betekenis
0
start voorinmelding openbaar vervoer
1
start inmelding openbaar vervoer
2
start uitmelding openbaar vervoer
3
start uitmeldbewaking openbaar vervoer
4
foutieve uitmelding openbaar vervoer
5
uitgestelde uitmelding openbaar vervoer
6
start voorinmelding hulpdienst
7
start inmelding hulpdienst
8
start uitmelding hulpdienst
9
start uitmeldbewaking hulpdienst
Definitie begrippen:
Voorinmelding openbaar vervoer
Moment dat de regelapplicatie een voorinmelding van het openbaar vervoer voor een richting detecteert.
Inmelding openbaar vervoer
Moment dat de regelapplicatie een inmelding van het openbaar vervoer voor een richting detecteert.
Uitmelding openbaar vervoer
Moment dat de regelapplicatie een uitmelding van het openbaar vervoer voor een richting detecteert.
Uitmeldbewaking openbaar vervoer
Moment dat de bewakingtijd aanspreekt na een ingemeld voertuig van het openbaar vervoer en er geen uitgemeld voertuig van het openbaar vervoer tijdens het lopen van de bewakingstijd voor dezelfde richting is gedetecteerd door de regelapplicatie.
Foutieve uitmelding openbaar vervoer
Uitmelding waarbij de regelapplicatie veronderstelt dat het betreffende voertuig van het openbaar vervoer nog voor de stopstreep aanwezig is.
Mogelijk gebruik: een uitmelding van het openbaar vervoer tijdens rood en de garantie-roodtijd niet meer loopt.
Uitgestelde uitmelding openbaar vervoer
Moment dat de regelapplicatie veronderstelt dat een foutief uitgemeld voertuig van het openbaar vervoer alsnog de stopstreep passeert.
Mogelijk gebruik: het eerstvolgende startgroen na een foutieve uitmelding openbaar vervoer.
Voorinmelding hulpdienst
Moment dat de regelapplicatie een voorinmelding van een hulpdienst voor een richting detecteert.
Inmelding hulpdienst
Moment dat de regelapplicatie een inmelding van een hulpdienst voor een richting detecteert.
Uitmelding hulpdienst
Moment dat de regelapplicatie een uitmelding van een hulpdienst voor een richting detecteert.
Uitmeldbewaking hulpdienst
Moment dat de bewakingtijd aanspreekt na een ingemeld voertuig van een hulpdienst en er geen uitgemeld voertuig van een hulpdienst tijdens het lopen van de bewakingstijd voor dezelfde richting is gedetecteerd door de regelapplicatie.
3.15 Fasecyclus timing berichten
De informatie is beschikbaar op de CVN-C interface in de CIF_FC_TIMING[FC][CIF_MAX_EVENT][8] buffer waarbij per fasecyclus de huidige toestand, inclusief bijbehorende timing en mogelijk n of meerdere toestanden in de toekomst, inclusief bijbehorende timing, beschikbaar is. Een fasecyclus toestand inclusief timing wordt een event genoemd. Ieder event bestaat uit 8 velden, waarvan een aantal optionele velden. Een optie masker per event geeft aan welke van de optionele velden in het event zijn gecodeerd. De CIF_FC_TIMING[][][] buffer heeft een vaste grootte, deze is afhankelijk van het aantal fasecycli en maximum aantal events per fasecyclus. De grootte van het V-Log fasecyclus timing bericht kan per bericht verschillen afhankelijk van het aantal events en het aantal gebruikte velden per event op dat moment.
De CIF_FC_TIMING_WIJZ[FC] bericht buffer geeft aan voor welke fasecyclus de timing is gewijzigd en verstuurd moet worden.
De fasecyclus timing informatie wordt bepaald door de regelapplicatie. De volledige beschrijving van de fasecyclus timing informatie is vastgelegd in Dutch Profile voor SPAT berichten [6]. V-Log verstuurt n wijzigingsbericht nadat de bijbehorende wijzigingsvlag is gezet door de regelapplicatie. De actuele informatie kan door de regelapplicatie continu gewijzigd worden t.b.v. andere gebruikers van de data. Om de grootte van het fasecyclus timing bericht te beperken mag er per bericht slechts timing data voor n fasecyclus worden opgenomen (aantal = 1).
Het data gedeelte van het fasecyclus timing wijzigingsbericht ziet er altijd als volgt uit:
<Aantal events><data event 1><data event 2><data event 3><etc.>
Voorbeeld 1: Een fasecyclus timing bericht met n event waarbij alle event velden beschikbaar zijn is als volgt gecodeerd:
BIT
111-104(MSB)
103-96
95-88
87-0(LSB)
BETEKENIS
Aantal events
Optie masker
Status
Timing
BIT
87-72
71-56
55-40
39-24
23-16
15-0
BETEKENIS
Start
Minimum
Maximum
Voorspeld
Betrouw- baarheid
Volgende
Aantal events:
Geeft per bericht het aantal events aan. Het bereik loopt van 1 tot CIF_MAX_EVENT, de huidige status inclusief timing en mogelijk n of meerdere statussen in de toekomst, inclusief timing. De praktijk zal zijn dat het bericht hooguit twee events bevat, de huidige status en mogelijk de daarop volgende status.
Optie masker:
Geeft per event aan welke van de optionele velden in de fasecyclus timing beschikbaar zijn. Onderstaande tabel geeft de betekenis van de bits in het optie masker.
Bit
Betekenis
0
Gereserveerd voor CVN-C interface, binnen het V-Log bericht is deze altijd 1.
1
Start (1 = beschikbaar, 0 = niet beschikbaar)
2
Minimum ( 1 = beschikbaar, minimum is niet optioneel; 0 = geen timing informatie)
3
Maximum (1 = beschikbaar, 0 = niet beschikbaar)
4
Voorspeld (1 = beschikbaar, 0 = niet beschikbaar)
5
Betrouwbaarheid (1 = beschikbaar, 0 = niet beschikbaar)
6
Volgende (1 = beschikbaar, 0 = niet beschikbaar)
In bovenstaand voorbeeld, n event met alle optionele velden beschikbaar, heeft het optie masker de waarde 127 (binair: 01111111)
Status:
Geeft de huidige of toekomstige status van een signaalgroep weer. Bereik 0 - 11, waarbij:
Waarde
Betekenis
0
Onbekend
1
Gedoofd
2
Rood knipperend signaal
3
Rood
4
Groen overgang (B.v. geel-rood in Duitsland, niet gebruikt in Nederland)
5
Groen met deelconflict
6
Groen zonder deelconflict
7
Geel met deelconflict
8
Geel zonder deelconflict
9
Geel knipperen
10
Groen knipperen deelconflict
11
Groen knipperen
Timing (Optioneel):
Alle timing velden zijn relatief ten opzichte van de generatie van het V-Log bericht. Het tijdstip kan herleidt worden door de <datum / tijd > uit het tijdreferentiebericht (zie 2.1), de <delta-tijd > uit het wijzigingsbericht waarin het timing veld verstuurd zal worden (zie 2.5) en de timing waarde zelf bij elkaar op te tellen3)Voorbeeld herleiden tijdstip: Tijdreferentiebericht < datum /tijd > is 2016-04-14/18:08:23.4 . Wijzigingsbericht < delta-tijd > is 425 (42.5 seconden). Minimum tijd is 73 (7.3 seconden). Het eerste tijdstip waarop de aangegeven status kan wijzigen is dan 2016-04-14/18:09:13.2
Start (Optioneel):
Relatieve tijdstip in 0.1 sec dat aangeeft wanneer een fasecyclus status start of gestart is. Bereik: -32768 32767. Waarbij het volgende geldt:
--32766 t/m 32766: tijd in 0.1 seconde.
--32767: tijd <= -32767
-32767: tijd >= 32767
-32768: tijd onbekend.
Minimum:
De minimale tijd in 0.1 seconde waarin een fasecyclus in de aangegeven status blijft. Bereik: -1 - 32767. Waarbij het volgende geldt:
0 t/m 32767: tijd in 0.1 seconde
-1: tijd onbekend
Maximum :
De maximale tijd in 0.1 seconde waarin een fasecyclus in de aangegeven status blijft.
Bereik: -1 - 32767. Waarbij het volgende geldt:
0 t/m 32767: tijd in 0.1 seconde
-1: tijd onbekend
Voorspeld (Optioneel):
De voorspelde tijd in 0.1 seconde waarin een fasecyclus in de aangegeven status blijft. Bereik: -1 - 32767. Waarbij het volgende geldt:
0 t/m 32767: tijd in 0.1 seconde
-1: tijd onbekend
2 Voorbeeld herleiden tijdstip:
Tijdreferentiebericht <datum /tijd > is 2016-04-14/18:08:23.4 Wijzigingsbericht <delta-tijd > is 425 (42.5 seconden) Minimum tijd is 73 (7.3 seconden)
Het eerste tijdstip waarop de aangegeven status kan wijzigen is dan 2016-04-14/18:09:13.2
Betrouwbaarheid (Optioneel):
De betrouwbaarheid is een waarde welke refereert aan het stadium van de status van de signaal groep. Bereik: -1 - 15. Waarbij het volgende geldt:
  • 0 t/m 15: stadium
  • -1: onbekend
Alleen voor de status rood (2 of 3) zijn stadia gedefinieerd, zie onderstaande tabel.
stadium
Betekenis
0
Geen informatie
1
Geen aanvraag
3
Aanvraag, maar niet bekend wanneer het groen gaat worden
6
Andere richtingen worden nog groen
9
Als volgende aan de beurt
12
Richting wordt groen voorgedefinieerde ingreep nog mogelijk
15
Richting wordt zeker groen geen ingreep meer mogelijk.
De stadia 2, 4, 5, 7, 8, 10, 11, 13 en 14 zijn gereserveerd voor toekomstig gebruik.
Noot: In de internationale standaard is betrouwbaarheid (confidence) opgenomen, echter in Nederland wordt dit veld gebruikt om stadia weer te geven.
De definitie van de betrouwbaarheid ligt vast in Dutch Profile voor SPAT berichten [6].
Volgende (Optioneel):
Relatief tijdstip in 0.1 seconde waarop de fasecyclus opnieuw de aangegeven status bereikt. Bereik: -1 - 32767. Waarbij het volgende geldt:
0 t/m 32767: tijd in 0.1 seconde
-1: tijd onbekend
Voorbeeld 2: Een fasecyclus timing bericht met twee events, waarbij het eerste event alleen het startmoment en de minimum tijd bevat en het tweede event alleen de minimum tijd, voorspelling en betrouwbaarheid bevat, is als volgt gecodeerd:
BIT
111-104
103-96
95-88
87-56
55-48
47-40
39-0
BETEKENIS
Aantal events
Optie masker
Status
Timing
Optie masker
Status
Timing
BIT
31-16
15-0
BIT
39-24
23-8
7-0
BETEKENIS
Start
Minimum
BETEKENIS
Minimum
Voorspeld
Betrouw- baarheid
Het optie masker van het eerste event bevat de waarde 3 (binair 00000111), het optie masker van het tweede event bevat de waarde 53 (binair 00110101).
Voorbeeld 3: Een fasecyclus timing bericht met n event, waarbij het event alleen het startmoment, de minimum tijd en de maximum tijd bevat, is als volgt gecodeerd:
BIT
71-64
63-56
55-48
47-0
BETEKENIS
Aantal events
Optie masker
Status
Timing
BIT
47-32
31-16
15-0
BETEKENIS
Start
Minimum
Maximum
Het optie masker van het event bevat de waarde 15 (binair 00001111).
3.16 Reden voor extra wachttijd
De informatie is beschikbaar op de CVN-C interface in de CIF_FC_RWT[FC] buffer. De volgende definitie wordt gehanteerd:
De reden voor wachttijd is signaalgroep specifiek.
BIT
15 - 0
BETEKENIS
Bitmask reden voor wachttijd
Bitmask reden voor wachttijd:
Bit
Reden
0
OV ingreep
1
Hulpdienst ingreep
2
Trein ingreep
3
Brug ingreep
4
Hoogtemelding
5
Weersingreep
6
File ingreep
7
Tunnel afsluiting
8
Doseren actief
9
Vrachtverkeer ingreep
10
Fiets peloton ingreep
11
Voertuig peloton ingreep
12-14
Gereserveerd
15
Onbekend
3.17 Omgevingsfactoren
De informatie is beschikbaar op de CVN-C interface in de CIF_OMGEVING[] buffer. De volgende definitie wordt gehanteerd:
Omgevingsfactoren zijn kruispunt specifiek en alleen van toepassing als de verkeersregelautomaat is uitgerust met hiervoor geschikte sensoren, of deze informatie toegeleverd krijgt. Er kunnen meerdere omgevingsfactoren tegelijkertijd actief zijn.
BIT
7 - 0
BETEKENIS
Bitmask voor Omgevingsfactoren
Bitmask voor Omgevingsfactoren:
Bit
Omgevingsfactor
0
Regen
1
Mist
2
Kans op gladheid
3-7
Gereserveerd
3.18 Multivalente ingangen (IS)
Voor multivalente ingangen (IS) is in de data ook de index van de ingang opgenomen. De index is in het statusbericht opgenomen, zodat niet alle ingangen in dit statusbericht behoeven te worden opgenomen. Met het 10 bits indexveld kunnen 1024 multivalente ingangen worden aangewezen. Het aantal geeft het aantal multivalente ingangen aan in het bericht.
BIT
31-26 (MSB)
25-16
15-0 (LSB)
BETEKENIS
Gereserveerd
Index
Data
Index:
10 Bits waarde waarmee 1024 multivalente ingangen kunnen worden aangewezen
Data:
16 Bits multivalente ingangswaarde. (Signed)
De informatie is beschikbaar op de CVN-C interface in de CIF_IS[] buffer.
3.19 Multivalente uitgangen (GUS)
Voor multivalente uitgangen (GUS) is in de data ook de index van de uitgang opgenomen. De index is in het statusbericht opgenomen, zodat niet alle uitgangen in dit statusbericht behoeven te worden opgenomen. Met het 10 bits indexveld kunnen 1024 multivalente uitgangen worden aangewezen. Het aantal geeft het aantal multivalente uitgangen aan in het bericht.
BIT
31-26 (MSB)
25-16
15-0 (LSB)
BETEKENIS
Gereserveerd
Index
Data
Index:
10 Bits waarde waarmee 1024 multivalente uitgangen kunnen worden aangewezen
Data:
16 Bits multivalente uitgangswaarde. (Signed)
De informatie is beschikbaar op de CVN-C interface in de CIF_GUS[] buffer.
3.20 Multivalente uitgangen (WUS)
Voor multivalente uitgangen (WUS) is in de data ook de index van de uitgang opgenomen. De index is in het statusbericht opgenomen, zodat niet alle uitgangen in dit statusbericht behoeven te worden opgenomen. Met het 10 bits indexveld kunnen 1024 multivalente uitgangen worden aangewezen. Het aantal geeft het aantal multivalente uitgangen aan in het bericht.
BIT
31-26 (MSB)
25-16
15-0 (LSB)
BETEKENIS
Gereserveerd
Index
Data
Index:
10 Bits waarde waarmee 1024 multivalente uitgangen kunnen worden aangewezen
Data:
16 Bits multivalente uitgangswaarde. (Signed)
De informatie is beschikbaar op de CVN-C interface in de CIF_WUS[] buffer.
3.21 Actuele module
Voor Actuele module berichten is in de data ook de index van de modulereeks opgenomen, zodat niet alle modulereeksen in het statusbericht opgenomen moeten worden, maar alleen de modulereeksen die daadwerkelijk gebruikt worden. D.w.z. indien ML en MLA gebruikt worden, maar MLB, MLC en MLD niet, hoeven alleen de statussen van ML en MLA opgenomen worden.
BIT
7-5 (MSB)
4 - 0 (LSB)
BETEKENIS
Index
Actuele module
Index:
Modulereeks
Index
ML
0
MLA
1
MLB
2
MLC
3
MLD
4
Actuele module:
Waarde van de actuele module teller van 0 - 31.
Noot: De waarde voor ML1 is 1, voor ML2 is 2, etc. (Waarde 0 voor onbekend of niet gebruikt).
De informatie is beschikbaar op de CVN-C interface in de CIF_CCOL_MLx[MLxMAX] buffer (MLx is ML, MLA, MLB, MLC of MLD). Elke waarde geeft de actuele module aan voor de betreffende modulereeks met een waarde van 0 tot 31.
3.22 Lengte detectie
De informatie is beschikbaar op de CVN-C interface in de CIF_IS[] buffer, overige ingangen. De volgende definitie wordt gehanteerd:
BIT
15 (MSB)
14
13
12 - 0 (LSB)
BETEKENIS
Richting
Status
Gereserveerd
Lengte
Richting:
Is een 1 bit getal, met de waarde 0 = normale richting en 1 = tegen richting.
Status:
Is een 1 bit getal, met de waarden 0 = betrouwbaar en 1 = onbetrouwbaar.
Lengte:
Is een 13 bits getal die de lengte in centimeters (0-8191 cm) geeft.
3.23 Swico schakelaars
De informatie van de Swico schakelaars is beschikbaar op de CVN-C interface in de CIF_IS_SWICO[] buffer. De volgende definities wordt gehanteerd:
Detectie
BIT
15-10 (MSB)
9-2
1-0 (LSB)
BETEKENIS
Gereserveerd
Index
SWICO
Overige ingangen
BIT
15-12 (MSB)
11-2
1-0 (LSB)
BETEKENIS
Gereserveerd
Index
SWICO
SWICO
Betekenis
0
Geen SWICO schakelaar ingesteld
1
SWICO schakelaar af ingesteld
2
SWICO schakelaar op ingesteld
3.24 Start nieuwe cyclus van een (deel)kruispunt
De informatie van de start van een nieuwe cyclus is (deel)kruispunt specifiek.
De informatie over de cyclus van het (deel)kruispunt is opgeslagen in 4 bits.
Cyclus
BIT
3 (MSB)
2 (MSB)
1
0 (LSB)
BETEKENIS
-
CYCLUS
CYCLUS
CYCLUS
Voor de cyclus wordt de volgende definitie gehanteerd:
Waarde (hex)
Betekenis
0x00
Cyclus
0x01
Cyclus A
0x02
Cyclus B
0x03
Cyclus C
0x04
Cyclus D
0x05
Cyclus E
3.25 Momenten van de Signaalplansturing
De momenten van de signaalplansturing zijn signaalgroep specifiek.
Het type van het moment is opgeslagen in 4 bits.
Type
BIT
3 (MSB)
2 (MSB)
1
0 (LSB)
BETEKENIS
-
TYPE
TYPE
TYPE
Voor het type wordt de volgende definitie gehanteerd:
Waarde (hex)
Betekenis
CCOL
RWS-C (EPARM)
0x00
-
0x01
Het vroegste startgroen moment
TXA
UITST
0x02
Het uiterste startgroen moment
TXB
START
0x03
Het vroegste eindegroen moment
TXC
WACHT
0x04
Het uiterste groenverleng moment
TXD
EINDE
0x05
Het uiterste eindegroen moment
TXE
AFKAP
3.26 Realisatiewijze: primair of alternatief gerealiseerd
De realisatiewijze is signaalgroep specifiek.
De realisatiewijze is opgeslagen in 4 bits met de volgende mogelijke waarden.
Realisatiewijze
BIT
3 (MSB)
2 (MSB)
1
0 (LSB)
BETEKENIS
-
AG
PG_OS
PG
De volgende verklaring wordt gegeven voor deze realisatievariabelen.
Symbool
Betekenis
PG
Primair gerealiseerd (exclusief de status van het primaire overslag bit OS).
PG_OS
Primair overgeslagen (status van het primaire overslag bit OS)
AG
Alternatief gerealiseerd
3.27 Einde detectiehiaat
Het moment ‘einde detectiehiaat’ is specifiek per detectie-ingang en kan worden gebruikt voor detectie-ingangen met hiaatmeting. Indien de hiaattijd van een detectie-ingang is ingesteld op 0 seconden, valt het moment ‘einde detectiehiaat’ tegelijk met het einde van het detectiesignaal van de detectie-ingang. Indien de detectie-ingang geen gebruik maakt van hiaatmeting, ontstaat er geen ‘einde detectiehiaat’. Het wijzigingsbericht ‘einde detectiehiaat’ bevat de index van de detectie-ingang en heeft geen specifieke databits (aantal databits is 0).
3.28Zelf gedefinieerde berichten
Zelf gedefinieerde berichten kunnen door de applicatieprogrammeur worden gebruikt om nieuwe berichten in V-Log op te slaan. Het is aan de applicatieprogrammeur de taak om dit te doen volgens de gebruikte V-Log definities waarin een bericht altijd begint met een type aanduiding.
Enkele eisen t.a.v. zelfgedefinieerde berichten:
  • Een bericht begint altijd met een type aanduiding.
  • Berichttype nummering is in de vrije reeks 129 t/m 254.
  • Een statusbericht heeft een oneven typenummer.
  • Een wijzigingsbericht heeft het opvolgende (even)typenummer.
  • Na het berichttype is de data naar eigen invulling.
  • De lengte van de berichtgegevens zijn impliciet* gedefinieerd.
  • Berichten dienen altijd zo kort mogelijkte zijn aangezien de beschikbare ruimte in de buffer van tijd tot tijd varieert.
  • Berichten dienen overeenkomstig de V-Log configuratie in ASCII of in BINAIRformaat te worden gegenereerd.
  • ASCII berichten bevatten altijd een even aantal karakters.
  • ASCII berichten worden altijd afgesloten met “\r\n”.
  • Binaire berichten worden altijd afgesloten met ‘SYN’, een ‘SYN’ karakter in de data dient te worden gebytestuffed (zie 4.4.2.2). T/m versie 2.1.0 zijn de data van STX en ETX ook gebytestuffed.
  • Ook over zelf gedefinieerde berichten dient CRC berekening plaats te vinden.
* Impliciet d.w.z. de lengte (het aantal bits) van de gegevens in het bericht wordt niet meegegeven, maar is een onderlinge afspraak volgens de tabellen bij 2.4.1 en 2.5.1.
4 CCOL V-Log communicatie
De CCOL V-Log berichten kunnen op twee manieren worden opgevraagd:
Als streaming data via het IBER / UBER buffer van de CVN-interface
D.m.v. logbestanden via File UBER van de CVN-interface
4.1 IBER / UBER van de CVN-interface
De CCOL V-Log berichten kunnen worden opgevraagd via het IBER / UBER van het CVN-interface.
4.2 CIF_FILE_UBER van de CVN-interface
Via het CIF_FILE_UBER buffer van de CVN interface kunnen de V-Log berichten worden opgeslagen in files (vanaf v2.0.0). Hiervoor dient in de procesbesturing een voorziening te zijn getroffen. Zie Appendix 1 voor detail informatie.
4.3 Zelfgedefinieerde berichten
De Toolkit CCOL biedt de applicatieprogrammeur de mogelijkheid om zelfgedefinieerde berichten toe te kunnen voegen aan de V-Log. Zie de Toolkit CCOL voor deze specifieke functionaliteit.
4.4 CCOL V-Log commando s
CCOL kent specifieke V-Log commando s, welke via het CIF_IBER aan CCOL worden aangeboden. De V-Log berichten worden via het UBER aangeboden. De volgende CCOL V-Log commando s worden ondersteund:
VLOGASCII
VLOGBIN
VLOGCFG
VLOGCLEAR
VLOGHELP
VLOGSTAT
VLOGVER
4.4.1 VLOGASCII commando
Met het VLOGASCII commando kan een ASCII dump worden aangevraagd van alle aanwezige V- Log berichten, ongeacht het type bericht. Alle aanwezige berichten worden chronologisch getoond waarbij het oudste bericht als eerste en de jongste als laatste totdat er geen nieuwere berichten meer aanwezig zijn.
VLOGASCII resultaat in ASCII uitvoer:
Velden
Resultaat
HEADER
**** VLOGASCII / <versie <V-Log versienr> / <systeemcode> **** CR> LF>
BODY*
[<Bericht 1><CR><LF>]
[<Bericht N><CR><LF>]
FOOTER
**** EINDE VLOGASCII **** <CR><LF>
*- <V-Log versienr> zie VLOGVER commando.
- <systeemcode> bevat de ingestelde systeemcodering van de automaat.
- <Bericht n> bevat een specifieke V-Log bericht n, waarbij n loopt van 1 (oudste) t/m N (jongste).
- Per regel wordt n bericht getoond en afgesloten met de carriage-return / line-feed
<CR><LF> karakters. Er is geen limiet gesteld aan de lengte van een bericht.
4.4.1.1 Voorbeeld VLOGASCII commando
Versturen: VLOGASCII <CR>< LF>
Ontvangen:
**** VLOGASCII / versie 3.0.0 / DEMO **** <CR><LF>
012004022512150110 <CR><LF>
0500200B011001100110 <CR><LF>
060AA3000103010A09 <CR><LF>
**** EINDE VLOGASCII **** <CR><LF>
Verklaring bericht body:
Tijd referentiebericht [01]:
Datum [20040225] = 2004-02-25 [JJJJ-MM-DD]
Tijd [1215011] = 12:15:01,1 [uu:mm:ss,1/10s]
Reserve [0]
<CR>< LF>
Detectie statusbericht [05]:
Delta-tijd [002] = 2 [1/10s] Reserve[0]
Aantal [0B]= 11 Detectors:
Detector 0 : status [0] = 0
Detector 1 : status [1] = 1
Detector 2 : status [1] = 1
Detector 3 : status [0] = 0
Detector 4 : status [0] = 0
Detector 5 : status [1] = 1
Detector 6 : status [1] = 1
Detector 7 : status [0] = 0
Detector 8 : status [0] = 0
Detector 9 : status [1] = 1
Detector 10 : status[1] = 1
Reserve [0]
<CR><LF>
Detectie wijzigingsbericht [06]:
Delta-tijd [0AA] = 17,0 [s,1/10s] Aantal [3] = 3
Detector [00] 0 : status [01] = 1
Detector [03] 3 : status [01] = 1 Detector [0A] 10 : status [09] = 1 + OG
<CR><LF>
4.4.2 VLOGBIN commando
Met het VLOGBIN commando kan een binaire dump worden aangevraagd van alle aanwezige
V-Log berichten, ongeacht het type bericht. Alle aanwezige berichten worden chronologisch getoond waarbij het oudste bericht als eerste en de jongste als laatste totdat er geen nieuwere berichten meer aanwezig zijn.
VLOGBIN resultaat tot versie 3.0.0 in binaire uitvoer:
Velden
Resultaat
HEADER
**** VLOGBIN / versie <V-Log versienr> / <systeemcode> **** <CR><LF>
<STX>
BODY*
[ <Bericht 1><SYN>]
[ <Bericht N><SYN>]
FOOTER
<ETX>
**** EINDE VLOGBIN **** <CR><LF>
VLOGBIN resultaat vanaf versie 3.0.0 in binaire uitvoer:
Velden
Resultaat
HEADER
**** VLOGBIN / versie <V-Log versienr> / <systeemcode> **** <CR><LF>
BODY*
[<Bericht 1> <SYN>]
[ <Bericht N> <SYN>]
FOOTER
**** EINDE VLOGBIN **** <CR><LF>
- <V-Log versienr> zie VLOGVER commando.
- <systeemcode> bevat de ingestelde systeemcodering van de automaat.
- <Bericht n> bevat een specifieke V-Log bericht n, waarbij n loopt van 1 (oudste) t/m N (jongste).
Per regel wordt n bericht getoond en afgesloten met een synchronisatie <SYN> karakter. Er is geen limiet gesteld aan de lengte van een bericht.
4.4.2.1 Voorbeeld VLOGBIN commando
Versturen: VLOGBIN <CR><LF>
Ontvangen (hexadecimale getallen):
<**** VLOGBIN / versie 2.1.0 / DEMO ****><CR><LF>
<02><01><20><04><02*><02><25><12><15><01><10><16><05><00><20><0B><01><10><01><1 0><01><10><16><06><0A><A3><00><01><03*><03><01><0A><09><16><03*><**** EINDE VLOGBIN ****><CR><LF>
*De extra <02> en <03> zijn t.g.v. byte-stuffing, de STX=0x02 en ETX=0x03 worden gedupliceerd
in de gegevensstroom. Vanaf versie 3.0.0 zijn deze niet meer aanwezig.
Verklaring bericht body:
Tijd referentiebericht <01>:
Datum <20><04><02><25>= 2004-02-25 [JJJJ-MM-DD]
Tijd <12><15><01><10> = 12:15:01,1 [uu:mm:ss,1/10s]
<SYN>
Detectie statusbericht <05>:
Delta-tijd <00><2.> = 2 [1/10s]
Reserve <.0> Aantal <0B> = 11 Detectors:
Detector 0 : status <0.> = 0
Detector 1 : status <.1> = 1
Detector 2 : status <1.> = 1
Detector 3 : status <.0> = 0
Detector 4 : status <0.> = 0
Detector 5 : status <.1> = 1
Detector 6 : status <1.> = 1
Detector 7 : status <.0> = 0
Detector 8 : status <0.> = 0
Detector 9 : status <.1> = 1
Detector 10 : status <1.> = 1
Reserve <.0>
<SYN>
Detectie wijzigingsbericht <06>:
Delta-tijd <0A><A.> = 17,0 [s,1/10s] Aantal <.3> = 3
Detector <00> 0 : status <01> = 1
Detector <03> 3 : status <01>= 1 Detector <0A> 10 : status <09> = 1 + OG
<SYN>
4.4.2.2 Binaire uitvoer en byte stuffing
Bij het VLOGBIN commando wordt gebruik gemaakt van de speciale controlekarakter <SYN>. (Voor versies tot 3.0.0 ook <STX> en <ETX>)
Met deze controlekarakters worden de V-Log berichten gesepareerd. (en blokken tot versie 3.0.0) Het kan voorkomen dat deze controlekarakters ook in de gegevensstroom aanwezig zijn, waardoor byte-stuffing noodzakelijk is, om te voorkomen dat de V-Log verkeerd wordt geïnterpreteerd.
Met byte-stuffing wordt bedoeld dat de karakters in de gegevensstroom, welke gelijk zijn aan de controlekarakters worden gedupliceerd aan de verzendende kant en aan de ontvangende kant moeten worden verwijderd.
Bij het analyseren van de resultaten van het VLOGBIN commando moeten dus eerst de extra byte- stuffing karakters uit de V-Log gegevens worden verwijderd, voordat het bericht kan worden ge nterpreteerd.
4.4.3 VLOGCFGcommando
Het commando VLOGCFG kan worden gebruikt voor het opvragen van de V-Log configuratie.
Velden
Resultaat
HEADER
**** VLOGCFG / versie V-Log versienr> / <systeemcode> **** CR> LF>
BODY*
//SYS SYS," <systeemcode>"
//DP
DP,<indexnummer N>,"<DP_code>", <DP_type>
DP,<indexnummer M>,"<DP_code>", DP_type>
//DS
DS,indexnummer N>,"<DS_code>", DS_type>
DS,indexnummer M>," DS_code>",<DS_type>
//IS
IS,<indexnummer N>,"<IS_code>",<IS_type>
.
IS,<indexnummer M>,"<IS_code>",<IS_type>
//FC
FC,<indexnummer N>,"<FC_code>",<FC_type>
FC,<indexnummer M>,"< FC_code>",<FC_type>
//US
US,<indexnummer N>,"<US_code>",<US_type>
US,<indexnummer M>,"<US_code>",<US_type>
FOOTER
**** EINDE VLOGCFG ****<CR> LF>
- <V-Log versienr> zie VLOGVER commando.
- <systeemcode> bevat de ingestelde systeemcodering van de automaat.
- Iedere regel wordt afgesloten met een <CR><LF>.
- Regels startend met // bevatten commentaren
Indexnummers (N M) moet uniek zijn per klasse (DP, DS, IS, FC, US)
Let op dat het type een decimaal getal bevat i.p.v. het hexadecimale getal
4.4.3.1 Detector type definitie DP_type (en IS_type)
Waarde( hex )
CCOL type
Betekenis
0x0001
DL_type
Detectielus
0x0002
DK_type
Drukknop
0x0004
DSI_type
Selectieve detectie informatie
0x0008
ISV_type
Snelheidsinformatie
0x0010
ISL_type
Lengte informatie
0x0080
ISM_type
Multivalente ingang
0x0100
KOP_type
Kop(lus) / uitmelding selectief
0x0200
LNG_type
Lange(lus)
0x0400
VER_type
Verweg(lus) / inmelding selectief
0x0800
VOOR_type
Voormelding selectief
0x0101
DKOP_type (DL_type + KOP_type)
Koplus
0x0201
DLNG_type (DL_type + LNG_type)
Langelus
0x0401
DVER_type (DL_type + VER_type)
Verweglus / afstandslus
0x0104
DSUIT_type (DSI_type + KOP_type )
Uitmelding selectief
0x0404
DSIN_type (DSI_type + VER_type)
Inmelding selectief
0x0804
DSVOOR_type (DSI_type + VOOR_type)
Voorinmelding selectief
4.4.3.2 Fasecyclus type definitie FC_type (en US_type)
Waarde( hex )
CCOL type
Betekenis
0x0001
MVT_type
Motorvoertuig
0x0002
VTG_type
Voetganger
0x0004
FTS_type
Fiets
0x0008
OV_type
Openbaar vervoer
0x0080
USM_type
Multivalente uitgang
In bijlage 1 is een voorbeeld weergegeven van het VLOGCFG commando.
4.4.4 VLOGCLEAR commando
Velden
Resultaat
BODY
buffer gewist <CR><LF>
Met het VLOGCLEAR commando kan de CCOL buffer worden geleegd. VLOGCLEAR resultaat:
4.4.5 VLOGHELP commando
Met het VLOGHELP commando wordt een overzicht met CCOL V-Log commando s gegevens.
4.4.6 VLOGSTAT commando
Met het VLOGSTAT(US) commando wordt de status van het CCOL V-Log systeem gegeven.
4.4.7 VLOGVER commando
Met het VLOGVER(SION) commando kan de actuele V-Log versie worden opgevraagd. Het resultaat van het VLOGVER commando ziet er als volgt uit:
VLOGVER resultaat:
Velden
Resulaat
BODY
VLOG versie <major nr>.<minor nr>.<patch nr*><CR><LF>
<major nr> is een positief integer getal welke de huidige V-Log major nummer aangeeft van 1 t/m 255.
<minor nr> is n positief integer getal welke de huidige V-Log minor nummer aangeeft van 0 t/m 255!
<patch nr*> is n positief integer getal welke de huidige V-Log patch nummer aangeeft van 0 t/m 255!
*Patch nr is toegevoegd vanaf V-Log versie 2.0.0
4.4.7.1 Voorbeeld VLOGVER commando
Versturen: VLOGVER<CR><LF>
Ontvangen:
VLOG versie 3.0.0 <CR><LF>
Verklaring:
<major nr> = 3
<minor nr> = 0
< patch nr*> = 0
Patch nr is toegevoegd vanaf V-Log versie 2.0.0
4.5 Verklaring gebruikte karakters en tekens
In de beschrijving van de CCOL V-Log commando s en resultaten en bijlage File logging worden karakters en tekens gebruikt met specifieke betekenis. Hieronder volgt een overzicht van deze tekens en de bijbehorende betekenis:
Tekens
Omschrijving
SPATIE
Voor het scheiden van woorden, gegevens en elementen onderling wordt steeds n spatie gebruikt ( 0x20 hex.).
<waarde>
De karakters ‘<’ en ‘>’ omvatten een specifieke element van een commando of een commando resultaat, waarbij de waarde nader gespecificeerd zal worden.
[ gegevens ]
De karakters [ en ] omvatten de gegevens welke aanwezig kunnen zijn, maar niet noodzakelijkerwijs aanwezig moeten zijn.
<CR>
Is een carriage-return ( 0x0D hex.) karakter om aan te geven het einde van een CCOL commando invoer of een resultaat regel einde.
Bij resultaten alleen van toepassing indien de V-Log mode ASCII is.
< LF>
Is een line-feed ( 0x0A hex.) karakter om aan te geven het einde van een CCOL commando invoer of een resultaat regel einde.
Bij resultaten alleen van toepassing indien de V-Log mode ASCII is.
<STX>
Geeft de start aan van een blok binaire gegevens ( 0x02 hex.).
Bij resultaten alleen van toepassing indien de V-Log mode binair is en tot versie 3.0.0.
ETX>
Geeft het einde aan van een blok binaire gegevens ( 0x03 hex.).
Bij resultaten alleen van toepassing indien de V-Log mode binair is en tot versie 3.0.0.
<SYN>
Is het afsluitingssteken van een bericht ( 0x16 hex.).
Bij resultaten alleen van toepassing indien de V-Log mode binair is.
"<tekst gegevens>"
Bevat tekstuele informatie
//<commentaar >
Bevat een commentaar tekst
<02>
Kleur rood geeft aan dat het een byte-stuffing karakter betreft.
<01>
Kleur blauw geeft de start van een V-Log bericht aan.
1 Bijlage: VLOGCFG voorbeeld
Versturen: VLOGCFG<CR><LF>
Ontvangen:
**** VLOGCFG / versie 3.0.0 / DEMO ****
//SYS SYS,"DEMO"
//DP DP,0,"011",513
DP,1,"021",513
DP,2,"022",1025
DP,3,"081",513
DP,4,"082",1025
DP,5,"091",513
DP,6,"101",513
DP,7,"121",513
DP,8,"311",2
DP,9,"312",2
DP,10,"321",2
DP,11,"322",2
//DS
DS,0,"DS000",4
DS,1,"DS421",2052
DS,2,"DS422",1028
DS,3,"DS423",260
//IS
IS,0,"ISCYC",0
IS,1,"ISFIX",0
//FC FC,0,"01",1
FC,1,"02",1
FC,2,"08",1
FC,3,"09",1
FC,4,"10",1
FC,5,"12",1
FC,6,"31",2
FC,7,"32",2
//US US,0,"USML1",0
US,1,"USML2",0
US,2,"USML3",0
**** EINDE VLOGCFG ****
2 Bijlage: File logging
2.1 Naamgeving V-Log bestanden
Binnen V-Log zijn de volgende twee typen bestanden vastgelegd:
1: Data bestanden waarin de gelogde verkeerskundige informatie wordt weggeschreven.
2: Configuratie bestanden waarin de V-Log configuratie is vastgelegd.
2.1.1 Naamgeving V-Log data bestanden
Bestandsnamen van V-Log data bestanden hebben het volgende formaat:
<vri_id>_<datum>_<tijd>.vlg
Verklaring velden:
veldnaam
Formaat
Omschrijving
vri_id
a..Z[20]
Identificatie van de VRI, zoals gebruikt in het V-Log informatie bericht. Tekst van maximaal 20 karakters. Toegestane karakters zijn:
a..z, A..Z en 0..9. Leestekens zijn niet toegestaan.
datum
JJJJMMDD
Datum met volgorde jaar, maand en dag: JJJJ is het jaartal in 4 cijfers
MM is de maand in 2 cijfers
DD is de dag van de maand in 2 cijfers
_
Scheidingsteken tussen de velden
tijd
uummss
Tijd met volgorde uur, minuut en seconden: uu is het uur in 2 cijfers
mm is de minuut in 2 cijfers ss is de seconde in 2 cijfers
.vlg
.vlg
Een V-Log data bestand heeft de standaard extensie (.vlg)
Opmerking:
De veldnamen <datum> en <tijd> van het V-Log data bestand zijn de datum en tijd ten tijde van het aanmaken van de file. (De datum en tijd van de file zijn representatief voor het tijdstip van het eerste gelogde record in de file.)
Alleen volledig afgeronde files mogen zichtbaar zijn in de log directory.
2.1.2 Naamgeving V-Log configuratie bestanden
Bestandsnamen van V-Log configuratie bestanden hebben het volgende formaat:
<vri_id>_<datum>_<tijd>.vlt
Verklaring velden:
veldnaam
Formaat
Omschrijving
vri_id
a..Z[20]
Identificatie van de VRI. Tekst van maximaal 20 karakters. Toegestane karakters zijn:
a..z, A..Z en 0..9. Leestekens zijn niet toegestaan.
datum
JJJJMMDD
Datum met volgorde jaar, maand en dag: JJJJ is het jaartal in 4 cijfers
MM is de maand in 2 cijfers
DD is de dag van de maand in 2 cijfers
_
Scheidingsteken tussen de velden
tijd
uummss
Tijd met volgorde uur, minuut en seconden: uu is het uur in 2 cijfers
mm is de minuut in 2 cijfers ss is de seconde in 2 cijfers
.vlt
.vlt
Een V-Log configuratie bestand heeft de standaard extensie (.vlt)
Opmerking:
De veldnamen <datum> en <tijd> van het V-Log configuratie bestand zijn de datum en tijd ten tijde van het aanmaken van het bestand.
2.2 Inhoud V-Log configuratie bestand
Huidige inhoud van het V-Log configuratie bestand is gelijk aan de uitvoer van het V-Log CCOL commando VLOGCFG. (Afspraak voor deze V-Log versie is om geen uitgebreid XML configuratie bestand toe te passen)
2.3 Ophalen van Logbestanden
De V-Log bestanden (vlg en vlt) moeten, conform de IVERA Objectdefinitie V3.01 [5], via het FTP account trafficinfo benaderbaar zijn.
2.4 V-Log binair bestand
In een V-Log bestand kan een V-Log binaire dump worden geplaatst van alle V-Log berichten, ongeacht het type bericht. Alle aanwezige berichten worden chronologisch getoond waarbij het oudste bericht als eerste en de jongste als laatste totdat er geen nieuwere berichten meer aanwezig zijn.
V-Log binaire dump in V-Log bestand:
Velden
Resultaat
BODY*
[<Bericht 1><SYN>]
[<Bericht N><SYN>]
* <Bericht n> bevat een specifieke V-Log bericht n, waarbij n loopt van 1 (oudste) t/m N (jongste).
- Per regel wordt n bericht getoond en afgesloten met een synchronisatie <SYN> karakter. Er is geen limiet gesteld aan de lengte van een bericht.
2.4.1 Voorbeeld binair bestand
Onderstaande is een voorbeeld van een binaire V-Log in een V-Log bestand (hexadecimale getallen):
<01><20><04><02><25><12><16*><16><01><10><16><04><02><00><00><44><45><4D><4F><2 0><20><20><20><20><20><20><20><20><20><20><20><20><20><20><20><16><05><00><20><0B><01><10><01><10><01><10><16><06><0A><A3><00><01><03><01><0A><09><16>
*De extra <16> is t.g.v. byte-stuffing, de <SYN>=0x16 wordt gedupliceerd in de gegevensstroom.
Let op dat <02> en <03> niet worden gedupliceerd bij opslag in bestanden, omdat er geen STX=0x02 en ETX=0x03 nodig zijn aan begin en einde van het bestand!
Verklaring bericht body:
Tijd referentiebericht <01>:
Datum <20><04><02><25> = 2004-02-25 [JJJJ-MM-DD]
Tijd <12><16><01><10> = 12:16:01,1 [uu:mm:ss,1/10s]
<SYN>
V-Log informatie bericht <04>:
Versie <02><00><00> = 2.0.0
VRI Id <44><45><4D><4F> = DEMO
<20><20><20><20><20><20><20><20><20><20><20><20><20><20><20><20> = Opvul
Spaties.
<SYN>
Detectie statusbericht <05>:
Delta-tijd <00><2.> = 2 [1/10s]
Reserve <.0> Aantal <0B> = 11 Detectors:
Detector 0 : status <0.> = 0
Detector 1 : status <.1> = 1
Detector 2 : status <1.> = 1
Detector 3 : status <.0> = 0
Detector 4 : status <0.> = 0
Detector 5 : status <.1> = 1
Detector 6 : status <1.> = 1
Detector 7 : status <.0> = 0
Detector 8 : status <0.> = 0
Detector 9 : status <.1> = 1
Detector 10 : status <1.> = 1
Reserve <.0>
<SYN>
Detectie wijzigingsbericht <06>:
Delta-tijd <0A><A.> = 17,0 [s,1/10s] Aantal <.3> = 3
Detector <00> 0 : status <01> = 1
Detector <03> 3 : status <01>= 1 Detector <0A> 10 : status <09> = 1 + OG
<SYN>
2.5 V-Log ASCII bestand
In een V-Log bestand kan een V-Log ASCII dump worden geplaatst van alle V-Log berichten, ongeacht het type bericht. Alle aanwezige berichten worden chronologisch getoond waarbij het oudste bericht als eerste en de jongste als laatste totdat er geen nieuwere berichten meer aanwezig zijn.
V-Log ASCII dump in V-Log bestand:
Velden
Resultaat
BODY*
[<Bericht 1><CR><LF>]
[<Bericht N><CR><LF>]
* <Bericht n> bevat een specifieke V-Log bericht n, waarbij n loopt van 1 (oudste) t/m N (jongste).
- Per regel wordt n bericht getoond en afgesloten met de carriage-return / line-feed
<CR><LF> karakters. Er is geen limiet gesteld aan de lengte van een bericht.
2.5.1 Voorbeeld ACSII bestand
Onderstaande is een voorbeeld van een ASCII V-log in een V-Log bestand:
012004022512160110<CR><LF>
0402000044454D4F20202020202020202020202020202020<CR><LF>
0500200B011001100110<CR><LF>
060AA3000103010A09<CR><LF>
Verklaring bericht body:
Tijd referentiebericht [01]:
Datum [20040225] = 2004-02-25 [JJJJ-MM-DD]
Tijd [1216011] = 12:16:01,1 [uu:mm:ss,1/10s]
Reserve [0]
<CR><LF>
V-Log informatie bericht [04]: Versie [020000] = 2.0.0
VRI Id [44454D4F] = DEMO [20202020202020202020202020202020] = Opvul Spaties.
<CR><LF>
Detectie statusbericht [05]:
Delta-tijd [002] = 2 [1/10s] Reserve[0]
Aantal [0B]= 11 Detectors:
Detector 0 : status [0] = 0
Detector 1 : status [1] = 1
Detector 2 : status [1] = 1
Detector 3 : status [0] = 0
Detector 4 : status [0] = 0
Detector 5 : status [1] = 1
Detector 6 : status [1] = 1
Detector 7 : status [0] = 0
Detector 8 : status [0] = 0
Detector 9 : status [1] = 1
Detector 10 : status[1] = 1
Reserve [0]
<CR><LF>
Detectie wijzigingsbericht [06]:
Delta-tijd [0AA] = 17,0 [s,1/10s] Aantal [3] = 3
Detector [00] 0 : status [01] = 1
Detector [03] 3 : status [01] = 1 Detector [0A] 10 : status [09] = 1 + OG
<CR>< LF>
3 Bijlage: Checksum berekening CRC-CCITT
/* CHECKSUM BEREKENING CRC-CCITT */
/* ============================= */
/* crc_ccitt.c - berekent een ccitt 16 bits cyclic redundancy check (CRC).
*
*16125
De CRC-CCITT 16 polynoom is X + X + X + 1.
De startwaarde voor de CRC-CCITT 16 is 0xffff.
*/
/* CRC_CCITT_UPDATE() */
/* ================= */
/* crc_ccitt_update() berekent de CRC over een byte.
crc_ccitt_update() wordt aangeroepen door crc_ccitt_block()
CRC berekening volgens CCITT.
crc_ccitt_update() geeft als return-waarde de berekende CRC.
*/
unsigned short int crc_ccitt_update(unsigned short int old_crc, char data)
{
register unsigned short intx, crc;
x = ((old_crc>>8) ^ data) & 0xff;
x ^= x >> 4;
crc = (old_crc 8) ^ (x 12) ^ (x 5) ^ x;
return crc;
}
/* CRC_CCITT_BLOCK() */
/* ================= */
/* crc_ccitt_block() berekent de CRC over een datablok.
crc_ccitt_block() maakt gebruik van de functie crc_ccitt_update().
crc_ccitt_block() geeft als return-waarde de berekende CRC van het datablok.
*/
unsigned short int crc_ccitt_block(char *data, unsigned short int len)
{
unsigned short int crc= 0xffff;
while (len--)crc= crc_ccitt_update(crc, *data++);
return crc;
}