polilies Posted November 3, 2011 Share Posted November 3, 2011 Hi, i'm trying to read registers from an "analizor" which the registers starting from 0000h address. And i'm using "readholdingU16" function to read multi register at once but what i get is only 20 registers value. So is there a limitation about this stuation? is the limit 20 for "readholdingU16" function? Cause when i try this via another program i can get datas more then 20. thank you so much. Link to comment Share on other sites More sharing options...
AzeoTech Posted November 4, 2011 Share Posted November 4, 2011 There is a limit defined by Modbus, but its not 20. It varies depending on TCP vs RTU. I'm guessing you are displaying the result in a variable value control? This control only displays the first 20 elements of an array, so this is likely why you are only seeing 20 values. Note that you can create separate channels for all your registers, and provided they are sequential and have the same timing/offset and I/O type, DAQFactory will automatically combine them into a single read. Link to comment Share on other sites More sharing options...
polilies Posted November 24, 2011 Author Share Posted November 24, 2011 thank you so much for your answer. now i can see it. i need to ask something but i can't sure should i write this to a new toic? İ need to use DAQ as a modbus TCP slave and i want to read multiple registers from DAQ. is making the register adresses serial enough to read them?(more than one) Link to comment Share on other sites More sharing options...
AzeoTech Posted November 24, 2011 Share Posted November 24, 2011 As long as you have consecutive slave registers assigned, DF will return a block. If, however, you ask for 5 registers starting at register number 2, and you don't have register 4 assigned, DF will not return anything. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.