WinCC flexible Kurvenanzeige

ne larry,

aufgegeben habe ich noch nicht. ist für meine diplomarbeit. ich möchte ganz gerne praktische kurven vorzeigen und nicht nur simulierte. bin jetzt aber eher am schreiben, da in 3 wochen abgabe ist und mir dies wichtiger ist. ansonsten bleiben halt praktische kurven raus.
werde vielleicht morgen mein glück mal wieder probieren!

bis denne

werde mich auf jeden fall melden, wie die sache ausgegangen ist.

glück auf!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
so leute, ich bins nochmal. es funtkioniert immer noch nicht, deswegen benötige ich nochmal eure hilfe, schreibe euch die programmteile zum speichern der werte auch hier rein.

im ob1 lass ich wenn in wincc rt eine schaltfläche gedrückt (m0.3) wird eine null in den schleifenzähler (MW30) schreiben, damit eine neue aufnahme von messwerten geschieht:

UN M 0.3
SPB end
SET
L 0
T MW 30
R M 0.3
end: NOP 0


im ob 35 speichere ich die messwerte alle 6ms fortlaufend ab. dies funtioniert auch. wenn er 400 gespeichert hat, setzt er mir den m100.1 zur kurvenanforderung. diesen merker kann ich nur über wincc rt mit einer schaltfläche wieder zurücksetzen.

L MW 30
L 400
>I
SPB END
L MW 30
ITD
L 4
*D
SLD 3
T MD 40

L DB11.DBD 10
AUF DB 5
T DBD [MD 40]
L MW 30
L 1
+I
T MW 30

END: SET
S M 100.1
NOP 0


in wincc rt habe ich als kurvenpuffer den db5 mit den abgespeicherten werten angegeben. als kurvenanforderung ist das mw 100 angegeben und das bit 1 (m100.1 wir ja gesetzt, wenn werte fertig aufgenommen). als kurventransfer wurde mw110 angewählt. auch so, zur info, puffer wechseln ist undefiniert und kurventransfer 2somit auch nicht benannt.
unter den eigenschaften x-achse wurde werte angewählt. andere wahl war variable/konstante oder uhrzeit.

kann mir einer sagen, wo da einer fehler steckt oder ich verbesserungen vornehmen kann?

schonmal besten dank!

bis denne
 
in wincc rt habe ich als kurvenpuffer den db5 mit den abgespeicherten werten angegeben. als kurvenanforderung ist das mw 100 angegeben und das bit 1 (m100.1 wir ja gesetzt, wenn werte fertig aufgenommen). als kurventransfer wurde mw110 angewählt. auch so, zur info, puffer wechseln ist undefiniert und kurventransfer 2somit auch nicht benannt.
unter den eigenschaften x-achse wurde werte angewählt. andere wahl war variable/konstante oder uhrzeit.

Aus der WinCC flexible Hilfe:


Kurvenanforderungsbereich (MW100)

Wird am Bediengerät ein Bild mit einer oder mehreren Kurven aufgeschlagen, setzt das Bediengerät die zugehörigen Bits im Kurvenanforderungsbereich. Nach Abwahl des Bildes setzt das Bediengerät die entsprechenden Bits im Kurvenanforderungsbereich zurück.
Über den Kurvenanforderungsbereich kann in der Steuerung ausgewertet werden, welche Kurve am Bediengerät gerade dargestellt wird. Kurven können auch ohne Auswertung des Kurvenanforderungsbereiches getriggert werden.

Kurvenübertragungsbereich 1 (MW110)

Dieser Bereich dient zur Triggerung von Kurven. Sie müssen in Ihrem Steuerungsprogramm das der Kurve zugeordnete Bit im Kurvenübertragungsbereich (M 111.1) sowie das Kurven-Sammelbit (M110.7) setzen. Das Kurven-Sammelbit ist das letzte Bit im Kurvenübertragungsbereich. Das Bediengerät erkennt die Triggerung und liest entweder einen Wert oder den gesamten Puffer aus der Steuerung. Danach setzt es das Kurvenbit und das Kurven-Sammelbit zurück.


Du musst also in Deinem Programm einmalig die Merker M111.1 und M110.7 setzten.

Gruß Kai
 
Hallo Nordkurve,
Kai hat es dir jetzt ja noch einmal in schön geschrieben. Im wesentlich aber nichts anderes, wie ich es dir ein paar Beiträge vorher auch schon geschrieben habe : Du musst 2 Bits setzen, damit deine Kurve getriggert wird - das Sammelbit und das Kurven-Bit. Das Kurven-Bit hast du an deiner Kurve festgelegt. In deinem Fall ist M111.0 das Bit für Kurve 1, M111.1 für Kurve 2 usw. (bei automatischer Vergabe).
Wenn du beide Bits setzt, dann klappt es auch - bestimmt ...:p
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hey leute,

habe nochmal ne frage. habe jetzt auch einen link im netz dazu gefunden.

http://support.automation.siemens.c...lib.csinfo&lang=de&objid=21913876&caller=view

habe alles so ausgeführt, wie da beschrieben, also, was ihr hier geschrieben hatte passt schon. jetzt zu meiner frage, kann es möglich sein, das dies nur mit INT-Werten funktioniert und nicht mit REAL?

denn meins funktioniert immer noch nicht.

bis denne
 
Hey,
ich arbeitet normalerweise mit INT-Werten, liegt aber daran, dass das in der Genauigkeit ausreicht. Mit REAL-Werten funktioniert es aber genauso (habe ich schon gemacht). Wichtig ist, dass deine Kurvenskalierung in der Anzeige passt. Kriegst du gar keine Linie angezeigt ? Wenn ja, dann könnte das bedeuten, dass sie außerhalb des Anzeigebereichs ist ...
 
