SCL AT-Sicht

Lupo

Level-1
Beiträge
338
Reaktionspunkte
27
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 :rolleyes:

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

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
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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.
 
Ein Array of INT als Eingangsparameter kommt für mich nicht in Frage, weil ich die Pa

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
 
Zuletzt bearbeitet:
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 ?
 
:confused: 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 :rolleyes:
 
entschuldige bitte - warum nicht

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
 
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.
 
Zurück
Oben