Zeitsynchronisation 3er SPSen

Mattin81

Level-1
Beiträge
96
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen.

Ich habe derzeit auf meinem PC eine Soft SPS laufen und über Netzwerk sind 2 CX 9001 angeschlossen.
Ist es möglich, jetzt über das Netzwerk alle 3 SPSen Zeitsynchron zu bekommen? Kann ich von meiner SoftSPS aus diese Zeitsynchronisation anstoßen und wenn ja wie??

ich hoffe ihr könnt mir helfen. Danke und Gruß

Martin
 
Was ist synchron?

Da muss man schon genauer erklären, was synchron ist.

Die Spannweite reicht von:

Uhren etwa auf die Sekunde genau zueinander einstellen,

über jede SPS ist im gleichen Zyklus,

bis versuchen auf 10 nsek genau Soft Motion wie bei EtherCAT zu betreiben.
 
Simpel Lösung

Wenn es freie Hardware Ausgänge und Eingänge gibt, wäre folgendes möglich:

Master setzt z.B. alle Sekunde für einige Zyklen ein Ausgangsbit, Slaves lesen diesen Impuls in ihrem Ablauf als Flanke ein und synchronisieren sich darauf.

Wenn auch die absolute Zeit nötig ist, kann der Master zusätzlich mit Vorlauf ein Telegramm der Art: "Beim nächsten Tick ist es ..." versenden.
 
weil ich eine zeitmessung machen muss. Kompliziert zu erklären, darf auch nicht allzuviel dazu sagen. Die firma für die das ist möchte das nicht.

kannst du mir sagen, wie ich das machen kann mit ntp?
 
es darf aber nicht ethercat sein! das Gerät, was es nach abschließender programmierung gegenzutesten gilt kann kein ethercat.

Nur NTP über ethernet. nur wie geht das? wie kriege ich vom "master" der softsps einen befehl zu den "clients" den CX 9001 über Ethernet gesendet, damit sie sich über NTP mit dem Master zeitrlich synchronisieren!?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
für alle, die es interessiert:

es gibt einen Baustein, der FB_LocalSystemTime heißt und die aktuelle System Zeit zurück gibt.

Hilft mir aber immer noch nicht dabei, wie ich die SPSen auf Befehl hin mit dem Rechner synchronisiere.

Weiß denn niemand, wie man NTP über Ethernet macht???

Hilfe bitte! :/
 
Hallo Martin
mit NTP über ein normales Netzwerk wird das aus verschiedenen Gründen schwierig:
- die Frames werden unkontrollierbar/unmessbar verzögert, damit kannst du keinen Gleichlauf garantieren, die Angabe "200µs" von Wikipedia gehen nicht "einfach mal so"
- die Windows Uhr kann von allen möglichen Diensten manipuliert werden und springt dir dann fröhlich in der Gegend herum - NTP ist da sicher nicht der einzige Dienst.
- das Auslesen der Windows Uhr wird im ms-Bereich auch kritisch

Ich nehme an du hast da eh schon die Tasks in den CX mit 1 ms Zykluszeit laufen, sonst machen deine Anforderungen ja keinen Sinn. Und das machst du mit K-Bus-Klemmen?? Ich finde die vorgenannte El6688-Idee nicht schlecht, so etwas habe ich auch schon mal gemacht:
- an deinem ZentralPC setzt du eine EL6688 als PTP-Master ein, die Ihre IEEE1588-Frames (wenn es sein muß) ins normale Netzwerk sendet. Besser wäre aber ein eigenes Netz mit möglichst wenig Switchen.
- an die CXe machst du ebenfalls El6688 dran, die als Slave diese Frames empfangen. Damit bekommst du dann (wie in der von dir schon entdeckten Beckhoff-Doku beschrieben) hin daß die 3 TwinCAT Systeme
1. taktsynchron
2. mit bis zu <1ms Abweichung ihrer Lokalzeit
arbeiten. Das meint aber die TwinCAT Zeit (siehe Doku), nicht die in diesem Qualitätsbereich wertlose Windows-Zeit.
An deiner Stelle würd ich mir aber in jedem Fall überlegen wie du die Synchronisierung ständig monitorst, zur Überwachung.
Gruß
Stinson
 
