Test-Programm, erstellt unter SUSE-LINUX 8.0

Programmiersprache: PERL

AUSGAENGE AN und AUS schalten

Man sieht mit diesem kleinen Perl-Programm, wie einfach es ist, die Ausgaenge

zu beschalten:



#!/usr/bin/perl



printf "------------------------------------------------------------\n";

printf "PERL-Programm test1.pl:\n";

printf "TEST CAN-MODUL 31.12.2003 G.FI:\n";

printf "AUSGAENGE nacheinander AN/AUS schalten\n";

printf "------------------------------------------------------------\n";



#################################################

#### VORSPANN #######

#################################################



open(F_CAN,"|gfi_send -t=isa") || die("FEHLER: open von gfi_send");



$oh=select(F_CAN); $|=1; select($oh);

$oh=select(STDOUT); $|=1; select($oh);



$addr="0x201"; ## ADDR. des E/A-Moduls



#################################################

#### ab hier wird geschaltet #######

#################################################



## alle Ausgaenge OFF schalten

printf(F_CAN "$addr 4 0xff\n");



sleep(5);



for($i=1;$i<100;$i++) { ## 100 x das ganze durchlaufen lassen



for($ausgang=0;$ausgang<8;$ausgang++) {

schalte($addr,$ausgang,1); # Ausgang ON schalten

sleep(1);

schalte($addr,$ausgang,0); # Ausgang OFF schalten

sleep(1);

}



}



#################################################

#### FUNKTIONEN ####

#################################################



sub schalte {

my $addr=shift;

my $ausgang=shift;

my $an_aus=shift;



printf "sub schalte, addr: $addr, ausgang: $ausgang, an_aus: $an_aus\n";



if($an_aus == 0) { $cmd="0x04"; }

if($an_aus == 1) { $cmd="0x03"; }



$ausgabe=1;

$ausgabe=$ausgabe << $ausgang;

printf(F_CAN "%s %s 0x%02x\n",$addr,$cmd,$ausgabe);

}



### +------------------------------------------------------------------+

### ! Georg Fischer, Amselweg 7, D-89281 Herrenstetten Germany !

### ! Dipl.-Ing. (FH) Holztechnik !

### ! Email: ==> G-F-I@t-online.de <== (best way to reach me) !

### ! Internet: http://www.fischer-altenstadt.de !

### ! Internet: http://www.holz-technologie-beratung.de !

### ! Telefon: +49-8337-8646 !

### ! Telefax: +49-8337-9118 !

### +------------------------------------------------------------------+