Modbus error 6101

Hi everyone,
In order to get the data from a Modbus device from its 768 to 2314 address, I use the MB Serial Master Query.vi twice because I can not get all the data in one go. Although I 've gotten all data with this way, many 6101 errors appears. For instance, if I request ten times the data from the Modbus device, 6 times the 6101 error appears. I've changed the timeouts but it hasn't worked. 
I would like to know how I could get all data in one request, is it possible? I attach the VI that I am using.
I'd really appreciate any help.
Thanks,
Juan Carlos
Attachments:
Read data from Modbus device.vi ‏30 KB

Thank you very much tst and uncle bump for your help.
Now I know why I could just get 110 Modbus registers in one read. Also I made some tests and I've realize that if the number of modbus registers to be read, increases, I have to increase the timeout in the MB Serial Master Query.vi (approximatedly 2 sec with 110 registers to read if I don't want to get the 6101 error).
However, in according with your comments I think it depends on the Modbus device, because I also got data from another Modbus device, but  I could just read 40 modbus registers in one read.
A last question is if timeout errors (such as 6101 error) depend on the speed and  security of a network (WAN) if I am using virtual ports? The problem that I have is the Modbus program works in some networks but in other ones there are a lot of 6101 errors and the data aren't right in most of the reads.
By the way, the program is in LabVIEW 8.2 and I can't change the version.
Thanks again, and I hope you can help me.
Juan Carlos.

