Analogwert simulieren

AndyD

Level-2
Beiträge
88
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Gemeinde.

Habe ein kleines Problem.
Ich erstelle gerade ein Schulprojekt und muss einen Analogwert (REAL-Format) simulieren.
Einmal geht es um einen Füllstand, von 0 bis 100% und einmalum eine Temperatur von 0-200°C.
Beide Werte werden bei einem Zwischenstand angenommen. Also ich gebe einmal 50% Füllstand und einmal 100°C in den DB ein.
Wenn jetzt gewisse Startbedingungen vorliegen sollen sich beide Werte nach oben verändern. Gebe ich andere Startbedingungen an, sollen sich die Werte nach unten verändern.
Bei der Veränderung wäre es gut, wenn man den SPS internen Taktmerker verwenden kann. Am besten 2% bzw. 2°C pro Sekunde.

Hier seh ich gerade den Wald vor lauter Bäumen nicht.

Werte werden im Real Format an ein TouchPanel mit WinCC-Flexible übergeben und als SPS habe ich eine Siemens SPS 317-2DP.

Kann mir hier jemand ne AWL Anleitung für diese Simulation aufschreiben?

Ich hoffe auf eure Hilfe.

Vielen Dank vorab

AndyD
 
Na ja, Hausaufgaben lösen wir hier nicht :cool:, selber denken ist angesagt ...

Aber wie wäre es abhängig der Startbedingung dann den Simulierten Wert mittels z.B. Taktmerker zu INC oder DEC?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hausaufgaben sind das nicht direkt.
Da wir im Unterricht nur Theorie machen und als Aufgabe eine Visualisierung gestellt bekommen haben,habe ich durchh meine Firma die nötige Hardware gestellt bekommen um das ganze mal "real" aufzubauen und eben zu zeigen wie es sein könnte.
Die Handebene steht ja. Der Automatikbetrieb läuft auch, sofern ich über eine Variablentabelle die entsprechende Werte eingebe um die Grenzwerte zu erreichen.
Wär halt nur "cool" gewesen, wenn man auf Automatik schaltet und dann am Panel den kompletten Vorgang beobachten kann ohne weitere Eingriffe vorzunehmen...
Naja,und als Einsteiger ist es ja nunmal manchmal so, dass manan die einfachsten Lösungen nicht denkt. Daher habe ich mir hier ein wenig Hilfe erhofft...
INC und DEC sagt mir zudem leider nichts. Das man mitnemTaktmerker wohl amgeschicktesten arbeitet,hatte ich ja schongeschrieben....

Dennoch Danke für die Antwort.

MfG

AndyD
 
Hier seh ich gerade den Wald vor lauter Bäumen nicht.

Hallo AndyD,
da will ich mal die Säge rausholen ...:sw13:
INC = Inkrementieren (Erhöhen)
DEC = Dekrementieren (Erniedrigen)

Diese gibts tatsächlich auch so als S7-Code. Sind aber für deine Aufgabe (REAL) nicht anwendbar, da sie nur auf BYTE wirken.
Boxy wollte dir einen Tipp geben: Hochzählen / Runterzählen

Also, (Suchfunktion benutzen FAQ)

Zunächst bildest du dir von deinem Taktmerker einen Impuls.
Dann legst du dir in deinem DB die DBDs (REAL) für deine gewünschten Sprungweiten an.

Jetzt musst du nur noch in Abhängigkeit deiner Startbedingungen zu dem (momentanen) Simulationswert die Sprungweite addieren/subtrahieren.
Und zwar immer dann, wenn dieser Taktmerker-Impuls kommt.
Nicht vergessen:
Begrenzung Oben (100.0%) und Unten (0%) und
Verriegelung, dass nicht beide Richtungen gleichzeitig wirken

Gruß Roland
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren

Naja, die Visu war Pflicht, statisch....das Programm war dann absolute Zugabe...
Habe es aber zum Glück noch Samstag Morgen vor der Präsentation hin bekommen...
Hab einfach einen Zähler genommen für hoch und runter, den DEZ Ausgang anschließen von BCD in REAL gewandelt. Die Grenzwerte = und 100% sowie die Temperaturgrenzwerte habe ich dann einfach umgekehrt als Startbedingung genommen....

Hab quasi vor lauter Einstieg in AWL vergessen, dass ich ja auch auf FUP umschalten kann und es dort schon so Dinge wie Zähler gibt....:oops::oops::oops:

Grüßle

AndyD
 
Na ja, Zähler gibts auch in AWL.

Kann nun nicht sagen, welche Visu ihr benutzt, aber z.B. in der Runtime bzw Simulator von WCC flex und ProTool Pro gibts die Möglichkeit solche Werte zu simulieren (z.B. per Zufalszahl) ;)
 
Joa, haben WinCC flex benutzt.

Das ganze war auch nichts wildes. Nen Behälter mit 2 Zulaufventilen und einem Ablaufventil inklusive Rührwerk.
Ablauf war V1 öffnet, Behälter füllen bis SW erreicht, V2 öffnen (Zustrom von Heißdampf zum Erhitzen) Dabei soll das Rührwerk laufen. Bei Erreichen von einer bestimmten Temperatur soll V3 öffnen zum entleeren und Vorgang beginnt von neuem...

Folglich Prog geschrieben, Ventilsteuerbausteine erstellt, halt rein simulative und bei der Visualisierung der Analogwerte kam ich halt nicht gleich auf die Idee, wie ich die Werte simulativ langsam steigen und sinken lassen kann....

Das es in AWL Zähler gibt ist klar, allerdings als "Anfänger" ist ein Baustein in FUP in ein Netzwerk gezogen einfacher als den entsprechenden AWL Text im Kopf zu haben...:D

In der RT von flexible die Zufallszahl zu nehmen ging schlecht, da ich so nicht den Anstieg, bzw den Abfall richtig erkenn. Statisch die Werte eingeben wollte ich auch nicht. Sollte halt eben nach meiner Vorstellung auf Automatik geschaltet werden und man sieht dann den kompletten Ablauf in der VISU....

Grüße
AndyD
 
Zurück
Oben