Why does the Tkdpo2k3k4k_ReadWaveform() function in the Tkdpo2k3k4k IVI-C driver time out every time I call it when I am connected to the instrument via Ethernet? The function call works fine over USB, but over Ethernet it always times out.
The Tkdpo2k3k4k_ReadWaveform() function makes use of the Service Request Event in VISA so the scope can notify the driver when it has completed its acquisition and the waveform data is ready to be fetched as opposed to the driver polling the scope for when it is done. The VXI-11 protocol that is used in Ethernet connections supports the Service Request event through the use of a different communications channel from the main communications channel that is used for sending commands and data. This secondary channel is often blocked by firewall software running on your computer.
To correct the issue of the Tkdpo2k3k4k_ReadWaveform() function timing out when used over Ethernet, you will need to add an exception to your firewall for inbound connections to your compiled application. Alternatively you can disable your firewall altogether, but you do so at your own risk. Please consult the documentation for your firewall software on how to add this exception or disable your firewall.