Benchmarking van een PLC device

Hoe kun je de performantie van de datacommunicatie naar je PLC's testen?

Inleiding

De volgende methodes laten toe om de performantie van de communicatie naar een PLC te meten. Wanneer u de settings in KEPServerEX wil optimaliseren, kunt u testen welke het beste werken voor een specifieke PLC. Door na elke wijziging een benchmark uit te voeren kunt u het verschil in performantie tussen verschillende instellingen inzichtelijk maken.

In deze handleiding gebruiken we de Quick Client die met KEPServer wordt meegeleverd om testen.

Enkele asynchrone leesactie

Asynchroon wil zeggen dat de antwoorden in een andere volgorde mogen terugkomen dan de vragen. Dit is meestal het meest performant.

Met deze test kunt u zien hoe lang KEPServerEX nodig heeft om de data uit te PLC te lezen, en dus de latency bepalen.

Maar omdat het een enkele actie is, is het een moment opname.

1:  Voorbereiding KEPServer project

  1. In de Configuration tool, voeg alle items die u wil testen toe aan het device in het KEPServerEX project. U kunt eventueel een kopie van een bestaande channel/device maken om mee te testen.
  2. Zorg dat zowel de channel als het device de instellingen hebben waarmee u wil testen.
  3. Stop alle clients die data van de betreffende PLC uit KEPServerEX opvragen, en bij voorkeur ook alle clients die via OPC op KEPServer connecteren. Op die manier zijn de diagnostics zuiver te interpreteren.

2:  Configureer de Quick Client voor benchmarking

  1. Rechtsklik het groene KEPServer Administration tool icoon in de Windows system tray, en kies 'Quick Client'
  2. Voeg een nieuwe server connectie toe door op het icoon te klikken, en dan 'Kepware.KEPServerEX.V6' te kiezen
  3. Voeg een nieuwe group toe door op het icoon te klikken. Zorg dat het vinkje bij 'Active State' uit staat zodat de group uitgeschakeld blijft
  4. Voeg de items toe waarmee u wil testen via het icoontje

3:  Zet OPC DIagnostics aan

  1. In de Configuration tool, dubbelklik op 'Project' in de boomstructuur aan de linkerzijde
  2. Ga naar de OPC DA tab, en zet 'Enable diagnostics capture' op 'Yes'
  3. Klik 'OK' 
  4. In de menubalk, selecteer 'View', en dan 'OPC Diagnostics'
  5. Het OPC Diagnostics venster wordt geopend. Als er reeds data in staat, verwijder deze door op het rode kruis te klikken. Als nieuwe data blijft verschijnen, is er nog een OPC client op KEPServer geconnecteerd. 

4:  Zet Communication Diagnostics aan

  1. Rechtsklik op de channel en selecteer 'Properties'
  2. In de 'General' tab, zet 'Diagnostics Capture' op 'Enable'.
  3. Rechtsklik op de device en selecteer 'Diagnostics'
  4. Het Communication Diagnostics venster wordt geopend. Als er reeds events aanwezig zijn, verwijder ze door te rechtsklikken op de log, en dan 'Delete all Events' te kiezen.
  5. Kies 'Reset statistics' om de statistics onderaan de resetten

5:  Benchmark

Opmerking: De Communication Diagnostics geeft je informatie over de latency van het antwoord. Het tijdsverschil tussen het verzenden van de request vanuit KEPServerEX (TX) en het antwoord ontvangen uit de PLC (RX) geeft een indicatie over de latency van de PLC.

OPC Diagnostics geeft gelijkaardige informatie door te laten zien wanneer de Quick Client de data-aanvraag heeft verzonden, en wanneer het antwoord werd ontvangen. Denk er wel aan dat een deel van de tijd die KEPServer nodig heeft om te antwoorden het tijd is die de PLC nodig heeft om te antwoorden, wat u dus kan zien in de Communication Diagnostics.

  1. In de Quick Client, selecteer alle tags in de device
  2. Rechtsklik, en kies 'Asynchronous 2.0 Read'
  3. In het OPC Diagnostics venster, bepaal de tijd tussen de Read request en de "data callback OnReadComplete".
  4. In het Communication Diagnostics venster, zoek het verschil tussen het eerste en het laatste event. Het aantal paren transmit en receive requests wijst op het aantal blokken die nodig is voor de communicatie.
  5. Door het verschil te nemen tussen de tijdspannes in beide Diagnostics vensters, kunt u bepalen hoeveel tijd KEPServer nodig had om met de device te communiceren

Quick Client Test Mode

In deze test voeren we meerdere leesacties uit vanuit de Quick Client. Deze tool kan enkel synchrone leesacties doen, wat wil zeggen dat de tweede leesanvraag pas gebeurt wanneer het antwoord op de eerste ontvangen is. Dit is meestal minder performant dan asynchroon. Maar omdat we meerdere leesacties na elkaar uitvoeren, is dus minder een momentopname. 

De resultaten van deze test zijn gemiddelde, maximum en minimum tijden waarin de Quick Client de data ontvangt. De tijden voor uw andere client applicaties kunnen dus anders zijn.

Maar deze test is wel nuttig om te bepalen welke device settings in het KEPServer project het beste zijn.

1:  Voorbereiding KEPServer project

  1. In de Configuration tool, voeg alle items die u wil testen toe aan de device in het KEPServerEX project. U kan eventueel een kopie van een bestaande channel/device maken om mee te testen.
  2. Zorg dat de channel en device de instellingen heeft waarmee u wil testen
  3. Stop alle clients die data van de betreffende PLC uit KEPServerEX opvragen, en bij voorkeur ook alle clients die via OPC op KEPServer connecteren. 

2:  Configureer de Quick Client voor benchmarking

  1. Rechtsklik het groene KEPServer Administration tool icoon in de Windows system tray, en kies 'Quick Client'
  2. Voeg een nieuwe server connectie toe door op het icoon te klikken, en dan 'Kepware.KEPServerEX.V6' te kiezen
  3. Voeg een nieuwe group toe door op het icoon te klikken. Zorg dat het vinkje bij 'Active State' uit staat zodat de group uitgeschakeld blijft
  4. Voeg de items toe waarmee u wil testen via het icoontje

3:  Voer de benchmark uit

  1. In de menubalk van de Quick Client, klik 'Tools', en dan 'Test Mode...'
  2. In het Test Mode venster, kies bij 'Test Type' de instelling 'Sync Device Read'
  3. Onder 'Iterations', kies het aantal keren dat de leesactie uitgevoerd word
  4. Klik op 'Run' om de test uit te voeren. Noteer de resultaten