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

Ergebnis 1 bis 4 von 4

Thema: Falsches Verständniss von DB's

  1. #1
    Registriert seit
    23.05.2005
    Ort
    Mönchengladbach
    Beiträge
    123
    Danke
    18
    Erhielt 5 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich möchte gerne in einen DB eine Hand voll Zuständen als 1 oder 0 speichern.

    Dazu habe ich mir die Siemens Ausbildungsunterlagen Modul B4 / Datenbausteine angeschaut, aber es scheint bei mir nicht zu funktionieren.

    In meinem DB10 steht zB der Wert 'FACH1' als BOOL mit dem Startwert FALSE / 0

    Ich möchte nun abhängig von einem Taster diesen Wert auf 0 oder 1 ändern...

    In den Unterlagen wurden 3 Beispiele genannt, auch hier im Forum fand ich einige, die aber leider nie mit BOOL arbeiten, sondern meist mit INT etc. Dadurch bin ich ein wenig verwirrt.

    Was mich verunsichert ist das ich keine einzelnen Bits ein/auslesen kann.
    In den Unterlagen steht zB das man einzelne Bits per DBX einlesen kann, aber wenn ich DBX verwende wird die Codezeile als Falsch ( Syntaxfehler ) angemeckert....

    Arbeite ich hingegen mit dieser Variante
    Code:
          AUF   "Lagerstatus"               // Öffnen des DB10
          UN    "Lagerstatus".FACH1         // Laden Zustand FACH1; UND-NICHT mit
          U     E      0.0                  // Eingang 0.0
          =     "Lagerstatus".FACH1         // Setzen von FACH1
          L     DB10.DBW    1               // Laden des DB-Wortes 1 in AKKU
          T     MW     1                    // AKKU nach Merkerwort
    Dann sehe ich zumindest im PLCSIM im Merkerwort 1 wie die 1 gesetzt und zurückgesetzt wird, der Transfer also scheinbar abläuft.

    Ich lese ja an dieser Stelle ein DB-Wort ein; Da ich insgesamt 14 Fächer habe, sind im DB 14 Bit's belegt(?) ( Fach1 bis FACH14; +2.0 bis +3.5 )

    Und genau diesen Punkt verstehe ich nun garnicht.
    Ich lade das DB-Wort 1.
    Was genau lade ich nun in meinen Akku? Das gesamte Wort, also 16 Bits, oder sind pro FACH das ich belege ein gesamtes Wort belegt in der CPU?
    Sprich wenn ich FACH3 laden möchte, muss ich dann DBW 3 laden?

    Da ich die einzelnen Fächer über die Symbolik ansprechen kann, sehe ich ja nicht wie der Befehl

    UN "Lagerstatus".FACH1

    in wirklichkeit aussieht. Wenn ich versuche das zu testen per Hand, also mit der Adresse, geht dies ja nicht da im DB ja die absolute Adresse beim Aufruf erst bestimmt wird.
    Bleibt mir nun übrig über die Symbolik zu programmieren, oder gibt es Wege dies mittels der Angaben im DB ( FACH1 = +2.0, FACH2 = +2.1 etc. ) anzusprechen?

    Die Unterlagen an sich helfen mir beim Verständniss nicht weiter, genau wie die symbolische Adressierung, da ich dort nicht sehe wie dort genau angesprochen wird bzw wie das Laden genau passiert.

    Michael
    Zitieren Zitieren Falsches Verständniss von DB's  

  2. #2
    Registriert seit
    23.11.2004
    Beiträge
    347
    Danke
    2
    Erhielt 28 Danke für 28 Beiträge

    Standard

    Hallo MSP,

    auf einzelne Bits im DB kannst Du schon zugreifen:

    u db3.dbx0.0
    un db3.dbx0.1
    = db3.dbx0.2
    usw.

    Wenn Du symbolisch programmiert hast (UN "Lagerstatus".FACH1)
    brauchst Du nur über "Ansicht"/"Anzeigen mit" die Symbolische Anzeige ausschalten und Du siehst die Bitzugriffe wie oben am Beispiel.

    Ich denke, dann wird die Datenbausteinarbeit etwas verständlicher.

    Gruß
    raika

  3. #3
    Registriert seit
    20.08.2003
    Beiträge
    275
    Danke
    38
    Erhielt 32 Danke für 31 Beiträge

    Standard

    Hallo,
    unter folgendem Link mal das Dokument "Datenbausteine" ansehen, dann sollten dein Problem gelöst sein...

    http://www2.automation.siemens.com/f...own_module.htm

    mfg Rayk

  4. #4
    Registriert seit
    23.05.2005
    Ort
    Mönchengladbach
    Beiträge
    123
    Danke
    18
    Erhielt 5 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    u db3.dbx0.0
    un db3.dbx0.1
    = db3.dbx0.2
    usw.
    Hmm so hatte ich es eigendlich auch gemacht, nur das dann dauernd der db10.dbx als Syntaxfehler angemeckert wurde
    Werde das nochmal nachprüfen, eventuell habe ich mit dem 2.0 den Syntaxfehler verursacht...

    Rayk: Danke, aber die Unterlagen kenne ich schon fast auswendig, das sind leider im Moment die einzigsten die ich zur Verfügung habe. In Steuerungstechnik arbeiten wir im Moment 'nur' mit SucoSoft von Moeller... die Projektarbeit ist aber Siemens... soviel zur Abstimmung Unterricht <-> Projektarbeit

    Michael

Ähnliche Themen

  1. verständniss Probleme VB.NET > S7ONLINE
    Von Mahon im Forum Hochsprachen - OPC
    Antworten: 13
    Letzter Beitrag: 02.09.2011, 21:35
  2. Problem mit Verständniss für Programmstruktur
    Von Peter_AUT im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 05.08.2011, 19:15
  3. KL 6001 Schnittstelle falsches Format ?
    Von cas im Forum CODESYS und IEC61131
    Antworten: 8
    Letzter Beitrag: 16.02.2011, 23:35
  4. Frage verständniss Start / Stop Taster
    Von maxi im Forum Maschinensicherheit - Normen und Richtlinien
    Antworten: 7
    Letzter Beitrag: 12.11.2008, 19:05
  5. Falsches Tool eingesetzt ?
    Von Unregistrierter gast im Forum Stammtisch
    Antworten: 23
    Letzter Beitrag: 26.05.2007, 23:40

Lesezeichen

Berechtigungen

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