Vorwort
Wie bereits an anderer Stelle erwähnt, erlaubt
TC* aufgrund seines streng objektorientierten Aufbaus, daß es im
allgemeinen mehrere Wege gibt eine Aufgabe zu lösen.
Hier wird immer nur EINE Lösung dargestellt, die für sich
nicht in Anspruch nimmt allgemeingültig einsetzbar zu sein oder gar die
optimale Lösung zu repräsentieren.
Die Herausforderung für den Leser besteht deshalb gerade darin,
die vorgestellte Lösung an seine Belange anzupassen und zu
optimieren. Sie soll und kann nur als Anregung dienen.
Hinweis
Die hier angeführten Beispiele
basieren zum Teil auf Anregungen bzw. Vorleistungen von
Teilnehmern aus dem TC-Forum, die von diesen dort veröffentlicht
wurden OHNE eine Angabe auf Einschränkung bei deren Verwendung im
PRIVATEN Bereich.
Im Einzelnen läßt sich die jeweilige "Mitwirkung" des / der
Teilnehmer(s) an den hier vorgestellten Lösungen nicht mehr klären
bzw. darstellen.
Darstellungsform
Zuerst wird bei jedem Beispiel die
jeweilige Aufgabenstellung vorgestellt. Danach erfolgt die
Beschreibung eines allgemein gehaltenen Lösungsansatzes. Und als
drittes der spezielle Lösungsweg, so wie er von mir mittels TC*-Objekten
vorgenommen wurde.
Um Platz zu sparen, wurden die einzelnen Bildschirmabzüge, auf
denen die Lösungen erfaßt wurden, in Miniaturansicht eingestellt.
Zur Darstellung der Grafik in lesbarer
Form bitte das jeweilige Bild mit der mouse anklicken !!
Aufgabenstellung
Bei der Nachbildung von betrieblichen Abläufen
kommt es hier und da vor, daß man gerne Impulse zählen möchte um
z.B. nach dem 10 ten Impuls etwas besonderes einleiten zu können.
allgemeiner Lösungsansatz
Mit dem TC* Objekt Bahnwärter läßt sich ein
solcher Zähler aufbauen.
Die Art der "binär - Zählung" erlaubt den Aufwand an Objekten zu
minimieren.
Lösung mittels TC *
in der Version 7.0
Hinweis:
Die nachfolgende Beschreibung kann mit allen TC - Versionen
umgesetzt werden. Es sei aber darauf hingewiesen, daß es ab
Version 8.0 in der Ausgabe GOLD ein eigenes Zählobjekt gibt,
welches eine sehr gute Alternative zu diesem Lösungsweg darstellt
>> siehe weiter unten !!.
Übersicht:
Für eine Zählung von 0 bis 15 werden 4
Bahnwärter benötigt.
Jeder Bahnwärter erhält gemäß der binär - Darstellung eine
Wertigkeit; hier beginnend mit 1, 2, 4, 8.
Je nachdem welcher Bahnwärter aktiv (ein)
ist, dessen Wertigkeit wird genommen und alle Wertigkeiten der
aktiven Bahnwärter addiert.
Daraus ergibt sich die Gesamtsumme.
Im folgenden Bild ist der Zähler in der
rechten Bildhälfte, unterer Teil, zu sehen. Seine aktiven
Bahnwärter (rot) weisen die Summe von 10 auf.

Funktion:
Mit einem Taster als Auslöser, es kann aber
auch jegliches andere TC* Objekt dazu verwendet werden, wird im
Bahnwärter -- B-Zähler 2°0 -- der Zustand EIN bzw. AUS geschaltet.
Der Bahnwärter fungiert als EIN / AUS - Schalter.
Der Zähler zählt also die Impulse des
Auslösers (z.B. Tasters).


Bahnwärter -- B-Zähler 2°1 --
hat im Auslöser den B-Zähler 2°0
eingetragen; er wird immer dann aktiv, wenn dieser Bahnwärter
ausgeschaltet wird.
Auch B-Zähler 2°1 fungiert als EIN / AUS - Schalter.

