Lokaldaten definieren?

mknoellner

Level-1
Beiträge
45
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich stehe grad vor dem Problem eine Steuerung zu migrieren S5 --> S7.
Da die Schmiermerker ja als solche nicht mehr benötigt werden und diese durch Lokaldaten ersetzt werden können, stellt sich mir die Frage:

Muss ich diese Lokaldaten expliziet im TEMP-Bereich definieren?
oder kann ich sie direkt wieder in jedem Baustein ab L0.0 benutzen?

Auch wenn ich keine Namen vergeben möchte, sondern einfach mit den Adressen direkt arbeite.

Und weiter, gibt es einen Unterschied bei der Benutzung der Lokaldaten in Fb's und FC's?

Und ja ;) ich hab schon im Forum gesucht... und auch bei gidf.de aber ich bin nicht richtig schlau geworden.
 
Theoretisch kannst du die Lokaldaten nutzen, ohne diese zu definieren, Siemens macht das auch teilweise bei Bausteinaufrufen in FUP/KOP (warnt dann allerdings in AWL wenigstens, daß da was belegt ist!!!). Aber den Stack so zu nutzen ist m.E. nach MIST, absolutes NOGO. Deshalb definiere alle Lokaldaten, die du verwendest, spätere Codeleser werden es dir danken. Ich kenne keinen Unterschied zwischen FB und FC, die Lokaldaten betreffend.

Achtung, jede Prioritätsebene hat nur eine bestimmte eingeschränkte Größe für den Lokaldatenstack, i.d.R. 256 Byte. (bei den normalen 300-er SPS) Mit Strings kann man da schnell den Stack überbelegen, das gibt dann Fehlermeldungen und Ärger in der SPS.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
danke erst einmal

Mist hört sich ja schon mal nicht so gut an.

in der vorhandenen steuerung greifen etliche bausteine auf die schmiermerker mb200 bis bis mb255 zurück. entweder ich benutze diese weiter..aber das ist ja auch recht unsauber oder ich dachte ich setzte in diesen bausteinen mb200 gleich L0 bis mb255 L55.

oder gibt es eine andere elegante lösung. wie ich nicht so einen mist, sondern sauber und für andere leserlich programmieren kann?
 
Na ja, im Allgemeinen ist es nicht besonders effizient Step5-Code einfach nach S7 zu übersetzen und fertig. Man nutzt die S7 damit ja nicht wirklich mit allen Möglichkeiten. Aber ich verstehe schon, es ist halt erstmal die schnellste Lösung und schnell muß es fast immer gehen. Wenn du eh versuchst, das ganze 1:1 umzusetzen, kannst du auch die Schmiermerker beibehalten. Wenn das System dann läuft, kann man ja mal darüber nachdenken, Funktionen neu zu schreiben. Wenn du aber Zeit hast, ist es ohnehin besser, einige Dinge neu zu programmieren.
 
so ist es...
muss erst mal schnell gehen.
und auf der s7 laufen..
schöner machen, d.h. optimieren und neu programmieren kommt danach.

wobei ein großer teil auch im zuge der migration bereits neu programmiert werden muss...
;(
 
Zurück
Oben