Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: Datenaustausch über Netzwerk mittels Dateien

  1. #1
    Registriert seit
    04.02.2013
    Beiträge
    271
    Danke
    12
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo, es ist soweit ich muss mich an ein Scada System anklicken
    ich muss nun Daten von meinem Steuerungen (sowohl Sps als auch ipc's mit Codesys V3 )
    mit dem Leitsystem austauschen. Die Übergeordnete Ebene möchte dies unbedingt über XML Dateien machen. Wie ich schon mal vermutet habe, wollen sie xml Dateien schreiben, auf denen diverse Anweisungen enthalten sind. Rezepte usw. Um zu signalisieren dass eine Datei neu geschrieben wurde, wird eine *.txt datei als Triggerdatei geschrieben, welche ich nach dem Auslesen der XML dann wieder lösche.

    nun zu meiner Frage. Hat von euch jemand so etwas schon mal gemacht? Also auf triggerdateien reagiert und etwas aus dem Netz gelesen geschrieben erzeugt und gelöscht? .... Des weiteren muss ich auch xmls erzeugen, aber soll ich dass alles mit fileopen .... Usw machen?

    kann mir jemand behilflich sein?

    Danke
    Zitieren Zitieren Datenaustausch über Netzwerk mittels Dateien  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.712
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Hallo,
    ich verstehe gerade deinen Denkansatz nicht so ganz. Willst du direkt aus der SPS heraus die Daten erzeugen ... oder aus einer Visu.
    Bei letzterem sollte es eigentlich gerade in diesem Segment (Beckhoff-CodeSys) schon Funktionalitäten geben, die auf Visual Studio / .Net-Basis arbeiten. Dort stehen dir dann schon passende Serialisierer zur Verfügung.

    Vielleicht schreibst du mal noch etwas mehr dazu ...

    Gruß
    Larry

  3. #3
    SY50 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.02.2013
    Beiträge
    271
    Danke
    12
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich möchte es aus der sps direkt machen, denn manche Anlagen enthalten nur kleinere "Aggregate", welche keine Visuell haben und ich würde es gerne durchgängig haben, von daher direkt in der sps einlesen und auch erzeugen. Die sps die ich einsetze hat zwar auch ein filesystem, aber Diensten würden auf einem Rechner liegen, also nicht auf der jeweiligen Steuerung, sondern wenn man es so will auf einem Server.

  4. #4
    Registriert seit
    09.11.2007
    Ort
    Rhein Main (Darmstadt)
    Beiträge
    663
    Danke
    61
    Erhielt 112 Danke für 80 Beiträge

    Standard

    Solche Lösungen haben wir schon sehr lange praktiziert.

    Vorteil:

    Leicht zu debuggen, auch bestens geeignet für Standalone und Unit Tests,

    läuft auf verschiedensten Plattformen,

    unabhängig von Protokollen und Einschränkungen der Lieferanten der Komponenten,

    nach Fehlern und Unterbrechungen leichtes Recovery.

    Die Synchronisierung haben wir anders gelöst, der Producer schreibt ausschliesslich seine Files, ein Consumer versucht ein Rename, wenn es klappt muss der Producer ein neues File anlegen, wenn es nicht klappt, weiss der Consumer, dass gerade geschrieben wurde.
    Als Freelancer immer auf der Suche nach interessanten Projekten.
    Zitieren Zitieren Ist die Überlegung wert  

  5. #5
    SY50 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.02.2013
    Beiträge
    271
    Danke
    12
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Schön dass ihr das so gemacht habt, aber der Kunde will es leider anders
    er möchte eben, dass ich seine XML Dateien lese, und nach Bearbeitung mit XML Dateien darauf antworte. Ich halte es allerdings auch für eine ganz gute Lösung. Aber weis nicht genau wie ich mit codesys V3 Vorgehen Soll

  6. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.712
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Frage dazu :
    Kann Codesys V3 eine Variable adressieren, deren Namen vorher als String zusammengebaut wurde ?
    Wenn ja, dann sollte es nicht so problematisch sein, einen XML-Import zu schreiben. Wenn nein dann hast du m.E. ganz schön Schreibarbeit.
    Aber prinzipiell würde ich hier auf .Net setzen (meine Meinung).

    Gruß
    Larry

  7. #7
    SY50 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.02.2013
    Beiträge
    271
    Danke
    12
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Wieso variblen adressieren? Also ich möchte damit ja keine Variablen erzeugen oder so, sondern die XML soll nur als "Rezept" dienen. Also ich weis schon wenn das Element "X-Achse" mit den Attribut "Speed" in der XML steht , dass das die Vorschubgeschwindigkeit ist. Muss eben nur die XML irgendwie "dekodieren" also "Präsenz" wie geht das jetzt?

  8. #8
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.712
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Naja ... scheinbar hast du mich nicht verstanden.
    Wenn in deiner XML die Gruppe vielleicht "Rezeptdaten" und die Untergruppe "X_Achse" und deren Element "Speed" heißt dann könnte das ja dein Variablen-Name sein - nämlich "Rezeptdaten.X_Achse.Speed". Könntest du nun (was ich aber nicht weiß ob Codesys V3.0 das kann) diesen String zum direkten Adressieren einer Variablen nehmen dann wäre es nicht mehr so problematisch.
    Ansonsten mußt du dir (so würde ich es ggf. machen) ein Array of String zusammenbauen in dem du die zusammengesetzten Variablen-Namen der XML schreibst und ein Array in das du die zugehörigen Werte schreibst. Oder du machst es als Struktur ...
    Nun gehst du dann hinterher in einer Schleife das String-Array durch und machst darin ein Select Case-Konstrukt (z.B.) in dem du die Variablen-Namen deinen wirklichen SPS-Variablen zuordnest.
    Das wäre das Einlesen - wie ich schon geschrieben habe "ein wenig" Schreibarbeit ...
    Das Erzeugen einer XML (vor Allem wenn die noch eine Struktur haben soll) würde dann im Prinzip so ähnlich umgekehrt funktionieren.

    In jedem Fall mußt alle Variablen-Namen der XML kennen und deren Zuordnung zu deiner Steuerung kennen - das hebt die eigentliche Flexibilität der XML im Grunde komplett auf.

    Aber vielleicht ist es ja gar nicht so schlimm und kompliziert, wie ich denke (aber wahrscheinlich doch).
    Du könntest z.B. mal einen Auszug so einer XML-Datei posten - dann kann man sich ein besseres Bild machen.
    Dann könntest du mal gegenchecken, ob du in Codesys V3.0 so einen indirekten Variablen-Zugriff, wie ich ihn anfänglich genannt habe, machen kann.

    Gruß
    Larry

  9. #9
    Registriert seit
    09.11.2007
    Ort
    Rhein Main (Darmstadt)
    Beiträge
    663
    Danke
    61
    Erhielt 112 Danke für 80 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Frage dazu :
    Kann Codesys V3 eine Variable adressieren, deren Namen vorher als String zusammengebaut wurde ?
    Wenn ja, dann sollte es nicht so problematisch sein, einen XML-Import zu schreiben. Wenn nein dann hast du m.E. ganz schön Schreibarbeit.
    Aber prinzipiell würde ich hier auf .Net setzen (meine Meinung).

    Gruß
    Larry
    Ja, das geht. Aber wenn Du nicht Hersteller einer Codesys SPS bist, kostet das ein wenig Geld.

    Es gibt von 3S das Gateway SDK. Ich hatte das einmal vor über 10 Jahren in einem anderen Projekt (Indralogic) benötigt.

    Es war recht komplex im Einsatz und ohne Unterstützung aus Kempten ist die Lernkurve steil bis senkrecht aus meiner Erinnerung.

    Das SDK für Windows war seinerzeit ein Ding, das in Verbindung mit Visual Studio C++ nur mit guten Kenntnissen von Microsoft COM+ zu meistern war.

    gateway01.jpg

    Hier ein Ausschnitt aus den ca.30 Files, die ich noch auf meiner Harddisk gefunden habe.
    Als Freelancer immer auf der Suche nach interessanten Projekten.

  10. #10
    SY50 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.02.2013
    Beiträge
    271
    Danke
    12
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Danke für eure Anregungen, aber mit dem String zu reagieren halte ich jetzt ehrlich gesagt für viel inflexibler, denn dann muss die Variable in der sps ja auch immer schon bei der Entwicklung des Leitsystems bekannt sein. Ich hätte es jetzt so gemacht, dass ich ein Baustein schreibe, der dann wie das von Larty beschriebene Array abgearbeitet wird, aber die jeweiligen Array werden durch Methoden gefüllt. Also beim hochfahren der sps führe ich x mal eine Methode aus, die ausgewählte vatiablendaten in die entsprechenden arrays des Bausteins schreiben. Das wäre recht flexibel. Oder was meint ihr. Also es liegt jetzt nur noch daran wie ich die Datei lese und erzeuge.

Ähnliche Themen

  1. CSV Datein mittels FB_File_Open im Netzwerk abspeichern
    Von Hans_J im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 22.01.2014, 07:58
  2. Antworten: 0
    Letzter Beitrag: 08.01.2010, 16:34
  3. im netzwerk gelöschte dateien widerherstellen
    Von volker im Forum Stammtisch
    Antworten: 5
    Letzter Beitrag: 12.02.2007, 08:07
  4. Datenaustausch über Profibus
    Von SPS_Hannes im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 01.01.2006, 14:39
  5. Datenaustausch über Profibus!!!
    Von klauserl im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 09.11.2005, 21:26

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •