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

Seite 3 von 5 ErsteErste 12345 LetzteLetzte
Ergebnis 21 bis 30 von 48

Thema: SCL Aufruf des SFC22

  1. #21
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.404 Danke für 2.002 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von vierlagig Beitrag anzeigen
    NEIN! ... Doch! .... oooooohhhhh-mmmmhhh
    ...............

  2. #22
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.404 Danke für 2.002 Beiträge

    Standard

    Also neuer Versuch :
    Code:
       hDatenQuelle : ANY ;
       xDatenQuelle AT hDatenQuelle : STRUCT
                  ID_Code   : BYTE ;  // 10h für S7
                  DataTyp   : BYTE ;
                  Anzahl    : WORD ;
                  DB_Nr     : WORD ;
                  SpeicherPtr : DWORD ;
                  END_STRUCT ;
    eine Variable vom Typ ANY anlegen, eine AT-Sicht, wie oben dargestellt darauf machen, und die gewünschten Inhalte in die AT-Sicht schreiben. Anschließend die ursprüngliche ANY-Variable für den Baustein verwenden ...

    Gruß
    Larry

  3. #23
    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

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Also neuer Versuch :
    Code:
       hDatenQuelle : ANY ;
       xDatenQuelle AT hDatenQuelle : STRUCT
                  ID_Code   : BYTE ;  // 10h für S7
                  DataTyp   : BYTE ;
                  Anzahl    : WORD ;
                  DB_Nr     : WORD ;
                  SpeicherPtr : DWORD ;
                  END_STRUCT ;
    eine Variable vom Typ ANY anlegen, eine AT-Sicht, wie oben dargestellt darauf machen, und die gewünschten Inhalte in die AT-Sicht schreiben. Anschließend die ursprüngliche ANY-Variable für den Baustein verwenden ...

    Gruß
    Larry
    ich wage zu behaupten, dass es soweit bereits klar war und es tatsächlich nur noch darum ging, wie man der Unmöglichkeit Herr wird, dass im letztem DWORD sowohl Datentyp als auch Adresse zu hinterlegen sind sind...

    [EDIT]
    und das ist jetzt ganz ehrlich auch SCL?
    [/EDIT]
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  4. #24
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.404 Danke für 2.002 Beiträge

    Standard

    Naja ... man könnte ja die AT-Sicht auch anders aussehen lassen und das letzte DWORD dann anders auflösen - oder eine 2. AT-Sicht auf die gleiche Datenquelle machen ...

    Ach ja ... und das ist tasächlich SCL

  5. #25
    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

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Naja ... man könnte ja die AT-Sicht auch anders aussehen lassen und das letzte DWORD dann anders auflösen - oder eine 2. AT-Sicht auf die gleiche Datenquelle machen ...
    das fände ich ja mal spannend, wie du das letzte DWORD anders auflöst!
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  6. #26
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.404 Danke für 2.002 Beiträge

    Standard

    ... ich schrieb ja von einer 2. AT-Sicht - die könnte dann z.B. so aussehen :
    Code:
       yDatenQuelle AT hDatenQuelle : STRUCT
                  ID_Code   : BYTE ;  // 10h für S7
                  DataTyp   : BYTE ;
                  Anzahl    : WORD ;
                  DB_Nr     : WORD ;
                  Speicherbereich : ARRAY [0..3] OF BYTE ;
                  END_STRUCT ;
    Gruß
    Larry

  7. #27
    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

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    ... ich schrieb ja von einer 2. AT-Sicht - die könnte dann z.B. so aussehen :
    Code:
       yDatenQuelle AT hDatenQuelle : STRUCT
                  ID_Code   : BYTE ;  // 10h für S7
                  DataTyp   : BYTE ;
                  Anzahl    : WORD ;
                  DB_Nr     : WORD ;
                  Speicherbereich : ARRAY [0..3] OF BYTE ;
                  END_STRUCT ;
    Gruß
    Larry
    vielleicht kann ich Deinem klugen Gedanken gerade nicht folgen ...

    Es geht darum, dass in DWORD SpeicherPtr

    Byte 0 den Speicherbereich
    Byte 1, Byte 2 und (hier das Problem) 5(!) Bits von Byte 3 die Byteadresse
    und 3Bit aus Byte3 die Bitadresse

    beschreiben und tatsächlich fällt mir dazu keine andere schöne Möglichkeit ein, als die hier beschriebene: SCL Aufruf des SFC22
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  8. #28
    Registriert seit
    17.10.2013
    Beiträge
    48
    Danke
    10
    Erhielt 1 Danke für 1 Beitrag

    Standard

    So ich hab in SCL mir nun auch diesen ansatz zur lösung überlegt das ich es wie in AWL ebenfalls um drei Stellen verschiebe.

    Code:
    Adress2:=SHL(IN:=INT_TO_DWORD(Adress1),N:=3);
    OUT1:=Adress2 AND dw#16#84000000;
    Hier liegt das Problem dabei das ich die beiden Werte nicht Addiert bekomme. Und weder eine AND oder OR oder XOR Funktion ist an der Stelle richtig.
    Irgend wie muss das doch gehen...

    Denkfehler mit einem OR müsste es doch gehen.
    Geändert von BlueDogi (08.07.2014 um 14:21 Uhr)

  9. #29
    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

    hast Du eine Addition probiert? woran scheitert diese?

    [remove]AND und OR sind Bitoperationen[/remove]
    Geändert von vierlagig (08.07.2014 um 15:11 Uhr)
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]
    Zitieren Zitieren SCL Aufruf des SFC22  

  10. #30
    Registriert seit
    17.10.2013
    Beiträge
    48
    Danke
    10
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Der Fehler lautet Unzulässige Operandentypen. Aber wenn ich die Adition bereits mit der Variabele Adress1 ausführe dürfte es keine Probleme geben. Und am ende anstad des AND ein OR benutze.

    Mann kann auch ganze DWÖRTER verunden oder verodern deshalb geht das.
    Geändert von BlueDogi (08.07.2014 um 14:40 Uhr)

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 17.04.2014, 20:38
  2. Antworten: 1
    Letzter Beitrag: 11.04.2013, 15:39
  3. Antworten: 17
    Letzter Beitrag: 08.03.2011, 10:00
  4. SCL: FB Aufruf unter SCL mit Variablen DB
    Von ThorstenK im Forum Programmierstrategien
    Antworten: 32
    Letzter Beitrag: 10.02.2011, 19:15
  5. Mehrfacher, gleichzeitiger Aufruf des SFC84
    Von Deichkind im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 31.05.2010, 14:11

Stichworte

Lesezeichen

Berechtigungen

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