Verbesserung der Leistung mit OPC-tags
Arbeite ich mit einem PC-based automation software-Paket namens Think ' N ' Do erstellt von Phoenix Contact Es tut Echtzeit-Verarbeitung, Eingänge Lesen/Steuerung Logik /Ausgänge schreiben alles in maximal 50ms. Wir haben einen OPC-server, ist das Lesen/schreiben von tags aus der SPS alle 10ms. Es gibt eine lange Verzögerung, schriftlich einen tag, um die SPS-und zurücklesen des geschriebenen Wertes (Think ' N 'Do (50ms) > OPC-Server (10ms) > SPS (10ms) > OPC-Server (10ms) > Think' N ' Do (50ms) ), der Prozess dauert bis zu 6 Sekunden abgeschlossen, wenn es sollten von mein Mathe nur 130ms.
Irgendwelche Ideen, wo zu suchen oder warum könnte es so viel mehr nützlich sein würde.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es hängt davon ab, wie Sie Ihren OPC-client konfiguriert, um Daten ziehen. Wenn Sie sich für eine Gruppe im OPC, erhalten Sie auf geben Sie einen refresh-rate. Dies kann standardmäßig 1s oder sogar 5s, je nach den OPC-client. Es gibt auch eine Grenze, die der OPC-server können auf die Frequenz der Aktualisierung der Daten. Dies gilt nur, wenn Sie über Ihr OPC-client das abonnieren von Daten, die change-Ereignisse.
Den anderen Weg man gehen kann, zu tun async oder sync liest /schreibt den OPC-server. Es gibt mehrere lese-Modi sowie. Da Sie über OPC, können Sie jeden beliebigen OPC-kompatiblen client zum testen Ihrer server, dies wird Ihnen sagen, wenn das problem mit einer Einstellung von Think ' N ' do oder ist es etwas, das mit der SPS /server.
Die besten Allgemeinen Zweck OPC-client, den ich verwendet habe, ist OPC-Quick-Client. Sie können es mit TOP-Server hier: http://www.toolboxopc.com/Features/Demo/demo.shtml. Nehmen Sie einfach das TOP-Server und installieren Sie die demo-OPC-Quick-Client. Sie können es verwenden, um eine Verbindung zu OPC-server, und suchen Sie die tags und sehen, was die Daten Aussehen. Die zweite beste OPC-client, den ich verwendet habe, ist von ICONICS (die sogenannten OPC-Data-Spy) finden Sie hier: http://www.iconics.com/support/free_tools.asp.
Verwenden Sie den OPC-client zu sehen, wie schnell Sie die Daten Lesen können. Stellen Sie sicher, dass Sie die Gruppe refresh-rate richtig. Ich denke, dass die Werkzeuge möglicherweise bieten einige timing-Informationen für Sie als gut (aber Sie werden in der Lage sein, um herauszufinden, eine 6 Sekunden Verzögerung, ziemlich leicht).
Klingt es so, als wenn Sie nicht mit dem cache in den OPC-server. Normalerweise OPC-Server haben einen cache, wenn Ihr client eine Verbindung herstellt und nicht angeben, dass es nutzen will, den cache, die Sie erhalten nicht die Leistung, die Sie brauchen können. Der OPC-server ist verantwortlich für das aktualisieren der cache von dem Gerät, obwohl die Kriterien für erfrischende abweichen vom OPC server zum OPC-server.
Wenn das system nicht synchron Lesen (blocking I/O-Aufruf), dann implementiert die Logik der Anwendung dann synchron schreibt (wieder-Blockierung), dann müssen Sie berücksichtigen, dass es mehrere round-trips an die SPS.
Einen synchron Lesen Sie beinhaltet die App(request)->OPCServer->SPS->OPCServer->App(Ergebnis). Das ist gerade das Lesen für ein item (obwohl Sie bitten können, für eine Gruppe von Elementen in einem Rutsch).
Dann eine ähnliche sync-schreiben beinhaltet auch die App(Schreiben)->OPCServer->SPS->OPCServer->App ("Fertig").
Asynchrone Lesevorgänge & schreibt und Gruppe liest & schreibt, kann helfen, reduzieren die Blockierung der Anwendung, aber seien Sie vorsichtig, dass Ihre Anwendung bewältigen kann, diese ansyncronous Verhalten
Die andere Sache zu betrachten ist die SPS-Konfiguration Auf Allen-Bradley-SPS gibt es eine interscan-delay-Einstellung, die verwendet wird, um service-I/O-Anfragen über externe Netzwerke. Wenn die Zeit ist kurz, und Sie haben eine hohe Bandbreite von Daten, dann ist dies verlangsamt Dinge nach unten.
Hier sind ein paar Orte zu sehen: OPC-Client-Konfiguration, OPC-Client, OPC-Server oder in der SPS selbst.
Hier sind die Dinge, die Sie überprüfen sollten: