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

Ergebnis 1 bis 8 von 8

Thema: Hilfe zu Datenbaustein

  1. #1
    Registriert seit
    13.07.2007
    Beiträge
    4
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich hab da mal ne Frage zu Datenbausteinen. Hab mich noch nicht so viel mit DB's beschäftigt. Gibt es da noch ne andere Möglichkeit diese aufzurufen außer mit "AUF DB...".

    mfg Blitzer81
    Zitieren Zitieren Hilfe zu Datenbaustein  

  2. #2
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    joah, klar

    z.b.:

    Code:
    U DB100.DBX3.7
    U M12.9
    = A 4.2
    also: X kennzeichnet ein bit, dann hätten wir da noch B, W und D ...
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  3. #3
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.718
    Danke
    729
    Erhielt 1.158 Danke für 969 Beiträge

    Standard

    Auf z.B. ein Datenwort im Datenbaustein kannst du z.B.

    mit
    Code:
    AUF DB 10
    L   DBW 4
    oder mit
    Code:
    L DB10.DBW4
    zugreifen, hier öffnest du auch DB10

  4. #4
    blitzer81 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    13.07.2007
    Beiträge
    4
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke erstmal für die Posts.
    Mein Problem ist eigentlich folgendes.
    Ich habe ein Programm im FB geschrieben. Die Daten soll er sich aus verschiedenen DB's holen. Das Ganze ist an eine HMI gekoppelt. Die Auswahl des Datenbausteins soll mit Hilfe von verschiedenen Schaltflächen und einer Auswahlliste geschehen.
    Wie kann man sowas programmieren?

    Danke
    Blitzer81

  5. #5
    Registriert seit
    30.03.2005
    Beiträge
    2.096
    Danke
    0
    Erhielt 673 Danke für 541 Beiträge

    Standard

    Du könntest folgendes machen:

    Code:
    FUNCTION FC 50 : VOID
    TITLE =
    VERSION : 0.1
     
    VAR_INPUT
      DB_NUMMER_INT : INT ; 
    END_VAR
    VAR_TEMP
      DB_NUMMER_WORD : WORD ;   
    END_VAR
    BEGIN
    NETWORK
    TITLE =
          L     #DB_NUMMER_INT; 
          T     #DB_NUMMER_WORD;
          AUF   DB [#DB_NUMMER_WORD]; 
    END_FUNCTION
    Gruß Kai

  6. #6
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.718
    Danke
    729
    Erhielt 1.158 Danke für 969 Beiträge

    Standard

    Du willst also die Datenbausteinnummer im HMI auswählen und dann diesen DB in S7 öffnen.
    Gucke die mal das Beispiel im Anhang an, dort ist die DB-Nummern Übergabe an FCs/FBs angegeben. Habe ich irgendwo von der Siemens Website heruntergeladen
    Angehängte Dateien Angehängte Dateien

  7. #7
    Registriert seit
    30.03.2005
    Beiträge
    2.096
    Danke
    0
    Erhielt 673 Danke für 541 Beiträge

    Standard

    Und hier noch einmal der Aufruf der Funktion FC50 im OB1:

    Code:
    FUNCTION FC 50 : VOID
    TITLE =
    VERSION : 0.1
     
    VAR_INPUT
      DB_NUMMER_INT : INT ; 
    END_VAR
    VAR_TEMP
      DB_NUMMER_WORD : WORD ;   
    END_VAR
    BEGIN
    NETWORK
    TITLE =
     
          L     #DB_NUMMER_INT; 
          T     #DB_NUMMER_WORD; 
     
          AUF   DB [#DB_NUMMER_WORD]; 
     
    END_FUNCTION
     
     
    ORGANIZATION_BLOCK OB 1
    TITLE = "Main Program Sweep (Cycle)"
    VERSION : 0.1
     
    VAR_TEMP
      OB1_EV_CLASS : BYTE ; //Bits 0-3 = 1 (Coming event), Bits 4-7 = 1 (Event class 1)
      OB1_SCAN_1 : BYTE ;   //1 (Cold restart scan 1 of OB 1), 3 (Scan 2-n of OB 1)
      OB1_PRIORITY : BYTE ; //Priority of OB Execution
      OB1_OB_NUMBR : BYTE ; //1 (Organization block 1, OB1)
      OB1_RESERVED_1 : BYTE ;   //Reserved for system
      OB1_RESERVED_2 : BYTE ;   //Reserved for system
      OB1_PREV_CYCLE : INT ;    //Cycle time of previous OB1 scan (milliseconds)
      OB1_MIN_CYCLE : INT ; //Minimum cycle time of OB1 (milliseconds)
      OB1_MAX_CYCLE : INT ; //Maximum cycle time of OB1 (milliseconds)
      OB1_DATE_TIME : DATE_AND_TIME ;   //Date and time OB1 started
    END_VAR
    BEGIN
    NETWORK
    TITLE =
     
          CALL FC    50 (
               DB_NUMMER_INT            := 10);
     
    NETWORK
    TITLE =
     
          CALL FC    50 (
               DB_NUMMER_INT            := MW    10);
     
    END_ORGANIZATION_BLOCK
    Gruß Kai

  8. #8
    Registriert seit
    19.09.2006
    Beiträge
    60
    Danke
    10
    Erhielt 4 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Interessant wäre was du für eine HMI hast, ich dachte grad so an Interne- und Multiplexvariable die es bei einigen HMIs gibt

Ähnliche Themen

  1. Antworten: 9
    Letzter Beitrag: 24.09.2013, 18:09
  2. Hilfe beim Datenbaustein erzeugen
    Von Hans.S im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 03.01.2010, 12:53
  3. Datenbaustein Hilfe
    Von dongel im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 02.04.2008, 13:17
  4. Antworten: 4
    Letzter Beitrag: 23.08.2006, 15:02
  5. Antworten: 15
    Letzter Beitrag: 01.03.2005, 22:25

Lesezeichen

Berechtigungen

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