<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: TCP/IP transfer efficiency in LabVIEW</title>
    <link>https://ni.lithium.com/t5/LabVIEW/tcp-ip-transfer-efficiency/m-p/1672828#M596351</link>
    <description>&lt;P&gt;I have seen some strange things with TCP and Win7. Others have reported issues too on LAVA. Microsoft changed their stack and it seems to behave differently. Are you able to try your program on an XP machine?&lt;/P&gt;</description>
    <pubDate>Tue, 16 Aug 2011 20:22:25 GMT</pubDate>
    <dc:creator>Mark_Yedinak</dc:creator>
    <dc:date>2011-08-16T20:22:25Z</dc:date>
    <item>
      <title>tcp/ip transfer efficiency</title>
      <link>https://ni.lithium.com/t5/LabVIEW/tcp-ip-transfer-efficiency/m-p/1670934#M595915</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;I have cRIO-9075 with 4 modules the NI-9148 expansion chassis and host PC. As the 9075 is not too fast (small DMA channels, small Spartan) I want to transfer all data, read by cRIO from C Series modules, to the host PC and process them there. The modules are:&lt;/P&gt;
&lt;P&gt;9237 4 channels, bridge input module, 50 kSps x 4= 200 kSps&lt;/P&gt;
&lt;P&gt;9201 voltage input module 500 kSps&lt;/P&gt;
&lt;P&gt;9211 Thermocouple input module, 4 channels, data rate below 20 Sps&lt;/P&gt;
&lt;P&gt;9411 digital input module user for triggering the other modules&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;the expansion chassis will home 9203 200 kSps current input module and, (user can remove the 9411 and 9211 from cRIO and install them in the expansion chassis) 9411 + 9211.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The total data throughput is:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;500 kSps x 2Bytes = 200 kSps x 2 Bytes + 200 kSps x 3 Bytes= 2 MSps (this is the max transfer rate).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;On the CRIO I have two loops:&lt;/P&gt;
&lt;P&gt;time critical, high priority to read data from modules and put them to FIFO&lt;/P&gt;
&lt;P&gt;non-time critical for transferring data to the host PC.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To transfer data to Host I want to use TCP/IP.&lt;/P&gt;
&lt;P&gt;My question is how big should be the blocks of data I write to the "TCP Read" function and how often should I put them there?&lt;/P&gt;
&lt;P&gt;Please find attached example transfer loop. This piece of program transfers an array of 10 000 elements (uint32) to the host and handels TCP errors.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;Przemmo&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 15 Aug 2011 16:50:26 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/tcp-ip-transfer-efficiency/m-p/1670934#M595915</guid>
      <dc:creator>przemmo</dc:creator>
      <dc:date>2011-08-15T16:50:26Z</dc:date>
    </item>
    <item>
      <title>Re: tcp/ip transfer efficiency</title>
      <link>https://ni.lithium.com/t5/LabVIEW/tcp-ip-transfer-efficiency/m-p/1671228#M595975</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;I made something more, please find attached two files- these are the previously mentioned loops.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The time critical only reads data from modules and saves to queue&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Not- time critical receives data from queue, processes and sends to TCP Write function.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How long the timeouts should be? Maybe the streaming functions will be better for these purpose?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 15 Aug 2011 20:31:44 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/tcp-ip-transfer-efficiency/m-p/1671228#M595975</guid>
      <dc:creator>przemmo</dc:creator>
      <dc:date>2011-08-15T20:31:44Z</dc:date>
    </item>
    <item>
      <title>Re: TCP/IP transfer efficiency</title>
      <link>https://ni.lithium.com/t5/LabVIEW/tcp-ip-transfer-efficiency/m-p/1672660#M596312</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The TCP/IP data transfer rate is depend on your network properties. Generally in network we use 10/100 MBPS line so it indicates your transfer rate.&lt;/P&gt;
&lt;P&gt;In your recent system there is some system with 1 GBPS feature.&lt;/P&gt;
&lt;P&gt;The network transfer data rate is totally depend on your hardware specification.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks and Regards&lt;/P&gt;
&lt;P&gt;Himanshu Goyal&lt;/P&gt;</description>
      <pubDate>Tue, 16 Aug 2011 18:35:26 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/tcp-ip-transfer-efficiency/m-p/1672660#M596312</guid>
      <dc:creator>Himanshu_Goyal</dc:creator>
      <dc:date>2011-08-16T18:35:26Z</dc:date>
    </item>
    <item>
      <title>Re: TCP/IP transfer efficiency</title>
      <link>https://ni.lithium.com/t5/LabVIEW/tcp-ip-transfer-efficiency/m-p/1672718#M596323</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://ni.lithium.com/t5/user/viewprofilepage/user-id/3128"&gt;@Himanshu&lt;/a&gt; Goyal wrote:&lt;BR /&gt;
