easy-forum

Deutsch - Software => easySoft => Thema gestartet von: Davidf am Januar 24, 2012, 23:29:12 Nachmittag

Titel: Zähler
Beitrag von: Davidf am Januar 24, 2012, 23:29:12 Nachmittag
Ich habe ein Programm mit 3 Zähler der Sollwert der Zähler sollte ich einfach verstellen können, immer alle 3 miteinander.
Es sind immer wieder die gleichen Werte

z.B. Wert 1
       C01  3 Stk.
       C02  220 Stk.
       C03  1200Stk.

       Wert 2
       C01  12 Stk.
       C02 240 Stk.
       Co3 1500 Stk.

u.s.w. ca.   10 Werte
Titel: Re:Zähler
Beitrag von: Martin*** am Januar 25, 2012, 13:16:10 Nachmittag
Hallo,

und wo liegt jetzt dein Problem???
Welche Steuerung verwendest du???

Gruß
Titel: Re:Zähler
Beitrag von: Davidf am Januar 25, 2012, 20:52:05 Nachmittag
Hallo

Ich verwende die Steuerung 721DC-TC. Es könnte aber auch auf eine 800er gewechselt werden.

Mein Problem ist nun, dass ich das Programm nicht im Zähler wechseln möchte sondern über einen Datenbaustein und einen externen Schalter.

Kannst Du mir weiterhelfen?

Gruss David
Titel: Re:Zähler
Beitrag von: Juergen.J am Januar 26, 2012, 07:49:17 Vormittag
Hallo David,
mit der 700er hast du damit Probleme. Mit der 800er, 6 Multiplexer kannst du bis zu 16x3 Zähler bedienen.
Gruss
Jürgen
Titel: Re:Zähler
Beitrag von: Davidf am Januar 26, 2012, 07:56:52 Vormittag
Hallo Jürgen

Und wie kann ich das lösen? Bin eben nicht so der "Hirsch". Geht das mit der 821DC-TC?

Danke für Deine Hilfe.

Gruss David
Titel: Re:Zähler
Beitrag von: Juergen.J am Januar 26, 2012, 08:13:35 Vormittag
Hallo David,
ja.  Kann dir heute abend ein Beispiel machen. Du brauchst einen weiteren Zähler der dir bis auf, in deinem Beispiel auf 10 hoch zählt (die Null zählt jeweils mit), damit machst du die Vorgabe für die Auswahl der Miltiplexerkanäle und das Rücksetzen wieder auf Null. Einen Vergleicher der dir bei 8 auf den zweiten Multiplexerblock umschaltet. Oder eine andere Eingangsvariante, z.B. übers Display, der dir eine Auswahl der Multiplexerkanäle macht. Die Den Eingang der Kanäle der Multiplexer besetzt du mit jeweils deinem Zählerwert, die Ausgänge der Multplexer gibst du auf den Eingang deiner Zähler. Wie geschrieben heute Abend, vielleicht hat aber jemand mehr Zeit und ist schneller als ich.
Gruss
Jürgen
Titel: Re:Zähler
Beitrag von: Juergen.J am Januar 26, 2012, 21:01:03 Nachmittag
Hallo David,
ganz so einfach wars dann doch nicht. Habe aber eine Möglickeit gefunden. Vielleicht (bestimmt) kann man es auch besser machen. Hoffe du kannst es nachvollziehen. Sonst einfach nochmal melden.
Gruss
Jürgen
Titel: Re:Zähler
Beitrag von: Davidf am Januar 27, 2012, 00:01:02 Vormittag
Hallo Jürgen

Ich möchte mich zuerst für Deinen Einsatz bedanken.
Ich habe Dir das Problem nicht ganz richtig geschildert.
Darum sende ich Dir mal mein Programm.
Der Zähler C03 / C05 und C13 müssen einen vorgegebenen Wert haben und alle 3 Zähler müssen mit einem Schalter auf einen anderen Wert springen der wieder vorgegeben ist mit einem zweiten Schalter müssen wieder alle drei Werte geändert werden. Und so muss ich mit 10 Schalter  10x den Wert verstellen.
Achtung mein Programm ist nicht so Professionell gemacht aber es läuft.
Danke für Deine Hilfe.

