RS232 Problem

Hallo,

seit zwei Tage grüble ich warum meine COM Schnittstelle nach einiger Zeit den Dienst versagt.

An der Schnittstelle hängt ein RFID-Leser von Poll… TAGS werden gelesen Tür geöffnet etc. Hat ein paar Tage einwandfrei funktioniert. Jetzt nach einiger Zeit hängt sich der COM-Port in Windoof auf. Fehler 5
Den Leser kann ich ausklammern, ein zweiter Leser verursacht den gleichen Fehler.
Ist der Leser direkt mt dem COM-Port verbunden kein Fehler! Läuft über Stunden als Test.
Egal ob ich den COM1 vom Board oder einen USB to RS232 Adapter verwende.
Als RS232 Leitung benutze ich ein 4x2 Kabel in dem ich ein Aderpaar für Uk0 und ein Paar für den Türöffner 12V ~. 3 Adern benutze ich für die RS232 Tx Rx Masse. Handshake ist nicht angeschlossen. Auch kein Loopback Handshake. Die Leitungslänge ist ca. 10 Meter. Die Signal-Spannung am PC ist 15V mit dem Oszi gemessen.

Hat jemand einen Tipp?

Andreas

Das klingt widersprüchlich. Hast es jetzt direkt am COM1 oder per USB dran? Ich vermute, dass es direkt am COM1 keinerlei Probleme geben wird. Bei den USB Dingern ist das immer so eine Sache…

paresy

Hallo paresy,

Hatte 3 Tage Zeit zum Testen :wink: Bei beiden Varianten der gleiche Fehler.

Mag die USB-Adapter auch nicht, aber bei der physikalischen COM1 auf dem Board der gleiche Fehler.

Bin mit der RS232 etwas eingerostet - brauche ich den Loopback Handshake?

Andreas

Gibts nen Hinweis im IPS Log?
Windowsupdates? (Treiberupdates des Chipsatzes, RS232 oder USB Adapters?)

Neue COM Instanz getestet?

…nur so ein paar Gedanken.

Viele Grüße
Chris

Hallo Chris,

a) kein Windows-Update
b) neue COM-Instanz auch schon angelegt.
c) keine Einträge im LOG - erst wenn ich versuche in der COM Instance den COM-Port zu ändern wird der Windoof-Fehler ausgegeben.

Lediglich Treiber für den USB-COM-Adapter installiert dürfte sich aber nicht auf den physikalischen COM1 auswirken.

Warum lauft der Leser dann wenn direkt angeschlossen ist - sowohl mit dem USB-Teil als auch mit der COM1? :confused:

vg

Andreas

Vielleicht macht der 12V Türöffner irgendwelche Sauereien auf den RX/TX Leitungen beim Auslösen?
Hast du die Möglichkeit eine zweite Leitung zu legen?
Was ist Uk0?

Viele Grüße
Chris

Hallo Chris,

UK0 = UK0-Schnittstelle

Kann ich mir nicht als Fehlerquelle vorstellen

Kabel verlegen - :mad: Rasterdecken wieder aufreißen … letzte Möglichkeit.

Türöffner - könnte schon sein

Andreas

Es gab hier mal eine Anleitung nach Der ich meine FHZ1x00 und mein HID Supertruppa-Funkmodul überprüfe, sind sie nicht da, wird versucht sie neu zu verbinden:

<?
$myFTDI = IPS_GetInstance(14651 /*[FTDI]*/ );
//print_r($myFTDI);
if ($myFTDI['InstanceStatus'] != "102"):
    FTDI_SetOpen(14651 /*[FTDI]*/ ,false);
    IPS_ApplyChanges(14651 /*[FTDI]*/);
   $scanresult = "";
   $scanresult .= shell_exec ('C:\devcon disable "USB\Vid_0403&Pid_e0e8&Rev_0200"') . " ";
   $scanresult .= shell_exec ('C:\devcon enable "USB\Vid_0403&Pid_e0e8&Rev_0200"') . " ";
    FTDI_SetOpen(14651 /*[FTDI]*/,true);
    IPS_ApplyChanges(14651 /*[FTDI]*/);
    echo $scanresult;

    return;
endif;
    echo "FTDI in Ordnung";
?>

und

<?
$myHID = IPS_GetInstance(38635 /*[HID FHT8i Funk Modul]*/);
if ($myHID['InstanceStatus'] != "102"):
    HID_SetOpen(38635 /*[HID FHT8i Funk Modul]*/ ,false);
    IPS_ApplyChanges(38635 /*[HID FHT8i Funk Modul]*/);
    HID_SetOpen(38635 /*[HID FHT8i Funk Modul]*/,true);
    IPS_ApplyChanges(38635 /*[HID FHT8i Funk Modul]*/);
SetValueBoolean(34712 /*[Funk HID Test\HID Funk Nr1\Helmuts Gerät Nr.1  da?]*/,true);
    return;
endif;
   echo "HID in Ordnung";
   SetValueBoolean(34712 /*[Funk HID Test\HID Funk Nr1\Helmuts Gerät Nr.1  da?]*/,false);
?>

Gruß Helmut

Hallo,

Zwischenbericht :smiley:

Loopback Handshake - ohne Erfolg

Neues Kabel gezogen - kein Erfolg.

Netzteil gewechselt - statt 9V~ 12V~

