LinaxCollect
Dataconversie Pview
ProCollect
TripCollect
Functiebibliotheek
Diverse
   
  LinaxCollect  

Samen met GMC-Instruments Nederland hebben wij een project gedaan op het gebied van industriële automatisering bij Centrale Bergum, een van de electriciteitscentrales van Electrabel.

Electrabel profilieert zich in Europa als leverancier van globale energie-oplossingen op maat en maakt deel uit van SUEZ, een internationale industriële en dienstengroep die actief is op het vlak van energie en milieu. De eerste Nederlandse conventionele centrale staat aan het Bergumermeer in Bergum, Friesland.

GMC-Instruments Nederland is een nationaal opererend bedrijf voor verkoop, service en distributie van een uitgebreid programma meet- en regelapparatuur. In die hoedanigheid heeft GMC-Instruments 42 videografische recorders geleverd voor de controlekamer van de centrale in Bergum.

Wij hebben een applicatie ontwikkeld die alle informatie van deze recorders real-time ophaalt, opslaat in een database en vervolgens op basis van OPC doorstuurt naar het hoofdkantoor in Zwolle. Daar wordt deze informatie verwerkt in een PI systeem van OSIsoft.

  De techniek  

LinaxCollect bestaat uit twee delen: een Windows service en een Windows applicatie. De Windows service zorgt ervoor dat de informatie bij de recorders wordt opgehaald en wordt weggeschreven in de database. De Windows applicatie wordt gebruikt om de software te configureren en de service te starten, stoppen of herstarten.

In de softwareconfiguratie worden instellingen ingevoerd die gelden voor de wijze waarop de software functioneert. Hier wordt bijvoorbeeld de leesinterval ingesteld zodat iedere drie seconden de informatie opgehaald wordt bij de 44 recorders. Ook het loglevel en de e-mailacties worden hier ingesteld.

De recorders kunnen met behulp van 3 schermen worden geconfigureerd. Met het definiëren van Recordergroepen kunnen recorders die logischerwijs bij elkaar horen, worden gegroepeerd hetgeen voor rapportages makkelijk is.
In het scherm Recorders vastleggen kunnen de algemene gegevens van een recorder worden ingevoerd. Het gaat hierbij om: recordernummer, recordergroep, IP-adres en omschrijving. Ook kan hier worden aangegeven of een recorder actief is of niet, bijvoorbeeld voor onderhoud. Hiermee wordt voorkomen dat het logbestand volloopt met foutmeldingen.
Iedere recorder heeft meerdere kanalen. Om deze kanalen te configureren is het scherm Kanalen per recorder ontwikkeld waarin recordernummer, kanaalomschrijving en kanaaltag worden vastgelegd. Ook kan hier per kanaal worden aangegeven of deze actief is of niet.

De primaire taak van de Windows service is de kanalen van de recorders conform de ingestelde interval uit te lezen en op te slaan in de database. We hebben voor een Windows service gekozen omdat er dan geen gebruikersinterface gemaakt hoeft te worden, zodat het programma geen tijd kwijt is aan schermopbouw of rekening hoeft te houden met gebruikersfouten.
Door een multi-threaded service te maken is het mogelijk om taken in een sub-proces (thread) uit te voeren en kan de applicatie zelf de continuïteit hiervan bewaken en ook actie ondernemen als dat nodig is.

Een andere, hele belangrijke taak van de Windows service is het alsnog toevoegen van ontbrekende informatie als er om wat voor reden dan ook tijdelijk geen communicatie met een of meedere recorders mogeliljk is. De service kijkt of er "gaten" in de tijdslijn zijn ontstaan door communicatieproblemen, waarna, op basis van de interne logbestanden van de recorder, de meetgegevens alsnog in de database worden opgeslagen.

Bij het ontwikkelen van LinaxCollect hebben wij gebruik gemaakt van VB .NET, C# .NET, SQL Server en OPC.

  De opdrachtgever  

Electrabel profilieert zich in Europa als leverancier van globale energie-oplossingen op maat en maakt deel uit van SUEZ, een internationale industriële en dienstengroep die actief is op het vlak van energie en milieu. De eerste Nederlandse conventionele centrale staat aan het Bergumermeer in Bergum, Friesland.

Hier hebben we, samen met GMC-Instruments Nederland, een project gedaan op het gebied van industriële automatisering.

GMC-Instruments Nederland is een nationaal opererend bedrijf voor verkoop, service en distributie van een uitgebreid programma meet- en regelapparatuur. In die hoedanigheid heeft GMC-Instruments 42 videografische recorders geleverd voor de controlekamer van de centrale in Bergum.
  Het project  

LinaxCollect© is onderdeel van het project dat wij samen met GMC-Instruments Nederland hebben gedaan. De door GMC-Instruments geleverde videografische recorders worden door LinaxCollect© realtime uitgelezen. Vervolgens wordt deze informatie in een database opgeslagen en wordt op basis van OPC dit weer doorgestuurd naar het hoofdkantoor waar deze informatie wordt verwerkt in een PI systeem van OSIsoft.

LinaxCollect© verwerkt op deze manier 604.800 meetwaarden per uur, 24 uur per dag en 7 dagen per week

  LinaxCollect  
LinaxCollect© is zodanig ontwikkeld dat het flexibel en eenvoudig aan te passen is. LinaxCollect© kan gegevens ophalen bij uiteenlopende bronnen en kan gebruik maken van OPC, Modbus en HTTP. Op dit moment is een versie in ontwikkeling die deze protocollen ook door elkaar kan gebruiken. Daardoor wordt het mogelijk om de data van diverse bronnen te bundelen en op uniforme wijze aan te bieden voor statistische analyse, SCADA toepassingen en dergelijke.

Het is ook mogelijk om klantspecifieke of device specifieke drivers te ontwikkelen die vervolgens door LinaxCollect© als extra bron gebruikt kunnen worden.

LinaxCollect© bestaat uit drie delen: een configuratieapplicatie om te bepalen welke data op welke manier verzameld moet worden; een Windows Service die op basis van de gemaakte configuratie het verzamelen volledig automatisch en op de achtergrond uitvoert en een OPC server voor het beschikbaar stellen van deze gegevens aan een onbeperkt aantal OPC clients.

Voor deze architectuur is gekozen zodat elk deel van LinaxCollect© zich kan richten op een specifieke taak. Hierdoor worden een zeer hoge stabiliteit en performance gehaald en wordt het mogelijk om zeer grote hoeveelheden data te verwerken.

Door een multi-threaded service te maken is het mogelijk om taken in een sub-proces (thread) uit te voeren en is LinaxCollect instaat zelf de continuïteit van zijn eigen sub-processen te bewaken en actie te ondernemen als dat nodig is.

Een andere belangrijke voorziening is dat LinaxCollect alsnog ontbrekende informatie kan toevoegen mocht er om wat voor reden dan ook tijdelijk geen communicatie met een of meedere recorders mogelijk geweest zijn. De service kijkt of er "gaten" in de tijdslijn zijn ontstaan door communicatieproblemen, waarna, op basis van de interne logbestanden van de recorder, de meetgegevens alsnog in de database worden opgeslagen.

  De techniek  
Bij het ontwikkelen van LinaxCollect© hebben wij gebruik gemaakt van VB .NET, C# .NET, SQL Server, OPC en Modbus.
  Centrale Bergum  

Sunday, May 20, 2012