perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 25
Click for quality!




11.02.2012 / 19:36

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragZugriff auf System
Seitenanfang
hab gerade vor 2 monaten mit meiner Ausbildung angefangen, nach 2 monaten einarbeitung verlangt mein chef von einen perl script zu schreiben welches auf eine COM Port RS-232 zugreift und durch anschließen einer Glühbirne die zum Leuchten bringt (also an und aus).

Wie könnte ich es denn am sinnvollsten machen. ich bitte um euren hilfe, damit ich gut bei meinem chef ankomme.

Mfg

Datum: 11.10.2006-13:33

Beitragre: Zugriff auf System
Seitenanfang
Schau mal auf CPAN (http://search.cpan.org) nach SerialPort-Modulen

Weiterhin interessant: http://www.sensatronics.de/products_modelfcom.php
http://members.aol.com/Bbirthisel/alpha.html

Datum: 11.10.2006-14:43

Beitragre: Zugriff auf System
Seitenanfang
Kennst du vielleicht deutschsprachige Seiten, weil ich in englisch nicht so gut begabt bin.

PS: noch eine Frage, ist die Aufgabe zu anspruchsvoll oder ist es eine normale lösebare Aufgabe. Wieviel Zeit würde man in etwa für die Aufgabe brauchen

Mfg

Datum: 11.10.2006-15:45

Beitragre: Zugriff auf System
Seitenanfang
Ich habe da ein kleines Script geschrieben aber ich weiß nicht wo der fehler ist. Könnt ihr mir vielleicht helfen.

 #!/usr/bin/perl -w

use strict;
require 5.003;
use Win32API::CommPort;
use Win32::SerialPort qw( :STAT0.19);
use Win32;

my $PortName = 'COM1';
my $pass;
my $return;
my $quiet = 1;
my $configFile= 'ER400TRS.cfg';

my $PortObj = new Win32::SerialPort($PortName,$quiet) || die "Can't open $PortName: $^E\n";

$PortObj->user_msg('ON');
$PortObj->baudrate (9600) || die "fail setting baudrate";
$PortObj->parity ("none") || die "fail setting parity";
$PortObj->databits (8) || die "fail setting databits";
$PortObj->stopbits (1) || die "fail setting stopbits";
$PortObj->handshake ("none") || die "fail setting handshake";
$PortObj>dtr_active (1) || die "fail setting dtr_active";

my @ar=$PortObj->buffers(128,128);

$PortObj->write_settings || die "no settings\n";
$PortObj->save($configFile) || die "no settings\n";

$PortObj->Close ||die "failed to close";
undef $PortObj;

$PortObj = tie( *COMFH,'Win32::SerialPort',$configFile)
|| die "can tie using";

my $BlockingFlags;
my ( $InBytes, $OutBytes, $LatchErrorFlags );
( $BlockingFlags, $InBytes, $OutBytes, $LatchErrorFlags ) = $PortObj->status
|| warn "could not get port status\n";

if ( $BlockingFlags ) { warn "Port is blocked"; }
if ( $BlockingFlags & BM_fCtsHold ) { warn "Waiting for CTS (clear to send)"; }
if ( $LatchErrorFlags & CE_FRAME ) { warn "Framing Error"; }

my ( $count_out, $output_string );
$output_string = "Hallo ";

while(1){
$ca++;
($BlockingFlags,$InBytes,$OutBytes,$ErrorFlags) = $PortObj->status;
die "lost port\n" unless defined $ErrorFlags;
unless($InBytes){
last if($ca > 25);
select(undef,undef,undef,0.01);
next;
}
if($string_in = $PortObj->read($InBytes)){
last;
}
}

$PortObj->close or die "failed to close";
undef $PortObj;

und Hier ist die von mir nicht verstandende Fehlermeldung

Can't locate Win32API/CommPort.pm in @INC (@INC contains:
/usr/lib/perl5/5.8.6/i586-linux-thread-multi
/usr/lib/perl5/5.8.6
/usr/lib/perl5/site_perl/5.8.6/i586-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.6
/usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.6/i586-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.6
/usr/lib/perl5/vendor_perl .) at tcom1.pl line
6.
BEGIN failed--compilation aborted at tcom1.pl line 6.

Datum: 12.10.2006-11:12

Beitragre: Zugriff auf System
Seitenanfang
siehe http://board.perl-community.de/cgi-bin/ikonboard/ikonboard.cgi?act=ST;f=6;st=0;t=3129;#idx4

Datum: 12.10.2006-13:14

-






-
-