max. DB Zugriffe in einem Bild bei MP270 bzw. 277?

mitchih

Level-2
Beiträge
806
Reaktionspunkte
32
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Forengemeinde,

ich habe eine Anlage mit 9 Linien, die ich mit 2 MP 277 und 1 MP270 visualisieren muss.

Jetzt bin ich am übelegen, wie ich die Db`s verteile.

Feststeht folgendes:

Ich möchte gerne die indirekte Adressierung in flexible Nutzen Adresse z.B.

[DBNo] DBW122 , so kann ich für meine 9 Linien den DB umschalten. Nun muss ich jedoch auf dieverse DB`s zugreifen um meine Variablen zu bekommen
Betriesarten DB ,E/A DB , Merker_DB SK_DB. Diese sind alle mit UDT`s gefüllt.

Meine Frage auf wieviele DB`s darf ich maximal zugreifen, damit das Panel nicht Elendig langsam wird.
Ich hätte z.B. gerne ein Übersichtsbild für meine 9 Linien, da greife ich dann auf alle DB`s zu..

Oder ist es möglich einen Offset in der Variable einzugeben,

Reihe 1: DW 0- 100 2: 101-200 usw...

Wäre schön wenn jemand mir sagen könnte ob es sich bemerkbar macht wenn mann die DB Anzahl reduziert, indem mann z.B. alle DB`s in einen UDT packt.
Das Multiplexen der einzelnen Variablen über die Eigenschaften ist mir zu zeitintensiv.
 
Meines wissens ist die geschwindigkeit der Verbindung ausschalggebend.

Wenn du z. B. über MPI die verbindung herstellst kann es schon mal vorkommen das es "Elendig lamsam" wird. Bei Ethernet dannst du schon mehrere db´s einsetzen aber wieviele genau? Testen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
um deine Frage etwas konkreter beantworten zu können, müßtest du mal mit ein paar mehr Zahlen rüberkommen (wieviele Variablen und welche Aktualisierungszeit).
Ganz grundsätzlich läßt sich aber sagen, dass man die Performance hoch halten kann, wenn man versucht nicht zu viele Einzel-Adressen zu erzeugen.

Was mir spontan zu deiner Aufgabe einfällt ist :
Wenn du 9 Linien hast, dann versuch doch für alle Linien eine gleiche Struktur zu entwerfen (z.B. UDT) und für jede Linie nimmst du einen eigenen DB. Den DB (die DB-Nummer multiplext du dann bei der Bild-Anwahl (Bild Linie 1 adressiert DB11 ... und Bild Llinie 7 adressiert DB17 - z.B.). Das sollte dann deine Performance schon ziemlich hoch halten ...

Gruß
LL
 
Hallo,
um deine Frage etwas konkreter beantworten zu können, müßtest du mal mit ein paar mehr Zahlen rüberkommen (wieviele Variablen und welche Aktualisierungszeit).
Ganz grundsätzlich läßt sich aber sagen, dass man die Performance hoch halten kann, wenn man versucht nicht zu viele Einzel-Adressen zu erzeugen.

Was mir spontan zu deiner Aufgabe einfällt ist :
Wenn du 9 Linien hast, dann versuch doch für alle Linien eine gleiche Struktur zu entwerfen (z.B. UDT) und für jede Linie nimmst du einen eigenen DB. Den DB (die DB-Nummer multiplext du dann bei der Bild-Anwahl (Bild Linie 1 adressiert DB11 ... und Bild Llinie 7 adressiert DB17 - z.B.). Das sollte dann deine Performance schon ziemlich hoch halten ...

Gruß
LL

Genau so habe ich es ja vor. Jedoch habe ich ja auch E/A´s , die ich anzeigen möchte. Diese liegen alle in einem DB (UDT) und werden je Linie verwaltet. Zusätzlich gibt es dann noch das übliche Zeugs, Tastbefehle usw. DIese liegen im Visu UDT zusätzlich gibt es dann noch den Betriebsarten UDT wo ich die Betriebsarten schalten kann.

Die gesamte Anlage umfasst ca. 1900 E/A`s die Alle visualisiert werden MÜSSEN. Forderung des Kunden!!!

Jetzt ist halt meine Überlegung ob ich 3x multiplexe je UDT oder alles in einen DB Schaufle und dann für jede Reihe alle 3 UDT`s in einem DB sind.

Bei einzel UDT`s greife ich im ungünstigsten Fall auf ca. 30 DB`s zu in einem Bild. Wenn ich alles in einen DB mache auf ca. 10.

DIe Frage ist wie sich das ganze verhält, da es bei einem DB doch trotz UDT recht unübersichtlich wird.
 
Hi Mitch,
eine genaue Spielregel kann ich dir da auch nicht geben, da ich nicht genau weiß, wie der Datenaustausch Visu <-> SPS organisiert wird - wohl aber ein paar grundsätzliche Tipps aufgrund von Erfahrungen :

1.) Die Variablen (einer Anzeigeseite) nicht zu sehr verstreuen. 30 Quell-DB's halte ich da schon für extrem.
2.) Die Aktualisierungsrate nur so schnell stellen, wie eine Aktualisierung wirklich benötigt wird. Oft bringt eine augenscheinlich schlechte Aktualisierungsrate ein höhere Performance.
3.) Bit-Variablen vermeiden - oder diese z.B. aus Bytes ausmaskieren (das geht ja z.B. bei der Animation).

In deinem Projekt halte ich die 1900 E/A's noch nicht für so schlimm - es wird ja nur das geladen und aktialisiert, was wirklich benötigt wird.
Wieviele Variablen hast du denn ca. maximal auf einer Anzeige-Seite ?

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
3.) Bit-Variablen vermeiden - oder diese z.B. aus Bytes ausmaskieren (das geht ja z.B. bei der Animation).

Man mag es nicht glauben dass der Anbindungstreiber in WinCCflexible einer der schlechtesten ist.
Legt man nämlich 8 Bit-Variablen an die alle im gleichen Byte liegen, popelt Flexible wirklich alle 8 Variablen als Bittypen aus der Steuerung. Jeder andere OPC-Server holt da selbständig ein ganzes Byte und maskiert die einzelnen Bits intern aus.
Eine Anfrage einer Bitvariable ist von der Datenmenge auf dem Bus genauso viel wie wenn ein ganzes Byte geholt wird.
 
Zurück
Oben