Jump to content

Recommended Posts

Geschrieben (bearbeitet)

Hi All!

to communicate with pumps in a test rig, I use a RS232 bricklet. Communication seems alright when I use BrickViewer and was already able to send commands and recieve data (see image).

image.png.79402f2f1afc0329428c285d6e633a20.png

As future communication should be run by a MATLAB script, I tried sending the same command in the following code (derived from the RS232 Bricklet Example), which did not work at all. 

clear
clc
import com.tinkerforge.IPConnection;
import com.tinkerforge.BrickletRS232V2;
import java.lang.String;

HOST = 'localhost';
PORT = 4223;
UID = 'MyUID'; % Change XYZ to the UID of your RS232 Bricklet 2.0

ipcon = IPConnection(); % Create IP connection
rs232 = BrickletRS232V2(UID, ipcon); % Create device object
ipcon.connect(HOST, PORT); % Connect to brickd

rs232.disableReadCallback();
rs232.write(String('OUT_SP_1 100').toCharArray());
ipcon.disconnect();

I also tried adding \r\n to the char, which also did not work. Can you tell, where my fault is? 

bearbeitet von j.wagner96
Geschrieben

Try this.

clear
clc
import com.tinkerforge.IPConnection;
import com.tinkerforge.BrickletRS232V2;
import java.lang.String;

HOST = 'localhost';
PORT = 4223;
UID = 'MyUID'; % Change XYZ to the UID of your RS232 Bricklet 2.0

ipcon = IPConnection(); % Create IP connection
rs232 = BrickletRS232V2(UID, ipcon); % Create device object
ipcon.connect(HOST, PORT); % Connect to brickd

% make sure the Bricklet has the expected configuration
rs232.setConfiguration(9600, BrickletRS232V2.PARITY_NONE, BrickletRS232V2.STOPBITS_1, BrickletRS232V2.WORDLENGTH_8, BrickletRS232V2.FLOWCONTROL_OFF);

rs232.disableReadCallback();
rs232.write(String('OUT_SP_1 100\r\n').toCharArray());
ipcon.disconnect();
Geschrieben (bearbeitet)

Thanks for your help! Manually setting the configuration sadly didn't have an effect and the device does not react to any commands sent by the matlab script.

bearbeitet von j.wagner96
Geschrieben (bearbeitet)

That seems right, but there's still no reaction of the device. 

 

EDIT: Found the error.

Instead of adding the CR and LF like in your advice

rs232.write(String('OUT_SP_1 100' + char(13) + char(10)).toCharArray());

, concatenate it like so: 

rs232.write(String(['OUT_SP_1 100' char(13) char(10)]).toCharArray());

that worked - at least - for me.

bearbeitet von j.wagner96

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...