Autor Thema: Arithmetikbaustein  (Gelesen 14652 mal)

Offline Heinrichard

  • Jr. Member
  • **
  • Beiträge: 76
Arithmetikbaustein
« 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

Offline Mr. Spok

  • Sr. Member
  • ****
  • Beiträge: 652
Re: Arithmetikbaustein
« Antwort #1 am: März 26, 2008, 10:37:10 Vormittag »
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
Für die Richtigkeit und Funktionalität der hier veröffentlichten Beispiele wird keine Gewähr übernommen.
Für Schäden, die durch Verwendung der Beispiele entstehen, wird keine Haftung übernommen.

Offline veltins54

  • easy god
  • *****
  • Beiträge: 1199
Re: Arithmetikbaustein
« Antwort #2 am: März 26, 2008, 10:51:38 Vormittag »
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
Für die Richtigkeit der Beispiele wird keine Gewähr übernommen.
Für Schäden, die durch Verwendung der Beispiele entstehen, wird keine Haftung übernommen.

Offline KressSwiss

  • easy god
  • *****
  • Beiträge: 1659
  • Und sie dreht sich doch..."Galileo Galilei"
    • Electronics Planet
Re: Arithmetikbaustein
« Antwort #3 am: März 26, 2008, 14:54:37 Nachmittag »
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
« Letzte Änderung: März 26, 2008, 14:57:44 Nachmittag von KressSwiss »
Achtung:
Angehängte Dateien sind nur für eingelogte User sichtbar!

Offline Heinrichard

  • Jr. Member
  • **
  • Beiträge: 76
Re: Arithmetikbaustein
« Antwort #4 am: März 26, 2008, 17:24:31 Nachmittag »
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

Juergen.J

  • Gast
Re: Arithmetikbaustein
« Antwort #5 am: März 26, 2008, 18:26:31 Nachmittag »
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

Juergen.J

  • Gast
Re: Arithmetikbaustein
« Antwort #6 am: März 26, 2008, 19:43:21 Nachmittag »
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

Offline Heinrichard

  • Jr. Member
  • **
  • Beiträge: 76
Re: Arithmetikbaustein
« Antwort #7 am: März 26, 2008, 22:16:52 Nachmittag »
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

Juergen.J

  • Gast
Re: Arithmetikbaustein
« Antwort #8 am: März 26, 2008, 23:41:20 Nachmittag »
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
« Letzte Änderung: März 27, 2008, 00:37:08 Vormittag von Juergen.J »

Offline Heinrichard

  • Jr. Member
  • **
  • Beiträge: 76
Re: Arithmetikbaustein
« Antwort #9 am: März 27, 2008, 11:00:06 Vormittag »
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

Juergen.J

  • Gast
Re: Arithmetikbaustein
« Antwort #10 am: März 27, 2008, 19:30:18 Nachmittag »
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!
« Letzte Änderung: März 27, 2008, 22:01:19 Nachmittag von Juergen.J »

Juergen.J

  • Gast
Re: Arithmetikbaustein
« Antwort #11 am: März 27, 2008, 22:41:24 Nachmittag »
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

Offline Heinrichard

  • Jr. Member
  • **
  • Beiträge: 76
Re: Arithmetikbaustein
« Antwort #12 am: März 28, 2008, 10:48:48 Vormittag »
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

Juergen.J

  • Gast
Re: Arithmetikbaustein
« Antwort #13 am: März 29, 2008, 00:59:43 Vormittag »
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

Offline veltins54

  • easy god
  • *****
  • Beiträge: 1199
Re: Arithmetikbaustein
« Antwort #14 am: März 29, 2008, 16:53:15 Nachmittag »
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
Für die Richtigkeit der Beispiele wird keine Gewähr übernommen.
Für Schäden, die durch Verwendung der Beispiele entstehen, wird keine Haftung übernommen.