Bahnwärter -- B-Zähler 2°2 --
hat im Auslöser den B-Zähler 2°1
eingetragen; er wird immer dann aktiv, wenn dieser Bahnwärter
ausgeschaltet wird.
Auch B-Zähler 2°1 fungiert als EIN / AUS - Schalter.
(Bild analog B-Zähler 2°1)
Bahnwärter -- B-Zähler 2°3 --
hat im Auslöser den B-Zähler 2°2
eingetragen; er wird immer dann aktiv, wenn dieser Bahnwärter
ausgeschaltet wird.
Auch B-Zähler 2°1 fungiert als EIN / AUS - Schalter.
(Bild analog B-Zähler 2°1)
Zuletzt, beim Wert 15, sind alle Bahnwärter
aktiv und beim nächsten Impuls beginnt die Zählung wieder von
vorne.
Auswertung / Abfrage:
Mit einem weiteren Bahnwärter kann man eine
oder mehrere beliebige Zählerkombinationen abfragen und dann
Operationen einleiten.
Im folgenden Beispiel soll dies der Fall
sein, zwischen den Werten 10 bis 15.


Lösung mittels TC *
in der Version 8.0
Hinweis:
Die nachfolgende Beschreibung bezieht sich auf die
Version 8.0 in der Ausgabe GOLD und beschreibt das eigene Zählerobjekt,
welches eine sehr gute Alternative zu dem Binärzähler gebildet aus
Bahnwärtern darstellt.

Das Zählerobjekt, rechts unten in der
Darstellung (gelb) mit dem Grundwert 0.
In den Eigenschaften des Zählers wird der
Zähler konfiguriert ....

... wobei
"Ein" ... ist der Wert, bei dem der Zähler
eingeschaltet wird (Zustand: aktiv erhält)
"Aus" .. ist der Wert, bei dem der Zähler ausgeschaltet wird
(Zustand: inaktiv)
"Start" .ist der Wert, mit dem der Zähler nach einem Rücksetzen
beginnt.
Durch die Kombination dieser Angaben läßt
sich ein Zählbereich definieren ...
"von (Ein)" <> "bis (Aus".
Desweiteren ein beliebiger Startpunkt.
Das Setzen des Zählers kann aus Objekten
heraus erfolgen und zwar ...
"hinaufzählen +1"
"runterzählen - 1"
"Rücksetzen auf Start"
Aus anderen Objekten lassen sich derzeit die
Zählerzustände ...
"aktiv" und "Inaktiv" abfragen und in die
Ablaufsteuerung logisch einbinden.
Wie bei anderen Objekten auch, können vom
Zähler heraus jeweils den beiden Zuständen Operationen ausführen.
Die Bedingungen unter denen der Zähler
"arbeiten" darf, lassen sich in dem Register "Bedingungen" der
Zählereigenschaften, wie bekannt, formulieren.
Umsetzung des obigen Beispiels:
Die den Zählerwert erhöhenden (oder erniedrigenden) Impulse werden
wie oben von einem anderen Objekt ausgelöst.
Soll in einem Bereich von Wert 10 bis 15
ein anderes Objekt aktiviert oder Aktion ausgelöst werden, dann
ist z.B. der "Start" Wert auf 0 zu setzen; der "Ein" Wert auf 10
und der "Aus" Wert auf 15.
Dies bedeutet, daß der Zähler mit
erreichen des Wertes 10 aktiv geschaltet wird und ab dem Wert 16
inaktiv.
Zwei Möglichkeiten stehen dem Nutzer zur
Verfügung ...
- aus den Operationen des Zählers heraus
können Objekte aktiviert werden
- mit einem Bahnwärter läßt sich der
Übergang inaktiv <> aktiv <> inaktiv auswerten und über
die Operationen des Bahnwärters weiter verarbeiten