14.11.2012 11:28 | |
Beigetreten: 07.05.2011 Letzter Bes: 01.09.2024 Beiträge: 4705 Bewertung: (388) |
Hallo! Das stimmt so nicht! Hab es dir mal programmiert! I1 = 1 Hochzählen I1=0 Runterzählen! Dateianhangexp Rampe anders.zip (143 Downloads) |
17.11.2012 22:09 | |
Beiträge: 11 Bewertung: (0) |
Hallo motmonti, ich bekomme es leider alleine nicht ganz hin. Wahrscheinlich gehe ich es vollkommen falsch an. Ich möchte die Rampe so parametrieren, dass sie letztlich über eine Dauer von 30 Minuten läuft. Im anhang meine geänderte Datei - bin aber wie gesagt sehr dankbar, wenn du meinen Gedankenknoten auflösen könntest, indem du mich korrigierst, wie ich denn die Zeiten beliebig berechnen kann. Mein zweites großes Problem ist, dass ich die Rampe immer nur von 100 bis 1000 laufen lassen möchte (analoger Ausgang), d.h. in diesem Beispiel hier würde ich den Zählen von 10 bis 100 laufen lassen. Startwert 10 ist ja kein Problem, aber auch wenn die Rampe rückwärts läuft, soll sie ja bei 10 stehen bleiben und das will nicht klappen, dabei kann man doch gerade beim Zähler die Grenzen angeben. Ich hoffe du kannst mir in diesen zwei Punkten weiterhelfen. Danke!
Dateianhangexp Rampe anders parametrieren.zip (151 Downloads) |
18.11.2012 11:52 | |
Beigetreten: 07.05.2011 Letzter Bes: 01.09.2024 Beiträge: 4705 Bewertung: (388) |
Hallo! Ich habe dir das Beispiel einmal so parametriert, das der Wert am Ausgang innerhalb von ca 30 min von 100 auf 1000 steigt. Der eingefügte Meldetext und die Stopuhr zeigen dir die abgelaufene Zeit beim Hochfahren an. Durch die Stopuhr wäre das Programm nur auf einer 0BA7 lauffähig. Soll ja auch nur zur Kontrolle der Funktion sein und kann bei erfolgreichem Test wieder gelöscht werden. Damit funzt es auch wieder auf der 0BA6. Zur Funktion. Über I1 wird die Richtung bestimmt. Bei jedem Wechsel des Signales wird der Impulsgeber wieder auf 0 gesetzt und gestartet. Der Zähler wird von 0 - 60 hochgezählt. Habe mir das mit Excel mal ausgerechnet wieviele Zeiträume in Sekunden es braucht um etwa auf 1800 Sekunden (30 Min. ) zu kommen. Also 1s + 2s + 3s ......+ 60s = 1830s. In B004 wird der aktuelle Zählerwert von 61 abgezogen und der errechnete Wert wird dem Impulsgeber als Impulsbreite zuggeführt. Die Impulspausenbreite ist konstant auf 2 ms eingestellt und fällt nicht weiter ins Gewicht. In B003 wird der Zählerwert mit 50 multipl., durch drei geteilt und 100 addiert. So ergibt sich bei Zähler = 0 0*50 / 3 + 100 = 100 und bei Zählerwert 60 60*50 / 3 + 100 = 1100. Da Werte über 1000 eh nicht ausgegeben werden, spielt das nicht die Rolle denke ich. Soll der Wert genau 1000 sein, so muß der Zähler bei 54 gestopt werden, was dann eine Zeitdauer von 1485 Sekunden ergibt. Stellt man die Impulspausenbreite auf 5,83 Sekunden ein, ergibt sich wieder eine Gesamtzeit von 1800 Sekunden. Viel Spaß beim testen! Dateianhangexp Rampe anders 3.zip (154 Downloads) |
18.11.2012 22:19 | |
Beiträge: 11 Bewertung: (0) |
Ok, super. Nochmals vielen Dank für deine Hilfe und deine Geduld! |
18.11.2012 22:22 | |
Beigetreten: 07.05.2011 Letzter Bes: 01.09.2024 Beiträge: 4705 Bewertung: (388) |
Hallo! Gerne, kein Problem! Bedanken geht auch rechts oben! |
Für diesen Beitrag bedanken sich1 Benutzer |
26.11.2012 18:02 | |
Beigetreten: 05.01.2007 Letzter Bes: 07.04.2023 Beiträge: 1690 Bewertung: (580)
|
Hallo Jay, hallo Motmonti, ich hatte ja bereits auf die Möglichkeit der Anwendung von Polynomen zur Funktionsapproximation hingewiesen. Eine AdHog Internetsuche nach "Dimmkurve" liefert auch gleich eine Basis dazu, wobei ein exponentieller Zusammenhang zwischen Leuchtstärke (in %) und einem ganzzahligen Wert n im Wertebereich von 0 bis 255 (8 bit) angegeben wird. Dieser 8-Bit-Wert kann nun zeitlich äquidistant durchlaufen werden um die Dimmkurve zu erhalten. Nach einer Anpassung auf einen 10-Bit-Wert n habe ich mal (m)eine EXCEL-Regression für die LOGO! durchgeführt. FORMEL: Lichtintensität X (n) = 10 hoch [ ((n - 1) / (999 / 3)) - 1] in % * 10 (d. h. Werte von 100 bis 1000). Dann habe ich noch berücksichtigt, dass für die LOGO! möglichst kleine Absolutwerte Werte n (= Ax) kleinere Rundungsfehler hervorrufen (= Verschiebung der x-Werte symmetisch zu "0") und dass nur ein Wertebereich für X von 10 % (LOGO!-Wert = 100) und 100 % (Logo!-Wert = 1000) erforderlich bzw. gewünscht waren/sind. Die entsprechenden Daten und daraud berechneten Parameter für ein Polynom 4. Ordnung sind in der EXCEL_Datei angegeben. Daraus habe ich eine LOGO!-Schaltung "DEMO_Dimmkurve_V01.lsc" (ab 0BA6) gemacht. Ergebnis ist eine Dimmkurve X(n) für n = 667 bis n = 1000, wobei dies realisiert wird durch "Zählerwerte" von 0 bis 333 (bzw. wegen Rundungsfehlern bis 335)! Die zeitliche Spreizung der Dimmung kann in der o. g. Schaltung einfach durch Anpassung der Parameter des Impulsgebers erfolgen. Andere Änderungen bzw. Anpassungen sind nicht erforderlich. Viel Spaß damit... MfG DateianhangDEMO_Dimmkurve.zip (145 Downloads) |
==> Meine TAG-Listen: "deut." |
|
Folgen Sie uns auf