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

Ergebnis 1 bis 9 von 9

Thema: SCL AT-Sicht

  1. #1
    Registriert seit
    19.12.2008
    Beiträge
    336
    Danke
    19
    Erhielt 28 Danke für 28 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Gemeinde,
    meine Frage zielt innerhalb der SCL-Programmierung auf die AT-Sicht.
    Ich habe einen Baustein mit z.B. 10 Input-Variablen vom Typ INT. Auf diese würde ich gerne eine zusammenfassende AT-Sicht als Array of INT machen. Geht das irgendwie ? Ich habe dazu bislang keinen anderen Weg als das Umschreiben in einen internen Speicherbereich gefunden. Das gefällt mir aber nicht, zumal ich ja in AWL die Möglichkeit hätte dies über einen Pointer und entsprechenden Index zu realisieren.
    Vielleicht weiß ja jemand etwas dazu

    Liebe Grüße
    Zitieren Zitieren SCL AT-Sicht  

  2. #2
    Registriert seit
    28.01.2009
    Ort
    Hamburg
    Beiträge
    199
    Danke
    52
    Erhielt 54 Danke für 34 Beiträge

    Standard

    Eine Sicht darf maximal so Groß sein wie die Quelle auf die sie sich bezieht.
    Nimm doch einfach einen Eingang Array[1..10] of int.

    Viele Grüße Bernard
    Zitieren Zitieren Ich habe einen Baustein mit z.B. 10 Input-Variablen vom Typ INT. Auf diese würde ich  

  3. #3
    Lupo ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    19.12.2008
    Beiträge
    336
    Danke
    19
    Erhielt 28 Danke für 28 Beiträge

    Standard

    Schon klar ...
    Ich suchte ja auch nach einem Trick !
    Ein Array of INT als Eingangsparameter kommt für mich nicht in Frage, weil ich die Parameter u.U. im Klartext übergeben können möchte. Das wäre bei einem Array nicht möglich, da hier ja in Wirklichkeit ein Pointer übergeben wird.

  4. #4
    Registriert seit
    28.01.2009
    Ort
    Hamburg
    Beiträge
    199
    Danke
    52
    Erhielt 54 Danke für 34 Beiträge

    Standard

    Dann bilde doch einen Eingang vom TYp Struct,UDT somit kannst du per Namen ohne Sicht auf die Variablen zugreifen.

    Code:
    TYPE "Messgruppe"//UDT1
        STRUCT
       Messwert_1:REAL;
       Messwert_2:INT;
       Messwert_3:DINT;
        END_STRUCT
    END_TYPE
    FUNCTION_BLOCK "versuch"
    VAR_input
    Messung:"Messgruppe";//UDT1 Messgruppe
    END_VAR
    VAR_TEMP
     Unsinn_1:REAL;
     Unsinn_2:int;
     Unsinn_3:Dint;
    END_VAR
    VAR
    END_VAR
     Unsinn_1:=Messung.Messwert_1*12.2;
     Unsinn_2:=Messung.Messwert_2*4;
     Unsinn_3:=Messung.Messwert_3+DINT#-1;
    END_FUNCTION_BLOCK
    Viele Grüße Bernard
    Geändert von Bernard (10.11.2009 um 16:34 Uhr) Grund: Ergänzung
    Zitieren Zitieren Ein Array of INT als Eingangsparameter kommt für mich nicht in Frage, weil ich die Pa  

  5. #5
    Lupo ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    19.12.2008
    Beiträge
    336
    Danke
    19
    Erhielt 28 Danke für 28 Beiträge

    Standard

    Ein UDT würde an den FB auch als Pointer übergeben werden. Es geht mir darum, von Aussen die IN-Variablen direkt (also by Value) beschreiben zu können. Meine Frage war :
    Ich habe einen Baustein mit z.B. 10 Input-Variablen vom Typ INT. Auf diese würde ich gerne eine zusammenfassende AT-Sicht als Array of INT machen. Geht das irgendwie ?

  6. #6
    Registriert seit
    28.01.2009
    Ort
    Hamburg
    Beiträge
    199
    Danke
    52
    Erhielt 54 Danke für 34 Beiträge

    Standard

    und Warum?
    Zitieren Zitieren Es geht mir darum, von Aussen die IN-Variablen direkt (also by Value) beschreiben zu  

  7. #7
    Lupo ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    19.12.2008
    Beiträge
    336
    Danke
    19
    Erhielt 28 Danke für 28 Beiträge

    Standard

    entschuldige bitte - warum nicht ? Ich möchte es halt so machen und suche nun einen Weg, in SCL das realisieren zu können, was ich in AWL ja auch machen kann

  8. #8
    Registriert seit
    28.01.2009
    Ort
    Hamburg
    Beiträge
    199
    Danke
    52
    Erhielt 54 Danke für 34 Beiträge

    Standard

    Ich wollte nur den Hintergrund wissen warum du so vorgehen willst.
    Für mich gibt es keinen Grund aus z.B. 10 Variablen 1 zu machen um dann
    mittels Sicht daraus wieder 10 zu erzeugen,es sei denn du willst mit indizierung auf Elemente zugreifen.Dafür würde ich,wie schon gesagt,ein Eingangsfeld definieren.Mir ist kein Weg bekannt wie du mittels Sichten dieses Problem lösen kannst.

    Viele Grüße Bernard
    Zitieren Zitieren entschuldige bitte - warum nicht  

  9. #9
    Lupo ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    19.12.2008
    Beiträge
    336
    Danke
    19
    Erhielt 28 Danke für 28 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich wollte von Aussen 10 Variablen angeben können und diese per Indexierung anwählbar machen - das hatte ich aber beschreiben.
    Und ... es ging mir darum einen SCL-Weg für etwas zu finden, das unter AWL machbar ist.

Ähnliche Themen

  1. TIA Portal AT Sicht in SCL
    Von Didaddy im Forum Simatic
    Antworten: 22
    Letzter Beitrag: 13.07.2015, 11:59
  2. Sicht von 2xHMI auf eine SPS
    Von hoT im Forum HMI
    Antworten: 7
    Letzter Beitrag: 13.03.2011, 23:00
  3. Struct: falscher Typ in Sicht und Variable
    Von Kniffo im Forum Programmierstrategien
    Antworten: 10
    Letzter Beitrag: 01.09.2007, 10:03
  4. Neue Abmahnwelle in Sicht
    Von knabi im Forum Stammtisch
    Antworten: 41
    Letzter Beitrag: 03.02.2007, 12:39
  5. Nachfolger für S7 in Sicht?
    Von automobil80 im Forum Simatic
    Antworten: 18
    Letzter Beitrag: 21.01.2007, 09:51

Lesezeichen

Berechtigungen

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