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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 21

Thema: DB nach einem bestimmten Wert durchsuchen

  1. #11
    Registriert seit
    05.07.2008
    Beiträge
    41
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Bis jetzt funktioniert nicht, das der richtige Wert gefunden wird. Es sieht so aus, als würde die Schleife nicht laufen. Ich sehe immer nur den Datenanfang (2) und den zugehörigen Wert aus dem DB. Aber nach dem Vergleich von Zahl im DB und dem Wert des Zählers, scheint es nicht mehr weiter zu gehen. Eigentlich sollte ja jetzt der neue Wert vom Pointer ausgelesen werden.

    Ich hoffe ich hab mich halbewgs verständlich ausgedrückt

    Gruß
    Geändert von Herrminator (30.07.2009 um 15:01 Uhr)

  2. #12
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.786
    Danke
    398
    Erhielt 2.414 Danke für 2.010 Beiträge

    Standard

    der Codeschnipsel von dir sucht nur nach der Übereinstimmung und bricht dann ab ... Etwas weiteres hast du da nicht programmiert. Ich sehe auch nichts davon, dass du mit etwas arbeitest oder den Zähler erhöhst, damit eine neue Suche losgehen kann ...

    Gruß
    LL

  3. #13
    Registriert seit
    05.07.2008
    Beiträge
    41
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ja, das kommt alles noch. Da Pointer ein neues Gebiet für mich sind, war ich erst mal froh das ich den Wert sehe den ich sehen möchte.

    Also das errechnen des neuen Wertes Angangswert + 16 = 18, dass macht er richtig.
    Code:
     L     #SuchWert                   // Nächster Wert 
          L     16                          // SuchWert + 16 = neuer Wert
          +I    
          T     #SuchWert
    Nur wird der Wert im zweiten Durchgang garnicht verwendet....
    Und somit auch keine gleiche Zahl gesucht.

    Grüße Tobias

  4. #14
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.786
    Danke
    398
    Erhielt 2.414 Danke für 2.010 Beiträge

    Standard

    Ähh ...
    was baust du denn da für einen baustein und was ist "Such_Wert" - sag bitte nicht eine Variable im TEMP-Bereich deines Bausteins ...
    Falls doch ... TEMP-Variablen merkt sich ein FC (oder FB) nicht von einem Zyklus zum Nächsten ... Du müßtest hier eine STAT-Variable (gibt es nur im FB) nehmen oder von irgendwo her eine Global-Variable (z.B. in einem DB definiert) hernehmen ...

  5. #15
    Registriert seit
    05.07.2008
    Beiträge
    41
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    ja ist ein Temp-Wert. Daher kommts. DANKE

    Der Baustein ist erst mal ein Versuch. Ich weiß auch noch nicht so genau wie ich das mit der Rezeptur handhaben soll.

    Ich automatisiere gerade eine Reinigunsanlage mit 6 Behälter mit Reinigungsflüssigkeit, Heizung und Ultrachall. Eine Hubachse mit Greifer verfährt die Siebkörbe mit einer Linearachse nach Rezeptur von Bad zu Bad.

    Der Benutzer kann die maximal 12 Schritte (jedes Bad 2 mal pro Rezeptur verwendbar) der Rezeptur in beliebiger Reihenfolge automatisch abarbeiten lassen. Daher muss ich jetzt ja in Betriebsart Automatik suchen welches ist mein erster Schritt, wohin muss ich meine Linearachse verfahren, welche Temperatur muss das Bad haben und wie lange verbleibt der Siebkorb im Bad.

    So war zumindest mal mein Ansatz.

    Gruß

  6. #16
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.786
    Danke
    398
    Erhielt 2.414 Danke für 2.010 Beiträge

    Standard

    ... das hört sich doch gut an ...

    Du suchst in deinem DB nach der gewünschten Rezeptur. Den Aufbazu deiner Rezeptur kennst du ja. Nun lädst du die entsprechenden (benötigten) Einzelvariablen entsprechend der "gefunden"-Adresse aus dem Speicher. Das geht auch nicht anders, wie deine Vergleichs-Routine ... Sogar noch einfacher, weil du den Offset ja schon hast (steht in Such_Wert). Den lädst du ins AR1 und arbeitest damit weiter. Also :
    Code:
    L Such_Wert
    SLD 3
    LAR1
     
    L W [AR1,P#0.0]
    ...
    L D [AR1,P#2.0]
    ...
    Die Adressen hatte ich jetzt nicht mehr korrekt parat ... bitte bedarfsweise korrigieren ...

    Gruß
    LL

  7. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    Herrminator (30.07.2009)

  8. #17
    Registriert seit
    05.07.2008
    Beiträge
    41
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ja so habe ich mir das ungefähr gedach. Nur noch Umsetzen.

    Ich bewundere euch alle mit eurem Knowhow und Können. Wenn ich dran denke wie lange ich für das erste Verfahren der Achse gebraucht habe (Regelfreigabe, Antriebsfreigabe, Zwischenkreis, Sicherheitsrelais....). Bis ich mich durch die HMI Software gekämpft hatte...

    Aber nur so lernt man denke ich. Ich danke dir nochmal für deine Hilfe und die Mühe die du dir gegeben hast. DANKE

    Gruß Tobias

  9. #18
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.786
    Danke
    398
    Erhielt 2.414 Danke für 2.010 Beiträge

    Standard

    Zitat Zitat von Herrminator Beitrag anzeigen
    Wenn ich dran denke wie lange ich für das erste Verfahren der Achse gebraucht habe (Regelfreigabe, Antriebsfreigabe, Zwischenkreis, Sicherheitsrelais....). Bis ich mich durch die HMI Software gekämpft hatte...
    Gern geschehen -
    Was meinst du denn, wie lange ich dafür gebraucht habe ... Ich denke, ich habe maximal einen zeitlichen Vorsprung - man braucht für so etwas so seine Zeit - und man muß nicht denken, dass es irgendwann einmal zu Ende ist ... (außer, wenn man vor dem Großen Programmierer steht ).

    Gruß
    LL

  10. #19
    Registriert seit
    05.07.2008
    Beiträge
    41
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Klar ja da hast recht. Aber erst mal die passende Idee zum Problem haben. Und dann vorallem noch die Tricks und Kniffe die man mit so ner SPS realisieren kann. Vieles muss man erst mal wissen....

    Ich werd mich bemühen da irgendwie tiefer in das Thema einzutuachen. Ich bin hier der einzige der SPS Programmiert, somit hab ich leider keinen Crack neben mir der mal nen Tipp hat, so bleibst nur du bzw. das Forum. Wie hast du ein SPS-Wissen vertieft ?

    Gruß Tobias
    Geändert von Herrminator (30.07.2009 um 16:35 Uhr) Grund: Finger schneller als der Kopf ;)

  11. #20
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.786
    Danke
    398
    Erhielt 2.414 Danke für 2.010 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Herrminator Beitrag anzeigen
    Wie hast du ein SPS-Wissen vertieft ?
    Erworben: in jahrelanger (jahrzehntelanger) mühevoller Kleinarbeit ...
    Vertieft: ich war immer in der glücklichen Lage, dass ich machen konnte was ich wollte und wie ich wollte (solange das gewünschte Ziel erreicht wird - ist natürlich Voraussetzung). Je mehr du machst umso mehr bekommst du hin - du darfst nur nicht aufgeben und man (zumindestens ich) muß sehr viel (auch private) Zeit darein stecken ...

    ...

Ähnliche Themen

  1. Bestimmten Wert bei Eingang X schreiben.
    Von Katrin1982 im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 11.01.2011, 14:00
  2. DB's nach Strings durchsuchen
    Von Flying Maulwurf im Forum Simatic
    Antworten: 15
    Letzter Beitrag: 10.05.2010, 14:42
  3. Zahl um bestimmten Wert erhöhen
    Von motamas im Forum Simatic
    Antworten: 19
    Letzter Beitrag: 28.04.2010, 11:04
  4. Merkerdoppelwort auf bestimmten Wert setzen
    Von 00schneider im Forum Programmierstrategien
    Antworten: 7
    Letzter Beitrag: 15.01.2010, 08:57
  5. Regler für Säurezugabe bis bestimmten pH-Wert
    Von Lars Bizare im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 09.11.2005, 14:45

Stichworte

Lesezeichen

Berechtigungen

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