&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The TCP/IP data transfer rate is depend on your network properties. Generally in network we use 10/100 MBPS line so it indicates your transfer rate.&lt;/P&gt;
&lt;P&gt;In your recent system there is some system with 1 GBPS feature.&lt;/P&gt;
&lt;P&gt;The network transfer data rate is totally depend on your hardware specification.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks and Regards&lt;/P&gt;
&lt;P&gt;Himanshu Goyal&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;In addition the ultimate throughput will also be dependent on what other traffic is on the network.&lt;/P&gt;</description>
      <pubDate>Tue, 16 Aug 2011 19:15:19 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/tcp-ip-transfer-efficiency/m-p/1672718#M596323</guid>
      <dc:creator>Mark_Yedinak</dc:creator>
      <dc:date>2011-08-16T19:15:19Z</dc:date>
    </item>
    <item>
      <title>Re: TCP/IP transfer efficiency</title>
      <link>https://ni.lithium.com/t5/LabVIEW/tcp-ip-transfer-efficiency/m-p/1672804#M596343</link>
      <description>&lt;P&gt;Hello!&lt;/P&gt;
&lt;P&gt;Thank for reply.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Yes, these are basic infirmation concerning TCP. Both Hosta and cRIO have 100Mbps ethernet cards. But my question is how to organize the pransfer as it doesn't work. Maybe I can set buffer size in Windows 7 to bigger size? I haven't found any information about buffer size in cRIO 9075 (?). What else can I do?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Przemek&lt;/P&gt;</description>
      <pubDate>Tue, 16 Aug 2011 20:03:58 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/tcp-ip-transfer-efficiency/m-p/1672804#M596343</guid>
      <dc:creator>przemmo</dc:creator>
      <dc:date>2011-08-16T20:03:58Z</dc:date>
    </item>
    <item>
      <title>Re: TCP/IP transfer efficiency</title>
      <link>https://ni.lithium.com/t5/LabVIEW/tcp-ip-transfer-efficiency/m-p/1672828#M596351</link>
      <description>&lt;P&gt;I have seen some strange things with TCP and Win7. Others have reported issues too on LAVA. Microsoft changed their stack and it seems to behave differently. Are you able to try your program on an XP machine?&lt;/P&gt;</description>
      <pubDate>Tue, 16 Aug 2011 20:22:25 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/tcp-ip-transfer-efficiency/m-p/1672828#M596351</guid>
      <dc:creator>Mark_Yedinak</dc:creator>
      <dc:date>2011-08-16T20:22:25Z</dc:date>
    </item>
    <item>
      <title>Re: TCP/IP transfer efficiency</title>
      <link>https://ni.lithium.com/t5/LabVIEW/tcp-ip-transfer-efficiency/m-p/1673318#M596474</link>
      <description>&lt;P&gt;Will try to run my program on XP.&lt;/P&gt;
&lt;P&gt;For now I wrote a very simple program for the cRIO- it sends an array 400 long to the Host. It works correctly. But when I incerase the size of the array the time necessary to send it increases twice (can be seen on both windows 7 and cRIO ). When I increase the size to 1600 Bytes the time increases.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It looks like the transfer limit- but somehow I do not believe.&lt;/P&gt;</description>
      <pubDate>Wed, 17 Aug 2011 06:55:35 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/tcp-ip-transfer-efficiency/m-p/1673318#M596474</guid>
      <dc:creator>przemmo</dc:creator>
      <dc:date>2011-08-17T06:55:35Z</dc:date>
    </item>
    <item>
      <title>Re: TCP/IP transfer efficiency</title>
      <link>https://ni.lithium.com/t5/LabVIEW/tcp-ip-transfer-efficiency/m-p/1673342#M596478</link>
      <description>&lt;P&gt;Using tcp u have to consider the data maximum data size. about 1500 bytes (?) not sure....&amp;nbsp;&amp;nbsp;&amp;nbsp; when you go over that size tcp use fragmentation of the data to send them.&lt;/P&gt;
