Jens Mohr

Ingenieur  +  Betriebswirt
 

... das (H0) Modellbahnprojekt
St. Margareten 

 



 

Home
 

 Projekt - Idee
 Projekt - Planung
 Projekt-Realisier.
       Anlagenaufbau
       Selectrix
       TrainController
          St.Margareten
          Philosophie
          Blöcke
          Fahrweg
          Signale
          Melder
          Schalter,Taster..
          Drehscheibe
          Lok-Zug-Komb.
          Lokführerstand
          Zugfahrten
          Zugbeschreibung
          Längenberechng
          Makros
          Explorer
          Meldungen
          +SmartHand
          Dig.System Konf.
          Beispiele
          Blöcke-Melder
          Ausleuchtung-WS
          Abstellgleis
          Bahnschranke
          Formsignal-Servo
          Drehscheibe
          Kohle-Wasser-Servo
          Kurswagen
          Lokwechsel
          Zug-Überholung
          Start-Ziel-Taster
          if .. then .. else
          Flip ... Flop
          Zähler-Binärzähler
          Zufallsgenerator
          Zugfahrt-Einfluß
          Texte-Meldungen
          Tipps
       Zentrale<>PC
       PC-Konfig.
       Umrüstungen
       Tipps
       Ausgestaltung
       Elektr.Entw.
       3D Druck
       Paternoster
       Ansichten

 Support & Serv.  Links
 Kontakt - Impres.


Copyright 2022
Jens Mohr
83224 Grassau
(Chiemsee/Achental)

 


TrainController (TC) * - Beispiel  "Binärzähler"
(vorgestellt anhand der Variante "Gold" in der Version  8.0)


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 ...

  1. aus den Operationen des Zählers heraus können Objekte aktiviert werden
  2. mit einem Bahnwärter läßt sich der Übergang inaktiv <> aktiv <> inaktiv  auswerten und über die Operationen des Bahnwärters weiter verarbeiten

HINWEISE     zu mit  *  markierten Worten

Alle Firmenbezeichnungen / Firmennamen; Produktbezeichnungen / Produktnamen stellen keine Werbung oder Empfehlung dar, sondern beschreiben nur die in diesem Projekt individuell und subjektiv ausgewählten Produkt - Hersteller bzw. Lieferanten als auch deren verwendeten Produkte zur Anschauung, Darstellung und Beschreibung des eigentlichen Projekt - Inhalts.

Analoges gilt auch für die eingetragenen Links (s. hierzu Distanzierung auf der Link-Seite).

Der Leser soll selbst auf dem Markt recherchieren und für seine Bedürfnisse selbst entscheiden welches Produkt er einsetzen will und wo er sich dieses beschaffen möchte.

In dieser Veröffentlichung verwendete Produktnamen / Produktbezeichnungen sind von / durch den einzelnen Hersteller(n) geschützt. Ihre Nutzung dient lediglich zur Kennzeichnung / Beschreibung des Produktes selbst.
Analoges gilt für die erwähnten
Firmenbezeichnungen / Firmennamen.