Rezepturen WCF 2008 Sp2 und kein Ende

Juergena

Level-1
Beiträge
120
Reaktionspunkte
14
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich bin grade am verzweifeln. Ich habe im MP377 Touch mit WCF2008 SP2 eine Rezepturverwaltung aufgebaut mit 5 Werten. Diese greifen auf den DB100 DBD 214, DBD 218, DBD222, DBD216, DBD230 zu. Das ist der Solldatenbaustein für die Maschine. Die tatsächlichen Geberwerte kommen in den IstDatenbausten DB101 DBD214,DBD218,DBD222,DBD226,DBD230 rein. Nun möchte ich dem Bediener der Anlage später eine Funktion ermöglichen, dass wenn er ein nachstellen der Wegachsen während des Betriebes machen muß über einen Button z.b. Istwerte in Sollwerte übernehmen, das MP die Istwerte aus dem DB 101 ausliest und diese in die Rezeptur rein schreibt für das nächste Mal umrüsten. Bisher fand ich lediglich die Möglichkeit das ich die Werte aus dem DB100 ausgelesen und dann ins MP rein geschrieben bekam. Ich will aber wie gesagt den DB101 ansprechen um die Istwerte auszulesen und nicht den DB100 von den Sollwerten. Hat von Euch schon mal jemand da was gemacht? Bin für jede Hilfe dankbar.

Gruß

Jürgen
 
obwohl ich etwas Mühe habe, mir das vorzustellen ...

... aber rein von der Aufgabenstellung her wäre das in der SPS zu lösen. Sprich, die Werte von DB101 nach DB100 kopieren.

Ich verstehe nur nicht: ich vermute, der Bediener verstellt die zuvor aus dem Rezept geladenen Werte im DB100 (Sollwerte).(?)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ne der Bediener wählt seinen Datensatz über die Rezeptur an und schickt sie über das MP an die S7 in den Db100 rein. Danach drückt er Umrüsten start und die Achsen fahren auf diese Sollwerte. So nun kann es vorkommen das der Bediener während des Automatiks die Achsen geringfügig verstellen muß mit einem Tipptaster hoch / runter. dabei verstellen sich ja die Istwerte. So nun will ich das der Bediener später einfach einen Button drückt und das HMI übernimmt diese Istwerte aus der Steuerung in die Rezeptur. Ich bin nun schon an einem Skript angelangt und versuche eines zu schreiben. Aber ob das der richtige Weg ist?

Gruß

Jürgen
 
Hallo,

ne der Bediener wählt seinen Datensatz über die Rezeptur an und schickt sie über das MP an die S7 in den Db100 rein. Danach drückt er Umrüsten start und die Achsen fahren auf diese Sollwerte. So nun kann es vorkommen das der Bediener während des Automatiks die Achsen geringfügig verstellen muß mit einem Tipptaster hoch / runter. dabei verstellen sich ja die Istwerte. So nun will ich das der Bediener später einfach einen Button drückt und das HMI übernimmt diese Istwerte aus der Steuerung in die Rezeptur. Ich bin nun schon an einem Skript angelangt und versuche eines zu schreiben. Aber ob das der richtige Weg ist?

Gruß

Jürgen

Ist die Rezeptur Offline? -> Werden die Werte mit dem Button schreiben in Steuerung übertragen?
 
Jetzt steh ich grade auf dem Schlauch mit Offline. Aber die Werte werden mit Schreiben in Steuerungsbutton der Rezeptur drauf geschrieben.
Wenn die Rezeptur Offline ist, arbeitet die S7 mit den im DB100 gespeicherten Werten. Gleichzeitig kannst Du am MP377 in die Rezepturanzeige andere Werte eingeben, ohne das die S7 davon beeinflusst wird. Erst mit dem Button 'Schreibe in Steuerung' werden die Werte übertragen.

Wenn das so ist, kannst du folgendes machen ...
1. Rezeptur muss wie gesagt auf Offline gestellt sein
2. Die Variablen die im Rezept verwendet werden, die auf den DB100 verweisen, stellst du auf 'Aktualisierung nur auf Anforderung'.
3. Mit einer Schaltfläche o.ä. rufst du ein script auf, dass die Istwerte aus dem DB101 nimmt und in die Variablen der Rezeptur kopiert (da die Rezeptur Offline ist, passiert das kopieren nur im MP377 internen Puffer - die S7 merkt nix davon). Wichtig ist aber: Die symbolischen Namen der Varliablen verwenden z.B. "Start_Achse_1".
4. Im gleichen Script rufst du die Funktion auf 'RezepturanzeigeSpeichereDatensatz' (weiß jetzt grad nicht wie der Scriptbefehl in Englisch dafür lautet). Die im MP377 internen Puffer geänderten Rezepturvariablen werden dann in der Rezeptur gespeichert.
Sollte es dafür keinen Scriptbefehl geben, dann gibt der Schaltfläche nach dem Scriptaufruf als 2.te Funktion 'RezepturanzeigeSpeichereDatensatz'.

Das sollte funktionieren.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn die Rezeptur Offline ist, arbeitet die S7 mit den im DB100 gespeicherten Werten. Gleichzeitig kannst Du am MP377 in die Rezepturanzeige andere Werte eingeben, ohne das die S7 davon beeinflusst wird. Erst mit dem Button 'Schreibe in Steuerung' werden die Werte übertragen.

