PDA

Visualizza la versione completa : [JAVA] Interfacciamento porta seriale RS232 con una bilancia


vince821
28-10-2005, 16:31
Ciao a tutti vi vorrei porre una domanda

Io dovrei interfacciare la porta seriale RS232 con una bilancia, cioè nel momento in cui peso una cosa tale dato mi devi apparire sul portatile cui è collegata la bilancia

Se qualcuno mi può aiutare lo ringrazio in anticipo

grazie, aspetto vostra risposta :ciauz:

alka
28-10-2005, 16:53
Ciao e benvenuto nel forum di Programmazione.

Ti segnalo da subito la lettura del nostro Regolamento (http://forum.html.it/forum/showthread.php?s=&threadid=862015) che contiene tutte le norme da seguire per utilizzare correttamente e al meglio quest'area del forum.

In particolare, è necessario ricordarsi sempre di indicare nel titolo della discussione il linguaggio di programmazione di riferimento, seguendo le convenzioni prestabilite (prendi spunto dalle discussioni esistenti, se necessario).

Non appena mi comunichi il linguaggio che utilizzi, correggo io il titolo.

Ciao e...buon forum! :ciauz:

eumene
29-10-2005, 10:36
Hai cercato nel forum???

Non importa, guarda questo topic proprio sulla comunicazione con seriali RS 232 e registrstori di cassa RS 232 e registrstori di cassa (http://forum.html.it/forum/showthread.php?threadid=899697)

Puoi realizzare la stessa architettura, realizzando un'interfaccia con metodi tipo pesa o altro, non so, e realizzarti il tuo driver specifico.

:ciauz:

vince821
29-10-2005, 12:53
Grazie tanto il mio problema e questo:

C'è una zienda che monotorizza le orate cioè le pesa , le fotografa, le misura...
Nel momentp in cui c'è la pesatura tale peso mi deve apparire sullo schermo del portatile a cui è collegata la bilancia tramite la porta seriale RS232

ti volevo chiedere si può utilizzare il tuo con le eventuali modifiche ripsetto al mio progetto

ciao e grazie :ciauz:

eumene
29-10-2005, 13:44
Certamente, ma con le apposite correzioni.

Noterai che la classe ???Bridge esegue solo invio dati, mentre non riceve nulla.

Per creare la logica di ricezione studiati la classe SimpleRead.java, presente nella distribuzione delle Java Comm API.

La stessa classe la trovi all'indirizzo API_users_guide_3.html (http://java.sun.com/products/javacomm/javadocs/API_users_guide_3.html)

Noterai che in questa classe è presente un Thread in ascolto per la lettura dei messaggi in input.

Provala e vedi se la bilancia invia segnali attesi.

Ciao

vince821
07-11-2005, 15:47
scusa se ti rompo le scatole ti volevo dire che ho fatto come tu hai detto ma non funziona :oVVoVe:

io uso eclipse

ciao e grazie :ciauz:

eumene
07-11-2005, 16:25
Cosa non funziona? Riesci a trovare le porte seriali e parallele del PC?

Prova il seguente codice e dimmi se ti restituisce qualche output, ovvero se trova le porte seriali del tuo PC.

Ovviamente assicurati di:
[list=1]
Aggiungere il comm.jar al classpath
Aggiungere la win32com.dll nella cartella <jre>/bin
Aggiungere il javax.comm.properties nella cartella <jre>/lib
[/list=1]



import javax.comm.*;

/**
*

SimpleRead modificata</p>
*

Copyright: Copyright (c) 2005</p>
*
* @author Eumene
* @version 1.0
*/
public class ShowPort {
static CommPortIdentifier portId;
static Enumeration portList;

public static void main(String[] args) {

portList = CommPortIdentifier.getPortIdentifiers();

while (portList.hasMoreElements()) {
portId = (CommPortIdentifier) portList.nextElement();
System.out.println("Found port: " + portId.getName() + " " + portId.getPortType());
}
}
}



Fammi sapere.

Ciao

vince821
07-11-2005, 16:33
il comm.jar lo devo aggiungere alla cartella lib

:ciauz:

vince821
07-11-2005, 16:47
Ho fatto i passagi che tu mi hai detto nel momento in cui scrivo il tuo pezzo di codice che mi hai scritto mi da una serie di errori tipo:

Multiple markers a this line
-The declared package does not match the expected package
-The import javax.com cannot resolved
oppure
the public type ShowPort must be defined in its own file
:oVVoVe:

grazie ancora

eumene
07-11-2005, 17:13
Avevo dimenticato di importare il package java.util


import javax.comm.*;
import java.util.*;

/**
*

ShowPort</p>
*

Copyright: Copyright (c) 2005</p>
*
* @author Eumene
* @version 1.0
*/
public class ShowPort {
static CommPortIdentifier portId;
static Enumeration portList;

public static void main(String[] args) {

portList = CommPortIdentifier.getPortIdentifiers();

while (portList.hasMoreElements()) {
portId = (CommPortIdentifier) portList.nextElement();
System.out.println("Found port: " + portId.getName() + " " + portId.getPortType());
}
}
}


Poi



the public type ShowPort must be defined in its own file


chiama il file ShowPort.java, ovviamente.

L'ho testato e mi funziona.

Ciao.

Loading