das stimmt, ich bekomme keine kurve angezeigt. habe aber gerade den wert der kurve von -999 bis +999 gestellt. meine messwerte liegen bei so -250. also sollte das ja reichen. das komische ist aber auch, das mir in der wertetabelle ###### für den wert angezeigt wird. eigentlich heist das doch, das es keine verbindung zur cpu gibt. jedoch kann ich betriebsarten über die runtime starten.

habe dann zur kontrolle mal ein textfeld genommen und lasse mir einen wert als zahl von den messwerten anzeigen, das macht er auch!

hast du noch einen tip? siemens hotline kann mir leider auch nicht weiterhelfen.

bis denne
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also,
was mir noch so einfällt der Reihe nach (wie es bei ProTool gemacht wird) :
- in der Kurvendarstellung legst du bei der Kurvenauswahl fest, ob die Skalierung von der Y-Achse Rechts oder Links kommt. Entsprechung musst du dann auch bei dieser Achse deine Grenzwerte eintragen.
- bei X-Achse musst du angeben, wieviele Werte abgeholt werden sollen.
- mit der ######-Geschichte kann ich nichts anfangen. Wo wird das angezeigt.
- das du in einem Ausgabefeld die Werte richtig angezeigt bekommst ist normal. Du hast ja auch die richtigen Werte in deinem DB.
- ich habe mir zum Testen in meine Bilder eine Refresh-Taste eingebaut. Diese setzt auf Tastendruck das Sammelbit und das Triggerbit und rücksetzt sie bei Loslassen wieder. Entsprechend lassen ich mir per Animation das anzeigen (um die SPS-Funktion zu kontrollieren).
- denk dran, dass es einige Zeit braucht um 400 REAL-Werte von der SPS zur Visu zu übertragen. Die Triggerbits müssen für 1600 Bytes schon eine Weile anstehen ...

Mehr weiß ich jetzt nicht. Vielleicht kommst du damit weiter ...
 
hey,

das war mal ein guter tipp mit dem anzeigen.

ich setzte die beiden variablen (kurvenbit und Kurven-Sammelbit) sowieso nur über eine schaltfläche und nicht im sps programm. habe diese beiden variablen jetzt mal grün hinterlegen lassen, wenn sie gesetzt sind. wenn ich die schaltfläche drücke, werden sie grün aber nicht wieder zurückgesetzt. muß ich damit arbeiten, das die nur gedrückt sind, wenn ich die schaltfläche drücke? ich denke nicht, weil doch wincc die beiden variablen wieder rurücksetzt, wenn er die daten gelesen hat.

habe dir im anhang mal den fehler mit den ##### dargestellt.
 

Anhänge

  • Anzeige_WinCC.JPG
    Anzeige_WinCC.JPG
    78,3 KB · Aufrufe: 157
Ist den bei dir "Kurve_1" auch die erste Kurve ?
Welches Bit hast du als Triggerbit für die Kurve ? Ist es M111.0 ?

Ansonsten : Das Bild sieht schon mal toll aus ...;)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
nochmal eben zur verständlichkeit.

kurvenübertragungsbereich mw110
kurvenanforderung mw100

wenn ich bit0 nehme ist das kurvenbit m111.0 (wieso nicht m110.0??)
wenn ich bit1 nehme ist das kurvenbit m111.1 (wieso nicht m110.1??)


das kurvensammelbit soll ja das letzte bit sein. warum also nicht M111.7??? immoment ist m110.7 als kurvensammelbit gesetzt.

bis denne
 
nochmal eben zur verständlichkeit.

kurvenübertragungsbereich mw110
kurvenanforderung mw100

wenn ich bit0 nehme ist das kurvenbit m111.0 (wieso nicht m110.0??)
wenn ich bit1 nehme ist das kurvenbit m111.1 (wieso nicht m110.1??)


das kurvensammelbit soll ja das letzte bit sein. warum also nicht M111.7??? immoment ist m110.7 als kurvensammelbit gesetzt.

Es gilt folgendes:

Code:
              MW110
 
     MB110             MB111
 
M110.7 - M110.0   M111.7 - M111.0
 
Bit 15 - Bit 08   Bit 07 - Bit 00

Gruß Kai
 
@Kai : Danke für die schöne Darstellung. Ich hätte es nicht schöner hin gekriegt ...

@Nordkurve : Alles klar ?
 
Oder mal in STEP 7 eine VAT (Variablentabelle) anlegen, dort das MW110 eintragen und die Merker M110.7 (Kurvensammelbit) und M111.0 (Kurvenübertragungsbit Kurve 1) im Online-Betrieb gleichzeitig setzen.

Gruß Kai
 
ok leute, das ist mir jetzt schon alles klar. nur klar ist mir noch nicht, warum es nicht funktioniert!!!!
habe es gerade noch mit den schaltflächen ausprobiert. wenn ich die schaltfläche drücke werden die beiden bits gesetzt und beim loslassen rückgesetzt. funkt trotzdem noch nicht!

bis denne
 
habe es gerade noch mit den schaltflächen ausprobiert. wenn ich die schaltfläche drücke werden die beiden bits gesetzt und beim loslassen rückgesetzt.

Das die Bits beim Loslassen der Schaltfläche zurückgesetzt werden, ist nicht richtig. WinCC flexible setzt die Bits selber zurück, wenn die Kurve vollständig eingelesen wurde.

Deine Schaltfläche sollte also nur beim Drücken die Bits setzen und nicht beim Loslassen zurücksetzen.

Gruß Kai
 
ok, das hatte ich auch schon mal probiert. jetzt gerade nochmla probiert, aber die werden nicht zurückgesetzt. warum? weil er die kurve nicht hat?
 
Zurück
Oben