Similar Messages

  • Modbus error code 6101 and framing error

    Using the Vi's MB INIT and MB WR to monitor the registers of a Micro-Motion sensor but keep getting either Framing error 1073807253 or timeout 6101. The communication is RS232, 1 stop bit, RTU (8 data bits), 9600 Baud and the program reads 50 consecutive registers (Floating), timeout is set to 2000 ms. Usually the errors occur after about 5 minutes or so.
    Labview Version 8.5
    Labview Version 8.6
    Labview Version 2013

    Hello Romain
    Please find attached my Vi. I have reduced the amount of registers taht were originally read from 50 down to 20 and increased time delays which seems to have removed the error code problem.
    However I still miss data, for example the temperature reading will be fine for a few minutes but then go to zero or a large number. The same thing occurs with other registers that are being read.
    Thanks
    Jack
    Labview Version 8.5
    Labview Version 8.6
    Labview Version 2013
    Attachments:
    MODBUS MVD VER1.vi ‏37 KB

  • Modbus errors when making object connection

    I have a telemetry system that currently has 37 RTU's and uses Lookout 6.0.2. We are adding an additional site ( pump station with controls) and I am experiencing a probleml when making the "connection" between a control object (00001) and a switch. With the RTU up and running without the switch connection, modbus statistics show valid response frames at 100% with no errors. Input states can be changed and the software works properly and dispays the correct state. AS SOON as I make the connection between the control object and the switch, modbus statistics show "no response" errors immediately and the software X's out all of the dispayed objects for that RTU. If I change the switch position, the RTU responds and turns on or off the corresponding output even though the software says the RTU in not responding. I have tried creating a new modbus driver and making a simple connection between a control object and a switch with the same result. If I re-address my RTU to a lower number that is not in use, such as 13, everything works normally. I do not have the luxury of just going to a lower number as the system is currently undergoing expansion and will continue to grow beyond the mark of 40 units in the field. Anybody seen this before?
    Thanks
    Brad Adams
    Service Manager
    CommTech
    441 Donelson Pike, Suite 420
    Nashville, TN  37214
    Phone: 615-889-4756
    Fax:      615-391-0300
    Cell:      615-477-8975
    [email protected]
    "once you eliminate all other possibilities, what's left, however improbable, must be the solution"

    Are you using serial modbus ASCII, RTU or TCPIP?  Also, what type of radios are you using?  I have noticed some errors with MDS radios when attempting to pass some binary codes through them.

  • Modbus error 6010 Exception code: 10

    Hello to all,
    I need help with the modbus library, I just downloaded it and since I am not an expert at modbus I'm having some troubles using it. Basically what I want to do right now is to read two input registers of a slave device (address 1006 and 1007); using MB Ethernet Master Query Read Holding Registers (poly).vi. All I get is an error 6010 MODBUS Exception code: 10. I saw the MB Ethernet Example Master.vi to compare it with mine and see if I was missing something but I haven't been able to solve the problem.
    I am putting a screenshot of the block diagram.
    Please someone tell me what I am missing!
    Solved!
    Go to Solution.

    The default address of the slave device is 1, I put it in the Unit ID of the MBAP cluster, and the error disappeared. Apparently now is reading something, I don't think the reading was correct but maybe it's something related with the register address.
    But at least is now reading something without an error.
    Thanks for the help!!

  • Modbus error 1073807194 with FTDI CHIP RS485

    Hi,
    I am using modbus library  to control a Lumen temperature controller. The controller is connected trough  RS485. I am using a FTDI chip with VCP driver to interface this component.
    The modbus transfer is in RTU mode.
    On each step : 
    I am reading the temperature on a device's register.
    I am writing relay set point depending on time and consign.
    My program is working fine during one hour (sometime 2 or 3 hour). next I have this error :
    Error -1073807194 occurred at VISA Write in MB Serial Transmit.vi:7->MB Serial Master Query.vi:6->MB Serial Master Query Read Holding Registers (poly).vi->read-register-safe.vi->boucle-temp.vi
    Possible reason(s):
    VISA:  (Hex 0xBFFF00A6) The connection for the given session has been lost.
    This error occurs during a reading period.
    I attache the VI :
    Boucle-temp-safe is the main program.
    Read-register is the sub program generating this error.
    I hope you could help, i am using this program to control the temperature cycle when i press ski (handmade ski build with friend). I have to set the set point manually for the moment.
    Attachments:
    boucle-temp-sqfe.vi ‏36 KB
    read-register-safe.vi ‏25 KB

    Hello,
    I think i solve my problem.
    My usb transducer was buy on ebay with a ftdi chip.This transducer isn't stable in time (2-4hour).
    I buy a new ftdi transducer on ftdi web shop and now it seem to work (22h). I have to test it on a longer period.
    Thank you for help.

  • LabView 2014 - DSC module with Ethernet Modbus: Error 56

    Sorry,
    I try to connect modbus by Labview 2014 DSC module like this figure, and it occurred error code 56 at "Read Input Registers",
    I have look for many soluctions, but still fail, can someone help me? thank you very much!

    Did you confirm the address and port of your slave device is correct? Also, is your device a modbus master device or slave device?
    I suggest you to read the help first, and then run the corresponding example
    You can run the two example to test if the modbus function is OK. Then you can come back to test your third party device.

  • Modbus 6101 error

    Looking for advice/help with an issue.  I wrote an applicaton (LV2011) and built it with application builder for a customer. This project is out of the country and was working when I left ( around 2 hour test while I was there).  They are saying that now they are getting a 6101 time out error message after an hour or two of running and they have to close and then re-open the application to re-establish communication.  I am using the modbus library to communicate with 3 station addresses (plc and 2 vfd's).  Everything so far to me is pointing to noise distortion probably happening at the USB to serial converter.  I actually have a USB to RS232 converter then RS232 to RS485 converter attached to a USB port on the project.  The run is very short (less than 20 feet) and I did not use termination resistors at the beginning or end.  I am not to good with networking and am at a loss for what is happening.  I have read up on USB which seems to use 5V levels for communications which is much more suseptable to noise then the 12V levels of RS485.  At my facility when I connect a USB to RS232 converter and do not attach anything to the serial side I get a Modbus error not a general 6101 timeout error.  Now this could be because I am not intializing properly to begin with and they are but not sure and will run some more test with equipment hooked up to get past the initializing function and then simulate dropping the communication ( I think I remember that is also a specific modbus error not general 6101 error).  If that is the case where they are actual modbus visa read/write errors and not a general 6101 error then to me it is sounding like an error at the protocol level (i.e. RS485 or USB) and not at the application protocol level (i.e. modbus).  Excuse me if that terminology is off (not really good with networking and only know enough to be dangerous).  Anyway I am not sure where to go from here so any advice where somebody has seen an issue where it is working for over an hour and then loses communication would be extremely helpful.  Thanks in advance 

    Thanks for your reply.  I actually read your threads previously when looking up my issue.  I am trying to get more information from my customer now.  Of course when it failed my customer was not there and the maintenance guy just restarted Windows and the application to get it back up an running and does not remember what was on the screen at the time.  There is also a language barrier I am fighting through but after reading your old posts and some others I wanted to list a few things to see what your thoughts are.  
    -My customer mentioned that the incorrect serial communication port was selected for the VISA resource.  I only give my customer this option when the program starts up and then they do not have access to change it later and is required to restart the application to change it.  This could have been a result of the maintenance man trying to restart the application and selecting the wrong port but I did read your post where something similar happened with what you called MAX at the time (not sure what that is but figuring it may have been similar to the VISA resource).
    -I do not have any waits in my while loop that is doing the communications that is running in parallel with other code which seems to be an issue for others in the past?  Not sure why (although reading up on this seems to have to do with CPU usage) but the computer is meant to be dedicated to the application at hand so I am fine with as much of the CPU being delegated to the application as possible since they are not suppose to be using the computer for anything else.
    -With the change to only RS232->RS485 I am getting at least 2 or 3 days of working performance.  I am new to Labview and using Windows for industrial control but in my experience in the past with regular HMI's and PLC's if the code works for 2 days it will work indefinitely the same way until an outside influence affects it (i.e.. Generator starting up, lightening strike, ect).  For me this just seems like a very long time to work and then stop but again I am not really a fan nor am I used to using Windows.
    -Trying to trouble shoot this and using what I have found so far I am logically trying to think about what could be happening (not using the PC itself or Windows in the equation because it adds to many variables):
    First Item
    -USB converter in the equation was working for upwards of 2 hours and then dropped communication with a 6101 error and could not regain it no matter how many times the user clicked ok.  Basically went the specified timeout period and then throws the error again every time  once it fails.  Also when restarting the application after getting the error results in the program working but fails in significantly less time ( i.e.. 10 minutes).  
    First Conclusion
    -Trouble shooting tells me that the code I wrote is probably fine and noise eventually distorts the signal beyond repair.  This conclusion may be incorrect as I am used to dedicated hardware (i.e. plc's) that when it works once it works the same way every time.
    Second Item
    -Taking out the USB converter and use the on board serial port extended working time from 2 hours to 2 days.
    Second Conclusion
    Again leans toward noise being the culperate since the serial performed much better but still failed.  If it was simply a hardware problem with the USB converter then I would expect the system to run perfectly now and problem solved but since both methods eventually failed it now seems that the problem still exists but the Serial communication handles the problem better than the USB which higher voltage levels of serial communication probably allows for more signal distortion then lower voltage levels of USB.
    Anyway figured I would put down in words what I am thinking so that if my thought direction is not correct or I am not considering something that should be considered you may be able to explain to me other influences that need to be taken into account.  Thanks in advance for any help you can provide in corrected my thinking or advice on things to try.  For now on the next failure I plan on getting the time period between start and failure, checking what is required to get communications back (i.e. simply clicking ok on the error or restarting the application), possibly having them install the terminating resistor (120 ohm) at the end point to see how this affects the system.

  • Timeout error (code 6101) for acquisition from MODBUS instrument

    I am experiencing a problem which other users have reported, but for which little useful information has been posted:
    I am trying to acquire data from an instrument using MODBUS RTU protocol.  The code works as desired for a while, but will intermittently stop executing and give a timeout error, code 6101.  This code seems to be associated with the MB Serial Master Query sub VI.  In the past, I was getting this error as a result of RF noise corrupting the signal in the USB connection to the instrument.  Removing the USB cable from the noisy environment eliminated the problem.  I am now having the problem with an RS 485 line in the noisy environment, which should be very stable in noisy environemnts. 
    My question:  is there a coding trick i can use to reconnect in the event that a corrupt signal occurrs (or some other problem which results in the intermittent appearence of the error 6101)?   I've increased the timeout value on the MB Serial Master Query sub vi, but this hasn't helped.  Any input is appreciated.  In case it's useful, I've posted a simple version of code which generates the problem. 
    Thanks,
    Paul   
    Attachments:
    Floating point 1.12.vi ‏24 KB
    timeout error1.JPG ‏31 KB

    Thanks for your input, Ravens Fan.  I am indeed getting a popup error message with the timeout.  I agree that putting the MODBUS read in its own loop would solve the problem.  However, I'm struggling with trying to figure out how to actually do this.  Should I put the read in a case structure or a while loop?  How do I go about looping back to re-execute the read statement?  I think so called "state machine architecture" seems to be where I should be going. Some example code would be greatly appreciated. 
    paul  

  • MODBUS - 6101 Time Out Error

    Hi,
    I have a Honeywell UDA2182 controller and am trying to read 3 data channels from it using Labview 2010 SP1 (running on XP with the VISA and MODBUS libraries installed). The PC is connected to the controller via a RS485 - USB converter.
    I keep getting Error 6101 - time out error and can't resolve the problem.
    The channels are from registers lines 0-3 for inputs 1 and 2 and 37-38 for input 3. If I read only inputs 1 and 2 then I don't get this error. If I read all 3 (involving reading registers 0-38) then the error occurs. It seems like it can't deal with so much data. Is there a way of reading 0-4 followed by 37-38 or only registers 0-4 and 37-38? I tried to do this using a flat sequence structure but it dosen't work, the software runs really slowly and does not sample at the correct frequency.
    This reading the channels extra channels that i'm currently reading might not solve my problem and hence I'd obviously be open to suggestions on how to remove this error. I have had a read up on this error but haven't managed to solve it.
    I have attached the sequenced and origional .vi's i have made.
    Attachments:
    Hydro Stacked.vi ‏104 KB
    HydroORIG.vi ‏100 KB

    Carlr,
    Your modified code doesn't work because you've opened to references to the same VISA resource.  See the attached snippet for an example of reading two different things from the same instrument.
    Attachments:
    MODBUS Read.png ‏53 KB

  • Modbus Help!

    Hi,
    Firstly i keep getting a timeout error  6101 when i run my code, i have read the threads and i still keep getting this error. Perhaps it is the data i am inputting i am not sure. My device is an ADAM 4024. I perhaps need help with my configuration.
    I am trying to control a power supply through my device.
    Channel 0 controls the voltage and channel 1 the current.
    I want to initially have 0 volts/ amp when i start up then apply 2 volts/ 1amp in the next step? But i am unsure how to do this with modbus.
    The manual provides the following information:
    40001 address is channel 0 read/write and outputs the current value
    40002 address is channel 1 read/write and outputs the current value
    I believe my starting address is 40000 so i input 0 as labview starts at 0? Is this corrrect?
    And that i should use function3 read holding registers.
    I dont know what data to put into my registers if i use write mutiple or data quantity if i use read holding register?
    I have attached a vi, but i dont know if i require two master query.vis one to write multiple and the other to read holding register. Please help
    Thank you.
    Solved!
    Go to Solution.
    Attachments:
    ADAM-4024.vi ‏15 KB

    40001 address is channel 0 read/write and outputs the current value
    40002 address is channel 1 read/write and outputs the current value
     Typo? info shows both registers as current value.
    Modbus clients and servers tend to mix zero based and 1 based addressing and is a hit or miss affair. IMO YMMV
    To write data to these holding registers you can use function code 16 and write both with a single master query.
    As a check, you can download modbus poll from modbustools.com and use it to check the addressing scheme, I am guessing that if you enter 40000 and have the base addressing wrong (it is settable in modbus poll) the slave would respond with invalid address as 39999 is outside holding register area.
    To confirm the Adam got the info, you can read the same registers with function code 3.
    The Ethernet master query read/write function blocks include an output terminal for exception code. (I assume the serial do as well) If you tie this to an indicator, is the slave saying anything with an exception code.
    I can't open your vi as I am still running 2011.

  • Modbus - HELP for final exam

    Good morning.
    We are two students of a technical institute who are attending the last year and as a topic of dissertation for the " state exam " are using language with Labview Modbus . The purpose of this experience is to be able to carry through a program run with Modbus and Labview , monitoring of the photovoltaic devices via 3 "SLAVE" ZR- TIDCI - OPT1 -EM and a "MASTER" ZC -GW -ETH -EM . We started trying to understand the various library functions NI Labview Modbus present in starting and helping with the examples already set in the program and then process them. We were able to set the various elements, such as the IP address of the MASTER , the IDs of the slave etc. . , But after several steps we are stuck because of an "ERROR 63 occurred at TCP Open Connection" .
    The error is present in the block " TCP Write " in the " MB Ethernet Transmit" .
    A possible cause of the problem could be the "transaction ID " ?
    Some might auitarci ?
    The exam is near ...

    Hi all,
    did you try to run the ModBUS TCP (Master/Slave) Examples? They are very simple and are good starting points for developing more complex applications.
    Download the modbus_library here. You'll find the above example in the .llb you'll download.
    Anyway the error 63 come from a wrong TCP setting (IP Address or Communication port). Check if the communciation port is not currently used by other processes or try to change it. Try to run master and slave examples on the same machine with "localhost" as IP address.
    In the following there are some Modbus error related links:
    What Are the Most Common VI Server Errors?
    How Do I Use Remote VI Server Over the Network?
    Introduction to Modbus
    I hope that these informations will help you with your exam preparation.
    GOOD LUCK and best regards.
    Cla_CUP
    NI ITLAY
    AE Dept.

  • Is 1.2 version of Modbus library compatible with labview 2010 10.0 ?

    I am new to labview am trying to get a .vi written by someone else on a different computer. When I got the .vi and tried to open it, it started looking for Modbus library. 
    On the website, I only see the 1.2 version of the library which contains libraries for 7.1 to 8.6 versions.
    How can I resolve this issue?
    Thanks,
    Cp

    Thanks for the accurate response. I just added the files as suggested in the ReadMe.html that came along ignoring the version. It asked me to save changes and that was it. No more Modbus errors.
    I won't really be able to test the full function till later this week, till then, I am satisfied with this solution.
    Thanks for you help.
    Cheers
    cp

  • Drivers Stop when mailer sends email

    We have recently deployed a proven mailer process to a customers existing installation. The process sends out a text message based on alarm conditions. On our customers computer whenever the mailer object is triggered, both an AB driver (ethernet to a SLC500) and a Modbus driver (TCP/IP) generate communication alarms and will not restart until Lookout is shutdown and restarted.  Simply restarting the driver process will not restart the communications. The Modbus error is "No response from socket", the AB  error is "cannot communicate with device (code=2)". There is also a DirectLogic Plus driver object that provides ethernet communications to several Koyo PLCs, this driver is not affected. I can NOT duplicate this at our office, our test setup works as expected. We have tried this both with and without using a SMTP server, there is no difference. We have also used this same basic arrangement at other sites without any problems.
    The system is Lookout 6.1 with updates, the PLC network(ethernet) has 1 SLC500, 4 direct Logic DL260 and DL06s, one Modbus device through a Digi Serial server, 2 Cmore touch screens, and 1 panelview touch screen. The troubled computer is WindowsXP SP3, has two nics, one wired for PLCs and one wireless for internet. Our test computer that works just fine is also WindowsXP SP3, has 2 wired nics one for PLC and one for internet. The nics are on different subnets.
    All ideas as to what might be happening are appreciated.
    Jim Besselman

    The email is successfully sent by Lookout. I haven't tried pinging the smtp server but while the communication is good but since the email is sent I expect that we can. We can view web pages normally and send and receive email using outlook express without causing any disruption to the PLC communications. The problem is somewhat unique to either this particular computer or the network settings. We have been using the mailer object for several years with lookout versions 5.1 and higher and various PLC drivers with out seeing this before. I have seen another instance where an onboard network adapter caused Lookout problems even though Lookout was not using the network. In that case the issue was solved by installing a new network card and disabling the onboard network adapter. I'm pretty sure replacing the computer will fix this but I'd really like to know what the cause is.  I guess my next step would be to use a utility to monitor the network traffic unless you've got some other ideas.
    Thanks
    Jim Besselman

  • Parallel printer locks up program

    We have an issue with the printer connected to the parallel port not working now and locks up the lookout application.  We also have a modbus no response issue with 2 rtu's. The modbus error shows a 96%
    good response and 4% no response. All other rtu's are at a near 100% good response.
    wescom

    Hello dru83rey,
    Welcome to the HP Forums.
    I see that you are having an issue with the printer freezing up on you.
    I do have a few suggestions that we can try.
    First off, please make sure that you have the printer power cable connected directly to a wall outlet and not a power bar/strip. Here is a document that uses a LaserJet printer as an example but it is meant for HP products in general. Please click on the following link that explains the Issues when Connected to an Uninterruptible Power Supply/Power Strip/Surge Protector.
    Do a proper power cycle with the use of the ON/OFF button on the printer once it is connected to the wall outlet.  This will do a semi power reset on the printer.
    Let me know how you make out and if you have any other questions or concerns, feel free to ask.
    Cheers, 
    Click the “Kudos Thumbs Up" at the bottom of this post to say “Thanks” for helping!
    Please click “Accept as Solution ” if you feel my post solved your issue, it will help others find the solution.
    W a t e r b o y 71
    I work on behalf of HP

  • LV Modbus library 1.2.1 - Error code 6101 (timeout)

    This seems to be a common problem but did not found a clear solution. Timeout (error code 6101) appears randomly during register(s) read in Windows and Real-Time environment and with various computers. No matter which RS232-RS485 converter or short/log cable is used. Does anybody know what is the main reason for this error?

    Bonjour,
    Je suis débuté en Modbus c'est pour cela que j'ai regardé de nombreux sujets de discussion sur les forums NI etc.. j'ai donc téléchargé la bibliothèque modbus, j'en ai même téléchargé et essyé 3 différentes, j'ai suivi tous les conseils que j'ai pu lire malheureusement mon programme ne fonctionne pas. Le but est de commniquer avec le controleur de température CAL 9400 afin de lui atribuer un setpoint et un heating rate notamment. Mon Pc portable est relui à lui grace à un adaptateur USB-RS232 et un autre cable RS232 qui fait relais. Aucun des exemples ne marche et j'ai à chaque une erreur différente. Je privilégie plutot l'exemple 3. J'ai donné l'adresse 1 au controleur de température qui est ici le " slave", mon PC étant le "master". Pourtant en entrant l'adresse 1 dans mon programme j'ai l'erreur 6101, alors que si j'entre l'adresse 0 dans mon porgramme il n'y a aucune erreur mais rien ne se passe non plus pour le controleur, quelle que soit l'adresse que je lui ai attribué, je ne comprends, pouvez-vous m'aider s'il vous plait ? sachant qu'il y a trois types de data pour le controleur apparament : 18ni,18E1 et 18O1 je ne sais pas ce que ca signifie.
    Vous trouverez ci-joint les trois exemples que j'ai essayé ainsi que la documentation sur le controleur de température et la manière dont on communique avec lui en modbus.

Maybe you are looking for

  • SD Card not mounting with Yosemite, Disk Utility Yes, Finder No

    Hi Everyone! mid-2012 15" rMBP 2.7 GHz i7 16 GB 1600 MHz DDR3 Yosemite 10.10 Installed Yosemite about 2 weeks ago.  So far things have been fine. Just this morning tried reading a Nikon formatted Sony Class 10 (40MB/s) 16 GB SD card through the inter

  • I was wondering can i install windows on my mac when i have downloaded windows form the internet and do not have a C.D.??

    I was wondering can i install windows on my mac when i have downloaded windows form the internet and do not have a C.D.?? Because when i get to the part in Boot Camp Assistant that says Start Windows Installation it says u need a disc... is there no

  • Rmi inner class extending Applet is it possible

    I have created four classes for my RMI program 1>hellointerface 2>helloserver 3>register 4>helloclient hellointerface has only one Abstract Method public String sayhello()throws java.rmi.RemoteException; The problem is with my helloserverclass. my he

  • With BPM Problem

    Hi all, My scenario is File-->Bpm-->Rfc ..  From Bpm the response data is dumped in application server of SAP. For that File is maintained at application server of have data companyId. so i created IR and ID those includes Integration Process and Bus

  • IBook G4 won't boot after updating to 10.4.10

    I got a serious problem with my iBook G4 (Model A1005). I had OS X update iTunes and OS X itself (to version 10.4.10). The procedure took rather long, there was constant hard disk activity (not surprising) but then the system started to act somewhat