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

Page 3 of 4 FirstFirst 1234 LastLast
Results 21 to 30 of 37

Thread: Messwerte in einen DB schreiben

  1. #21
    Join Date
    15.10.2007
    Location
    St.Pölten
    Posts
    875
    Danke
    98
    Erhielt 200 Danke für 188 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ja ja hast recht.gibs mir ich bin schon draufgekommen,dass das ein blödsinn war von mir.
    danke vl
    Beginne jeden Tag mit einem lächeln,es kann dir nämlich während des Tages sehr schnell vergehen.

  2. #22
    Join Date
    03.09.2008
    Posts
    50
    Danke
    7
    Erhielt 2 Danke für 2 Beiträge

    Default

    www.oscat.de

    die Funktion ARRAY_MAX liefert die gewünschte Funktion. Einfach mal unter Punkt 6.11 in version 3.11 in die Doku schauen.

    Gruß Key

  3. #23
    Join Date
    21.12.2009
    Posts
    34
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Default

    Hallo,

    da ihr mir vor paar Jahren hier schon mal helfen konntet, hoffe ich, dass mir jemand für eine ähnliche Anwendung auch den entscheidenden Tipp geben kann.
    Ich möchte eine Berechnung für Positionen durchführen. Die Anzahl der benötigten Positionen kann variieren, je nach Auftrag mal 10, 20, 35, usw...
    Ich dachte mir dies am besten in einem Array lösen zu können, solange berechnen bis ich die Anzahl der benötigten Positionen habe, dann die Berechnung stoppen.

    Da ich diese mehrmals in der Steuerung benötige, wollte ich mir einen FB schreiben welchen ich dann als Multiistanz mehrmals aufrufen kann.
    Nun habe ich das Problem, das ich nicht genau weiß, wie ich einen "internen" Bereich bei so etwas aufrufe.

    L L#10000
    AUF DB1
    T DBD [MD 0]
    L MD 0
    L P#4.0
    +D
    T MD 0

    Den zweiten Befehl, sprich einen sep. DB aufrufen, möchte ich ja nicht, sondern er soll den DB verwenden welchen ich angebe, wenn ich den FB in einem anderen FB aufrufe.

    Funktioniert das, oder bin ich auf dem Holzweg?

    Danke und Gruß

  4. #24
    Join Date
    22.03.2007
    Location
    Detmold (im Lipperland)
    Posts
    12,413
    Danke
    422
    Erhielt 2,541 Danke für 2,112 Beiträge

    Default

    Hallo,
    ich bin mir nicht sicher, ob ich deine Anfrage korrekt verstanden habe ...

    Du möchtest die im STAT-Bereich deines FB's deklarierten Variablen indirekt adressiert aufrufen ?
    Und du möchtest hier mit einem Array arbeiten ?
    Meine erste Wahl für so etwas wäre hier immer SCL ...!
    Wenn du es aber in AWL (unbedingt) machen möchtest dann würde ich mir den Pointer auf das interne Symbol bilden - also etwa so :
    Code:
    LAR1 p##MeinArray
    TAR2
    +AR1
    Das AR2 mußt du deshalb aufaddieren, da du ja Multi-Instanzfähig sein möchtest - das AR2 beinhaltet hier das Offset der Instanz. Du mußt nur mit den Befehl +AR1 aufpassen. Der addiert nur im 16-Bit-Bereich auf. Wenn deine Daten sehr hoch in der Instanz liegen dann mußt du hier ggf. noch händisch arbeiten.
    Nun kannst du dein Index-Offset noch aufaddieren und du kommst an die Adresse des Array-Elementes.

    Gruß
    Larry

  5. #25
    Join Date
    21.12.2009
    Posts
    34
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Default

    Hallo,

    vielen Dank für die schnelle Antwort!
    Ja genau, ich möchte meinen Array im STAT-Bereich des FB's verwenden und dort die Werte reinschreiben.

    Hab leider noch nicht soviel Erfahrung in SCL gemacht, wie sehe das denn dort aus?
    In AWL hört sich schon recht kompliziert an, dachte das ginge da quasi ähnlich wie wenn ich dies über einen externen DB aufrufe.
    Aber das ist ja dann leider nicht so.

    Gruß

  6. #26
    Join Date
    22.03.2007
    Location
    Detmold (im Lipperland)
    Posts
    12,413
    Danke
    422
    Erhielt 2,541 Danke für 2,112 Beiträge

    Default

    ... wenn SCL für dich eine Option ist dann sollten wir über AWL & Co. hier nicht mehr weiter nachdenken ...

    Beschreib doch mal etwas konkreter was du so zu tun beabsichtigst ...

  7. #27
    Join Date
    21.12.2009
    Posts
    34
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Default

    Ich muss für eine Anwendung ausrechnen wie viele Artikel in einen Karton rein passen. Dies lässt sich je relativ einfach ermitteln. Je nach Auftrag unterscheiden sich die Kartongröße, also Länge x breite kann variieren, auch die Artikel können variieren, rund oder rechteckig in verschiedenen Abmaßen. Es wird aber immer Sortenrein gepackt.
    Wie viele Artikel in eine Reihe in X und Y passt, weiß ich. Nun möchte ich für jede Reihe die Position in X und Y errechnen. Wenn es 24 Reihen in Y und 20 Reihen in X gibt, dann entsprechend viele Positionen, es können aber auch 50 und 100 Reihen sein, dann soll mir der Baustein 150 Positionen in den STAT reinschreiben.
    Dort hole ich mir dann die Positionen heraus und der Bediener kann sich das Packmuster anschauen und die Werte können nach bestätigen des Bedieners übergeben werden.
    Bei runden Artikel sollen diese zusätzliche noch nebeneinander oder versetzt ineinander gesetzt werden um ggf. Platz zu sparen.
    Die Formeln hierzu habe ich, das ist kein Problem, hab ich auch schon in AWL alles gerechnet. Nur möchte ich diese Formeln mit den Auswahlen, ob eckig oder rund, wenn rund welches Muster in einen FB packen, und dieser soll dann die Positionen für die benötigte Anzahl von Reihen in X und Y ausgeben.

  8. #28
    Join Date
    22.03.2007
    Location
    Detmold (im Lipperland)
    Posts
    12,413
    Danke
    422
    Erhielt 2,541 Danke für 2,112 Beiträge

    Default

    OK ... das macht ja auch Sinn so ...
    Und wie soll es nun weiter gehen ?
    AWL und Pointer ? Oder SCL ?

  9. #29
    Join Date
    21.12.2009
    Posts
    34
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Default

    In SCL habe ich leider bisher noch nicht so viel gemacht, was aber nicht heißt dass ich es net gerne versuchen würde.
    In AWL mit den Pointer hattest du ja geschrieben dass dort einiges zu beachten sei...

    Die Formeln habe ich halt bisher in AWL, versuch das gerne aber auch in SCL umzuschreiben.

    Was ginge denn deiner Meinung nach schneller bzw. ist Sinnvoller?

  10. #30
    Join Date
    22.03.2007
    Location
    Detmold (im Lipperland)
    Posts
    12,413
    Danke
    422
    Erhielt 2,541 Danke für 2,112 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich würde es gar nicht erst in AWL versuchen wollen - auch wenn ich es vielleicht könnte.
    IN SCL ergibt das m.E. einen ziemlich gut überschaubaren Code in einer Schleife.
    Ich vermute, dass dein aktueller AWL-Baustein ziemlich lang ist, bei dem, was es so machen kann.
    Ansonsten poste ihn doch einfach mal - dann sehen wir mal, wie eine Umsetzung zu SCL gehen könnte ...

    Gruß
    Larry

Similar Threads

  1. TIA Messwerte zyklisch in einen DB Speichern mit KOP
    By Real Madrid in forum Simatic
    Replies: 4
    Last Post: 20.06.2018, 10:35
  2. Messwerte in Array fortlaufend schreiben
    By stehmi in forum CODESYS und IEC61131
    Replies: 16
    Last Post: 06.01.2016, 16:34
  3. Replies: 5
    Last Post: 16.06.2013, 20:26
  4. Messwerte zyklisch in einen DB Speichern
    By MaurerT in forum Simatic
    Replies: 7
    Last Post: 21.05.2012, 15:43
  5. Replies: 5
    Last Post: 21.06.2007, 17:04

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •