Inhalt eines Arrays als Kurve darstellen

holgero

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

ich möchte den Inhalt eines DBs ( ein Array [1..168] of DWord ) auf einem Panel darstellen.

HCOPY4.jpg

Leider verstehe ich noch nicht ganz was ich einstellen muss, um die Daten anzuzeigen.

Ich dachte daran, die 168 Werte einfach nacheinander zu übertragen "Echtzeit Bitgetriggert".
Aber was müsste ich für Kurvenvariable, Bit, Kurvenanforderung, Kurvenübertragung 1 eintragen?
In welcher Variable steckt Bit?
(Auslastung / Stunde -> 24h x 7 Tage = 168 Werte)

Was ist der Richtige weg?

vielen Dank im Voraus.
 
Hallo,
der Kurventyp hier ist "Puffer bitgetriggert"

für die Kurvenübertragung und die Kurvenanforderung mußt du jeweils eine Variable definieren (mindestens vom Typ WORD)
Die Kurvenanforderung ist es dann, die du in der Steuerung dann triggern mußt. Wichtig hier ist, dass du immer das Kurvenbit und ein Sammelbit setzen mußt. Da die Visu das nicht unbedingt verlässlich rücksetzt solltest du das ggf. nach 1 - 2 Sekunden selbst wieder löschen.
Bitte dazu auch den Abschnitt in der Flex-Hilfe lesen ...

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Kurvenanforderung ist es dann, die du in der Steuerung dann triggern mußt.
Kurvenanforderung: Von HMI nach SPS. Ein Bitarray das erzählt den SPS welche Kurven im Moment auf den Bildschirm dargestellt wird.
Kurvenübertragung: Von SPS nach HMI, oder intern in HMI (siehe unten). Ein Bitarray das per Flanke für jeden bit erzählt den HMI wenn und welche Kurvendaten von SPS geholt werden muss und in Trenview aufgezeichnet werden muss.

Also...
Wenn den Kurvenübertragung von den SPS gesteuert ist, dann kann man mit Kurvenanforderung eventuell den Datentransfer sperren wenn es nicht notwendig ist. Wenn Kurvenübertragung von den HMI gesteuert ist, hat es keinen Zweck.
Für holgero glaube ich das das einfachste wäre das der Kürvenübertragen in den HMI gesteuert ist. Einfach setze den relevante bit auf der Eeigniss "Bild geladen". Man konnte auch eine Button dafür haben (wie der Taste "aktualisieren" in Screenshot), aber wenn die Daten nur jede Stunde geändert werden denke ich das es ist nicht notwendig.
 
Vielen Dankfür die schnelle Unterstützung.

Es hat eine Weile gedauert, aber jetzt funktioiert alles :p

Das Übertragen der gesammten Kurve duert etwas lange (168 x 100ms (x 2?)). Macht aber nix.
 
... dann hast du es aber komplett anders als von uns vorgeschlagen gemacht ...
So wie vorgeschlagen sollte das erheblich schneller gehen ...

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... das Triggern geht nicht schneller als 100..200ms.

Ich hatte ja versucht das komplette Array mit einem mal zu übertragen, aber ich habe es nicht hinbekommen, für die Kurvenvariable ein Array anzugeben (WinCC meint "Hier darf kein Array verwendet werden").

Geht das eventuell doch irgendwie?
 
Hallo,
es geht so, wie von mir beschrieben (unter Berücksichtigung der von Jesper genannten Vertauschung von mir).
Du mußt allerdings dann auch ALLES genau so machen ...
Vielleicht liest du die die beiden Beiträge noch einmal durch ...

Gruß
Larry
 
Zurück
Oben