Reading data from device using TCP/IP

22 views (last 30 days)
akriti
akriti on 26 Jan 2024
Commented: akriti on 29 Jan 2024
Hello
I want to read the data from a device (IDQ-Time conroller) in matlab. I have written this code:
echotcpip("on",8080)
device = tcpclient("134.96.35.226",8080)
configureTerminator(device,"CR/LF")
terminator=device.Terminator
writeline(device,"INPU1:COUN?")
readline(device)
clear device
echotcpip("off")
NOTE: INPU1:COUN? is specified in the manual of the device. It retures the value in input1 of device.
The error is: Warning: The specified amount of data was not returned within the Timeout period for
'readline'.
'tcpclient' unable to read any data. For more information on possible reasons, see
tcpclient Read Warnings.

Answers (1)

Hassaan
Hassaan on 26 Jan 2024
This could be due to a variety of reasons:
  1. Check Network Connection: Ensure that the device is properly connected to the network and that the IP address 134.96.35.226 and port 8080 are correct. Verify that the device is reachable from the computer running MATLAB. You can use a network utility like ping to check the connectivity.
  2. Device Configuration: Make sure that the device is configured to accept TCP connections on the specified port. Also, confirm that any necessary network settings (like firewall rules, port forwarding, etc.) are appropriately set up to allow communication.
  3. Terminator Configuration: The terminator CR/LF (Carriage Return/Line Feed) you have configured should match the line ending format used by your device. If the device uses a different terminator for its messages, MATLAB might not recognize the end of the message, resulting in a timeout. Check the device manual for the correct terminator.
  4. Command Syntax: Double-check the command INPU1:COUN?. Ensure it's exactly as specified in the device manual, including case sensitivity. A wrong command might cause the device not to respond.
  5. Timeout Setting: If the device takes longer to respond, you might need to increase the timeout duration of the tcpclient object. You can set the Timeout property to a higher value.
  6. Device Manual and Support: Refer to the device manual for any specific communication protocols or settings required. Sometimes, devices need specific initialization commands or settings to be set before they can start communicating.
  7. Test with a Different Tool: To isolate whether the issue is with MATLAB or the device/network, try to communicate with the device using a different TCP/IP communication tool (like PuTTY or a similar network utility).
  8. MATLAB Documentation and Support: Consult MATLAB's documentation for tcpclient to ensure that the usage is correct. If the problem persists, consider reaching out to MATLAB's support community or the device's technical support.
How to increase the timeout:
device = tcpclient("134.96.35.226", 8080, "Timeout", 30); % Sets a 30-second timeout
-----------------------------------------------------------------------------------------------------------------------------------------------------
If you find the solution helpful and it resolves your issue, it would be greatly appreciated if you could accept the answer. Also, leaving an upvote and a comment are also wonderful ways to provide feedback.
It's important to note that the advice and code are based on limited information and meant for educational purposes. Users should verify and adapt the code to their specific needs, ensuring compatibility and adherence to ethical standards.
Professional Interests
  • Technical Services and Consulting
  • Embedded Systems | Firmware Developement | Simulations
  • Electrical and Electronics Engineering
Feel free to contact me.
  1 Comment
akriti
akriti on 29 Jan 2024
Thanks for your answer. I tried all the points from 1 to 6 nothing worked. I am trying to contact the device support but is there anything else that might be wrong ?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!