Frage

Ich arbeite mit einem PC-basierten Automatisierungssoftwarepaket namens Think'n'Do, das von erstellt wurde Phoenix Contact Die Echtzeitverarbeitung, das Lesen von Eingängen/Steuerlogik/Schreiben von Ausgängen erfolgt in maximal 50 ms.Wir haben einen OPC-Server, der alle 10 ms Tags von einer SPS liest/schreibt.Beim Schreiben eines Tags in die SPS und beim Zurücklesen des geschriebenen Werts kommt es zu einer langen Verzögerung (Think'n'Do (50 ms) > OPC Server (10 ms) > SPS (10 ms) > OPC Server (10 ms) > Think'n'Do (50 ms)) Dieser Vorgang dauert bis zu 6 Sekunden, obwohl er meiner Berechnung nach nur 130 ms dauern sollte.

Jede Idee, wo man suchen sollte oder warum es so viel länger dauern könnte, wäre hilfreich.

War es hilfreich?

Lösung

Dies hängt davon ab, wie Ihr OPC-Client zum Abrufen von Daten konfiguriert ist.Wenn Sie eine Gruppe in OPC abonnieren, können Sie eine Aktualisierungsrate angeben.Abhängig vom OPC-Client kann die Standardeinstellung 1s oder sogar 5s sein.Es gibt auch eine Grenze, die der OPC-Server möglicherweise für die Häufigkeit aktualisierter Daten festlegt.Dies gilt nur, wenn Ihr OPC-Client Datenänderungsereignisse abonniert.

Die andere Möglichkeit besteht darin, asynchrone oder synchronisierte Lese-/Schreibvorgänge auf dem OPC-Server durchzuführen.Es gibt auch mehrere Lesemodi.Da Sie OPC verwenden, können Sie jeden OPC-kompatiblen Client zum Testen Ihres Servers verwenden. Dadurch erfahren Sie, ob das Problem an einer Einstellung in Think'n'Do liegt oder an der SPS/dem Server liegt.

Der beste Allzweck-OPC-Client, den ich verwendet habe, ist OPC Quick Client.Sie können es mit TOP Server hier erhalten: http://www.toolboxopc.com/Features/Demo/demo.shtml.Schnappen Sie sich einfach die TOP Server-Demo und installieren Sie den OPC Quick Client.Sie können damit eine Verbindung zu Ihrem OPC-Server herstellen, die Tags durchsuchen und sehen, wie die Daten aussehen.Der zweitbeste OPC-Client, den ich verwendet habe, ist von ICONICS (genannt OPC Data Spy) und ist hier verfügbar: http://www.iconics.com/support/free_tools.asp.

Verwenden Sie den OPC-Client, um zu sehen, wie schnell Sie die Daten lesen können.Stellen Sie sicher, dass Sie die Gruppenaktualisierungsrate richtig einstellen.Ich denke, die Tools könnten Ihnen auch einige Timing-Informationen liefern (aber eine Verzögerung von 6 Sekunden können Sie ziemlich einfach herausfinden).

Andere Tipps

Es hört sich so an, als würden Sie den Cache im OPC-Server nicht verwenden.Normalerweise verfügen OPC-Server über einen Cache. Wenn Ihr Client eine Verbindung herstellt und nicht angibt, dass er den Cache verwenden möchte, erhalten Sie nicht die Leistung, die Sie möglicherweise benötigen.Der OPC-Server ist für die Aktualisierung des Caches vom Gerät verantwortlich, obwohl die Kriterien für die Aktualisierung von OPC-Server zu OPC-Server unterschiedlich sein können.

Wenn das System synchrone Lesevorgänge durchführt (E/A-Aufrufe blockiert), dann die Logik Ihrer Anwendung implementiert und dann synchrone Schreibvorgänge durchführt (wiederum blockierend), müssen Sie berücksichtigen, dass es mehrere Roundtrips zur SPS gibt.

Ein synchroner Lesevorgang umfasst App(Anfrage)->OPCServer->PLC->OPCServer->App(Ergebnis).Dies ist nur die Lektüre für einen Artikel (obwohl Sie auch eine Gruppe von Artikeln auf einmal anfordern können).

Dann umfasst ein ähnlicher Sync-Schreibvorgang auch App(Write)->OPCServer->PLC->OPCServer->App(Done).

Asynchrone Lese- und Schreibvorgänge sowie Gruppenlese- und -schreibvorgänge können dazu beitragen, das Blockieren der Anwendung zu reduzieren. Achten Sie jedoch darauf, dass Ihre Anwendung mit diesem asynchronen Verhalten zurechtkommt

Der andere zu beachtende Punkt ist die SPS-Konfiguration. Auf Allen-Bradley-SPS gibt es eine Interscan-Verzögerungseinstellung, die zur Bearbeitung von E/A-Anfragen über externe Netzwerke verwendet wird.Wenn diese Zeit kurz ist und Sie über eine hohe Datenbandbreite verfügen, wird dies die Geschwindigkeit verlangsamen.

Hier sind einige Orte, an denen Sie suchen sollten:OPC-Client-Konfiguration, OPC-Client selbst, OPC-Server oder die SPS selbst.

Folgendes sollten Sie überprüfen:

  1. OPC-Client-Konfiguration – Die OPC-Gruppe, der Sie die OPC-Tags hinzugefügt haben, sollte eine schnelle Scanrate haben (d. h.100 ms bis 1 Sekunde, je nachdem, wofür Sie es verwenden).Merken Sie beim Schreiben von Werten, dass die Werte schneller eingehen?Wenn nicht, liegt möglicherweise ein DCOM- oder Netzwerkkonfigurationsproblem vor.
  2. OPC-Client – ​​Laden Sie eine kostenlose OPC-Client-Software herunter (wahrscheinlich von der Website der OPC Foundation oder von großen OPC-Server-Softwareanbietern), um zu sehen, ob Sie die Werte schneller wiederherstellen.Wenn ja, liegt möglicherweise ein Problem mit Ihrem Client vor.
  3. OPC-Server – Einige OPC-Server verfügen über Diagnosetools.Schalten Sie diese ein und sehen Sie, zu welcher Zeit die Schreibvorgänge tatsächlich stattfinden und zu welcher Zeit die Lesevorgänge tatsächlich stattfinden.Wenn Sie diese Fragen beantworten können, können Sie wahrscheinlich feststellen, ob die Ursache für die Verzögerung bei der SPS oder dem OPC-Server liegt.Beobachten Sie auch die CPU-Auslastung des OPC-Servers. Wenn Sie feststellen, dass er mehr CPU als normal verbraucht, bedeutet dies wahrscheinlich, dass der OPC-Server ausgelastet ist, was zu einer Verschlechterung der Leistung führen kann.
  4. Sonstiges – Überprüfen Sie abschließend, ob die SPS und das Netzwerk ordnungsgemäß funktionieren.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top