2010-09-27 12 views
6

Ich habe die Aufgabe, einen zeitkritischen Prozess zur Protokollierung von Daten von einer SPS mit einer PTP-Zeitquelle (Precision Time Protocol, IEEE 1588) zu synchronisieren.Gibt es eine PTP-Bibliothek (Precision Time Protocol | IEEE 1588)?

Ein kurzer Blick auf die verfügbaren Bibliotheken, die alle nur IVI-C und IVI-COM-basierte Implementierungen ergeben.

Gibt es eine verwaltete Bibliothek, die PTP unterstützt, die ich verpasst habe, oder muss ich eine Methode zur Verwendung der IVI-COM-Bibliothek finden, die für LabVIEW in meiner Anwendung entwickelt wurde?

+0

Sie haben Artikel wie http://openmeas.blogspot.com/2006/09/ivi-c-and-ivi-com.html verfolgt? –

Antwort

4

Ich hatte die folgende Antwort von dieser Seite http://code.google.com/p/ptpv2d/wiki/Introduction referiert, die ich mir eine klare Idee auf ptpv2d gab, hoffe, dass Sie auch die klare Information darüber erhalten.

Pls beziehen sich diese auch http://code.google.com/p/ptpv2d/

ptpv2d ist GPL Open-Source-Code von IEEE 1588 Version 1, Version 2 und IEEE 802.1AS einschließlich Hardware timestamping für Freescale MPC831x Familie von Prozessoren lizenziert.

Die ptpv2d ist ein Precision Time Protokoll, das die folgenden Merkmale aufweist:

  1. Die Anwendung im Benutzermodus, die unter Standard LINUX läuft, mit einem modularen Design, das leicht Portierungs zusätzlicher Betriebsgewährleistet Systeme.
  2. Eine umfangreiche optionale Print-to-Console Debug-Nachricht Funktion. Diese Nachrichtenfunktionalität kann bei Kompilierung Zeit hinzugefügt oder weggelassen werden. Wenn es enthalten ist, dann ist der Ausgangspegel Befehlszeile auswählbar. Debug-Meldungen sind gleichmäßig für schnellere, einfacher Analyse formatiert. Der POSIX-Socket Anrufe wird verwendet, um alle Nachrichten abzurufen. Message-Handling ist in einem separaten Modul zu enthalten, um eine einfache Portation zu jedem gewünschten Betriebssystem zu gewährleisten.
  3. Freescale MPC8313E Ethernet-Port-Treiber mit voller Unterstützung für PTP Version 1 und Version 2 Nachricht Hardware Zeitstempel.
  4. Fähigkeit, die Hardware-Uhr sehr genau einzustellen (wie präzise als ein Teil pro Milliarde). Software-Algorithmus für feine (wie kleine als ein Teil pro Milliarde) Anpassung von der Hardware-Uhr.
  5. Fähigkeit erkannt Abweichungen von Grandmaster Uhr zu berichten in parts per million
  6. Command line Fähigkeit vier verschiedene Debug- Ausgangspegel einzustellen: keine, grundlegend, ausführlich, und Message 7.Ability Sync/Follow- einstellen up Übertragungszeit Werte von weniger als eine Sekunde.Dies ermöglicht mehrere Sync/Follow-ups pro Sekunde, , die eine verbesserte Genauigkeit und Tracking des "Slave" -System zu "Grandmaster" -System bietet.
  7. Zusätzliche Laufzeit Optionen und Support-Code enthalten:
  8. Auswahl der PTP-Version 1 oder 2 Verkapselung und Protokoll 10.Selection von IEEE 1588 PTP über IPv4/UDP, IEEE P1588 PTP over Ethernet (draft 2.2) oder IEEE P802.1AS Kapselung und Protokoll (Entwurf 1.0) Benutzerspezifischer Taktperiode, um andere Basis Takte zu synthetisieren, nicht nur bei 10 MHz. mit Dual MPC8313E-RDB-Boards laufen sowohl PTP und Ping-Verkehr

Diese Eigenschaften haben durch umfangreiche Tests gegangen. Auf einem Freescale MPC8313E -RDB Board läuft acht Sync/Follow-up-Nachrichten pro Sekunde, es eine plus oder minus 50 Nanosekunde von Master mehr als 99,9% der Zeitverschiebung unterstützen. Bei 128 Sync/Follow-ups pro Sekunde wird das System innerhalb von 16 Nanosekunden des "Grandmaster" Systems synchronisiert.

2

Blick auf http://sourceforge.net/projects/ptpd/

Der PTP-Daemon (PtPd) implementiert das Precision Time Protocol (PTP), wie durch den IEEE-1588-Standard definiert. PTP wurde entwickelt, um eine sehr genaue Zeitkoordinierung von LAN-verbundenen Computern zu ermöglichen.

2

Ich habe vor einiger Zeit eine IEEE-1588-Bibliothek erstellt. Es war teilweise schwierig, besonders wenn Sie eine gute Synchronisierung zwischen den Uhren benötigen. Gute PTP-Bibliothek beinhaltet eine Menge von Statistiken, Vorhersage und Signalverarbeitung. Das Beste, was Sie versuchen können, ist ptpd - es ist sehr einfach zu lernen, wie ptp funktioniert, und es wird Ihnen einen guten Start geben.