TIA Warnung wg.Lokaldaten im Baustein, bzw. Syntaxfehler

WernerD

Level-2
Beiträge
17
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Forum,

ich habe mir von der Siemens-Site ein Beispielprogramm zur Ansteuerung eines Micromasters gezogen. Das Programmm habe ich von S7 nach TIAV13 migriert, alles soweit iO.
Nur habe ich eine Warnung bzgl. Lokaldaten-Verarbeitung im FC (s. Lokaldaten im Baustein (Original).jpg). Wenn ich (zugegebenermaßen ohne genau zu wissen, warum es nicht geht) die andere Bezeichnung eingebe (s. Lokaldaten im Baustein (Versuch).jpg) bekomme ich den Syntaxfehler, wahrscheinlich zu Recht ;-). Kann mir vielleicht jemand den entscheidenen Tip geben, wie es geht, bzw. wo ich es nachlesen kann, danke.

Gruß, Werner

Ach ja: CPU 313-2DP, Datenbausteine, UDTs sind vorhanden und iO. Zur eurer Info noch 2 Bilder.

Lokaldaten im Baustein (Original).jpgLokaldaten im Baustein (Versuch).jpg
 
Ja, das war "früher" üblich, daß man ungeniert auf Absolutadressen zugriff - allerdings auf eigene Gefahr, weil der AWL-Compiler dabei nicht prüfen kann, ob der Programmierer weiß was er da tut.

Versuche mal folgende Formulierung, da wird die Zieladresse wenigstens symbolisch ermittelt:
Code:
L PED [#Adresse_E_A]
LAR1 P##REC
T LD [AR1,P#0.0] //auf Struct REC speichern

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Alternativ erstellst du einen UDT mit der Struktur von REC. Diesen UDT deklarierst du einmal als IN Variable in dem FC und einmal in der Variablenliste (mit der entsprechenden Startdadresse des Micromaster aus der HW-Konfig). Dann kannst du Netzwerk 1+2 und die Lokaldaten "REC" löschen und musst nur noch am Aufruf des FC's die Struktur übergeben.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
@Glasesba
Gerade probiert, leider scheint es ein 1200/1500er Feature zu sein, ist bei der 300er also leider nicht anwendbar.
Die Idee wäre aber sehr gut gewesen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
SFC14/SFC15 geht nicht für 4 Bytes.

Harald

Hast du das getestet ? Die online Hilfe sag was anderes.

HinweisEine CPU der Baureihen S7-300/400 unterstützt bis zu 64 Bytes konsistente Daten. Bei Bereichen konsistenter Daten größer als 4 Bytes müssen Sie die Anweisung "DPRD_DAT" verwenden. Diese Anweisung kann bei Bedarf auch für einen Datenbereich ab 1 Byte verwendet werden. Bei einem Zugriffsfehler wird der Fehlercode W#16#8090 gemeldet.
 
Hast du das getestet ? Die online Hilfe sag was anderes.
Nein, nicht unter TIA. Bekommt eine S7-300-CPU eine andere Firmware, wenn sie mit TIA programmiert wird? (damit die schlampige Dokumentation halbwegs stimmt ;))


siehe Referenzhandbuch System- und Standardfunktionen für S7-300/400

Kapitel 16.5 Konsistente Daten eines DP-Normslaves/PROFINET IO-Devices lesen mit der SFC 14 "DPRD_DAT"
Hinweis
Ein Zugriff mit der SFC 14 "DPRD_DAT" ist nur auf drei oder mehr als 4 Byte lange Datenbereiche möglich. Andernfalls wird ein Zugriff mit dem Fehlercode W#16#8090 abgewiesen.

Kapitel 16.6 Daten konsistent auf DP-Normslave/PROFINET IO-Device schreiben mit der SFC 15 "DPWR_DAT"
Hinweis
Ein Zugriff mit der SFC 15 "DPWR_DAT" ist nur auf drei oder mehr als 4 Byte lange Datenbereiche möglich. Andernfalls wird ein Zugriff mit dem Fehlercode W#16#8090 abgewiesen.

Harald
 
Ich habe das mit dem SFC14/15 da es an einem MM fehlte
An einer Alm Protokoll 370 I/O je 2 Byte lang getestet. Das geht in Step7 V5.5 oder V13 ohne Probleme.
 
Zurück
Oben