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

Ergebnis 1 bis 7 von 7

Thema: Rezeptverwaltung programmieren

  1. #1
    Registriert seit
    19.03.2015
    Beiträge
    12
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Tag,


    ich bin gerade dabei für eine Codesyssteuerung eine Rezeptverwaltung zu implementieren. Die Verwaltung soll später in verschiedene Maschinen eingesetzt werden. Die Maschinen sind vom Grundaufbau her gleich, unterscheiden sich jedoch in Anzahlt und Art verschiedener Stationen.


    Die Rezeptverwaltung soll auf der Codesys Steuerung betrieben werden und die Rezepte möglichst lokal und vor allem permanent speichern.


    Das Aufbauprinzip besteht aus einem Baustein (Verwaltung), und für jede weitere mögliche Station einen weiteren Baustein(Station 1...x).
    Die Visualation kann Parameter direkt in de Stationen einsehen und anpassen. Gespeichert werden die Variablen über den Rezepverwaltungsbaustein. Jede Station hat eine eigene Variablen Struktur die unterschiedlich ist. In folgendem Bild habe ich die Gründsätzlichen beziehungen einmal aufgemalt. Programmiert wird mit Codesys 3.x mit allem was dazu gehört. Ich weis das es mit den Verweisen von den Stationen auf den Hauptbaustein nicht so einfach ist mit Strukturen aber da überlege ich mir noch etwas. Mein Problem ist wie speichere ich am besten die Daten Permanent. In einem Array, Datenbank lokal(wenn das möglich ist), XML File, usw...

    AufbauRezeptverwaltung.jpg
    Zitieren Zitieren Rezeptverwaltung programmieren  

  2. #2
    Registriert seit
    17.10.2007
    Beiträge
    263
    Danke
    5
    Erhielt 52 Danke für 48 Beiträge

    Standard

    Hallo Kai,

    zuerst mal ein paar Fragen:
    1. Auf welchem(n) System(en) wird die Visu laufen?
    2. Sollen die Rezepte zwischen Maschinen austauschbar sein?
    3. Wie sollen Rezepte gesichert/wiederhergestellt werden?

    Ich habe diese Fragen damals mit "Rezepte als Datei" beantwortet, zumal bei mir hinzukam, dass unsere Rezepte plattformunabhängig (B&R, Siemens) verwendbar sein sollten. Und wegen des Einsatzes von Panels (ob B&R oder Siemens) schied eine (lokale) Datenbank ebenfalls aus.

    Realisiert habe ich die Anforderungen folgendermaßen:
    1. Die Rezeptparameter einer Station bilden eine Unterstruktur des Gesamtrezeptes.
    2. Datei "<Rezeptname" erzeugen, Dateikopf (Dateityp, Versionsnummer, Maschinentyp etc.) schreiben.
    2. Schleife über die Rezeptstruktur, von jedem Element wird der Variablenname ermittelt und in der Form "<VarName> = <Wert>" als String/Zeile in die Datei geschrieben.

    Das Einlesen der Rezeptdatei geschieht zeilenweise, danach splitten in Variablenname und Wert und zuletzt Zuweisung an die entspreche Variable.


    Gruß, Fred


    PS: XML wäre dann interessant, wenn man Strukturen in einem Rutsch, sprich mit einem Befehl abspeichern/einlesen könnte. Ging/geht bei Siemens-Panels nicht, bei CodeSys bzw. ST weiß ich es nicht.
    Geändert von faust (20.03.2015 um 20:55 Uhr)

  3. #3
    SchmiererKai ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    19.03.2015
    Beiträge
    12
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Fred,


    Danke für deine promte Reaktion. Zuersteinmal beantworte ich dir deine Fragen.
    1: Die Visu soll zuersteinmal auf einem Webpanel laufen aber austauschbar sein. Das bedeutet das eventuell später auch eine Visu von Intouch oder Zenon eingesetzt wird. Aus diesem Grund soll die ganze Datenspeicherung auf der SPS ablaufen.
    2: Die Rezepte müssen nicht austauschbar sein. Die Standartparameter werden in der Station hinterlegt und werden dann immer wieder abgeändert.
    3: Die Visu gibt über eine Boolsche Variable den jeweiligen Befehl zum speichern bzw. zum laden eines anderen Rezepts. Das Rezept soll dann vom Rezeptverwaltungsbaustein lokal in einer bisher unklarenn Form speichern.


    Ich weis nicht welche Dateiformen bei der Verwendung von Codesys am einfachsten bzw. sichersten. Die Daten können sich auf
    Codesys SPS'n beschränken sollen.


    Es ist ein guter Anfang die ganzen Dateien in einen String zu speichern. Wie lese ich einzelne Zeilen aus bzw speichere einzelne Zeilen?
    Wie hast du das System mit deinen Rezeptstruktur aufgebaut. Kannst du das ein wenig näher erläutern mit Unterstruktur usw.


    Ich danke dir vielmals.


    Kai Schmierer

  4. #4
    Registriert seit
    17.10.2007
    Beiträge
    263
    Danke
    5
    Erhielt 52 Danke für 48 Beiträge

    Standard

    Hallo Kai,

    zu 3.: Ich meinte damit eigentlich so etwas wie eine Datensicherung, falls die lokal gespeicherten Dateien korrumpiert/zerstört worden sind.

    Zur Rezeptstruktur:
    Eine Rezeptdatei sieht bei uns z.B. so aus:
    Code:
    [File]
    Type = WPRCP
    Version = 1
    
    [Machine]
    Type = Angel
    
    [Recipe]
    name = Light roll 66g
    lastUpdate = 2015-03-13 11:14:37  (Administrator)
    
    [Data]
    description = Brown dough 66g
    noOfRows = 4
    rowPerformance = 2400
    totalPerformance = 9600
    takeoverStation[0].centering_durationAdjust = 0
    takeoverStation[0].centering_on = true
    takeoverStation[0].centering_startPosAdjust = -10
    takeoverStation[0].flaps_durationAdjust = 15
    takeoverStation[0].flaps_on = true
    takeoverStation[0].flaps_startPosAdjust = -17
    takeoverStation[0].flouring_durationAdjust = 0
    takeoverStation[0].flouring_mode = 10
    ...
    longmouldStation[0].blower_on = false
    longmouldStation[0].firmingAndCentering_durationAdjust = 2
    longmouldStation[0].firmingAndCentering_mode = 20
    longmouldStation[0].firmingAndCentering_startPosAdjust = 7
    ...
    Die Punkte "..." sind einfach nur Füllzeichen, pro Station/Modul haben wir eigentlich bis zu 100 Parameter.
    Wie du siehst wird 'einfach' ein Key/Value-Paar pro Zeile in die Datei geschrieben. Der Key ist dabei der interne Variablenname, vor dem Schreiben/nach dem Einlesen einer Rezeptdatei wird dann der Name der Hauptstruktur (hier "recipe") abgeschnitten/hinzugefügt.


    Gruß, Fred

  5. #5
    SchmiererKai ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    19.03.2015
    Beiträge
    12
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Fred.


    Achso. Ja die Daten werden dann ggbf auf eine SD-Karte, USB Stick etc. gesichert. Je nach Anwendung kann dann für jede Speicherart eine erbende Klasse implementiert werden.


    Okay jetzt verstehe ich das ganze. Finde ich eine sehr gute Lösung und auch variabel anwendbar. Ich denke jetzt bin ich einige Schritte weiter gekommen.


    Kennt sich jetzt noch jemand mit Codesys Speicherarten aus. Retain und Persistand sollen ja nicht ganz so sicher sein und daher würde ich gerne die Daten in Dateien ablegen. Wie erstelle ich mit Codesys eine Dateistruktur dieser Art(letzter Post). Und voallem wie wandle ich das ganze wieder in meine Variablen bzw Struktur zurück?
    Ich danke dir für deine Hilfe Fred.


    Mit freundlichen Grüßen
    Kai Schmierer

  6. #6
    Registriert seit
    17.10.2007
    Beiträge
    263
    Danke
    5
    Erhielt 52 Danke für 48 Beiträge

    Standard

    Hallo Kai,

    ich bin ob deiner letzten Frage jetzt etwas verwirrt:
    1. Wie du Strukturen bzw. eigene Datentypen anlegst weißt du aber schon??
    2. Das einzige, was ich für die oben gezeigte Datei gemacht habe, ist das Iterieren über die Struktur "recipe" und die Ermittlung der Element- bzw. Variablennamen mittels Schleife und der ST-Funktion "pvInfo" (oder so ähnlich) sowie die Bildung von Key/Value-Paaren mit dem zugehörigen Variablenwert. Jedes Paar schreibe ich dann mit Hilfe der entsprechenden ST-Funktion als eine Zeile in die zuvor erzeugte Rezeptdatei.
    3. Beim Einlesen legst du keine neue Struktur an, sondern du besetzt ja jedes bestehende Element 'nur' mit einem neuen Wert. Also kannst auch hier eine Schleife über die Struktur laufen lassen und die Werte zuweisen. Ich habe jetzt die Funktionsnamen nicht parat, diese sollten aber nicht schwer zu finden sein.


    Gruß, Fred

  7. #7
    SchmiererKai ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    19.03.2015
    Beiträge
    12
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Fred.


    1. Ja ich kenne mich mit Strukturen sehr gut aus.
    2. Auch das schreiben bzw verwalten sollte ich ohne Probleme hinbekommen.
    3. So wie du sagst ist mein einziges Problem wirklich noch die Funktionen wie ich Dateien lade, speichere, verändere, einzelne Zeilen schreibe und vorallem einzelne Zeilen auslesen. Da müsste sich doch jemand finden der das mit Codesys schon gemacht hat und mir eventuell Tipps gben kann. Bisher habe ich direkt nicht gefunen mit dem ich einzelene Zeilen auslesen kann.
    Ich danke dir das du mich schon soweit gebracht hast und entschuldige mich für die Verwirrung.


    Mit freundlichen Grüßen
    Kai Schmierer

Ähnliche Themen

  1. WinCC Rezeptverwaltung
    Von dada im Forum HMI
    Antworten: 0
    Letzter Beitrag: 02.12.2013, 21:44
  2. Rezeptverwaltung
    Von Ralle_1971 im Forum HMI
    Antworten: 3
    Letzter Beitrag: 23.02.2013, 16:04
  3. TP 177 B Rezeptverwaltung
    Von Spsneuling im Forum HMI
    Antworten: 1
    Letzter Beitrag: 14.05.2009, 12:43
  4. Format Rezeptverwaltung
    Von rostiger Nagel im Forum HMI
    Antworten: 12
    Letzter Beitrag: 24.03.2008, 11:30
  5. Rezeptverwaltung OP7
    Von sophia0000 im Forum HMI
    Antworten: 3
    Letzter Beitrag: 21.10.2004, 16:12

Lesezeichen

Berechtigungen

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