Hallo zusammen,
eine Frage hätte ich noch zu dem Projekt.
Was genau ist das für eine Kabelverbindung an dem USB RS232 wandler?
Handelt es sich dabei jediglich um die 5V Spannungsversorgung?
Gruß Kiste
Hallo zusammen,
eine Frage hätte ich noch zu dem Projekt.
Was genau ist das für eine Kabelverbindung an dem USB RS232 wandler?
Handelt es sich dabei jediglich um die 5V Spannungsversorgung?
Gruß Kiste
Die 2 Adern meinst Du?
Das ist der Abgriff von der USB-Buchse, die Spannungsversorgung für das RFID-System
Gruß Helmut
Hallo zusammen,
wollten heute dann mal endlich meinen RFID Leser in Betrieb nehmen.
Nun frag ich mich wie genau die Antenne an den RS232 TTL Wandler angeschlossen wird.
Gruß Kiste
blau Versorgungsspannung 0V (GND)
rot Versorgungsspannung 3.3 – 5 V (VCC)
gelb serieller Datenausgang
Und dann ist bei RX und TX die Auswahl, sind Pfeile dran, 50 % Chance auf Erfolg
Gruß Helmut
Dann hätten wir das mit der Antenne ja auch geklärt.
Die Hardware des Lesers scheint nun zu funktionieren:
Wenn man einen Transponder auf den Leser legt und Bei der Com-Schnittstelle auf „Debug“ geht sieht man dass was empfangen wird.
Das Skript zur Abfrage des Transponders funktioniert aber nicht wie erwartet:
<?php
$IRF_leser = RegVar_GetBuffer($_IPS[‚INSTANCE‘]);
/* Hier kommt schon nichts raus. $_IPS[‚INSTANCE‘] enthält die ID der Register-VAriable die ich angelegt habe.
$IRF_leser ist aber leer.
*/
?>
Logisch dass die Variable leer ist, er liest ja das aus, was man hier im Screenshot unter „Wert“ sieht
Muss man bei dem Com-Port noch irgendwelche Ereignisse konfigurieren, damit die REgister-Variable gefüllt wird?
Hast Du die RegVar auf die Com Schnittstelle verlinkt?
Sent from my iPhone using Tapatalk
Hallo,
ja die Variable ist mit dem Com Port Verknüpft.
Script1:
<?php
/*
IP-SYMCON Event Scripting
File : Com_Port_eingang.ips.php
Trigger : On Update IRF_Leser
Interval :
*/
echo „RFID: Start“;
if ($_IPS[‚SENDER‘] == „RegisterVariable“)
{
$IRF_leser = RegVar_GetBuffer($_IPS[‚INSTANCE‘]);
echo „RFID: IPS[‚INSTANCE‘]:“ . $_IPS[‚INSTANCE‘];
echo „RFID: IRF_leser:“ . $IRF_leser;
$IRF = pack(‚H*‘, $IRF_leser); // 0xA1B2C3D4F5 // 5 chars/bytes.
SetValueString(28353 /[Sicherheit\RFID\RFID Leser Inhalt]/, $IRF);
$eins = strlen($IRF);
echo „RFID: IRF:“ . $IRF;
$o = „“;
for( $i=0; $i<$eins; $i++)
{
$o .= bin2hex( substr($IRF,$i,1))."";
}
echo " RFID-Karte Nr.: ";
echo $o;
$Zulass2 = ‚‘;
$Zulass1=getvaluestring(35439 /[Sicherheit\RFID\Berechtigung 1]/);
//$Zulass2=getvaluestring(12345 /[Bereiche\Flure\Deckenleuchte Luftraum\Zustand]/);
If (($Zulass1 == $IRF)) {
Echo " , Person 1 ist erkannt, Türöffner gestartet,"; //setValueBoolean(12345 /*[Bereiche\Flure\Deckenleuchte Luftraum\Zustand]*/,true); ips_sleep(1000); //setValueBoolean(12345 /*[Bereiche\Flure\Deckenleuchte Luftraum\Zustand]*/,false); Echo " Türöffner gestoppt.";
} else {
Echo "Es war nicht Person 1"; setValueBoolean(12345 /*[Bereiche\Flure\Deckenleuchte Luftraum\Zustand]*/,false);
}
If (($Zulass2 == $IRF)) {
/*
Echo " , Person 2 ist erkannt, Türöffner gestartet,";
setValueBoolean(12345 /[Bereiche\Flure\Deckenleuchte Luftraum\Zustand]/ ,true);
ips_sleep(1000);
setValueBoolean(12345 /[Bereiche\Flure\Deckenleuchte Luftraum\Zustand]/ ,false);
Echo " Türöffner gestoppt.";
*/
} else {
Echo "Es war nicht Person 2"; //setValueBoolean(12345 /*[Bereiche\Flure\Deckenleuchte Luftraum\Zustand]*/,false);
}
}
?>
Kannst Du in dem Tread vorher noch Dein RFID Script 1 abbilden?
Wenn im Debug was drinsteht, dann muß da was sein, wieviele Zeichen in Hex sind da?
Gruß Helmut
Hallo Helmut,
Hab das Script jetzt dem letzten Post hinzugefügt.
Hat was mit der Hex zu String oder String zu Hex zu tun, hab’ nur keinen Leser mehr.
Was bekommst Du in Hex aus dem Leser, darfst auch die Zeichen verändern, wegen Datenschutz
Oder sind es reine String Daten, ich weiß es nicht mehr, könntest Du auch mit einem Terminalprg erlesen, Hterm oä.
Gruß Helmut
Hallo zusammen,
ich möchte auch gerade den beschriebenen RFID-Leser in Betrieb nehmen.
Anschluss ist erfolgreich:
Daten kommen auf dem Seriellen Port an
Daten kommen auch auf dem Cutter an (welcher auf dem Seriellen Port geschaltet ist)
jetzt kommt mein Problem (welches sich auch nach mehrfachen Recherchen im Forum & Doku nicht lösen lässt):
die Registervariable wird nur aktualisiert und starte das Zielskript an, wenn es direkt auf dem Comport hängt,
wenn die Registervariable auf dem Cutter hängt, dann springt die Registervariable nicht an. (Daten kommen aber im Cutter an …)
Habe ich doch noch einen Denkfehler drin? (ich habe schon mehrfach die Instanzen neu angelegt und verknüpft, aber immer mit dem gleich Effekt: Registervariable funktioniert nur direkt auf ComPort und nicht auf dem Cutter … )
vielen Dank für anregende Ideen
Tilo
Es gibt bei IPS V3,3 einen andere Syntax für die Comport Abfrage und
Die $data Variable wird durch
$IRF_leser = $_IPS[‚VALUE‘];
und nicht durch
$IRF_leser = RegVar_GetBuffer($_IPS[‚INSTANCE‘]);
geholt.
Versuch’ mal.
Gruß Helmut
PS Ist im Script geändert.
Hallo Helmut,
leider bleibt mein Problem - die Registervariable springt nur an an, wenn sie direkt auf dem Comport zeigt. So bald ich die Registervariable auf den Cutter hänge, springt die Registervariable nicht an.
Daten kommen aber im Cutter sauber an (lt. Debug-Fenster)?
irgendwie komisch …
Tilo
Steht im Debug auch das die Daten weitergegeben wurden ?
Wenn nein, hast du den Cutter wohl falsch konfiguriert oder einen Bug gefunden. Hatten wir da nicht gerade was ? Finde den Thread grad nicht
Michael
Hallo Michael,
Steht im Debug auch das die Daten weitergegeben wurden ?
Daten weitergeben wurden - wie erkenne ich das …?
anbei der Debug-Auszug vom Cutter:
17.01.2015 20:37:52.00 | Received Data | 01
17.01.2015 20:37:52.00 | CURRENTBUFFER | 01
17.01.2015 20:37:52.00 | Received Data | 38
17.01.2015 20:37:52.00 | CURRENTBUFFER | 01 38
17.01.2015 20:37:52.00 | Received Data | 02
17.01.2015 20:37:52.00 | CURRENTBUFFER | 01 38 02
17.01.2015 20:37:52.00 | Received Data | F5
17.01.2015 20:37:52.00 | CURRENTBUFFER | 01 38 02 F5
17.01.2015 20:37:53.00 | Received Data | C3
17.01.2015 20:37:53.00 | CURRENTBUFFER | 01 38 02 F5 C3
17.01.2015 20:37:53.00 | Received Data | 01
17.01.2015 20:37:53.00 | CURRENTBUFFER | 01
17.01.2015 20:37:53.00 | Received Data | 38
17.01.2015 20:37:53.00 | CURRENTBUFFER | 01 38
17.01.2015 20:37:53.00 | Received Data | 02
17.01.2015 20:37:53.00 | CURRENTBUFFER | 01 38 02
17.01.2015 20:37:53.00 | Received Data | F5
17.01.2015 20:37:53.00 | CURRENTBUFFER | 01 38 02 F5
17.01.2015 20:37:53.00 | Received Data | C3
17.01.2015 20:37:53.00 | CURRENTBUFFER | 01 38 02 F5 C3
17.01.2015 20:37:53.00 | Received Data | 01
17.01.2015 20:37:53.00 | CURRENTBUFFER | 01
17.01.2015 20:37:53.00 | Received Data | 38
17.01.2015 20:37:53.00 | CURRENTBUFFER | 01 38
17.01.2015 20:37:53.00 | Received Data | 02
17.01.2015 20:37:53.00 | CURRENTBUFFER | 01 38 02
17.01.2015 20:37:53.00 | Received Data | F5
17.01.2015 20:37:53.00 | CURRENTBUFFER | 01 38 02 F5
17.01.2015 20:37:53.00 | Received Data | C3
17.01.2015 20:37:53.00 | CURRENTBUFFER | 01 38 02 F5 C3
Danke
Tilo
Wie jetzt? Klär mich mal auf…
Muss ich, wenn ich auf 3.3 umsteige den ganzen Haufen von Scripten durchforsten, die teilweise auch noch seh lang sind, und alles umschreiben?
Nee, nich wirklich oder?
Musst du nicht.
Entweder (wenn nicht ab Werk schon drin) in der __compatibility.inc.php selber die Alte auf den neue Funktion wrappen . Oder einfach über die Konsole oder externe Programme mit suche in allen Scripten/Dateien.
Hättest du schon immer RegVar_Send genutzt, würdest du gar nix andern müssen.
Michael
Ich muß mir mal so’n Teil wieder bestellen, da muß im Cutter Debug "Chunk irgendwas " stehen …
Gib doch mal ein paar Zeichen aus dem bekannten RFID-String als rechter oder linker Begrenzer im Cutter vor.
Nur mal um zu sehen, ob dann was kommt. Oder eine andere Quelle für Daten einer ser. Schnittstelle von Hterm oder so.
Gruß Helmut
Hallo Helmut,
Gib doch mal ein paar Zeichen aus dem bekannten RFID-String als rechter oder linker Begrenzer im Cutter vor.
also - dann funktioniert es. Dann springt die Registervariable sauber an.
D.h. da ist ein Wurm (oder Bug) im Cutter drin, dass er auf feste Länge (siehe Dein erster Post) nicht reagiert …
soll ich eine Bugmeldung machen?
Danke für Deinen Support
Tilo
Kann mich täuschen, aber braucht es nicht bei fester Länge auch ein Sync-Zeichen ?
Michael