Gruss David
Titel: Re:Zähler
Beitrag von: Davidf am Januar 27, 2012, 00:03:29 Vormittag
Sorry die Easy kann auch auf eine 800 getauscht werden
Titel: Re:Zähler
Beitrag von: Juergen.J am Januar 27, 2012, 00:10:30 Vormittag
Hallo David,
sollte die Sache eigentlich einfacher machen. Nochmals zu Verständnis, du hast 10 Eingänge die dir die Zähler entsprechend vorwählen? Als Beispiel I1=Zählerstände A, I2=Zählerstande B usw. und es ist auch sichergestellt das nur einer der Eingänge ansteht? Also wenn I1 dann I2-I10 mech. verriegelt?
Gruss
Jürgen
Titel: Re:Zähler
Beitrag von: Davidf am Januar 27, 2012, 00:44:11 Vormittag
So noch wach ?

Ja genau so.

Mach aber wenn es geht zuerst nicht zuviel aufwand.

Vielen Dank im Voraus
Titel: Re:Zähler
Beitrag von: Juergen.J am Januar 27, 2012, 01:05:11 Vormittag
Jep!
Im Anhang das einfachere aber Umfangreichere Beispiel. Hoffe du kommst zurecht. Das Überschreiben von MB, MW, und MD funktioniert nur in zusammenhang mit den DB, was ich hier angewendet habe.
Gruss
Jürgen
Titel: Re:Zähler
Beitrag von: Maikky am Januar 27, 2012, 09:04:47 Vormittag
Hallo David, hallo Jürgen.

