14.DEC.2011/HvM
7. 10 rondjes per seconde
Alle code in een CCOL-applicatie moet bij voorkeur minstens 10 x per seconde kunnen worden doorlopen. Dat is op uw PC geen probleem, daar haalt uw applicatie met gemak het honderd- en zelfs duizendvoudige. In een processor in de industriële omgeving zoals die van een verkeersregelautomaat, ligt dat toch wat kritischer: de processor en de printplaten moeten grote temperatuurschommelingen aankunnen, ook de vochtigheid waaronder uw verkeersregelaar moet blijven functioneren verschilt nogal van die van uw bureau-PC. U wilt bijvoorbeeld uw regelautomaat ook bij vorst of bij regen kunnen openen. Terwijl het in de kast aangenaam warm is, krijgen de onderdelen bij het openen van de kast met een enorme temperatuurval te maken. Dat stelt nu eenmaal harde eisen aan de hardware, zoals de dikte van de koperbanen op de printplaat en de fysieke eigenschappen van de elektronische onderdelen.
Betrouwbaarheid
Van uw PC is het niet erg om af en toe de CTRL-ALT-DEL-knop te bedienen, maar op straat kan dat natuurlijk niet. Dus de hardware moet ook nog eens uitermate betrouwbaar zijn en natuurlijk fail-save (“veilig falen”, als het fout gaat, dan naar de veilige kant; het mag bij fouten in ieder geval niet ónveiliger worden). En wat dacht u van alle processen waar een verkeersregelautomaat op straat nog meer aandacht aan moet besteden, zoals het samplen van detectoren en andere ingangssignalen, het bijhouden van de exacte tijd, het voeren van de communicatie op afstand, het afhandelen van alle commando's en beelden op het bedieningspaneel, de parameteradministratie, het synchroniseren met andere verkeersregelautomaten, de verschillende processen die de gewenste uitganssignalen moeten doorlopen alvorens het buitenbeeld mag veranderen, de battery-backup, de afhandeling van de CVN-interface aan de procesbesturingskant, …
Afspraken
Het is daarom niet zo verwonderlijk dat in de CVN-interface de afspraak is neergelegd dat het gewenst is om tenminste 10 systeemrondjes per seconde te kunnen draaien (dat is het aantal keren per seconde dat de gehele applicatie wordt afgehandeld). Hardere afspraken dan “gewenst” kunnen niet worden gemaakt, omdat de fabrikanten van de verkeersregelautomaten geen verantwoording hebben over de inhoud van de CCOL-applicatie: die wordt hun vaak van buitenaf aangeleverd. Zij hebben zelf geen invloed op de complexiteit van de aangeleverde applicatie. Daardoor kunnen zij niet op voorhand afspreken dat die 10 rondjes per seconde bij elke automaat daadwerkelijk haalbaar zijn. Desalniettemin kan de huidige generatie verkeersregelautomaten ook de moeilijkere applicaties nog wel aan. Maar veel hangt daarbij af van de manier waarop het applicatieprogramma is geprogrammeerd. Lees daarover meer in tip 8 “Slim gebruik functie system_application()”.
Mag ook meer
Wat vaak ten onrechte wordt gedacht is dat de tien rondjes per seconde verplicht zijn, en dat de automaat exact tien rondjes per seconde moet draaien. Dat is namelijk niet zo. Indien een verkeersregelautomaat meer dan tien rondjes per seconde kan draaien, is er niets op tegen om dat dan ook te doen. Het buitenbeeld kan dan dus vaker dan tien keer per seconde worden bijgewerkt: dat kán, maar het hóeft niet. Er is niets op tegen. Bij CCOL is het zo dat zelfs in dat geval alle systeemtijden (tijd van de dag, tiende secondetimers, e.d.) goed worden afgewikkeld. CCOL is daartegen beveiligd, of op voorbereid, zo u wilt. Het voordeel zit 'em vooral in een snellere reactie op detectiepulsen en “ketenreacties” in de applicatie.
Mag ook minder
Andersom kan ook: Indien de applicatie dusdanig groot is dat de verkeersregelautomaat meer tijd per rondje nodig heeft dan 0,1 seconde, dan mag de applicatie ook minder vaak worden afgehandeld. Ook dát kan CCOL prima afhandelen, al is het in het verleden nog wel eens voorgekomen dat de procesbesturing daar niet op ingericht bleek. U kunt daar tijdens de FAT (fabrieksafname) op testen.
Meer weten?
Voor meer informatie over dit onderwerp, of hoe u een FAT moet inrichten kunt u de onderstaande reactiemogelijkheid gebruiken.