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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 27

Thema: Datenwort durch Variable zuweisen?

  1. #1
    Registriert seit
    01.05.2006
    Beiträge
    245
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich habe mir eine Variable "m" vom Typ INT deklariert und hatte gehofft, in einer For-Schleife eine Masse von Datenwörtern transferieren zu können.

    Z.B.:
    Code:
    L DB1.DBW[m]
    doch es wird rot angezeigt. Vielleicht ist es ja nur ein Syntaxfehler.
    Oder geht sowas garnicht?

    Vielen Dank,
    Tigerkroete
    Zitieren Zitieren Datenwort durch Variable zuweisen?  

  2. #2
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard

    Was ist das? AWL SCL???

    pt
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.

  3. #3
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.849
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    1. m muss ein dint sein.
    2. direkt mit dem db aufruf geht das nicht

    also so
    auf db1
    l dbw[m]
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  4. #4
    Registriert seit
    13.09.2005
    Beiträge
    633
    Danke
    8
    Erhielt 8 Danke für 6 Beiträge

    Standard

    Um viele Datenwörter auf einmal zu transferieren, kannst du entweder einen Pointer basteln oder die Daten bequemer mit dem SFC20 "BLKMOV" verschieben.

    Über einen Pointer kann mehr oder weniger eine for - Schleife umgesetzt werden, mit dem SFC20 werden ganze Byteblöcke (z.B. 20 Byte auf einmal) transferiert.

    Welche Methode du einsetzt hängt vom Anwendungsfall ab und ist auch eine kleine Philosophiefrage.

  5. #5
    Avatar von Tigerkroete
    Tigerkroete ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    01.05.2006
    Beiträge
    245
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    SFC20???
    Wie nutze ich sowas? Ist diser Baustein schon drin? Muss ich ihn laden?

    Bin halt recht neu und kannte bis vor wenigen Wochen nur Ein-und Ausgänge, Merker und Zähler und Timer.

    Ich möchte halt für eine Maschine fünf Rezepte anlegen. Pro Rezept sind das 14 Datenwörter, die spezifische Maschineneinstellungen enthalten.
    Wenn der Bediener z.B. Rezeptbutton 2 drückt, wird im Programm in die Case-Anweisung 2 gesprungen, wo in einer For-Schleife die Datenwörter aus Rezept 5 in die Ausgabedatenwörter geschrieben werden.

    Ob das nun besonders sinnvoll ist wie ich das mache, weiß ich nicht, da das alles sehr neu ist.

    Gruß,
    Tigerkroete

  6. #6
    Avatar von Tigerkroete
    Tigerkroete ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    01.05.2006
    Beiträge
    245
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Volker. Ich habe aus m ein DINT gemacht und zuerst den DB1 auf geschlagen und dann versucht mit "L DBW[m]" zu laden, aber es erneut rot markiert .
    Vielleicht noch ein Tipp?
    In jedem Fall danke!

  7. #7
    Avatar von Tigerkroete
    Tigerkroete ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    01.05.2006
    Beiträge
    245
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Tippser!
    Ja, es ist AWL.
    Gruß,
    Tigerkroete

  8. #8
    Registriert seit
    13.09.2005
    Beiträge
    633
    Danke
    8
    Erhielt 8 Danke für 6 Beiträge

    Standard

    Den SFC20 kannst du aus der Bibliothek ziehen.

    Er ist in der Kategorie System Function Blocks zu finden.


    Beim SFC20 gibst du einen Quellbereich und dessen Länge an, das Statuswort und den Zielbereich in den die Daten geschrieben werden sollen.

    Z.B. sollen die Daten des DB100.DBB0 bis zum DB100.DBB27 in den DB120 in die DBBs 20-47 geschrieben werden.

    Der Befehl sieht dann folgendermaßen aus:

    CALL SFC20
    SRCBLK: P#DB100.DBX0.0 Byte 28
    RET_VAL: MW1
    DSTBLK: P#DB120.DBX20.0 BYTE 28

    Dem SFC20 ist der Variablentyp egal, er verschiebt einfach alle Einträge aus den unter SRCBLK angegebenen Bereich in den Zielbereich von DSTBLK.

  9. #9
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard

    Zitat Zitat von Tigerkroete
    Hallo Volker. Ich habe aus m ein DINT gemacht und zuerst den DB1 auf geschlagen und dann versucht mit "L DBW[m]" zu laden, aber es erneut rot markiert .
    Vielleicht noch ein Tipp?
    In jedem Fall danke!
    Um einmal Klarheit zu bekommen probier bitte mal folgendes:
    Code:
    AUF DBxy
    L     DBW [MD 0]
    pt
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.

  10. #10
    Avatar von Tigerkroete
    Tigerkroete ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    01.05.2006
    Beiträge
    245
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Danke CrazyCat. Das gefällt mir .

Ähnliche Themen

  1. Bild aufrufen durch PLC-Variable?
    Von D4K!ZZ4 im Forum HMI
    Antworten: 1
    Letzter Beitrag: 21.10.2011, 13:27
  2. Antworten: 8
    Letzter Beitrag: 10.02.2011, 12:28
  3. Arraybereich durch Variable bestimmen
    Von boggle im Forum CODESYS und IEC61131
    Antworten: 4
    Letzter Beitrag: 21.09.2009, 07:39
  4. Timer Zeit durch Variable ersetzen
    Von Otti20vt im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 04.09.2008, 10:14
  5. TP070 Bilder Variable zuweisen?
    Von Uwe Schröder im Forum HMI
    Antworten: 1
    Letzter Beitrag: 14.08.2008, 20:36

Lesezeichen

Berechtigungen

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