easy-forum
Deutsch - Software => easySoft => Thema gestartet von: Heinrichard am März 26, 2008, 09:39:23 Vormittag
-
Frage an das Forum
Es geht um den Funktionsbaustein „Arithmetik“. Wie kann man den Inhalt eines Arithmetikbausteins durch einen Schaltvorgang auf „Null“ setzen.
Ich bringe es nur durch „Aus“ und wieder „Einschalten“ der Spannung fertig.
Weiß jemand im Forum eine andere Möglichkeit??
Grüße Richard
-
Hallo Richard,
wie meinst Du das mit dem auf "Null" setzen. Der Arithmetikbaustein wird ständig abgearbeitet, man kann ihn aber im Bausteinplan überspringen, dann wird er eben solange die Sprungbedingung erfüllt ist nicht abgearbeitet.
mfG Jan
-
Hallo Richard,
den Arithmetikbaustein selbst kann man nicht auf Null setzen,aber man kann das Ergegnis
auf Null setzen,oder man setzt die Eingänge auf Null.Hier mal ein Beispiel um das Ergebnis auf Null zu setzen.
Gruß veltins54
-
Hallo Richhard
Es ist so, der Baustein rechnet immer. Es sei denn, er wird in der Bausteinansicht übersprungen. Der Absprung ist JC und das Sprungziel LB. Hier ein Beispiel:
Der AR-Baustein summiert die Zahlen 10+5=15. Dieses Resultat kommt in das MW 10
Wird der Eingang 1 eingeschaltet wird der AR Baustein mit einem bedingren Sprung lahmgelegt und zugleich mittels Datenbaustein der Wert 0 in das MW10 geschrieben. In der Displayanzeige kannst Du die Werte sehen.
Gruss
Hermann
-
Hallo Leute, Hallo Hermann
Danke Euch für die schnelle Beantwortung. Jedoch ist mein Problem etwas komplexer.
Hermann, es geht um ein Programm, was Du auch kommentiert hast. Man findet es jetzt unter „easyRelais“ mit dem Titel „Durchschnittswert eines Analogwertes“ vom Oktober 2007.
Habe auch den Urheber direkt angeschrieben, allerdings auch erst Heute und natürlich deshalb noch keine Antwort erhalten.
Ich finde das Programm für die „Heizgrenztemperatur“ einfach super. Hat lange gedauert, bis ich es nachvollziehen konnte. Habe dabei noch ein kleines Problem entdeckt: wenn man die Schaltung über I 01 ausschaltet, wird das Zählrelais zurückgesetzt und die Schieberegister werden ausgeschaltet. Die Schieberegister behalten aber beim Ausschalten die aktuellen Werte. Dies könnte man mit dem Rücksetzen SR ….RE verhindern. Dennoch bleibt ein Problem: die Arithmetikbausteine werden beim Ausschalten von I 01 nicht auf „NULL“ gesetzt. Beim Wiedereinschalten erhält der ADDierer programmmäßig zunächst einmal 24 neue Werte, die er zur vorhandenen Wertesumme addiert, erst dann setzt programmentprechend der SUBtrahierer wieder ein. Damit hat man jetzt nicht die letzten 24 Werte, sondern in der Regel die Summe von 48 Werten, wobei die Wertesumme, die noch im Addierer lag, aus einer ganz anderen Periode stammen könnte.
Gibt es da inzwischen eine Lösung? Die Arithmetikbausteine müssten auch auf „NULL“ gesetzt werden, das bekomme ich nicht gelöst. Klar, wenn man die Spannung kurzfristig wegnimmt, wird alles zurückgesetzt – das ist aber nicht zufrieden stellend.
Viele Grüße, Grüße Richard
-
Hallo Richard,
habe auch noch ein Beispiel angefügt, verbrät allerdings zwei LS-Bausteine die als Schalter missbraucht werden. Im Beispiel ist I von LS1 nummerisch 10 und I von LS2 nummerisch 5. Diese Eingänge kann man auch durch Merkerwörter usw. ersetzten. Wichtig ist eigentlich nur das die X2 und Y2 Grenzen mindestens der zuerwarteten Eingangszahl entsprechen. Falls ich es etwas umständlich erklärt habe, einfach nochmal melden.
Gruss
Jürgen
-
Hallo Richard,
habe noch ein zweites Beispiel gemacht wo ich IA1 als Eingang und Grenzen von LS1 verwende und IA2 für LS2. Somit hat man keinen Stress beim setzten der Grenzen.
Gruss
Jürgen
-
Hallo Jürgen
Danke für Deine Vorschläge für den schaltbaren AR-Baustein. Leider sind sie nicht für das von mir angeführte Problem anwendbar, jedenfalls sehe ich nicht wie man das in dem Spezialfall „Durchschnittswert eines Analogwertes“ (in „easyRelais“) anwenden kann. Dort wird das Ergebnis der Addition immer wieder auf den Eingang zurückgeführt.
Grüße, Richard
-
Hallo Richard,
habe das Beispiel auch gespeichert weil einfach genial. Musste mich jetzt auch erst wieder eindenken, konnte dein Problem aber nachvollziehen. Habe im anhängenden Beispiel mal den Filter FT rausgenommen und die Impulszeit auf 10 Sek. verkürzt um in der Sim eine bessere Übersicht zu haben. Weiter Resete ich in Zeile 17 alle Schieberegister, in Zeile 13 führe ich den Sprung nur aus wenn I1=1, ebenfalls wird in Zeile 1 LS1 nur dann ausgeführt wenn I1=1, Ausgang AR1 bringe ich jetzt auf LS2, was ebenfalls nur ausgeführt wird wenn I1=1 Zeile 8 und Ausgang LS2 geht wieder auf Eingang I2 von AR1. Schaltest du jetzt I1=0 werden alle SR 0 gesetzt und auch AR1. Weiter habe ich die Funktion nicht geprüft. Sollte aber meiner Meinung nach so funktionieren, komm aber einem Hardwarereset gleich.
Gruss
Jürgen
-
Hallo Jürgen
Habe Deine Änderung im Programm „Heizgrenztemperatur“ in der SIM laufen lassen. Leider wird der Durchschnittswert am Schluss nicht richtig realisiert. Das liegt daran, dass die Kopplung zwischen Addierer und Subtrahierer nicht mehr vorhanden ist. Habe verschiedene Varianten durchgespielt, komme aber zu keinem Ergebnis. Vielleicht schaffst Du es ja.
Viele Grüße, Richard
-
Hallo Richard,
im anhängenden Programm sollte es jetzt funktionieren.
Die Ursache ist das MD11 innerhalb des Programmzyklus überschrieben wird. Da der Addierer am Zyklusanfang steht wird er mit dem letzten Eintrag in MD11 abgearbeitet. Da ich aber I2 von AR2 durch den LS2 ersetzt habe hat er diesen Wert nicht.
Also nochmal zu Orginalprogramm.
IA=6V entspricht LS1=10
Am AR1 I1=0 an I2 MD11=0, QV MD11=0, dann 1. Impuls
am AR1 I1=10 an I2 MD11=0, QV MD11=10, dann 2. Impuls
am AR1 I1=10 an I2 MD11=10, QV MD11=20, dann 3. Impuls
usw. was ich damit zeigen will MD11 wird während des Zyklus überschrieben, sonst wäre ja MD11 immer gleich, aber wie man sieht hat I2 MD11 einen anderen Wert als QV MD11.
Wenn jetzt nach den 24 Impulsen noch die Subtraktion dazu kommt wird MD11 ein weiteres mal überschrieben.
Ich habe es jetzt so gelöst das ich LS2 nur dazu nutze wenn abgeschaltet wird das MD11 Null gesetzt wird.
Jetzt hast du noch den Effekt das bei wieder einschalten bis zum ersten Impuls der letzte Mittelwert angezeigt wird. möchtes du diesen auch Null setzen kannst du das z.B. mit LS3 tun und dort MD12 Null schalten.
Ich hoffe die Erklärung ist einigermaßen verständlich, sonst nochmal melden.
Gruss
Jürgen
PS: Das war ja das geniale!
-
Hallo Richard,
hab gerade noch eine Variante probiert die auch funktioniert. Alles bleibt wie beim ersten Resetprogramm, ausser das LS2 jetzt MD11 als Grenzen und Ausgang erhält. Wichtig ist dabei auch das der Baustein (LS2) am Schluss im Bausteinplan steht.
Wenn die Verwirrung jetzt komplett ist einfach wieder melden.
Gruss
Jürgen
-
Hallo Jürgen
Gratuliere, beide Varianten laufen – super, hast Du ja sehr gut hin bekommen. Den Signalglättungs- Baustein hattest Du nicht mit einbezogen – lässt sich aber problemlos einfügen – ich habs probiert, auch damit läuft das Programm. Du solltest Deine Erweiterung unbedingt noch in dem Beitrag „ Durchschnittswert eines Analogwertes“ vom Oktober 2007 in easyRelais anfügen. Denn, wenn das in einer Heizungssteuerung verwendet wird, kann es ohne die Resetfunktion zu erheblichen Fehlfunktionen kommen. Ich sehe den Praxisfall schon plastisch vor Augen: …. Was ist DAS denn ? – die Anlage lief doch letztes Jahr problemlos …..
Irgendwann wird der Fehler entdeckt und die gesamte Funktion „Heizgrenztemperatur (HGT)“ entfernt – damit hätte man nicht nur eine Komforteinbuße, Energieverschwendung wäre auch möglich.
Du solltest den letzten Baustein, den Analogbaustein der mit der vorgegebenen HGT vergleicht, auch noch einsetzen – vielleicht noch mit dem Hinweis, dass die HGT bei Häusern Bj zwischen 1979 und 1995 bei 15 °C liegt, bei Häusern Bj. nach 1995 bei 12°C und bei Neubauten nach EnEV bei 9°C liegt.
Für nicht so Geübte sollte der Hinweis nicht fehlen, dass die Positionierungen der Sprungfunktionen im Programm nicht verändert werden dürfen.
Viele Grüße und vielen Dank für Deine Mühe, Richard
-
Hallo Horst,
ziehe den Hut (Schade kein Smily vorhanden). Super Lösung. Hat zwar einige Momente ??? ??? ??? gedauert bis ich die Details begriffen habe, aber dann ;D !
Hallo Richard,
auch du hast deinen Teil dazu beigetragen, ich hätte nie so genau getestet, weil die Anwendung nicht vorhanden. Auch die Infos zum HGT waren mir nicht bekannt aber wieder etwas dazu gelernt für ev. zukünftige Aufgaben.
Da diese Anwendung von dir vermutlich eingesetzt wird und du Auslöser dieser Denksportaufgabe bist, bitte ich dich die vorgeschlagene Programmerweiterung und den Querverweis zu tätigen.
Schön wie dieses Forum lebt!
Gruss
Jürgen
-
Hallo Jürgen,
ich habe mich mal an eine Durchschnittswertberechnung versucht, kannst du dir mal das
Programm ansehen ob ich damit richtig liege.
Fur deine bemühungen Danke im voraus.
Gruß veltins54
-
Hallo veltins54,
es kommt darauf an was du damit vor hast. Im Moment kann ich eigentlicdh nur sehen das Werte addiert werden und dann durch die Anzahl der Werte dividiert werden, also Mittelwertbildung. Normal werden aber solche Mittelwertbildungen definiert über Zeit oder Anzahl der Messungen, alte Werte werden dann gelöscht. Was machst du wenn Grenze erreicht wird?
Gruss
Jürgen
-
Hallo Jürgen,
ich habe keine bestimmte Anwendung dafür,ich Programmiere das nur weil ich die Steuerung
besser kennenlernen möchte und aus Spaß an der Sache.Das ist nur der erste Versuch,und
soll noch ausgebaut werden am ende möchte ich den Durchschnittswert Pro Tag,Woche,und Monat ermitteln und speichern.Dann erfolgt auch die Auswertung nach Zeit und Anzahl
der Messungen.Ich wollte wissen ob ich auf dem richtigen weg bin um dann weitermachen
zu können.
Danke für deine Bemühungen.
Gruß veltins54
-
Hallo veltins54,
da hast du dir viel vorgenommen. Das Problem wird vermutlich werden, das die Werte die gelöscht werden sollen erst einmal gespeichert werden müssen. Bei einer Erfassung jeden Zyklus kommt da einiges zusammen, aber dein Merkervorrat ist begrenzt. Die Lösungen von Heinz oder Horst sind doch gut. Bestimmt gibt es noch weitere Möglichkeiten. Deshalb viel Spass und lass uns an deiner Lösung teilhaben.
Gruss
Jürgen
-
Hallo veltins 54,
wenn du keine direkte Anwendung hast wäre mit Sicherheit eine Interessante Aufgabe, deinen Lösungsansatz (mit Sollzykluszeit), den Vorschlag von Heiz und Horst in Kombination zu bringen (Kaskadenbildung). Ich könnte mir vorstellen das am Schluss eine Anzeige des Tages- Wochen, Monats und Jahresmittelwert angezeigt werden könnte. Man hätte dann die Werte eines Mittelwert aus einem Mittelwert usw., was aber am Schluss auch wieder nur ein Mittelwert ist.
Gruss
Jürgen
-
Hallo Jürgen,
wenn ich eine direkte Anwendung hätte würde ich auch die vorgegebenen Lösungen verwenden
aber so soll es mir als Programmierübung dienen.Ob mein Vorhaben einen Sinn hat kann ich nicht sagen das ist für mich auch nicht wichtig denn ich möchte mich nur mit der Steuerung beschäftigen um zu lernen.
Gruß veltins54
-
Hallo Horst
Habe Dein Programm in der SIM durchprobiert – läuft einwandfrei und erfüllt alle Bedingungen. – prima. Hatte aber noch nicht die Zeit, das komplexe Teil zu verstehen.
Danke für Deine Mühe.
Richard
-
Hallo Jürgen
Nach der Vervollständigung des Programms lässt es sich nun sehr gut in der Heizungssteuerung einsetzten. Die HGT ist die Temperatur, bei der die Heizperiode endet bzw. anfängt. Das lässt sich natürlich nicht an einer momentanen Einzeltemperatur fest machen; denn Häuser oder Wohnungen haben eine thermische Trägheit, die man mit der sog. Zeitkonstante fassen kann (in Analogie zu Tau bei RC- oder RL-Gliedern in der E-Technik). Als Schaltparameter verwendet man in der Regel das 2 Tagesmittel der Temperatur – das lässt sich nun mit dem Programm gut machen. Wir setzen easy bei relativ kleinen aber komplexeren Heizanlagen ein und benötigen dabei um die 10 thermische Sensoren (PT 1000). Ärgerlich dabei ist, dass man für jeden Sensor einen Messumformer benötigt, das macht die Steuerung ziemlich teuer. Noch eine kleine Info aus der Heizungsbranche: Hatte in 2003 mit dem Brenner Hersteller Klöckner zu tun; die fingen damals damit an, easy für die Steuerung ihrer Großbrenner, also Brenner im MW Bereich, zu verwenden – ob sich das bei denen dann durchgesetzt hat, weiß ich nicht. Habe die Programmerweiterung mit einem Querverweis in easyRelais getätigt.
Nochmal, vielen Dank
Richard
-
Hallo Richard,
gern geschehen.
Aber zu deinem Abschnitt PT1000 und für jeden Sensor ein Messumformer. Von Fa. Rink (Rink.de)kannst du einen Multiplexer einsetzen der genau dies macht. Mit 16 Analogeingängen- oder PT1000 , 1 Analogausgang und 4 Digitaleingänge (2hoch4) kannst du diese Kosten minimieren. Beispiele dafür findest du ebenfalls hier im Forum. Da die Sensorwerte keine schnellen Regelvorgänge auslösen ist meist eine Abtastung von 0,5 Sek. ausreichend. Bei 10 Sensoren würde dann alle 5 Sekunden der Wert aktualisiert werden. Wenn du dazu mehr Infos brauchst gib mal in der Suche Multiplexer ein oder melde dich wieder, bestimmt haben einge User die Beiträge griffbereit.
Gruss
Jürgen
-
Hallo Jürgen
Danke für den Hinweis. Sehe ich das richtig, dass für den Multiplexer allein 4 Leistungsschaltkontakte nötig sind?
Grüße, Richard
-
Hallo Richard,
wenn du unter Leistungsschaltkontakte Easy-Ausgänge verstehst, dann ja. Ich würde dir aber Transistorausgänge empfehlen, da beim schalten alle rund 500ms doch eine recht hohe Schaltspielanzahl zusammen kommt und ein Relaiskontakt dies nur begrenzt mitmacht. Mit nur 3 Ausgängen kannst du max. 8 Sensorwerte tasten. Ich weis natürlich nicht welche Easy du einsetzt und ob schon eine Erweiterung angekoppelt ist. Würde sagen ist eine reine Rechenaufgabe was letztendlich günstiger kommt.
Aber jetzt fällt mir gerade noch auf das du bei 10 Analogwerten ja mindestens 3 Easy 800 benötigst, da eine Easy nur 4 Analogeingänge hat. Also könntest du vielleicht eine Easy sparen und eine Erweiterung verwenden, was zusätzlich noch einmal eine Einsparung bringen würde.
Gruss
Jürgen
-
Hallo Heinrichard,
nocheinmal auf die Heizungssteuerung mit den teuren Messumformen
zurückzukommen, ich hoffe dass ich nicht gesteinigt werde, wenn jetzt
die Alphea von Mitsubishi ins Gespräch kommt.
Natürlich befasst mann sich auch noch mit anderen Dingen, auch wenn
man von der EASY begeistert ist. auf meinem PC habe ich auch die
Software für die Alpha, wo ich abunzu hinein schaue.
Bei der Alpha können die ersten 8 Eingänge auch als Analogeingänge
genutzt werden, die dann intern wiederum verknüpft und zu den
Ausgägen verdrahtet werden können.
Wenn man es nun irgendwie schafft die EASY mit der Alpha zu
verheiraten, ist dies vieleicht auch eine kostengünstige Alternative
zu teuren Analogmultiplexer oder Pegelwandler.
Gruß hmai
-
Hallo hmai,
also....der Analogmultiplexer liegt soweit ich weiss bei 65.-€.....ich finde 65 für 16 Analogeingänge äusserst genial......(auch wenn ich 4 DO´s brauch).....
mfg
jan
-
Hallo Jan,
sorry das ich dich verbessere, sind 19 Analogeingänge. Du hast die 3 AI der Easy noch vergessen. ;)
Gruss
Jürgen
-
stimmt ;)
-
Hallo bin neu hier und wollte mal fragen wie ich den Baustein in meine Bibliothek bekommen?
Gruß
Max :)