&lt;P&gt;This means that u double the time to send them when u oversize the limit even of one byte......&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Often the use of tcp is a wrong choice... may be the better choice is udp, udp have bigger data size and do not nead the round back time of the acknwledge.....&lt;/P&gt;
&lt;P&gt;So is faster then tcp.... U can easily insert a packet number in your datagram to check the consistency of your data and eventualy work around a lost of a packet......&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;have a look to tcp/udp &amp;nbsp;datagram on the net.....&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;bye&lt;/P&gt;</description>
      <pubDate>Wed, 17 Aug 2011 07:22:16 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/tcp-ip-transfer-efficiency/m-p/1673342#M596478</guid>
      <dc:creator>Gandalf_il_bianco</dc:creator>
      <dc:date>2011-08-17T07:22:16Z</dc:date>
    </item>
    <item>
      <title>Re: TCP/IP transfer efficiency</title>
      <link>https://ni.lithium.com/t5/LabVIEW/tcp-ip-transfer-efficiency/m-p/1673722#M596561</link>
      <description>&lt;P&gt;Hello Gandalf,&lt;/P&gt;
&lt;P&gt;It is not a problem- the packet size. The TCP Read function handles it for you.&lt;/P&gt;
&lt;P&gt;Most probably there is a problem with Ethernet card settings under Windows 7.&lt;/P&gt;
&lt;P&gt;I think Polish Support Enginner helped me to solve the issue. Will report.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you,&lt;/P&gt;
&lt;P&gt;Przemek&lt;/P&gt;</description>
      <pubDate>Wed, 17 Aug 2011 12:52:24 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/tcp-ip-transfer-efficiency/m-p/1673722#M596561</guid>
      <dc:creator>przemmo</dc:creator>
      <dc:date>2011-08-17T12:52:24Z</dc:date>
    </item>
    <item>
      <title>Re: TCP/IP transfer efficiency</title>
      <link>https://ni.lithium.com/t5/LabVIEW/tcp-ip-transfer-efficiency/m-p/1673782#M596577</link>
      <description>&lt;P&gt;Hi przemmo,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;An alternative would be to simply use the data streams method, I have been investigating this with my system (2 cRIO's generating 169KB/s), my thread is &lt;A href="http://forums.ni.com/t5/LabVIEW/Passing-Data-between-cRIO-targets/td-p/1672132" target="_self"&gt;here&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The data streams are good because you can put any data type in, and as long as you know how to define it at the other end you will get the data out without any further manipulation.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Dom&lt;/P&gt;</description>
      <pubDate>Wed, 17 Aug 2011 13:22:04 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/tcp-ip-transfer-efficiency/m-p/1673782#M596577</guid>
      <dc:creator>DominicRoberton</dc:creator>
      <dc:date>2011-08-17T13:22:04Z</dc:date>
    </item>
    <item>
      <title>Re: TCP/IP transfer efficiency</title>
      <link>https://ni.lithium.com/t5/LabVIEW/tcp-ip-transfer-efficiency/m-p/1673924#M596609</link>
      <description>&lt;P&gt;hi of course the function handle it for you, fragmentation of the packets are managed by tcp ip.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To verify just try an ethernet analyzer like wire shark......&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You will see with your eye....&lt;/P&gt;</description>
      <pubDate>Wed, 17 Aug 2011 14:25:28 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/tcp-ip-transfer-efficiency/m-p/1673924#M596609</guid>
      <dc:creator>Gandalf_il_bianco</dc:creator>
      <dc:date>2011-08-17T14:25:28Z</dc:date>
    </item>
    <item>
      <title>Re: TCP/IP transfer efficiency</title>
      <link>https://ni.lithium.com/t5/LabVIEW/tcp-ip-transfer-efficiency/m-p/1673938#M596613</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://ni.lithium.com/t5/user/viewprofilepage/user-id/4716"&gt;@Gandalf&lt;/a&gt; il bianco wrote:&lt;BR /&gt;
&lt;P&gt;hi of course the function handle it for you, fragmentation of the packets are managed by tcp ip.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To verify just try an ethernet analyzer like wire shark......&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You will see with your eye....&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;You will not see any significant benefit from fragmentation or the lack of it when using UDP over TCP. Both are constrained by the packet size of Ethernet. UDP is faster since there is less overhead but you are also subject to potential data loss. With TCP you will not lose data. If you are sending large data sets TCP and UDP will be very similar in terms of packet fragmentation as both will send maximum size Ethernet packets. Again, UDP has less over head so it can stream data faster than TCP as long as you can be tolerant of potential data loss.&lt;/P&gt;</description>
      <pubDate>Wed, 17 Aug 2011 14:32:03 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/tcp-ip-transfer-efficiency/m-p/1673938#M596613</guid>
      <dc:creator>Mark_Yedinak</dc:creator>
      <dc:date>2011-08-17T14:32:03Z</dc:date>
    </item>
  </channel>
</rss>