warum willst du eigentlich 3 SPS´s synchronisieren, versuch doch deine Messaufgabe in einer zu lösen und werte dann das Ergebnis aus, wenns so genau sein muss. Die eine kannst du sicher über NTP so halbwegs auf einer vernünftigen Zeit am laufen halten.

Kenn mich leider "nur mit S7" und Siemens/SAT 1703 wirklich gut aus.
Du müsstest deine Aufgabe eventuell ein bisschen besser beschreiben um da eine vernünftige Antwort zu erhalten.
In deinem Fall würd ich wahrscheinlich 1703 nehmen, und die mit dem Zeitstempel versehenen Ereignisse danach auswerten. Wenn die Synchronisation vom Zeitserver halbwegs die selbe Laufzeit auf die betroffenen Systeme hat, dann kommst du da auf 0,01 sec hin.

fg Winnman
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen und vielen Dank für Eure Antworten.


Also:

Ich benutze die High-Level Api der IEC 60870-5-104. Diese generiert ihre Zeitstempel aus der Uhr der SPS.
Die Sache ist die, dass ich für meine Diplomarbeit folgende Zeiten messen muss:

1. Zeit anregen einer Nachricht über einen Digitalen Eingang bis zur Generierung der Nachricht (-104er Zeitstempel)
2. Die Zeit von der Generierung der Nachricht (-104er Zeitstempel) bis zur Ankunft an der Zentralstation Hallo Herr Dresselhaus,

freut mich, wenn Ihnen die Messe und hoffentlich auch die Party gefallen hat. Ich persönlich hab es, aus den vorher genannten Gründen dieses Jahr leider nicht zur Messe geschafft.

Also:

Ich benutze die High-Level Api. Diese generiert doch ihre Zeitstempel aus der Uhr der SPS, sehe ich das richtig?
Die Sache ist die, dass ich für meine Diplomarbeit folgende Zeiten messen muss:

1. Zeit anregen einer Nachricht über einen Digitalen Eingang (von der Soft SPS mit EtherCAT digital IO) bis zur Generierung der Nachricht (CX9001: -104er Zeitstempel)
2. Die Zeit von der Generierung der Nachricht (CX9001: -104er Zeitstempel) bis zur Ankunft an der Zentralstation (Soft SPS mit EtherCAT digital IO)

Um das machen zu können wäre es gut, wenn alle drei SPSen, zumindestens millisekunden genau auf der gleichen Zeit laufen würden.
EtherCAT kommt für mich zur Zeitsynchronisierung definitiv nicht in Frage, da die Gegenstation, die ich anschließend durch eine SPS ersetzen muss nicht EtherCAT fähig ist. Die Unterstation die es gegen zu testen gilt synchronisiert sich auch nur über NTP.


Danke und Gruß

Martin
 
So funktionierts:


Man muss erst mal den Win7- Rechner so aktivieren, dass es Anforderungen von anderen Rechnern bedient!

Start > ausführen > gpedit.msc

Computerkonfiguration > Administrative Vorlagen >System > Windows Zeitdienst ...

image001.jpg
 
Ich hätte da noch ein Problem, das glaube ich ganz gut in diesen Thread passt. Wegen eines Meldungsystems, sollen 2 CX9000 von einem WINXP Rechner zeitsynchronisiert werden.

Ich hatte bei Microsoft nachgeschaut, und dort ist der Zeitdienst wie bei Win7 mit eingebaut. Laut der Hilfe sollten die Einstellungen funktionieren, jedoch sendet der Server nach dem Request von den Clients die aktuelle Zeit nicht zurück.

Ich hatte mir noch eine Demo von einem kommerziellen Produkt geholt, mit dem es geklappt hat. Mit Wireshark hab ich gesehen, dass der SNTP Client von der CX eine Anfrage schickt und auch gleich eine Antwort erhält.

Mit dem NTP Daemon von Meinberg funktioniert das auch nicht, liegt aber warscheinlich an der Config File.
 
Zurück
Oben