CPU erfasst Daten einer anderen CPU

Waldi_März

Level-1
Beiträge
38
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Ich hätte ein kleines Problem. Ist es realisierbar das eine CPU die Daten von mehreren CPUs erfassen kann.
Der Fall lautet folgendermaßen:
Die vorort stehenden CPUs dürfen aufgrund von Datenschutz nicht berührt oder geändert werden. Nun soll eine zusätzliche CPU eingesetzt werden, die einige Daten (z.B: aus dem Feld) von den anderen CPUs erfasst.
Die zusätzliche CPU soll parallel zu den anderen ihren Programm - Erfassung von Daten -abarbeiten.
Ist es realisierbar? Ich habe schon in verschiedenen Dokumentationen und Webseiten nach Informationen gesucht, jedoch nur ein geringer Erfolg. Was ich bis jetzt weiß: Eine Möglichkeit, wäre einen DP/DP Koppler zuverwenden oder die CPUs über einen CP miteinander zu verbinden. Alles soll daraufhin in Step7 eingebunden werden und so programmiert werden, dass die Daten (Ergebnisse) in der zusätzlichen CPU aufgerufen werden.
Es ist jedoch sehr kompelx,
Können ihr mir dabei weiter helfen. Wenn es möglich ist, wie ist es leichter zu realisieren. Kann man es mit irgendwelchen
get-Funktionen erstellen?

Über eine Rückmeldung wäre ich euch sehr dankbar.

Mit freundlichen Grüßen

Waldi_März
 
Wenn Du z.b. Ethernetschnittstellen hast, konntest Du mit dem FB14 Get aus der Standardbib die Daten die Du brauchst einfach auslesen. Ist kein grosser Aufwand.

Gruss
Audsuperuser
 
Eine Möglichkeit, wäre einen DP/DP Koppler zuverwenden oder die CPUs über einen CP miteinander zu verbinden.
Dann müssen die bestehenden CPU's modifiziert werden.

Kann man es mit irgendwelchen
get-Funktionen erstellen?
Genau das kannst Du machen.

Für Profibus und Ethernet muss S7 Verbindungen und GET Bausteine verwendet werden.
Wenn du in den neuen CPU "unspezifisierter S7 verbindungen" zu die bestehenden CPUs einrichtet brauchen die bestehenden CPUs keine Konfigurationsänderungen.

Für MPI ist es mittels X_GET noch einfacher als keine Verbindungen eingerichtet werden muss.

Wenn Du anstatt ein S7 CPU ein PC einsetzt, gibt es weitere möglicheiten womit die bestehenden CPUs nicht geändert werden muss.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
CPU erfasst daten andrer CPU

Danke für die guten Vorschläge,

Es wird Profibus und Ethernet verwendet. Das heißt ich müsste aus der Standardbibliothek den SFC 14 benutzen um die Daten daraus zulesen. Brauch ich auf der anderen Seite (auf den anderen CPUs) einen entsprechenden Funktionsbaustein, wie den SFC 15, oder nicht? Ich brauche eine einseitige Verbindung, zum Lesen vielleicht aber auch noch zum Schreiben (SFC15), von der zusätzlichen CPU gesehen?
Funktioniert es?
Danke im vorraus
mfg
Waldi
 
Hi Audsuperuser,

meintest du mit "FB14" den SFC 14?, Brauch ich bei der Verwendung dieser Funktion, eine entsprechnede gegenüberliegende Funktion auf den anderen CPUs? Ich darf nur eine einseitige Vebindung benutzen?
danke
mfg
Waldi
 
SFB odr FB?

Noch eine Frage,

ich verstehe nicht was der Unterschied ist zwischen den SFB (system FB)und FB. Ist der SFB (400Byte Datenlänge) für die S7400 und der FB (160Byte) für die S7300. Ich hab nur das herausgefunden. Ist das der Unterschied, oder gibt es noch einen anderen Unterschied?
Danke
mfg
waldi
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bei der 300er kannst du z.B. die IDs multiplexen, d.h. mit einem Baustein auf verschiedene VerbindungsIDs zugreifen.
Der Baustein liest die Werte ID,ADDR_1; RD_1 bei jedem Aufruf ein.

Der 400er Baustein lädt die ID nur beim erstmaligen Aufruf der Instanz.
Deshalb musst da auch bei einer Änderung den Instanz-DB neu laden...

Gruß Micha
 
du brauchst die PUT und GET Bausteine für deine CPU.
Einseitige Verbindung ist OK.

So wie ich Waldi verstanden habe will er nur lesen.
Du brauchst also nur GET.

Wenn Du alle CPUs in einem Projekt hast, musst du im NetPro S7 Verbindungen zu den einzelnen Steuerungen projektieren und dann alles übersetzten und runterspielen.

Diese Verbinungen musst du dann HexCodiert am FB14 angeben.
Dann musst du noch sagen, was Du lesen willst z.B. P#DB1.DBX0.0 Byte 10 und wohin die Daten auf Deiner CPU geschrieben werden sollen.

Gruss
Audsuperuser
 
Zurück
Oben