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.

Similar Messages

  • Modbus exception error

    Hello All,
    I am trying to configure BTC controller using NIModbus.dll. But I am getting Modbus exception error 6001 and I am not able to resolve it.I saw all same settings are good working for Eurotherm controller.
    Let me know anybody can help.

    I apologize for the delay in responding. 
    Is LabVIEW acting as the master or slave in your setup?  My guess
    is slave.  Error 6001 correlates to Modbus exception code 01
    (subtract the 6000) as is defined in the Modbus spec as "Illegal
    Function" with the following explanation:
    The function code received in the query is not an allowable action
    for the server (or slave). This may be because the function code is
    only applicable to newer devices, and was not implemented in the unit
    selected. It could also indicate that the server (or slave) is in the
    wrong state to process a request of this type, for example because it
    is unconfigured and is being asked to return register values.
    My guess is that your device, acting as master, is sending a function
    to LabVIEW (acting as slave) that LabVIEW does not recognize. 
    LabVIEW supports class 0 and class 1 functions.  Your device is
    probably sending a function from a higher level class.
    Hope this helps,
    Robert Mortensen
    Software Engineer
    National Instruments

  • 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 - example error

    Hello,
    i downloaded NI Modbus library and started MB Ethernet Example Slave and MB Ethernet Example Master. But when i start Master im getting error:
    Error 56 occurred at TCP Read in MB Ethernet Receive.vi
    LabVIEW:  The network operation exceeded the user-specified or system time limit.
    Open TCP connection is ok, but when it goes to MB Ethernet Master Query Read Discrete Inputs im getting error.
    I work with other PLC and i need to connect via Modbus - but i really have no idea how to test Modbus when even example didn't work.
    I appreciate if someone can tell me how to test Modbus properl.

    Hi,
    Seems you have recieved a timeout error, because of the connection.
    I would recommend you tested it like that:
    1.Open both Master and Slave in LV.
    2.In master set the remote ip address: localhost
    3.Execute slave, execute master
    Perform changes on the master, and see the functionality on the slave, and vice-versa.
    Good luck,
    Mircea

  • -1073807339 VISA Modbus Receive Error

    Hello ,
    I have been running this labVIEW program since the last 4 months. However, today as I run the same VI with same configurations and set up of PC, I am getting this error, see attachment.
     its a sub VI called Utility MODBUS RTU Receive Message.vi
    its strange that the error has cropped up from no-where. The entire VI is used to read temperature from a Eurotherm 3504 Device.
    Please help!
    Best Regards,
    Poulomi Das.
    Institute for Microsystems Engineering.
    University of Freiburg.
    Freiburg, Germany.
    Attachments:
    error.jpg ‏284 KB

    Please check these if it helps
    http://digital.ni.com/public.nsf/allkb/874B379E24C0A0D686256FCF007A6EA0
    http://digital.ni.com/public.nsf/allkb/E6DFA2B8D7E99F9886256C14005E82F7
    Thanks
    uday,
    Please Mark the solution as accepted if your problem is solved and help author by clicking on kudoes
    Certified LabVIEW Associate Developer (CLAD) Using LV13

  • Nokia 6101 error

    hi
    i have nokia 6101 series40 2nd edition phone.
    i also have nokia theme studio 1.2 compitible with this.
    i downloaded nokia series 40 theme from net and tried to duplicate them on nokia 6101 with the help of theme studio.
    but when i transfer them on my phone and apply them... it gives error " not enough memory", while i have 1.5Mb free space. i think its compitibility problem.
    how to make other themes compitible or duplicate them on nokia 6101 ?
    thanx in advance.

    Wow. Me too! I use ATT go phone. I have an ATT Simcard, but I use the Cingular network so my phone shows Cingular service. I used to be able to go online and everything with no problem. Did you buy an unlocked phone as well?

  • Modbus communication Error

    Hi All,
    I'm trying to communicate LabView(DSC) with an LG PLC which is modbus supported. The hardware setup is like, a RS232 cable is connected to PLC and the other end of the cable is connected to a RS232 to USB converter (Because the Laptop doesn't have RS232 port) which is connected to Laptop USB port. I tested the communication with Modscan32 and with another SCADA and were successful. But, when I tried connecting to LabView I'm getting an error, " error code: -1967353900. The Modbus I/O server failed to allocate a serial port." . I restarted the laptop and tried, but that error persists.
    Yes, I have gone through the link given,  http://zone.ni.com/reference/en-XX/help/371618D-01/lvdschelp/dsc_modbus_trbsht/ , but wasn't helpful...
    Please let me know the steps to follow to overcome this error.
    Thanks,
    Randheer

    hi..
    as a quick thought.. please exit the modscan32 before you communicate through LV because the port will be blocked by the modscan instance..
    and also please make sure with the serial port settings like the baud rate, parity etc with the PLC and the Addresses match.
    LV 8.0, 8.6, 2011,2012,2013 WinXP

  • MODBUS TCP Error 56

    Hello,
    I am having trouble with MODBUS TCP communication.  I am trying to read the input registers on a master.vi after a slave.vi has written to it.  Attached you will find my slave and master vi's.  I have made sure I had the correct IP address, same starting address for master and slave, and also the same port number.  The input register is array size 4 and I've also wired that in on the master for the quantity to read.  Could someone please give me some pointers?
    Greatly appreciated!
    Attachments:
    Master.vi ‏15 KB
    Slave.vi ‏13 KB

    I found my problem.  I was missing the TCP communication in the slave.vi.
    Thanks

  • 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.

  • Modbus, having trouble reading more than one register.

    I think my issue may be something simple. I am able to read exactly one modbus register correctly. If I try to increase the registers to any more than one I get a timeout 6101 error at the Modbus read module. So far I've tried a number of different layouts, and even two different Modbus slaves from different vendors with the same results. I'm using a USB-RS485 converter with the FTDI232 chip. Again, a single register read always returns the correct data - so I'm almost there. The register divide routine on the right had side is rudimentary for now until I can get data from multiple registers. Any help is appreciated.
    Attachments:
    Modbus test.vi ‏37 KB

    I have solved the issue. On my RS485 converter (I'm using one from bb-electronics), I had "Echo on" enabled. This caused the written command to re-appear on the read buffer. The modbus read function will accept this configuration - but only when reading one register! So, for anyone with this issue in the future - check your echo setting.
    Someone more familiar with the modbus protocol's working and the internals of the read function could probably explain why this situation would manifest.
    I understand the timed loop is bad practice - I should loop while no error, but I was trying to fix my core issue before making any improvements.
    Thanks for your help.

  • Macbook, Snow Leopard, Pro Tools 8 Firewire Conflict

    I apologized in advance if this issue has already been posted, but I was unable to find it using the search function.
    I have been getting a 6101 error while running M-Powered Pro Tools 8 (8.04)using 2 different M-Audio Firewire Interfaces (Firewire410 and Profire 610). I am only playing back 3 audio track w/no plug ins. CPU usage hasn't gone over 5% and I am getting a Hardware Buffer Error, whcih I have changed numerous times to no avail. I have a new, clean install of Snow Leopard, ProTools, and Interface Drivers with all of the latest updates. Hardware Settings: (1024 Samples, 1 Processor, 95% CPU Available)
    However, I tried the M-Audio Fast Track Ultra USB 2 interface and have had no issues. I have ran through the session over 15 times and haven't had a crash.
    Is there any known conflict between Snow Leopard, the firewire drivers and, the latest ProTools/M-Audio components? And, is there a workaround/new firewire driver that will fix this problem??
    Thanks,
    JIM
    Black Macbook
    2.15GHZ Intel Core 2 Duo, 2GB RAM
    Snow Leopard 10.6.4
    M-Powered Pro Tools 8.0.4

    Ok, that's what I have done... I have Snow Leopard Installed, 10.8.6 and it's got Boot Camp 3.0.4... my questionis the Mac Windows Install Drivers you add after installing Windows. Windows looks terribly awkward and I'm guessing it has something to do with the ATI graphics card sofware the mac disk installed. Is is ok to use the one I created years ago? I can't seem to find a place to create a new one using the 10.8.6 and 3.0.4.
    When I orignially installed Boot Camp you had to create a disk using Boot Camp that you installed in Windows after the initial OS installation.

  • 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  

  • 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.

  • 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

  • Error when running ethernet modbus slave demon in an executable - reoccurence

    Thought I'd solved this with the help of the mass compile function. However, it seems to have come back. Maybe it never went away.
    Brief summary  - I'm trying to create an exe of the MB Ethernet Slave example.vi in LV 2013. I can create the exe OK but when I run it I get an error 1003 at invoke node. "This VI is broken or contains a sub VI that LabView can't locate. Verify that you can run the VI. VI path C:\Modbus\Source code\Slave demon.vi."
    Well I can run the slave demon VI with no problems. I can also run the MB Ethernet Slave example VI with no problem.
    In the MB Ethernet slave example VI there is an invoke node that calls the slave demon vi. I've used the slave demon VI path constant as an input to the invoke node so that the exe shouldn't have a problem locating it.
    I've also checked out the sub VIs of the slave demon and they all seem to be present in my project. I've also tried a few different build settings - all to no avail. All VIs have been mass compiled under LV 2013.
    Maybe the exe is struggling to locate the TCP functions.
    Any help would be much appreciated.
    Attachments:
    MB Ethernet Example Slave.vi ‏47 KB

    I have checked the path and double checked by dragging the VI into an empty path constant. I also created a version that uses the file dialog express VI so that I can select the slave demon VI when the program runs. I've also set the slave demon to be always included in the project build. The error message still appears.
    By disabling sections of the slave demon vi I found that a VI called Internecine Avoider was linked to the appearance of the invoke node error message. By disabling this VI I could get the invoke node error message to disappear, although the slave demon then didn't work as intended. This VI is included in my project under the vi.lib so it should be found.

Maybe you are looking for

  • JDeveloper 10g  Web Development Survey

    Attention JDeveloper Web developers! The JDeveloper product management team is currently conducting a JDeveloper 10g Web development survey. All JSP, UIX, Struts and JSF developers using JDeveloper 10g are encouraged to fill out the survey and get a

  • Oracle 10g 10.2.0.100 for Windows 7 64 bit

    Hi, I have been trying with the installation for Oracle 10g 10.2.0.100 for 64bit WIndows7 (*ITs Client not Database*) . I am getting error that unknown files have to be replaced or something. I think i dont have correct version or have a corrupted ve

  • Rest session

    following is the console i m getting while try to create rest session......... through mSession = RestSession.createSession(mHost, mPort, mUsername, mPassword);      mSession.setUseHttpsForLogin(false);           RestResult result = null;           t

  • Compilations in ios7?

    In the new ios7, my albums that are part of a compilation are broken out into their original album when synced to iPhone. The albums are still fine in iTunes and iPad, but on iPhone, all compilation albums are broken out into their respective songs.

  • Have Photoshop 11, When I try to save 1st image the whole program locks up.  Can't even shut down program.

    I open a photo, do adjustments and try to save as usual.  Entire program locks up.  Cannot shut down on own.  Windows error box says an element of the program is not working.  Have to shut down using error box.