[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Re: [Fwd: [DDL-ML] nochmal rcsh und s88]



ddl-mailing-list@der-moba.de schrieb am 12.11.01:

> > Klingt gut, hat aber ein Problem. SRCP arbeitet ja nicht nur mit 16 Ports, sondern unterstützt knapp 1000 Ports (wenn ich mich richtig erinnere). D.h. der hexadezimale Wert aller Ports hätte eine Länge von ca 250 Stellen!
> 
> Solbald die S88 Ports via SRCP abgefragt werden (was ich einfach mal unterstelle), wird die
> Portanzahl pro Modul zu einer für die Software vollkommen irrelevanten weil nicht bekannten
> Tatsache. Es gibt einfach eine durchgängige (1) Menge von binären Eingängen. Ein Bitmuster
> kann man sicherlich daraus basteln. Wozu? Im übrigen begrenzt SRCP den Wertebereich
> nicht. Bis auf die irgendwo mal erwähnte Darstellung von Zahlen mit 32bit Integern. Die
> gilt aber auch als "system default" und kann natürlich auch größer werden (so es Sinn machen
> würde).

Ich weiß jetzt nicht, ob Du meine Argumentation unterstützt oder nicht. Aber ich probiere es noch einmal.
Nehmen wir an, rcsh pflegt einen Bit-String, der beliebig lang sein kann. Dann müßte der Anwender schreiben:
  if getS88() & 0x100007002000000000001:
        ....
Das ist unlesbar/unwartbar! Und dabei ist die Hex-Zahl noch sehr kurz. Besser ist doch:
  if getS88(BfSued) and getS88(Bf2) and not getS88(...) ...

Ich hoffe, meine Argumentation wird nun klar.

> Davon abgesehen: Ein WAIT FB läßt sich auch asynchron mittels Lauschen am
> INFO-Port (resp. Lauschen im INFO Modus bei >=0.8) und darauf sitzenden
> Triggern realisieren. Wenn man mit Threads und dgl. arbeiten kann (und will).
> Python ist da zum Glück sehr einfach in der Handhabung.

Stimme ich zu.
 
> GrußMatthias
> 
> > Mit rcsh geht dies noch nicht. Sollten wir uns aber auf ein Verfahren einigen, so müßte es recht schnell zu implementieren sein.
> 
> Stell mal rcsh nicht allzusehr unter den Scheffel. Was Du mir mal gemailt hast, kann das.
> Einfach mehrere SRCPConnection Instanzen laufen lassen. Vielleicht baust Du mal eine
> Triggerfunktion mit ein ("Wenn FB1 auf 0 geht rufe Methode fb1_0 auf"). Dann hätte man
> eine schöne API und kann braucht sich nicht mehr mit den Feinheiten herumärgern.

Danke für die Blumen.
Ja, mit rcsh ginge es jetzt schon. Es wäre aber nicht sehr schön, da man pro Ereignis einen Thread bräuchte (der jeweils sogar einen Thread im Dämon erzeugt). Besser ist es, den Monitor-Thread in rcsh so auszubauen, wie oben von Dir skizziert.
 
> (1) ist noch nicht so klar festgelegt. Soll ich das übernehmen? Oder würde das
> anderswo kneifen?
 
Kann ich nichts zu sagen.

Noch eine Frage an Dich Matthias. Du schreibst oben "Lauschen im INFO Modus
bei >=0.8". D.h. diese Funktion ist noch gar nicht vorhanden? Zumindest
nicht mittels DDL? Dann funktioniert die saubere Lösung (mit der oben
erwähnten Triggerfunktion) ja noch gar nicht :-((

Peer

________________________________________________________________
Keine verlorenen Lotto-Quittungen, keine vergessenen Gewinne mehr! 
Beim WEB.DE Lottoservice: http://tippen2.web.de/?x=13