Go Down

Topic: controllo alimentatore agilent via seriale (Read 1 time) previous topic - next topic

aureliusss

ma il problema che riscontro io non è nell'inviare i comandi allo strumento, ma nel ricevere risposta:
se invio un qualsiasi comando, lo strumento risponde:
Esempio:
Code: [Select]

aliementatore.println("SYST:REM");(1)
alimentatore.println("OUTP:ON");(2)
alimentatore.println("APPL P6V,1.5,1.2");(3)


l'alimentatore risponde normalmente, (1)settandosi in controllo remoto, (2)abilitando l'output,(3)settando l'uscita a 1.5V 1.2A.

ma se invio una query
Code: [Select]
alimentatore.println("*IDN?");
lo strumento legge e processa la query, ma non scarica il buffer di output, infatti se invio un'altra query mi restituisce l'errore 410:query interrupted: il buffer di output è pieno e non può essere sovrascritto, perchè non ho letto la risposta, e non capisco perchè diamine non manda la risposta sulla seriale

spero di essere stato chiaro

MauroTec

Ok vero, diversamente non prenderebbe nessun comando rimanendo in attesa.

Io non conosco la procedura corretta per la query, evidentemente qualcosa si comporta in modo differente tra seriale pc e seriale TTL, di mezzo c'è anche il max, che viene meno con la connessione seriale PC <-> agilent. Potrebbe essere lui?

Con la connessine PC <-> agilent disabiliti anche DTR/DSR o lo lasci abilitato?

Potrebbe essere la seriale software? no,  hai già provato con quella hardware.

Ciao.

AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

aureliusss

alla fine ce l'ho fatta:
come scritto sul manuale agilent, bisognava disabilitare l'handshake, rendendo flottante il dtr e mettendo a livello logico vero il dsr.

PS. per livello logico vero, nonostante si parli di rs232, si tratta di connettere il dsr al pin 2(v+) del max232, ovvero circa +8V

Go Up