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

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

Thema: Nur "0" via BLKMOV in DB schreiben?!

  1. #1
    Registriert seit
    08.12.2006
    Ort
    Kleinwallstadt
    Beiträge
    90
    Danke
    4
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi all,

    kann man via blockmove vllt irgendwie 40 Byte in einem DB mit 0 beschreiben?! Also alles ablöschen...

    MFG
    Hawkster
    Zitieren Zitieren Nur "0" via BLKMOV in DB schreiben?!  

  2. #2
    Registriert seit
    18.09.2006
    Beiträge
    231
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard

    nimm die sfc21
    .
    mfg KALEL

    Wer über gewisse Dinge nicht den Verstand verliert, der hat keinen zu verlieren.
    Gottfried Ephraim Lessing

  3. #3
    Registriert seit
    27.11.2006
    Ort
    Ostschweiz
    Beiträge
    528
    Danke
    43
    Erhielt 86 Danke für 77 Beiträge

    Standard

    Zitat Zitat von KalEl Beitrag anzeigen
    nimm die sfc21
    SFC21=FILL

    gruss, o.s.t.

  4. #4
    Registriert seit
    08.12.2006
    Ort
    Kleinwallstadt
    Beiträge
    90
    Danke
    4
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Mein problem ist aber, das ich es indirekt adressieren muss =(

    Und ich hier auch nen BLKMOV hab wo das indirekt kann

  5. #5
    Registriert seit
    23.06.2006
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Cool

    Das geht mit SFC21 auch!

  6. #6
    Registriert seit
    20.11.2004
    Ort
    Linz, OÖ
    Beiträge
    1.365
    Danke
    96
    Erhielt 178 Danke für 133 Beiträge

    Standard

    ANY-Zeiger selber Zusammenstellen!!

    z.B. ein FC, der das erledigt.
    Code:
          LAR1  P##Ziel                     // Adresse Ziel-Bereich
          L     W#16#1002
          T     LW [AR1,P#0.0]              // Syntax-ID und TypKennung 
          L     #Laenge
          T     LW [AR1,P#2.0]              // Anzahl der Bytes
          L     #Ziel_DB
          T     LW [AR1,P#4.0]              // Datenbaustein-Nummer
          L     #Ziel_Daten_Byte
          SLD   3
          OD    DW#16#84000000
          T     LD [AR1,P#6.0]              // Bereichszeiger DB-Operand
    #Ziel ist eine Lokale Variable vom Typ ANY
    #Laenge, #Ziel_DB und #Ziel_Daten_Byte sind IN-Variablen vom Typ INT

    Der Zeiger #Ziel kann dann an SFC21 angeschaltet werden


    mfg
    Maxl
    Bin aufgrund §2 der "Rechte des Betreibers" der Forum-Regeln nicht mehr aktiv, da nicht nicht akzeptiere, dass Informationen und Erkenntnisse ohne Quellangabe weitergegeben werden sollen. Jedem steht frei, auf die gleichen Erkenntnisse durch Eigenversuche zu kommen, vor allem Buchautoren.

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

    SIGGI (29.10.2008)

  8. #7
    Registriert seit
    22.11.2006
    Beiträge
    186
    Danke
    2
    Erhielt 12 Danke für 12 Beiträge

    Standard

    Wenn du unbedingt mit der SFC20 arbeiten möchtest kannst du auch einen Datenbaustein "opfern" wo die 40 Byte den Wert 0 haben. Wenn du dass dann so lösen möchtest kannst du es so machen
    [
    //Quelldb bestimmen
    LAR1 P##Quelle //Lade die Anfangsadresse des ANY–Pointers in AR1.
    L B#16#10 //Lade die Syntax–ID und
    T LB [AR1,P#0.0] //transferiere sie in den ANY–Pointer.
    L B#16#2 //Lade Datentyp Byte und
    T LB [AR1,P#1.0] //Transferiere es in den ANY–Pointer.
    L 40 //Lade 40 Byte und
    T LW [AR1,P#2.0] //transferiere sie in den ANY–Pointer.
    L 99 //Quelle ist der DB99(Beispiel), DBB0
    T LW [AR1,P#4.0]
    L P#DBX 0.0
    T LD [AR1,P#6.0]
    //Ziel Bestimmen

    LAR1 P##ziel //Lade die Anfangsadresse des ANY–Pointers in AR1.
    L B#16#10 //Lade die Syntax–ID und
    T LB [AR1,P#0.0] //transferiere sie in den ANY–Pointer.
    L B#16#2 //Lade Datentyp Byte und
    T LB [AR1,P#1.0] //Transferiere es in den ANY–Pointer.
    L 40 //Lade 40 Byte und
    T LW [AR1,P#2.0] //Transferiere sie in den ANY–Pointer.
    L #Dbnr //Ziel ist der DB(mux), DBB0
    T LW [AR1,P#4.0]
    L P#DBX 0.0
    T LD [AR1,P#6.0]
    ]
    DbNr als IN Variable
    Quelle und Ziel als Temp:Any
    Ciao

    Antonio
    ________________________________
    nicht in Problemen, sondern in Lösungen denken

  9. Folgender Benutzer sagt Danke zu Antonio für den nützlichen Beitrag:

    SIGGI (29.10.2008)

  10. #8
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.866
    Danke
    78
    Erhielt 806 Danke für 549 Beiträge

    Standard

    also man kann sachen auch unnötig kompliziert machen.

    man könnte das auch über eine schleife selbst programmieren.

    ich denke aber das der sfc21 das auch über eine schleife macht.
    leider kann man sich die sfc's nicht ansehen.
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  11. #9
    Registriert seit
    18.03.2006
    Beiträge
    21
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Wenn er den DB kennt, muß er ja nicht gleich den Zeiger selber bauen.
    nimm sfc20 oder 21

    *****************************
    Var_Temp
    Fill: INT
    RetValSfc: INT

    L 0
    t Fill

    call sfc21/21
    SRCBLK: Fill
    RET_VAL: RetValSfc
    DSTBLK: P#DBxy.DBXab byte 30

    *****************************
    so zum Beispiel
    Zitieren Zitieren Geht auch einfach  

  12. #10
    Registriert seit
    18.03.2006
    Beiträge
    21
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Noch was zum Anypointer:

    bevor du dir merkst welcher hex Wert fuer den Bereich im Pointer zustaendig ist oder du immer im Handbuch nachsiehst.

    Schreib nicht

    L #Ziel_Daten_Byte
    SLD 3
    OD DW#16#84000000
    T LD [Ar1,P#6.0]

    sondern lade einfach nen Nullpointer aus dem Bereich


    L #Ziel_Daten_Byte
    SLD 3
    L P#DBX0.0

    oder
    L P#M0.0

    usw. is vieleicht einfacher ?
    Zitieren Zitieren Vergessen  

Ähnliche Themen

  1. Antworten: 14
    Letzter Beitrag: 22.07.2011, 08:26
  2. "Index Pulse", "Home Switch" und "Position Limit Switch"
    Von senmeis im Forum Antriebstechnik
    Antworten: 3
    Letzter Beitrag: 07.03.2011, 11:21
  3. Antworten: 36
    Letzter Beitrag: 01.06.2009, 23:36
  4. Probleme mit SFC20 "BLKMOV"
    Von matchef im Forum Simatic
    Antworten: 25
    Letzter Beitrag: 18.12.2008, 16:19
  5. Antworten: 2
    Letzter Beitrag: 14.12.2007, 15:09

Lesezeichen

Berechtigungen

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