VISA: (Hex 0xBFFF0015) Timeout expired before operation completed
Just a list of things to check: 


Make sure your communication parameters match in the PC and instrument, besides baud the RS232 are 8bit packets, No Parity Bit, 1-Stop bit, Xon/Xoff software handshake;  
Ensure you are using a "straight through" serial cable, there is also a "null modem" cable where the wires are internally swapped, they look the same, but function differently; 


To be honest, I would try to get it to talk with Termite or Realterm first. Then, once you have things working there, try again in python.

Reading through the docs, you'll probably need to issue 

scope = rm.open_resource('ASRL3::INSTR', flow_control=visa.constants.VI_ASRL_FLOW_XON_XOFF)

or some such thing.

EDIT based on comment: 

Ok, if your device is using USB, this gets a whole bunch more interesting in a hurry. You will really need to do a:

&gt;&gt;&gt; import visa
&gt;&gt;&gt; rm = visa.ResourceManager()
&gt;&gt;&gt; print(rm.list_resources())


if you do not see an instrument with a USBx:: type address, NI's VISA drivers aren't being used for the device and PyVISA won't work. 

My STRONG recommendation is to use the NI MAX (measurement and automation explorer) program to ensure the NI-VISA drivers can see your device.

NI-VISA knows how to talk to a lot of different device drivers, but if it doesn't recognize your device driver, you can use the NI-VISA driver wizard to produce a new device driver for your instrument, which NI-VISA can talk to. THEN it should appear in NI-MAX, and then in PyVISA. 

Alternatively, you could also use Zadig to produce a libusbk driver for your device, then use python-usbtmc to control it from python.

Good luck.

Example: USB type device appearing in NI-MAX. Note the USB0:: address.


Example: Using NI-VISA Driver wizard to re-driver a device.