schaltanlagen
Level-1
- Beiträge
- 7
- Reaktionspunkte
- 0
Danke schonmal,
Ja habe ein fertiges Programm, sollte aber aufgrund von Datenaufzeichnung etwas schneller sein. Kann ich was erreichen wenn ich die Profibusadressen und oder die FB/FC/DB - Nr. niedrig halte?
MFG
Die FC/FB/DB-Nummern bzw. die Profibusadresse haben nichts mit der Zykluszeit zu tunDanke schonmal,
Ja habe ein fertiges Programm, sollte aber aufgrund von Datenaufzeichnung etwas schneller sein. Kann ich was erreichen wenn ich die Profibusadressen und oder die FB/FC/DB - Nr. niedrig halte?
MFG
Mal so einige Sachen:
4. Zugriffe auf extrem verschachtelte DB-Variablen benötigen wohl auch sehr viel Zeit. Wenn möglich DB mit "flachen" Strukturen verwenden, außerdem benötigen solche DB sehr viel mehr Ladespeicher.
Wie können Sie die Größe des Lade- und Arbeitsspeichers ermitteln?... Wie bekommt man denn offline die Größe für den benötigten Ladespeicher heraus? ...
Hallo Ralle,
was verstehst du unter extrem verschachtelt? Ist mir noch garnicht aufgefallen das der Zugriff darauf mehr Zeit braucht und es auch mehr Ladespeicher kostet!? Wie bekommt man denn offline die Größe für den benötigten Ladespeicher heraus? angezeigt wird ja nur der Arbeitsspeicher. Habe gerade mal zwei DBs angelegt. Einen mit 6x array[1..10] of int je eine ebene tiefer mit STRUCT verschachtelt und einen mit einem array [1..60] of int - laut SIMATIC Manager sollen die beiden gleich groß im Arbeitsspeicher sein.
Aber auch ich lasse mich natürlich gerne eines besseren belehren
Gruß,
Matthias
Danke schonmal,
Ja habe ein fertiges Programm, sollte aber aufgrund von Datenaufzeichnung etwas schneller sein. Kann ich was erreichen wenn ich die Profibusadressen und oder die FB/FC/DB - Nr. niedrig halte?
MFG
Unterschiedliche Zugrifszzeiten auf DB können vorkommenHallo Ralle,
was verstehst du unter extrem verschachtelt? Ist mir noch garnicht aufgefallen das der Zugriff darauf mehr Zeit braucht und es auch mehr Ladespeicher kostet!? Wie bekommt man denn offline die Größe für den benötigten Ladespeicher heraus? angezeigt wird ja nur der Arbeitsspeicher. Habe gerade mal zwei DBs angelegt. Einen mit 6x array[1..10] of int je eine ebene tiefer mit STRUCT verschachtelt und einen mit einem array [1..60] of int - laut SIMATIC Manager sollen die beiden gleich groß im Arbeitsspeicher sein.
Aber auch ich lasse mich natürlich gerne eines besseren belehren
Gruß,
Matthias
AUF DB5
U DBX 0.0
U DBX 0.1
= DBX 0.2
U "Datenbaustein".Wert_1 //DB5.DBX0.0
U "Datenbaustein".Wert_2 //DB5.DBX0.1
= "Datenbaustein".Wert_4 //DB5.DBX0.2
@marlob:
Danke für den Link!
@Ralle:
Okay, die verschachtelte Variante benötigt dann also 282Byte Ladespeicher
und die als einfaches Array ausgelegte Variante benötigt nur 220Byte.
ABER!
Wenn ich komplett ohne array arbeite und ganz flach nur 60 INT Werte anlege, dann benötigt der DB 322Byte im Ladespeicher.
Ich vermute mal, das es nicht an der Schachtelung liegt, sondern wie viele Zeilen in der Deklarationssicht verwendet werden (ins blaue geschossen, aber sieht für mich danach aus).
Unterschiedliche Zugrifszzeiten auf DB können vorkommen
Dies
ist schneller als diesCode:AUF DB5 U DBX 0.0 U DBX 0.1 = DBX 0.2
Die Grösse eines DB hängt auch davon ab, wie man ihn deklariert. 16 bool-Variablen benötigen mehr Platz als eine Word-VariableCode:U "Datenbaustein".Wert_1 //DB5.DBX0.0 U "Datenbaustein".Wert_2 //DB5.DBX0.1 = "Datenbaustein".Wert_4 //DB5.DBX0.2
Siehe auch Siemens-FAQ
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?