MoBa-Package Home

IconTMoBa605xEmu

Declaration

TMoBa605xEmu = class(TComponent)

Description

Ein Objekt dieser Klasse stellt ein Märklin Interface 6051 dar. Dazu erzeugt die das Objekt einen virtuellen seriellen COM-Port, über den Programme auf die emulierte Hardware zugreifen können.

Daten, die von der Emulation empfangen und ausgewertet wurden werden als Events weiter geleitet. Innerhalb der Event-Handler kann ein Programm die empfangenen Daten weiter verarbeiten. Dabei sind die empfangenen Daten bereits soweit aufgearbeitet worden, daß sie in einem Objekt vom Typ TMoBaBaseLoco oder TMoBaBaseSolenoid dargestellt werden können.

Overview

Unit: MoBa605xEmu
Properties Methods Events
Active - OnAfterCreatePort
ComPort OnAfterDestroyPort
Connected OnAfterS88Read
ContactCount OnAutoResetChange
Contacts OnBeforeS88Read
Feedback OnConnectionChange
FeedbackCount OnFunction
Handshake OnLog
LogEnabled OnLoco
PowerOn OnPowerChange
S88AutoReset OnSolenoid

Properties

read write property Active: Boolean;
Aktiviert bzw. deaktiviert den virtuellen seriellen COM-Port bzw. gibt den aktuellen Status zurück. Ist ein Clientprogramm mit dem virtuellen seriellen COM-Port verbunden und dieser soll deaktiviert werden, so wird die Verbindung unterbrochen.
read only property ComPort: string;
Name des virtuellen COM-Ports, der von der Komponente als Schnittstelle bereitgestellt wird. Dieser Name wird anhanden der im System vorhandenen COM-Ports ermittelt.
read only property Connected: Boolean;
Zeigt am, ob ein Clientprogramm auf die von der Komponente bereitgestellte virtuelle serielle Schnittstelle zugreift oder nicht.
read only property ContactCount: Integer;
Anzahl an einzelnen S88-Rückmeldekontakten auf die ein Client-Programm zugreifen kann. Dies sind im Moment immer 31 x 2 x 8 = 496 Kontakte.
read write property Contacts [Index: Integer]: Boolean;
Status der Rückmeldekontakte wie sie bei der Abfrage an einen Client gemeldet werden. Dabei wird jeder Rückmeldekontakt als Boolscher Wert behandelt. Der Index läuft von 0 bis ContactCount - 1.
read write property Feedback [Index: Integer]: Byte;
Status der Rückmeldekontakte wie sie bei der Abfrage an einen Client gemeldet werden. Dabei sind immer acht Rückmeldekontakte zu einem Byte zusammengefasst. Die Anordnung der Bits innerhalb der Bytes entsprechen der Anordnung wie sie ein S88 Rückmeldemodul liefert. Der Index läuft von 0 bis FeedbackCount - 1.
read only property FeedbackCount: Integer;
Anzahl an Rückmeldebytes auf die über Feedback zugegriffen werden kann. Dies sind im Moment 31 x 2 = 62 Bytes.
read write property Handshake: Boolean;
Mit dieser Eigenschaft kann ausgewählt werden ob die Hardware Handshake Leitungen des virtuellen seriellen COM-Ports bedient werden oder nicht. Bei True wird der Hardware-Handshake emuliert.
read write property LogEnabled: Boolean;
Mit dieser Eigenschaft kann der Debug-Log ein- und ausgeschaltet werden. Im Debuglog werden die internen Vorgänge der Emulation als Text über den Event OnLog ausgegeben.
read write property PowerOn: Boolean;
Mit dieser Eigenschaft kann der Powerstatus der emulierten Modellanlage gesetzt werden.
read only property S88AutoReset: Boolean;
Zeigt den aktuellen Status der S88 Auto-Reset Funktion an.

Methods

-

Events

property OnAfterCreatePort: TNotifyEvent;
Ereignis tritt ein, wenn der virtuelle COM-Port erzeugt worden ist.
property OnAfterDestroyPort: TNotifyEvent;
Ereignis tritt ein, wenn der virtuelle COM-Port gelöscht wurde.
property OnAfterS88Read: TNotifyEvent;
Ereignis tritt ein, nach dem das Lesen der Rückmeldemodule durch einen Client beendet ist.
property OnAutoResetChange: TNotifyEvent;
Ereignis tritt ein, wenn ein Kommando zum wechsel der S88 Auto-Reset Funktion empfangen wurde.
property OnBeforeS88Read: TMoBa605xEmuS88ReadEvent;
Ereignis tritt ein, wenn Kommando zum lesen eines oder mehrer Rückmeldemodule empfangen wurde. Die Daten sind in diesem Moment noch nicht an den Client gesendet.
property OnConnectionChange: TNotifyEvent;
Ereignis tritt ein, wenn ein Client sich mit dem virtuellen COM-Port verbindet oder dies Verbindung wieder aufhebt.
property OnFunction: TLocoEvent;
Ereignis tritt ein, wenn ein Kommando zum verändern der Zusatzfunktionen 1 bis 4 empfangen wurde. Dem Parameter Loco kann die Loknummer und der Status der Zusatzfunktionen 1 bis vier entnommen werden. Alle anderen Werte des Objekts sind ungültig.
property OnLog: TMoBa605xEmuLogEvent;
Ereignis tritt ein, wenn ein interne Debugmeldung generiert wird und die Eigenschaft LogEnabled auf True gesetzt ist.
property OnLoco: TLocoEvent;
Ereignis tritt ein, wenn ein Kommando zum verändern einer Lok vom Client gesendet wurde. Dem Parameter Loco können alle Eigenschaften der Lok mit ausnahme der Sonderfunktionen 1 bis 4 entnommen werden.
property OnPowerChange: TNotifyEvent;
Ereignis tritt ein, wenn ein Kommando zum ein oder ausschalten der Energieversorgung vom Client empfangen wurde.
property OnSolenoid: TSolenoidEvent;
Ereignis tritt ein, wenn ein Kommando zum verändern eines Magnetartikels vom Client empfangen wurde. Dem Parameter Solenoid kann die Adresse und der zu schaltende Port entnommen werden.

Hierarchy

TComponent
   |
TMoBa605xEmu

See also

TLocoEvent, TMoBa605xEmuLogEvent, TMoBa605xEmuS88ReadEvent, TMoBaBaseLoco, TMoBaBaseSolenoid, TSolenoidEvent

©Roman Lauer
Zuletzt geändert am: 26.03.2005