Für die Version mit einzelnen Schaltern (Jürgen's Version2) hätte ich einen anderen Vorschlag.

Ich würde die Eingänge als Taster ausführen und mittels Datenbausteinen die Werte direkt
überschreiben. In beigefügtem Beispiel werden pro Taster 2 DB's benutzt, wobei der jeweils
erste Datenbaustein 2 Worte schreibt.

Das Beispiel funktioniert in dieser Form natürlich nur, wenn die Zählersollwerte kleiner als
65535 bleiben. Bei größeren Werten müsste man noch 10 DB's opfern.

Gruß
Maikky
Titel: Re:Zähler
Beitrag von: Davidf am Januar 27, 2012, 23:57:13 Nachmittag
Hallo Jürgen und Maikky

Vielen Dank für Eure tolle Arbeit. Ich habe mich erstmals für den Vorschlag von Maikky entschieden.
Habe aber noch nicht alles verstanden z.B. wo muss ich meine vorgegebenen Zahlen vom C03 / C05 / C13 eintragen.Im Anhang ist noch mein geändertes Programm. Noch eine Frage was bewirkt das, wenn der Zähler links im ( I ) steht und nach rechts mit dem  (A ) verbunden ist ( bin noch nicht so gut ).



PS:Bei einem anderen Programm hab ich noch ein Problem wie kann ich einen Zähler Remanenz behalten wenn ich die Steuerung (821) ausschalte oder sogar das Programm überschreibe.

Danke nochmals für alles

Lieber Gruss
David
Titel: Re:Zähler
Beitrag von: Maikky am Januar 28, 2012, 14:54:44 Nachmittag
Hallo David.

Deine Frage zur Zählerspule in I zielt wahrscheinlich ab auf Pfad 132 bis 134 in Deinem Programm.

Diese Zeilen musst Du löschen, weil Du die Spule der Zähler bereits verwendest. In dem Beispiel-
programm war es eingefügt, damit die Zähler vorhanden sind - allerdings ohne Kontakte
in A bis H und somit ohne Bedingung zum Zählen.

Hier ein kleines Beispiel zur Berechnung der Werte, die Du eingeben musst. Der jeweils erste
Datenbaustein schreibt zwei Zähler.

Beispiel : mit R8 soll gesetzt werden :
  C03 auf 2343
  C05 auf 4598
  C13 auf 16534

zugehörige Datenbausteine
  DB15 für C03 und C05
  DB16 für C13

einzugebende Werte beim jeweils ersten DB errechnen sich aus der Formel
(Wert C05 x 65536) + Wert C03
  bei DB15 : 4598 x 65536 + 2343 = 301336871

einzugebende Werte beim zweiten DB ist der Wert C13
  bei DB16 : 16534

Gruß
Maikky
Titel: Re:Zähler
Beitrag von: Maikky am Januar 28, 2012, 15:10:05 Nachmittag
Hallo David.

Bei Spannungsausfall kannst Du die Istwerte der Zähler beibehalten, indem Du in der
Projektansicht den betreffenden Zählerbreich als remanent deklarierst (siehe Anhang).

Beim Überschreiben des Programms hilft dieser Beitrag.

http://easy-forum.net/index.php?topic=4013.msg22297#msg22297

Gruß
Maikky
   
Titel: Re:Zähler
Beitrag von: Davidf am Januar 28, 2012, 23:18:29 Nachmittag
Sorry wenn ich schon wieder komme

ich verstehe nicht wieso das man den C03 und C05 so berechnet. Wie weiss der DB weche Zahl zum C03 und welche zum C05 gehört. Warum nimmt man nicht einfach für jeden Zähler einen DB (es wird sicher einen Grund haben).

Danke nochmals für Eure Hilfe

Lieber Gruss
David
Titel: Re:Zähler
Beitrag von: Maikky am Januar 29, 2012, 00:27:00 Vormittag
Hallo David.

Es ist durchaus möglich 10 weitere Datenbausteine zu verwenden.  In einem vorherigen Beitrag
hatte ich schon mal geschrieben, dass es sogar notwendig ist, falls die Zähler-Sollwerte grösser
als 65535 werden.

Allerdings gibt es nur 32 DB's und davon wären 30 belegt für die Vorgabe der Werte. Für
eventuelle Programmerweiterungen stünden dann nur noch 2 zur Verfügung. Desweiteren
wären 400 Byte Speicher belegt, der am Ende vielleicht fehlt. Der eigentliche Hintergrund ist
also Platz und DB's zu sparen, wenn sie denn nicht benötigt werden. Und es wird halt nicht
benötigt, solange die Zähler nicht weiter als 65535 zählen müssen.

Das Beispiel basiert auf einem Merkmal, was normalerweise vermieden werden soll aber hier
bewusst ausgenutzt wird, den überlappenden Merkerbereichen.

Die Sollwerte der Zähler sind abgelegt in den Wörtern MW93, MW94 und MW95. Die grösste in
einem Wort darstellbare Zahl ist 65535, daher die Begrenzung. Die Wörter MW93 (für C03) und
MW94 (für C05) können zusammen als Doppelwort MD47 angesprochen werden. Die Merker-
bereiche überlappen sich, d.h. wenn ein Wert als Doppelwort MD47 geschrieben wird, ändern sich
gleichzeitig die Wörter MW93 und MW94 und Du benötigst nur einen Datenbaustein anstatt zwei.

Zusammengefasst :
- sind die Zählervorgaben größer als 65535 : 10 weitere DB's verwenden
- sind keine grossartigen Programmerweiterungen geplant : 10 weitere DB's verwenden
- ansonsten einmalig die Mühe machen und Werte berechnen

Gruß
Maikky
    
Titel: Re:Zähler
Beitrag von: Davidf am Januar 31, 2012, 00:16:01 Vormittag
Hallo Maikky

Muss mir jetzt zuerst die ganze Steuerung umverdrahten und das Programm anpassen. Melde mich dann wieder sobald die Maschiene eifacher läuft. Besten dank im voraus für Deine Bemühungen.

Gruss David