Step 7 AT-Sichten in AWL

Löwensenft

Level-1
Beiträge
43
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

die alten Hasen hier im Forum haben eventuell eine Erklärung dazu. Gab es die aus SCL bekannte AT-Sicht auch mal in AWL? Ich bin in der Online-Hilfe von Step 7 auf das Thema "Deklarieren von Sichten auf Variablenbereiche" gestoßen, die eine Erklärung zum KOP/AWL/FUP-Editor bietet, wie Sichten in der Variablentabelle angezeigt werden können. Jedoch gibt es diese Tabellenspalte bei mir nicht (V5.5+SP4+HF3).

Gab es dieses Feature (in AWL) mal und es wurde abgeschafft? Oder war der Editor auch mal für SCL im Einsatz oder dafür geplant? Wie ist das in TIA? Dort ist ja der Sourcecode-Editor für alle Sprachen der gleiche (richtig?)...

Gerade bei STRING-"Schandtaten" tut das Fehlen der Sicht doch echt weh und es müssen entweder registerindirekte Adressierung oder STRUCT-Konstrukte her, die auf die Ziel-Variable umkopiert werden.

Weiß da jemand was darüber? :)

Grüße
Max
 
Viele Fragen, ein paar davon kann ich zumindest beantworten....
Gab es die aus SCL bekannte AT-Sicht auch mal in AWL?
Nicht das ich wüsste, aktuell gibt es keine Möglichkeit, müsste vor meiner Laufbahn gewesen sein, bin noch kein "alter" Hase.
Glaub ich aber nicht.
Ich bin in der Online-Hilfe von Step 7 auf das Thema "Deklarieren von Sichten auf Variablenbereiche" gestoßen, die eine Erklärung zum KOP/AWL/FUP-Editor bietet, wie Sichten in der Variablentabelle angezeigt werden können. Jedoch gibt es diese Tabellenspalte bei mir nicht (V5.5+SP4+HF3).
Zeig mal...

Wie ist das in TIA? Dort ist ja der Sourcecode-Editor für alle Sprachen der gleiche (richtig?)...
Der Sourcecode-Editor (oder die Ansicht in der man arbeitet) ist zwar schon die gleiche, aber auch dort gibt es für die 300/400 kein AT in KOP/FUP/AWL.
Bei der 1200/1500er ist das anders, dort kann man AT auch in KOP/FUP/AWL verwenden:
a) In einem nicht optimierten Baustein
b) In einem optimierten Funktionsbaustein im STAT-Bereich sofern die Option "Im IDB setzen" für die STAT-Variable aktiviert ist.​
Diese Einschränkung des optimierten Bausteins gilt natürlich auch für SCL.​
Gerade bei STRING-"Schandtaten" tut das Fehlen der Sicht doch echt weh und es müssen entweder registerindirekte Adressierung oder STRUCT-Konstrukte her, die auf die Ziel-Variable umkopiert werden.
Genau, obwohl Blkmov-Struct-Blkmov noch einigermaßen geht, da zumindest ebenfalls vollsymbolisch.
Aber für Stringbearbeitung sind KOP/FUP/AWL die mit Abstand am schlechtesten geeigneten Darstellungen, man kann ja zum Beispiel nicht einfach mal eine String-Konstante auf irgend eine Variable schreiben.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Im TIAP gibt des den Slice Zugriff...

Beispiel:

Code:
MeinDint = 45.146
MeinInt = MeinDint.%W0 (bin mir nicht 100% sicher über die Syntax hier)
MeinByte = MeinDint.%B0 (oder 1,2,3,4)
MeinBool = MeinDint.%X0 (oder 2-31)

Grüße

Marcel
 
Wenn man sich den Eintrag in der Online-Hilfe durchliest, könnte man meinen das diese Funktion tatsächlich in der Classic-Welt schon einmal für die anderen Sprachen geplant war. Soweit mir bekannt ist, gibt / gab es die Sichten in Step7 V5 nur für SCL.
 

Bitte sehr:

Deklarieren von Sichten auf Variablenbereiche

Um mit einem weiteren Datentyp auf eine deklarierte Variable zuzugreifen, können Sie Sichten auf die Variable definieren. Diese Funktion ist jedoch nur in bestimmten Programmiersprachen (z.B. SCL) verfügbar.
Beispiel

NameSicht aufDatentypAdresse
BufferARRAY[0..255] OF BYTE0.0
Telegram1BufferUDT1000.0
Telegram2BufferUDT2000.0

Der aufrufende Baustein versorgt den Parameter Buffer, die Namen Telegram1 und Telegram2 sieht er nicht. Dem aufgerufenen Baustein stehen nun 3 Möglichkeiten zur Verfügung, die Daten zu interpretieren, nämlich als Feld unter dem Namen Buffer oder anders strukturiert unter Telegram1 oder Telegram2.
Regeln

  • Eine Sicht darf wie jede andere Variable im Baustein verwendet werden. Sie erbt alle Eigenschaften der Variable, auf die sie zeigt, nur der Datentyp ist neu.
  • Die Deklaration einer weiteren Sicht auf eine Variable muss im selben Deklarationsabschnitt wie die Variable selbst stehen.
  • Der Datentyp der Sicht muss mit dem Datentyp der Variablen kompatibel sein. Die Variable gibt die Größe der Speicherbereichs vor. Der Speicherbedarf der Sicht darf gleich oder kleiner sein.
Gehen Sie folgendermaßen vor:
Zur Deklaration einer Sicht auf eine bereits existierende Variable verwenden Sie die Spalte "Sicht auf".

  1. Wenn die Spalte "Sicht auf" noch nicht sichtbar ist, rufen Sie durch Drücken der rechten Maustaste den Menübefehl Spalten anzeigen auf. Wählen Sie im nachfolgenden Dialogfeld die Spalte "Sicht auf" aus.
  2. Selektieren Sie nun einen Deklarationsabschnitt und fügen Sie mit dem Menübefehl Einfügen eine neue Variable in die Deklaration ein.
  3. Wählen Sie in der Spalte "Sicht auf" aus der Auswahlliste die Variable aus, auf die die neue Variable zeigen soll.
 
Zurück
Oben