Funzt jetzt seit 3 Stunden - mal abwarten :rolleyes:

Signal oszillographiert kein Unterschied im Signal zu erkennen.

Andreas

@ Helmut

Hat dein RS232-Adapter eine FTDI Chip? Meiner hat einen Chipsatz PL-2303 von Prolific

NEIN,
ich habe das Beispiel von dem FHZ1x000 Überwachungsscript auch nur auf mein HID-Funksteckdosen Modul, welches über USB-HID-Interface angebunden ist, angepasst.

Siehe Scripts.

Das könntest Du auch schaffen.

Gruß Helmut

Hallo Helmut,

wenn der Fehler auftrat (zur Zeit läuft´s immer noch :D) bringt nur ein Neustart etwas.

Beim Schließen und danach neu öffnen wurde ein Windows - Fehler angezeigt.

Trotz dem danke.

Wenn es wirklich nur an der Versorgungspannung lag, ist das Problem gelöst.

Andreas

Hallo Chris,

wie versprochen die Änderungen die ich an deinem Script vorgenommen habe.
(Bitte um Nachsicht, meine PHP Kenntnisse sind grotten schlecht :D)


<?
// Script Quelle: spaceguy   String vom seriell Port lesen (RFID Reader Pollin)
// modifiziert auf HomeMatic !

$allowedKeys = array("3446xxxxyyyyzzz3945");
$marco = GetValue (43227 /*[Service\Automatic\Tueroeffner\Tueroeffner Gruppe\Marco]*/); // Variable Tueroffner Zeit Marco

If ((in_array(GetValueString(20363 /*[Service\Funktionsräume\Sued-Eingang\RFID-Leser sued\RFID TAG]*/), $allowedKeys)) AND $marco == True)
{
// RFID Tag ist berechtigt die Türe zu öffnen!
SetValueString (54832 /*[Service\Funktionsräume\Sued-Eingang\RFID-Leser sued\Letzter Benutzer]*/, "Marco");
HM_WriteValueFloat(52406 /*[Service\Funktionsräume\Sued-Eingang\Türöffner Süd]*/ , "ON_TIME", 2); // 2 Sec AN
HM_WriteValueBoolean(52406 /*[Service\Funktionsräume\Sued-Eingang\Türöffner Süd]*/ , "STATE" , True);
//HM_WriteValueBoolean(15763 /*[Service\Homematic\Funk-Gong\Gong]*/ , "STATE" ,true);
SMTP_SendMail(14472 /*[Service\Obergeschoss\Labor\E-Mail senden Andreas ]*/, "Hinweis", "Die Tür am Süd-Eingang wurde von Marco geöffnet");
}
Else
// RFID Tag ist nicht berechtigt die Türe zu öffnen!
{
//Hier machen wir mal nix 

}
?>

Dieses Script wird pro Person 1 x angelegt und auf die Variablenänderung getriggert. Das Script habe ich lediglich auf HM angepasst um eine Stringvariable ergänzt damit man festellen kann wer als letzter die Tür geöffnet hat. Es wird außerdem geprüft ob der Benutzer die Tür zu diesem Zeitpunkt öffnen darf (Zugangskontrolle). Das war`s auch schon. Ergänzen werde ich es noch um eine Schnittstelle für die Zeiterfassung für unser ERP-Programm. Mir ist nur noch nicht ganz klar wie ich das Auschecken lösen werde (Arbeitsende und Dienstgang kommt/geht) Hatte schon mal in einem anderen Fred um Hilfe gebeten, hat sich aber niemand gerührt.
Wenn die Süd-Tür jetzt reibungslos läuft werde ich die zweite Tür noch einbinden und auch die restlichen Benutzer.

Danke noch mal für die Hilfe

Andreas

Du hattest geschrieben das de ein neues Kabel gezogen hast. Ist denn der RS-232 nun allein auf dem Kabel?

Gruß

Jan

PS: Kann ich mal die Daten Deiner RFID-Empfangsspule bekommen?

Hallo Jan,

War leider eine Verar… von Pollin.

Lag an der Versorgungsspannung 9V~ war zu klein. Angegeben ist der Bausatz mit 6 - 18,5V~, Ich habe jetzt einenHutschinen-Klingeltrafo mit 12V~. An der Leitung und am COM-USB-Adapter lag es nicht. Der MAX232 sollte dies zwar compensieren. :confused:

Die Spule ist fertig gewickelt von Pollin

Andreas

Hab es auch an 12V, damit hab ich auch keine Probleme. Mit weniger hab ich es garnicht probiert.
Habe auch eine Pollin-Fertig-Spule. Ist eine kleine rechteckige. Mit der habe ich nur eine Reichweite von ca. 0cm mit den Karten und die blauen Schlüsselanhänger gehen garnicht:confused:

Jan

Hallo Jan,

bei mir gehen auch die „Blauen“. Ich habe erstmal den Bausatz auf eine Acrylglasplatte zum Testen montiert und nach der Leitungslänge eine Widerstand in Reihe zur Spule ansgeschlossen. Je nach Länge der Leitung zwischen Spule und Empfänger ist der Widerstand zwischen 470 - 680 Ohm. Die Reichweite war dann ca. 2,5cm. Mit den Blauen ca. 1cm. Du darfst zwischen Leser und Antenne kein verdrilltes abgeschirmtes Kabel verwenden - Kondensator-Effect.

Andreas