Software-Treiber
Die Lesemodule können auch als "dumme" Terminals betrieben werden. Sie senden dann die ID jedes Transponders über den Bus zum PC, der dann entscheidet, ob das Relais zu betätigen ist. Die eingebaute Entscheidungslogik der Lesemodule ist dabei völlig abgeschaltet, sie folgen nur noch den Befehlen, die via Bus eintreffen.
Damit lassen sich schnell selbstgeschneiderte Anwendungen (in C, Pascal, Basic, Perl etc.) erstellen. Dazu wird die TermTalk.dll aufgerufen, die die gesamte Kommunikation übernimmt. Egal, ob tausend oder nur zwei Lesemodule, die gleichzeitig am lokalen Bus oder an Bussen mit Ethernet-Adaptern angeschlossen sind, alle werden über eine einzige TermTalk.dll angesprochen.
Noch schneller & eleganter geht's mit der Scriptsprache Perl, die ihrerseits die DLL einsetzt. Mit wenigen Zeilen haben Sie Ihre Anwendungen fertig.
Perl-Beispiel: Transponder-1 & 2 betätigen das Relais-1 & 2
while (1)
{
#warte auf Transponder-ID von irgendeinem Lesemodul
$getXpID->Call($FromAdr, $terminalType, $state, $XpCount, $XpIDs, $ZusatzInfo);
$XpID1 = substr($XpIDs, 0, 8);
($XpID)= unpack( 'H*', $XpID1 );
$Msg="";
$Msg= $RELAIS1_EIN if ($XpID eq "000000000073bbad"); # Transponder-1
$Msg= $RELAIS2_EIN if ($XpID eq "0000000000826593"); # Transponder-2
if ($Msg){
$SendMsg->Call(chr(ord($FromAdr)), substr($FromAdr,1), 'O', $Msg, chr(1)) or die "Fehler\n";
}
last if ($XpID eq "000000000073bc50"); # beende mit Transponder-3
}
TermTalk.dll kann nicht die Lesemodule für den autarken Normalbetrieb programmieren.
Dazu dient das Paket 3S-KeyManager.