Wenn das so ist, kannst du folgendes machen ...
1. Rezeptur muss wie gesagt auf Offline gestellt sein
2. Die Variablen die im Rezept verwendet werden, die auf den DB100 verweisen, stellst du auf 'Aktualisierung nur auf Anforderung'.
3. Mit einer Schaltfläche o.ä. rufst du ein script auf, dass die Istwerte aus dem DB101 nimmt und in die Variablen der Rezeptur kopiert (da die Rezeptur Offline ist, passiert das kopieren nur im MP377 internen Puffer - die S7 merkt nix davon). Wichtig ist aber: Die symbolischen Namen der Varliablen verwenden z.B. "Start_Achse_1".
4. Im gleichen Script rufst du die Funktion auf 'RezepturanzeigeSpeichereDatensatz' (weiß jetzt grad nicht wie der Scriptbefehl in Englisch dafür lautet). Die im MP377 internen Puffer geänderten Rezepturvariablen werden dann in der Rezeptur gespeichert.
Sollte es dafür keinen Scriptbefehl geben, dann gibt der Schaltfläche nach dem Scriptaufruf als 2.te Funktion 'RezepturanzeigeSpeichereDatensatz'.

Das sollte funktionieren.


Hat leider alles nix gebracht. Ich ging sogar her habe eine 2.te Rezeptur von einer Kopie der ersten angelegt mit den Istwertvariablen und habe dann über ein skript Lade DatensatzausSPS dann ladeDatensatz Werkzeugspeicher 2 und speichere Datensatz Werkzeugspeicher 1 gemacht. Er holt sich die Daten in den Werkzeugspeicher 2 rein das sehe ich aber er überschreibt die anderen nicht drüber. Er rennt aber durch denn ich habe am Ende der Zeilen einen Merker setzen lassen und dieser wird gesetzt. So nun weiß ich nimmer weiter. HAt noch jemand nen Lösungsansatz? Wieso funktioniert das ganze prima wenn man auf dem selben DB als Soll und istwert ist aber nicht wenn man unterschiedliche DB´s zur Verfügung hat?

Gruß

Jürgen
 
Hallo,
du hast es ja ein paar Beiträge vorher schon geschrieben : mein Ansatz wäre es, das mit Scripten zu lösen. Für mich ist die ganze Rezepte-Kasperei in Flex und auch vorher schon in ProTool ein "rotes Tuch".
Wenn du also irgendwann diesen Ansatz weiter verfolgen möchtest dann "nur Mut".

Gruß
Larry
 
Hat leider alles nix gebracht.

Habs gerade entsprechend meiner obigen Beschreibung in der Simu (MP377 Runtime mit PLCSim) getestet.
Bei mir funktioniert es.
Musste allerdings fürs MP377 den Befehl 'SpeichereDatensatz' verwenden (siehe Bild).

Ich ging sogar her habe eine 2.te Rezeptur von einer Kopie der ersten angelegt mit den Istwertvariablen und habe dann über ein skript Lade DatensatzausSPS dann ladeDatensatz Werkzeugspeicher 2 und speichere Datensatz Werkzeugspeicher 1 gemacht. Er holt sich die Daten in den Werkzeugspeicher 2 rein das sehe ich aber er überschreibt die anderen nicht drüber. Er rennt aber durch denn ich habe am Ende der Zeilen einen Merker setzen lassen und dieser wird gesetzt. So nun weiß ich nimmer weiter. HAt noch jemand nen Lösungsansatz? Wieso funktioniert das ganze prima wenn man auf dem selben DB als Soll und istwert ist aber nicht wenn man unterschiedliche DB´s zur Verfügung hat?

Das geht nicht so wie bei der SPS ...
L Wert 1 -> Akku 1
T Wert 2 <- Akku 1

Wenn Du Werkzeugspeicher2 (mit den Istwert Variablen) einliest, werden die Werte in den internen MP377 Speicher geladen. Die kannst Du dann nicht einfach in Werkzeugspeicher1 speichern. Da müsstest Du dann erst über ein Script (siehe Bild2) die VariablenWerte von Ist nach Soll kopieren.
 

Anhänge

  • B1.JPG
    B1.JPG
    28,9 KB · Aufrufe: 10
  • B2.JPG
    B2.JPG
    47,9 KB · Aufrufe: 12
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hier noch eine Erweiterung zu meinem Beitrag 11.

Wenn Du in der Rezepturanzeige die Tabelle anzeigst, werden die Werte nicht sauber aktualisiert (siehe Bilder).

Nach click auf die Schaltfläche Start wird übers Script1 DB101.Istwert nach DB100.Sollwert kopiert und der Datensatz gepeichert. Das EA-Feld DB100.Sollwert wird sauber aktualisiert, nicht aber die Tabelle. (Bild1)

Wenn ich dann nochmal den Datensatz Test1 über die Dropdownliste lade, sieht man aber, das der neue Sollwert gespeichert wurde (Bild2).

Gruß
 

Anhänge

  • B1.JPG
    B1.JPG
    40,7 KB · Aufrufe: 17
  • B2.JPG
    B2.JPG
    38,3 KB · Aufrufe: 18
Zuletzt bearbeitet:
Zurück
Oben