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

Ergebnis 1 bis 10 von 10

Thema: SCL Baustein Pointer

  1. #1
    Registriert seit
    14.02.2006
    Beiträge
    61
    Danke
    21
    Erhielt 4 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    habe nicht wirklich eine Hilfe im SCL Handbuch oder Netz gefunden zur Pointerbearbeitung in SCL.

    Da ich gerne einen Baustein Erstellen möchte wo ich 16Worte von einem Slaveteilnehmer lese und schreibe.
    Am Baustein sollte ich nur die Startadressen für die Ein/Ausgänge angegeben werden.
    Wenn jemand einen Lösungsansatz hat wäre ich dankbar.
    Zitieren Zitieren SCL Baustein Pointer  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard

    In SCL gibt es den Pointer, wie du ihn von AWL her kennst nicht ...
    Was hast du genau vor ? Wie willst du den Übergabebereich angeben ?
    Wenn frei, dann bleibt dir nur der ANY-Pointer, den du dann in SCL zerlegen müßtest ...

    Gruß
    LL

  3. #3
    Registriert seit
    11.10.2006
    Ort
    Verden (Aller)
    Beiträge
    532
    Danke
    31
    Erhielt 58 Danke für 49 Beiträge

    Standard

    Hört sich nach einer Applikation für die SFC 14/15 an, konsistentes Lesen/Schreiben auf einem DP-Slave.
    Standardbibliothek öffnen, in SystemFunctionBlocks / Blocks den SFC14 oder 15 anklicken und F1 drücken.
    Denke, der macht was Du brauchst.
    "Ein lahmer Drecksplanet ist das, ich habe nicht das geringste Mitleid" (Prostetnik Vogon Jeltz)

  4. #4
    Registriert seit
    14.02.2006
    Beiträge
    61
    Danke
    21
    Erhielt 4 Danke für 3 Beiträge

    Standard

    Hallo,

    wie gesagt es werden 16 Wörter lesend / schreibend bearbeitet.
    die ersten 3 lese,- Schreibwörter sollen in Bit zerlegt werden und die restlichen werden im Wordbereich gehandelt.

    ich möchte einen DB dazu erstellen mit Array[0..15] of Word für In und Out und beim Aufruf sollte nur die Startadresse eingetragen werden.

    Beispiel:
    VAR_INPUT
    Anfangsadresse_Input: POINTER;
    END_VAR

    VAR_OUTPUT
    // Anfangsadresse_Output: POINTER; //funktioniert nicht
    END_VAR

    VAR
    erstes_InputWord: ARRAY[0..15] OF word;
    erstes_OutputWord: ARRAY[0..15] OF word;
    END_VAR

    sonst muss ich das in AWL machen, was mir aber nicht gefallen würde.

  5. #5
    Registriert seit
    14.02.2006
    Beiträge
    61
    Danke
    21
    Erhielt 4 Danke für 3 Beiträge

    Standard

    Zitat Zitat von derwestermann Beitrag anzeigen
    Hört sich nach einer Applikation für die SFC 14/15 an, konsistentes Lesen/Schreiben auf einem DP-Slave.
    Standardbibliothek öffnen, in SystemFunctionBlocks / Blocks den SFC14 oder 15 anklicken und F1 drücken.
    Denke, der macht was Du brauchst.
    Es ist kein Siemens Slave sondern ein Omron Slave der mit einer S7 kommuniziert.
    Und ich möchte im Baustein gleich die Abhandlung von diesem Slave machen.

  6. #6
    Registriert seit
    11.10.2006
    Ort
    Verden (Aller)
    Beiträge
    532
    Danke
    31
    Erhielt 58 Danke für 49 Beiträge

    Standard

    Mal davon abgesehen, daß JEDES Byte, Wort, Doppelwort aus Bits besteht, welche unter Step7 IMMER angesprochen werden können; wo ist das Problem?

    Du baust eine Struktur bestehend aus 48 BOOL und 13 Worten und legste diese als Bytepointer an den SFC14/15:

    Code:
     
    DATA_BLOCK DB 1
    TITLE =
    VERSION : 0.1
     
      STRUCT  
       Bools : ARRAY  [1 .. 48 ] OF BOOL ; 
       Worte : ARRAY  [1 .. 13 ] OF WORD ; 
      END_STRUCT ; 
    BEGIN
    END_DATA_BLOCK
    FUNCTION FC 1 : VOID
    TITLE =
    VERSION : 0.1
     
    VAR_TEMP
      SFC_Stat : INT ; 
    END_VAR
    BEGIN
    NETWORK
    TITLE =
          CALL "DPRD_DAT" (
               LADDR                    := W#16#400,
               RET_VAL                  := #SFC_Stat,
               RECORD                   := P#DB1.DBX0.0 BYTE 32);
    NETWORK
    TITLE =
     
          CALL "DPWR_DAT" (
               LADDR                    := W#16#400,
               RECORD                   := P#DB1.DBX0.0 BYTE 32,
               RET_VAL                  := #SFC_Stat);
    END_FUNCTION
    "Ein lahmer Drecksplanet ist das, ich habe nicht das geringste Mitleid" (Prostetnik Vogon Jeltz)

  7. #7
    Registriert seit
    11.10.2006
    Ort
    Verden (Aller)
    Beiträge
    532
    Danke
    31
    Erhielt 58 Danke für 49 Beiträge

    Standard

    Zitat Zitat von taucherd Beitrag anzeigen
    Es ist kein Siemens Slave sondern ein Omron Slave der mit einer S7 kommuniziert.
    Und ich möchte im Baustein gleich die Abhandlung von diesem Slave machen.
    Das ist der S7 ziemlich Wurst, von wem der Slave ist, ist dieser in der Hardwarekonfig, dann löpt dat.

    Anbei noch was zum Thema.
    Angehängte Dateien Angehängte Dateien
    "Ein lahmer Drecksplanet ist das, ich habe nicht das geringste Mitleid" (Prostetnik Vogon Jeltz)

  8. Folgender Benutzer sagt Danke zu derwestermann für den nützlichen Beitrag:

    taucherd (29.05.2008)

  9. #8
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard

    Zitat Zitat von taucherd Beitrag anzeigen
    Beispiel:
    VAR_INPUT
    Anfangsadresse_Input: POINTER;
    END_VAR

    VAR_OUTPUT
    // Anfangsadresse_Output: POINTER; //funktioniert nicht
    END_VAR
    Die Anfangsadresse_Output ist doch auch ein Eingangs-Parameter ... oder willst du die mit dem Baustein festlegen ...? Doch wohl von Aussen vorgeben und dann im Baustein verwenden ...

    Gruß
    LL

  10. #9
    Registriert seit
    14.02.2006
    Beiträge
    61
    Danke
    21
    Erhielt 4 Danke für 3 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Die Anfangsadresse_Output ist doch auch ein Eingangs-Parameter ... oder willst du die mit dem Baustein festlegen ...? Doch wohl von Aussen vorgeben und dann im Baustein verwenden ...

    Gruß
    LL
    Das stimmt, Danke.

  11. #10
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Was mir noch so einfällt ...

    Warum liest du die Daten nicht direkt mit dem FB ein und gibst sie über die E/A-Schnittstellen des FB direkt aus ...?

Ähnliche Themen

  1. RTC-Baustein
    Von Bambam im Forum CODESYS und IEC61131
    Antworten: 0
    Letzter Beitrag: 15.09.2010, 14:52
  2. CFC --> S7-Baustein
    Von Engelskrieger im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 14.09.2009, 09:37
  3. S7 Baustein für IB IL AO 2/U/BP
    Von manas im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 12.12.2007, 22:44
  4. Baustein für FU
    Von waldy im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 18.01.2006, 23:01
  5. DB Baustein FAQ
    Von Hoilebolle im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 21.10.2004, 08:31

Lesezeichen

Berechtigungen

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