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

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

Thema: Letzte Wiegung anzeigen?

  1. #1
    Registriert seit
    18.12.2008
    Beiträge
    255
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Ihr,

    ich habe folgendes Problem:

    Über die SFC59 werden Gewichtsdaten in einen Datenbaustein (P#DB10.DBX0.0 BYTE 10) geschrieben. Das Gewicht lasse ich mir in einem Anzeigefeld auf dem Panel anzeigen. Das klappt soweit auch gut!

    Nun wird jedoch gefordert, dass auch das Gewicht der letzten Wiegung auf dem Panel angezeigt wird. Also wenn neu verwogen wird, so soll das neue Gewicht in Feld_1 und das alte Gewicht (aus Feld_1) in Feld_2 angezeigt werden.

    Meine Idee war nun mit drei DB's zu arbeiten - also quasi ein DB als Zwischenspeicher...

    Aber das ist doch recht umständlich; gibt es hier nicht eine ellegantere Lösung?

    Vielen Dank für Anregungen...
    Grüße
    petzi
    Zitieren Zitieren Letzte Wiegung anzeigen?  

  2. #2
    Registriert seit
    21.02.2010
    Beiträge
    23
    Danke
    3
    Erhielt 4 Danke für 3 Beiträge

    Standard

    Hi petzi!
    Ich würde einfach den DB verlängern, mit einer Flanke den SFC20 anstossen und P#DB10.DBX0.0 BYTE 10 nach P#DB10.DBX10.0 BYTE 10 kopieren.
    Gruß Olli

  3. #3
    petzi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    18.12.2008
    Beiträge
    255
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Danke für den Hinweis Olli,

    aber es kann ja nicht die gleiche Flanke sein, die die Messung ausführt, denn dann würde ja immer das Gleiche in beiden Feldern stehen, oder verstehe ich das falsch?

    Wenn ich den DB "verlängere", so reicht es aber nicht aus, nur die Zeile für das DBW10 anzulegen, oder?
    Geändert von petzi (18.05.2010 um 09:10 Uhr)
    Grüße
    petzi

  4. #4
    Registriert seit
    01.04.2010
    Beiträge
    306
    Danke
    18
    Erhielt 38 Danke für 37 Beiträge

    Standard

    Zitat Zitat von petzi Beitrag anzeigen
    Danke für den Hinweis Olli,

    aber es kann ja nicht die gleiche Flanke sein, die die Messung ausführt, denn dann würde ja immer das Gleiche in beiden Feldern stehen, oder verstehe ich das falsch?

    Wenn ich den DB "verlängere", so reicht es aber nicht aus, nur die Zeile für das DBW10 anzulegen, oder?
    Ich würde es auch so machen!
    Ich weiß zwar nicht was für ein Verwiedesystem du hast aber ich glaube nicht das die Waage schneller ist als die CPU!

    Beispiel:

    U #Wiegeanstoß
    FP #Hilfsbit
    = #Speicheranstoß


    Mit diesem Beispiel wird ein Impuls erzeugt der exakt nur einen Zyklusdurchlauf der CPU "1" ist!

    Das Bit #Speicheranstoß aktiviert den SFC 20 und die Daten werden in einen anderen Speicherbereich geschrieben und zwar immer dann wenn eine positive Flanke an #Wiegeanstoß erfolgt!

    Gruß
    SKg
    Geändert von SKg (18.05.2010 um 09:09 Uhr)
    Mann muß nicht alles wissen, mann sollte nur wissen wo es geschrieben steht!
    Wer lesen kann ist klar im Vorteil!

  5. #5
    petzi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    18.12.2008
    Beiträge
    255
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Danke SKg,

    es handelt sich um Siwarex U.

    Kann denn die SFC20 über CC bedingt aufgerufen werden, oder wie muss ich das machen?
    Grüße
    petzi

  6. #6
    Registriert seit
    21.02.2010
    Beiträge
    23
    Danke
    3
    Erhielt 4 Danke für 3 Beiträge

    Standard

    Du schreibst ja mit deinem Pointer die Daten in die ersten 10 Bytes, dann nutze die nächsten 10 Bytes (auf die zeigt auch der andere Pointer) um die Daten der letzten Wiegung zu Sichern.
    Und mit dem Umkopieren sollte das auch mit der gleichen Flanke funktionieren, wenn du kopierst bevor du die neuen Werte ausliest - also SFC20 vor SFC59 aufrufen.

  7. #7
    petzi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    18.12.2008
    Beiträge
    255
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Zitat Zitat von Schnicker Beitrag anzeigen
    Du schreibst ja mit deinem Pointer die Daten in die ersten 10 Bytes, dann nutze die nächsten 10 Bytes (auf die zeigt auch der andere Pointer) um die Daten der letzten Wiegung zu Sichern.
    Ok, das heißt also, dass ich schon alle 10 Bytes im DB untereinander anlegen muss, richtig? Vermutlich müssen diese halt etwas anders benannt werden als die Bestehenden...

    Wie kann ich denn die SFC20 bedingt aufrufen - mit dem Befehl "CC" klappt es nicht?
    Grüße
    petzi

  8. #8
    Registriert seit
    01.04.2010
    Beiträge
    306
    Danke
    18
    Erhielt 38 Danke für 37 Beiträge

    Standard

    Zitat Zitat von petzi Beitrag anzeigen
    Danke SKg,

    es handelt sich um Siwarex U.

    Kann denn die SFC20 über CC bedingt aufgerufen werden, oder wie muss ich das machen?
    Ich denke mal du meinst mit "CC" WinCC, du aktivierst doch mit irgendeinem Bit die Verwiegung oder ?
    Du nimmst dieses Bit und benutzt das Beispiel!

    Wenn du WinCC verwendest könntest du es auch mit einem Skript machen, wenn das OP Skripte unterstützt!
    Dann könntest du die Daten auch im OP Speichern!

    Gruß
    SKg
    Mann muß nicht alles wissen, mann sollte nur wissen wo es geschrieben steht!
    Wer lesen kann ist klar im Vorteil!

  9. #9
    Registriert seit
    01.04.2010
    Beiträge
    306
    Danke
    18
    Erhielt 38 Danke für 37 Beiträge

    Standard

    Zitat Zitat von SKg Beitrag anzeigen
    Ich denke mal du meinst mit "CC" WinCC, du aktivierst doch mit irgendeinem Bit die Verwiegung oder ?
    Du nimmst dieses Bit und benutzt das Beispiel!

    Wenn du WinCC verwendest könntest du es auch mit einem Skript machen, wenn das OP Skripte unterstützt!
    Dann könntest du die Daten auch im OP Speichern!

    Gruß
    SKg
    ^
    ^
    Ich muß diese Aussage revidieren!

    Welche Programmiersprache verwendest du ?
    Mann muß nicht alles wissen, mann sollte nur wissen wo es geschrieben steht!
    Wer lesen kann ist klar im Vorteil!

  10. #10
    Registriert seit
    11.05.2005
    Ort
    Baden-Württemberg
    Beiträge
    673
    Danke
    113
    Erhielt 153 Danke für 124 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo petzi,

    um den SFC20 bedingt aufzurufen einfach drüberspringen, wenn deine Flanke nicht 1 ist.

    z.B.
    Code:
    un FL
    spb ENDE
    call sfc20
    ...
    ...
    ENDE: nop 0
    Micha
    "arbeite klug, nicht hart" - deutsches Sprichwort

Ähnliche Themen

  1. Letzte Analogkarte wird nicht eingelesen
    Von Steve38 im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 30.05.2010, 14:10
  2. Antworten: 6
    Letzter Beitrag: 08.06.2009, 15:09
  3. Letzte Frage zum Logo Positionierungsporblem
    Von Parallax im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 17.09.2008, 01:07
  4. Letzte PG 740 PIII ist kaputt.
    Von MEGATRON im Forum PC- und Netzwerktechnik
    Antworten: 6
    Letzter Beitrag: 04.06.2008, 22:17
  5. INFO: Windows NT 4.0: Heute schlägt das letzte Stündlein
    Von Markus im Forum PC- und Netzwerktechnik
    Antworten: 3
    Letzter Beitrag: 01.07.2003, 21:47

Lesezeichen

Berechtigungen

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