Clear Filters
Clear Filters

I am trying to setup a serial communication with a optical power meter and I am not able to read the returned string.

11 views (last 30 days)
I am using a newport power meter (91936-R) with RS232. I set up the communication with the following code beow. I am running into a weird situation.
The readlinerespone is The first is ""PM:CALDATE?" However when I send the readline command again I get the right response "30NOV2022". Its almost like readline stops once it reaches the first termination character and doesnt continue. I tried adding a pause incase I am reading the port too fast but no sucess.
I am not sure and matlab doesnt have more documention online on serial port so I was hoping someone can answer this.
clear s
clear all
s = serialport("COM12",38400);
configureTerminator(s,"CR/LF","CR");
writeline(s,"PM:CALDATE?")
% pause(4)
readline(s)
%readline(s)

Accepted Answer

dpb
dpb on 8 Aug 2024
Edited: dpb on 8 Aug 2024
"I cant turn it off on the keypad...."
I'd be pretty sure there is a place in the menu system given that the vendor manual says there is...you may not have found it yet, but it'll be there. Contact the vendor support if needs be; that isn't a MATLAB problem.
But
writeline(s,"PM:ECHO echo set")
won't be the correct syntax to turn it off...it'll need a value of <0> somewhere in the command -- whether the syntax includes an <=> sign or not you'll have to read the documentation to ascertain, but your command as above is not correct syntax, I'd be certain...
Dig more deeply into the documentation for examples and/or contact the vendor or ask in their support group; but this isn't MATLAB but the instrument command syntax that has to come from its documentation and/or the vendor.
8.3.3.8 ECHO
Description Echo command
Syntax ECHO echo set
Remarks The ECHO command is used to turn ON or OFF the
echoing of commands sent to the power meter over RS-232
communication interface. By default, the echo is turned
ON.
Response Value Description
echo set 0 Echo OFF
1 Echo ON
The doc specifically says the value of the "echo set" parameter is 0|1 to turn it off|on and the example at the beginning of the section shows there is no equal sign used, just space delimited.
The list of commands in table 8.3.1 on p 70 of the doc also does NOT include the "PM:" prefix that some others do; read and follow the details of each command precisely as they are documented...
writeline(s,"ECHO 0")
  2 Comments
dpb
dpb on 8 Aug 2024
Edited: dpb on 8 Aug 2024
ADDENDUM: I would submit that using
Response Value Description
could be a little misleading to the inexperienced instrumentation user--it would be more accurate if it were
Parameter Value Description
or
Argument Value Description
since it is a command, not a query.
I didn't go back and look at the manual again to see if this was just a one-time foopah where the ECHO? query command was copied over and the editors missed fixing it or whether it is consistent throughout. Either way, send the value desired, not the descriptive parameter name text in the format described.
SnooptheEngineer
SnooptheEngineer on 8 Aug 2024
I agree the documentation is quite misleading. I tried a few different combinations...
it turned out to be writeline("echo set0") while the manual syntax has it as ("ECHO echo set")
Now the real challenge is using usb instead of RS232 lol.
Thanks for your help

Sign in to comment.

More Answers (2)

dpb
dpb on 7 Aug 2024
Moved: dpb on 8 Aug 2024
"The RS232 Parameters are fixed at Baud Rate 38400, Data Bits 8, Stop Bits 1, Parity None, Xon/Xoff Xoff"
Have you verified the rest of the protocol besides the baud rate?
Looks like maybe the echo mode is on so you're seeing the instrument echo the command back to you...
7.4.1 Setting Echo Mode From the Keypad
The echo mode can be turned ON/OFF from within the menu structure.
7.4.2 Setting Echo Mode via Remote Interface
To set the echo mode use the “ECHO” command. Use the “ECHO?” to see if the echo mode is enabled or disabled.
  2 Comments
SnooptheEngineer
SnooptheEngineer on 8 Aug 2024
you're right ECHO is on. I cant turn it off on the keypad. No option to do so.I sent the writeline(s,"PM:ECHO echo set") and writeline(s,"PM:ECHO") commands and still am unable to turn off. When I check with ECHO? it gives me a value of 1 as still on
SnooptheEngineer
SnooptheEngineer on 8 Aug 2024
I can switch to usb Type B communication. But that doesnt show up under serial COM ports but under Universal Bus Devices which I dont know how to ping with serial since it doesnt have a COM name.

Sign in to comment.


Garmit Pant
Garmit Pant on 7 Aug 2024
Hello OmartheEngineer,
Based on the details you have provided, the output of the “readline” function seems to be the expected behavior of the function.
For loopback devices connected to a port, the data you write to the device is returned to MATLAB. According to the user manual of the Newport Power Meter (91936-R) device, it has multiple ‘ECHO’ modes. When the ‘ECHO’ mode is enabled, all characters sent to the power meter are echoed back over the interface. Therefore, if the device has its ‘ECHO’ mode enabled, the “readline” function reads the response as the message written using the “writeline” function.
You can refer to Section 7.4 “RS-232C Communication” in the user manual to get more information about the device communicating over the RS-232 port.
For further understanding, kindly refer to the following MathWorks documentation:
  • Refer to the ‘Examples’ section to understand the behavior of the “readline” and “writeline” functions: readline() Documentation.
I hope you find the above explanation and suggestions useful!

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!