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

Re: [DDL-ML] rcsh und FB



hi ddler,
die probleme die bernd schneider beschrieb das seine fb ports nicht
funktionierten ließen mich nicht ruhen dem ganzen mal auf den grund zu
gehen. anfangs hatte ich
die gleichen probleme wie bernd. ich möchte noch mal folgenden dialog
ins gedächtnis rufen:

-----------------

bernd schneider schrieb:
wie muß ein Skript aussehen, bei dem locoN1(2) eine beliebige Strecke
mit >z.B. Fahrstufe 8 fahren soll, bis sie den Belegtmelder Nr. 1 an
einem S88->Port erreicht?
Wenn der Belegtmelder anspricht, soll die Lok stoppen.

------
peer schrieb:
Probier es mal mit folgendem Skript:

from rcsh import *   # Lade Programmmodul
Connect()            # verbinde mit srcp-Server

l = locoN1(2)        # definiere Lok
l.speed(8)           # setze Geschwindigkeit
l.send()             # sende Geschwindigkeit (u.a.) an Lok

fb = feedbackS88(1)  # Definiere Rückmeldemodul s88(1)
print "waiting..."
fb.wait(1, 0)        # Warte (unendlich) bis wert 1 kommt

l.speed(0)           # ändere Geschwindigkeit der Lok
l.send()

---------------

mein versuchsaufbau:
suse 7.0

starten von erddcd mit dem parameter -s 0x378

verbindung per telnet mit localhost 12345 zur feststellung welcher
erddcd und welches srcp
ergebnis: erddcd v1.3.33; srcp 0.7.1

verbindung per telnet mit localhost 12347
zur beobachtung der loksteuerung

verbindung per telnet mit localhost 12346

zur beobachtung der fb meldungen

starten von j-man
starten der s88 anzeige von j-man

starten des obigen scripts

ergebnis: das script wartete unendlich

jetzt habe ich an kontakt 1 des s88 masse angelegt, das bringt ihn dazu
das der 1. eingang aktiv werden müßte, laut j-man anzeige wurde auch der
aktive zustand angezeigt, eben falls bei telnet am port 12346. das
script wartete weiter.
mehrmalige resets und sets am eingang 1 des einzigen angeschlossenen s88
ports brachten kein anderes ergebnis. dann probiert ich ob evtl. andere
porteingänge des gleichen moduls das script zum weiterlaufen bewegen.
und siehe da:
als ich auf den zweiten eingang des ports mit masse gegangen bin lief
das script weiter.

es ist also kein prinzipielles server, client, oder scriptproblem,
sondern ein verständigungs problem, bzw. das alte problem in der
programmierung:
fange ich mit 0 an zu zählen oder mit 1.

telnet meldet bei aktivierung des ersten kontaktes INFO FB S88 1 1
bei rcsh muß aber mit feedbackS88(0) der erste kontakt abgefragt werden.

dies ist ein punkt der m.e. in rcsh mit der nächsten offiziellen version
geändert werden müßte, um solche mißverständnisse zu vermeiden.

also im obigen script muß die zeile 
"fb = feedbackS88(1)  # Definiere Rückmeldemodul s88(1)"

richtig "fb = feedbackS88(1)  # Definiere Rückmeldemodul s88(0)"

heißen, wenn das anhalten der lok mit dem ersten anschluß des s88
fbports geschehen soll.

nun zu weiteren "ungereimtheiten" die bei meinem test aufgefallen sind:

wenn ich mich das erste mal mit telnet an port 12347 anmelde, erscheint
eine lok, die ich in keiner konfiguration habe. geschweige denn real
voerhanden ist.

z.b. gl nb 127 1 0 14 00 wieso?????

wenn ich mich das erste mal mit telnet an port 12346 anmelde, erscheint

info sb s88 17 1
bis
info sb s88 1984 1

über den angeschlossenen s88 fbport erscheint gar nichts
weder

info sb s88 1 1
bis
info sb s88 16 1

noch irgendwas anderes

sollten nicht hier die tatsächlichen aktuellen werte der ports stehen

also in meinem falle bei zurückgesetztem port

info sb s88 1 0
bis
info sb s88 17 0

auch wenn keine weiteren ports vorhanden sind, sollten, wenn schon alle
ports eine info fb abgeben diese nicht als info sb s88 xxxx 0 ausgegeben
werden???
oder sind diese telnet meldungen nur bei mir zu beobachten.

nun noch zwei sachen die mir bei j-man aufgefallen sind:
die s88 anzeige: beim starten der anzeige ist die 16 des ersten moduls
aktiv(rote farbe) schaltetman auf die anzeige vom nächsten modul und
dann wieder aufs erste zurück wird die anzeige der 16 als nicht aktiv in
schwarz angezeigt.
schaltet man nun den anschluß 16 gegen masse ändert sich an der anzeige
nichts, obwohl telnet ganz klar info fb meldungen ausgibt die dem
tatsächlichen zustand an diesem anschluß entsprechen. was ist hier
verkehrt???

sollten dies tatsächlich fehler sein bitte ich um berichtigung mit den
nächsten versionen.

vielen dank

grüße puesch


--
http://de.geocities.com/puesch/


_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com