RickJames Posted March 17, 2011 Posted March 17, 2011 I'm reading blocks of about 400 pointers(ptr) variables to memory locations and it's taking 150 milliseconds to get a response from the GetResponse method using the telnet protocol connection. If I double the number of variables requested, then it takes more than twice as long. As I remember, this was faster in the original beta version. If I read the sys data (sys.udata[]), then it takes 1/10th the time. I've been using an older version of the com library (1.0.3925.26557, dated 9-30-2010) that uses telnet protocol and is very slow. I was informed that there is a new version that uses SSH, doesn't have the telnet, and is much faster. I'd rather not waste any more time trying to solve a problem that might be solved with the correct version of the com library. Where can I get the latest version? Thanks, Rick
Omron Forums Support Posted March 18, 2011 Posted March 18, 2011 I'm reading blocks of about 400 pointers(ptr) variables to memory locations and it's taking 150 milliseconds to get a response from the GetResponse method using the telnet protocol connection. If I double the number of variables requested, then it takes more than twice as long. As I remember, this was faster in the original beta version. If I read the sys data (sys.udata[]), then it takes 1/10th the time. I've been using an older version of the com library (1.0.3925.26557, dated 9-30-2010) that uses telnet protocol and is very slow. I was informed that there is a new version that uses SSH, doesn't have the telnet, and is much faster. I'd rather not waste any more time trying to solve a problem that might be solved with the correct version of the com library. Where can I get the latest version? Thanks, Rick I send the updated Lib to you. But I am curious about your observation. Between telnet and SSH there is no huge difference. How are you reading these? If you have the latest IDE then go to Terminal window and right click to select control/general. In the property window you will see option for ShowResponseTime. Make it true. Now you can type commands like p1..400 and see how long it takes to receive data. I tested on my PowerPMAC…Initially I set P1..400 = 1/3 in the terminal window just to increase number of characters. Here is the response I get. Command: p1..400 Response 1677 chars in 203 msec Atul
RickJames Posted March 21, 2011 Author Posted March 21, 2011 I issued this command "variablename,384" in the terminal window of the IDE. and this is the response time I got "Response 360 chars in 140 msec. So that is inline with what your getting from your IDE, and what i'm getting in my VB application. Unfortunately thats just not fast enough to meet the requirements of my project. I need to retrieve 2000 pieces of data in less that 100 msec. I'm investigating alternative methods. Thank you for the tests and the info.
JeffLowe Posted November 21, 2013 Posted November 21, 2013 I issued this command "variablename,384" in the terminal window of the IDE. and this is the response time I got "Response 360 chars in 140 msec. So that is inline with what your getting from your IDE, and what i'm getting in my VB application. Unfortunately thats just not fast enough to meet the requirements of my project. I need to retrieve 2000 pieces of data in less that 100 msec. I'm investigating alternative methods. Thank you for the tests and the info. Did you ever find another method? Turbo screams compared with this.
bradp Posted November 22, 2013 Posted November 22, 2013 If you try the test yourself you will see the numbers above are just wrong. I do not know what was wrong back in 2011. On an empty 1GHz system I set p1..4000 = 1/3. Then I ask p1,4000 and get 106893 chars in 70.68 msec. Our customers who need even more speed write a program similar to GPASCII which just bypasses the ASCII part and reads data directly from shared memory and puts it on the ethernet port. To make life easy they have a fixed area and fixed set or variables to grab so they do not need much decoding. Something like Command1 gives a certain group back Command2 a different group back. They write the same way with the same idea. This is their code so I have no sample to share but there is a sample on the forum of making a cplc talk over ethernet to a host http://forums.deltatau.com/showthread.php?tid=59&highlight=host as a start point.
shansen Posted November 22, 2013 Posted November 22, 2013 Jeff, FWIW, using a custom driver I usually transfer 65536 bytes (equivalent to 8192 Pvars) every 5 ms without issue.
Recommended Posts