Modbus Ethernet Slave seems to fail when the Master query information simultaneously for more than 16 Coils or Discrete Inputs.

I'm developing an control application by using the Modbus TCP/IP for communicating with the host computer.
I'm using the Modbus Library for LabVIEW
 (http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=F1582737BACF5CA8E0340003BA7CCD71&p_node=DZ52363&p_source=External).
The LabVIEW MB Ethernet Slave seems to fail when the MB Ethernet Master
query information simultaneously for more than 16 Coils or Discrete
Inputs.
The Modbus Application Protocol Specification (http://www.Modbus-IDA.org) state that:
1- The function code 0x01 'Read Coilsis' is designed to read from 1 to 2000 contiguous status of coils in a remote device.
2- The function code 0x02 'Read Discrete Inputs' is designed to read
from 1 to 2000 contiguous status of discrete inputs in a remote device.
To test the behaviour of the LabVIEW MB Ethernet Slave I have modified
the 'MB Ethernet Example Slave.vi' by adding more Coils and Discrete
Inputs. I have added up ONLY to 20 Coils and 20 Discrete Inputs.
By using the 'MB Ethernet Example Master.vi' the answer to the MB query
is correct for the first 16 Coils or Discrete Inputs. Starting from the
17th Coil or Discrete Input the MB Ethernet Slave doesn't give any
answer.
By shifting the start point address the answer remain correct for the first 16 Coils or Discrete Inputs.
I have tested the slave by using also a third part MB Ethernet Master and the behaviour is the same.
1) There is a reason for this behaviour?
2) There is a Modbus Library for LabVIEW that satisfy the  'Modbus
Application Protocol Specification' managing from 1 to 2000 contiguous
status of Coils or Discrete Inputs?
Thanks,
Asper

I have the same problem with the MB Ethernet.
I need 40 Outputs.
The first 16 work perfectly. The next 8 coils do not work, The next 8 work, The next 16 do not work,The next 8 work,The next 24 do not work And work for the last 8. Conclusion, to activate the 40 outputs, I needed 88 coils.
 Because 48 coil, do nothing Can someone help me and i cant implemet the jim solution

Similar Messages

  • Connecting to the update has been connecting for more than 6 hourand is still trying to connect when will it finish downloading the suggested update?s, why? This update has slowed me down way too much.

    A window opened when I started that said " We strongly suggest that you update......" I did not want to but each time I turned my computer on the same window pops up with the "strongly suggest" and my computer began to run slower and stop lot. So I finally pressed the bar for more information..But never got any. My computer continued to keep "stop script" and run slow. So after several days of this I clicked on "Next" to download the update and it has been" Connecting to the update server" for over 6 hours now and still running little green boxes in a frame over and over and over. Why is this happening?

    Join the club Robert.
    My huge annoyance is how Preview converts ai, .eps and .ps files to .pdf files.
    It has progressively deteriorated from Tiger to Leopard to Snow Leopard.
    In Leopard it defaulted to saving the .pdfs to the Documents folder not the place of origin and would regularly crash if more than a few (sometimes just 2) files were opened simultaneously.
    In Snow Leopard nothing was fixed and now the names are stripped off the converted files so that they are all called Untitled.
    Apple must have received hundreds of bug reports (I diligently sent one every time Preview crashed) and several feedbacks detailing the problem, to the point I believe persecuting Designers and ruining their work has become a NEXT programmers secret objective.
    Except for a couple of minor bug fixes to do with drag & drop in Preview, I am puzzled where the so-called improvements in Snow Leopard really benefit user.
    Peter

  • Why does my computer freeze when I leave it sitting on for more than an hour?

    If I leave my computer on for an extended amount of time with it closed, the computer will not light up as I open it up or if I punch the keys.  I can only see the slender light in the front right that has a slow flash.  To turn it on I have to hold the power button until I don't see the flash and then power it back on. Sometimes this does not work and I need to force it off again.  Has anyone had this issue?  Does anyone know what this is?

    Back up all data immediately as your boot drive may be failing.
    If you have more than one user account, these instructions must be carried out as an administrator.
    Triple-click anywhere in the line below on this page to select it:
    syslog -k Sender kernel -k Message CReq 'Channel t|GPU D|I/O|Previous Sh' | tail | open -ef
    Copy the selected text to the Clipboard (command-C).
    Launch the Terminal application in any of the following ways:
    ☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
    ☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
    ☞ Open LaunchPad. Click Utilities, then Terminal in the icon grid.
    Paste into the Terminal window (command-V).
    The command may take a noticeable amount of time to run. Wait for a new line ending in a dollar sign (“$”) to appear.
    A TextEdit window will open with the output of the command. If the command produced no output, the window will be empty. Post the contents of the TextEdit window (not the Terminal window), if any — the text, please, not a screenshot. The title of the window doesn't matter, and you don't need to post that.

  • I just updated to Firefox 6.0.2 and it is still freezing intermitantly. It lasts for 30-60 seconds. Before the update it froze intermitantly for more than 60 seconds. Help me unfreeze firefox!

    Firefox will crash and say NOT RESPONDING at random. This happened when I updated to 6. I don't want to have to break into my system to make it work when Firefox 5 and under worked fine.

    The freezing just happened again, only it was shorter this time only around 10 seconds, might be something to do with flash?

  • TS4268 Why have I been charged for iMessage activation now, when I have been using iMessage for more than one year?

    I received a message on my iPhone saying that some charges could be applied due to activiation of iMessage. My question is: why have I been charged now, if I had already activated iMessage and I have been using it for more than a year.

    We are basically users and can't really help with activation. So unless a staff member can check in, you need to speak to Customer Service.
    http://helpx.adobe.com/x-productkb/global/service1.html
    Serial number and activation chat
    or
    800-833-6687
    Monday—Friday, 5am—7pm PT

  • Quota deduction when EE has been inactive for more than 180 days / Advance quota days when employee does not have enough balance

    Dear experts,
    We have two requirements regarding to the "Anual leave" quota.
    1. Quota reduction when employee is inactive for more than 180 days
    2. Advance quota days when employeee does not have enough balance
    We have in place an "Anual Leave" quota related to a calendar year period, that gets generated dialy in time evaluation. This quota gets the employee entitlement from a set of rules that stored the corresponding balance in a period time type, that is the one that we defined in the customizing. This is working fine. The problems start when we try to incorporate the other two requirements.
    Regarding the first requirement, if the employee has been inactive for more than 180 days in a calendar year due to unpaid leave, we need to start quota reduction as follow,
    First, we need to clear the balance that was calculated above in the schema.
    Then, we need to calculate one leave day for every 20 days worked till the end of the year, considering as such, everyday the employee is expected to work, except days on which the employee has been absent on unpaid leave.
    For the second requirement we created a manual quota call "Advance Anual Leave". So, if the employee, wishes to take 20 working days holiday, but in his/her Anual Leave quota has only 10 days available, we have to create an "Advance Anual Leave" quota manualy for 10 days. When the quota for next year gets generated, we need to deduct these advanced 10 days from it. This deduction should stop the year after.
    The problem we are finding with these two requirements is that, due to the Anual Leave quota gets generated dialy, we can't get the balance right.
    Thanks in advance!
    Kind regards,
    Alex

    Hello binbingogoABC,
    Shopping on BestBuy.com should be easy and fun and not fraught with the kind of trouble that you describe. I regret very much that this has been your experience.
    Using the information you provided when you signed up for Best Buy Unboxed I was able to locate your cancelled orders. I have requested more information from my back-office partners. As soon as I have additional details about your situation, I will reply again to this message. In the interim, I'm sorry that I must impose upon your patience.
    I'm very grateful that you wrote to us with your concerns.
    Sincerely,

  • Modbus Ethernet Slave coils and discrete inputs

    Hi,
    I'm having serious problems in the comunication of more than 16 bits for coils or discrete inputs.
    In this forum i've read some few post about this matter, tried the possible solution but got nothing working.
    Guess that there is some kind of limitation or error in the ModBus modules available at the NI Labview webpages.
    The idea is very simple:
    I want to be able to sent 32 bits of coils from the ModBus Ethernet Master to the slave and sent 64 bits of discret inputs from the ModBus Ethernet Slave to the Master.
    Can someone please give me a push? Im' kind of newbie with the Labview and would apreciate if someone that had this problem resolved could guit me a hint.
    My best regards, Jorge
    Solved!
    Go to Solution.

    Hi Jorgelopes,
    thank's for posting  on National Instruments forum.
    Can you tell me if you want to communicate with an automate or a computer.
    If you do not tried between two computer I suggestion to make the test.
    Can you send the VI with which you encounter this trouble?
    Best regards,
    Flo
    Open Diagram First

  • My iPhone has started buzzing or beeping for unknown reasons.  It seems to happen when the battery is fully charged as well.

    My iPhone has started buzzing or beeping for unknown reasons.  It seems to happen when the battery is fully charged as well.

    you cannot overcharge the iPhone battery.  You can leave it plugged in with a full charge for as long as you want.  It will not affect the battery at all.

  • DB_GET_BOTH_RANGE fails when there is only one record for a key

    Using the DB_GET_BOTH_RANGE flag doesn't seem to work when there is a
    single record for a key.
    Here's a sample Python program that illustrates the problem. If you
    don't know Python, then consider this to be pseudo code. :)
    from bsddb3 import db
    import os
    env = db.DBEnv()
    os.mkdir('t')
    env.open('t',
    db.DB_INIT_LOCK | db.DB_INIT_LOG | db.DB_INIT_MPOOL |
    db.DB_INIT_TXN | db.DB_RECOVER | db.DB_THREAD |
    db.DB_CREATE | db.DB_AUTO_COMMIT)
    data = db.DB(env)
    data.set_flags(db.DB_DUPSORT)
    data.open('data', dbtype=db.DB_HASH,
    flags=(db.DB_CREATE | db.DB_THREAD | db.DB_AUTO_COMMIT |
    db.DB_MULTIVERSION),
    txn = env.txn_begin()
    #data.put('0', '6ob 0 rev 6', txn)
    data.put('0', '7ob 0 rev 7', txn)
    #data.put('0', '8ob 0 rev 8', txn)
    data.put('1', '9ob 1 rev 9', txn)
    txn.commit()
    cursor = data.cursor()
    print cursor.get('0', '7', flags=db.DB_GET_BOTH_RANGE)
    cursor.close()
    data.close()
    env.close()
    This prints None, indicating that the record who's key is '0' and
    who's data begins with '7' couldn't be found. If I uncomment wither of
    the commented out puts, so that there is more than one record for the
    key, then the get with DB_GET_BOTH_RANGE works.
    Is this expected behavior? or a bug?

    You can use the DB_SET flag which will look for an exact key match. If
    you use it with the DB_MULTIPLE_KEY flag, it will return multiple keys
    after the point it gets a match. If you can post here how all your
    LIKE QUERIES look, I may be able to provide you with the suited
    combination of the flags you can use for them.I'm not doing like queries. I'm using BDB as a back end for an object
    database. In the object database, I keep multiple versions of object
    records tagged by timestamp. The most common query is to get the
    current (most recent version) for an object, but sometimes I want the
    version for a specific timestamp or the latest version before some
    timestamp.
    I'm leveraging duplicate keys to implement a nested mapping:
    {oid -> {timestamp -> data}}
    I'm using a hash access method for mapping object ids to a collection
    of time stamps and data. The mapping of timestamps to data is
    implemented as duplicate records for the oid key, where each record is
    an 8-byte inverse timestamp concatenated with the data. The inverse
    timestamps are constructed in such a way that they sort
    lexicographically in inverse chronological order. So there are
    basically 3 kinds of query:
    A. Get the most recent data for an object id.
    B. Get the data for an object id and timestamp.
    C. Get the most recent data for an object id who's timestamp is before
    a given timestamp.
    For query A, I can use DB->get.
    For query B, I want to do a prefix match on the values. This can be
    thought of as a like query: "like <inverse-time-stamp>%", but it can
    also be modelled as a range search: "get the smallest record that is >=
    a given inverse time stamp". Of course, after such a range search,
    I'd have to check whether the inverse time stamp matches.
    For query C, I really want to do a range search on the inverse time
    stamp prefixes. This cannot be modelled as a like query.
    I could model this instead as {oid+timestamp -> data}, but then I'd
    have to use the btree access method, and I don't expect that to scale
    as I'll have hundreds of millions of objects.
    We tried using BDB as a back end for our database (ZODB) several years
    ago and it didn't scale well. I think there were 2 reasons for
    this. First, we used the btree access method for all of our
    databases. Second, we used too many tables. This time, I'm hoping that
    the hash access method and a leaner design will provide better
    scalability. We'll see. :)
    If you want to start
    on a key partial match you should use the DB_SET_RANGE flag instead of
    the DB_SET flag.I don't want to do a key partial match.
    Indeed, with DB_GET_BOTH_RANGE you can do partial
    matches in the duplicate data set and this should be used only if you
    look for duplicate data sets.I can't know ahead of time whether there will be duplicates for an
    object. So, that means I have to potentially do the query 2 ways,
    which is quite inconvenient.
    As you saw, the flags you can use with cursor.get are described in
    detailed here.But it wasn't at all clear from the documentation that
    DB_GET_BOTH_RANGE wouldn't work unless there were duplicates. As I
    mentioned earlier, I think if this was documented more clearly and
    especially of there was an example of how one would work around the
    behavior, someone would figure out that behavior wasn't very useful.
    What you should know is that the usual piece of
    information after which the flags are accessing the records, is the
    key. What I advice you is to look over Secondary indexes and Foreign
    key indexes, as you may need them in implementing your queries.I don't see how secondary indexes help in this situation.
    BDB is
    used as the storage engine underneath RDBMS. In fact, BDB was the
    first "generic data storage library" implemented underneath MySQL. As
    such, BDB has API calls and access methods that can support any RDBMS
    query. However, since BDB is just a storage engine, your application
    has to provide the code that accesses the data store with an
    appropriate sequence of steps that will implement the behavior that
    you want.Yup.
    Sometimes you may find it unsatisfying, but it may be more
    efficient than you think.Sure, I just think the notion that DB_GET_BOTH_RANGE should fail if
    the number of records for a key is 1 is rather silly. It's hard for me
    to imagine that it would be less efficient to handle the non duplicate
    case. It is certainly less efficient to handle this at the application
    level, as I'm likely to have to implement this with multiple database
    queries. Hopefully, BDB's cache will mitigate this.
    Thanks again for digging into this.
    Jim

  • I'm wondering if anyone else has had problems with their imac fans being extremely loud when running at slow speeds?  When the computer heats up enough for the fans to run at higher speeds they quiet down. New HD fan was just installed.

    I have an imac that I've had for a couple years.  The fans have always been loud when running at the slower speeds.  When the computer heats up enough for the fans to run at a higher speed the fans quiet down.  I had installed SMC fan control after multiple attempts with Apple to get the fan issue resolved.  That seemed to keep the fans quiet enough.  I've never had a problem with overheating.  Recently the fans were becoming loud again even running at the slightly higher speeds so I took it to my local Apple store and they replaced the hard drive fan.  I got it back and it's now as loud or louder than ever!!  And, now SMC fan control won't "stick."  The fans will speed up, but then gradually go back to the lower "loud" levels.  I'm at a loss as to what to do next. 

    Thanks jared,
    I'm still dealing with this issue through Apple. Some time after I posted this, I contacted Apple again. They did start a case up for me, as I was experiencing the same behavior on two different machines, with two different versions of Windows.
    So far it remains unsolved. I've logged iClouds for Windows on my desktop, which is brand new, then logged for awhile after completely uninstalling Norton Security Suite, depending on the Microsoft security for some time, and finally logged after I uninstalled iCloud for Windows, restarted, installed a clean download, and connected using a completely different test account, which Apple set up for me. None of this made any difference. Looking at the logs, it seems every 10 minutes, iCloudServices.exe creates a new TCP connection to confirm I'm using less than 5GB on iCloud, (which I am by a good margin, using less than 2GB), it seems this connection is not closed, and when the next iteration rolls around 10 minutes later, a new TCP connection is created. I come very close to having 6 TCP connections created per hour, until I restart my computer. This works out to... 6 x 24 = 144/day.
    Perhaps the article you posted will shed some further light on this. I'm thinking seeing the state of the connection through netstats, at the least, could help.
    For the last week, I've been putting a hold on further logging, as Apple wants me to create a new user account on one of my computers, install iCloud for Windows there, and log it running in the other account. This however basically means I cannot use my computer for a fair number of hours, and I've been busy enough with work the past week that I haven't the time or energy to afford to set this up and run it. I've had need of my computers too much for the past week.

  • What does it mean when the usecounts of Parse Tree for a view is incrementing when a select query is issued against the view?

    I'm using SQL Server 2008 R2 (10.50.4033) and I'm troubleshooting an issue that a select query against a specific view is taking more than 30 seconds consistently.   The issue just starts happening this week and there is no mass changes in data.  
    The problem only occur if the query is issued from an IIS application but not from SSMS.  One thing I noticed is that sys.dm_exec_cached_plans is returning 2 Parse Tree rows for the view -  one created when the select query is issued
    1st time from the IIS application and another one created when the same select query is issued 1st time from SSMS.   The usecounts of the Parse Tree row for the view (the IIS one) is increasing whenever the select query is issued.  The
    usecounts of the Parse Tree row for the view (the SSMS one) does not increase when the select query is issued again. 
    There seems to be a correlation between the slowness of the query and the increasing of the usecounts of the Parse Tree row for the view.  
    I don't know why there is 2 Parse Tree rows for the view.  There is also 2 Compiled Plan rows for the select query.  
    What does the Parse Tree row mean especially the usecounts column?

    >> The issue just starts happening this week and there is no mass changes in data.  
    There might be a mass changes in the execution plan for several reason without mass changes in data
    If you have the old version and a way to check the old execution plan, and compare to the new one, that this should be your starting point. In most cases you don't have this option and we need to monitor from scratch.
    >> The problem only occur if the query is issued from an IIS application but not from SSMS.
    This mean that we know exactly what is the different and you can compare both execution plan. once you do it, you will find that they are no the same. But this is very common issue and we can know that it is a result of different SETting while connecting
    from different application. SSMS is an external app like any app that you develop in Visual studio but the SSMS dose not use the Dot.Net default options.
    Please check this link, to find the full explanation and solutions:
    http://www.sommarskog.se/query-plan-mysteries.html
    Take a look at sys.dm_exec_sessions for your ASP.Net application and for your SSMS session.
    If you need more specific help, then we need more information and less stories :-)
    We need to see the DDL+DML+Query and both execution plans
    >> What does the Parse Tree row mean
    I am not sure what you mean but the parse tree represents the logical steps necessary to execute the query that has been requested. you can check this tutorial about the execution plan: https://www.simple-talk.com/sql/performance/execution-plan-basics/ or
    this one: http://www.developer.com/db/understanding-a-sql-server-query-execution-plan.html
    >> regarding the usecount column or any other column check this link:
    https://msdn.microsoft.com/en-us/library/ms187404.aspx?f=255&MSPPError=-2147217396.
      Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]

  • Icons keep disappearing off the monitor when computer sleeps for more than 10 minutes

    My new HP Pavilion I5-2300 keeps locking up when the computer rests for more than 10 minutes.  When i go to wake up the computer the desktop background comes up on the monitor, but all of my icons are missing and no command prompts work from the keyboard.  I have just been unplugging and then replugging the monitor from the power source and that seems to reboot the freeze, but i really don't want to have to do this every time it happens.  Anybody experience anything similar? Am i missing an easy solution here?  Thanks

    Hi,
    As you can see from the theory this alert could mean two things:
    1. Too many powershell scripts are executed on agent simultaneously
    2. There are scripts that takes much time to complete
    First of all, you need to evaluate a script-based module (workflow). You need to find answers to following questions:
    – What is the target for this script-based workflow?
    – How many instances of this target class are exist on the affected computer?
    – Does this script leveraging a cookdown concept?
    – How long it take for script to complete?
    Please go through the articles below for more details:
    http://www.systemcentercentral.com/research-this-kb-power-shell-script-was-dropped/
    In addition, here is a similar thread for your reference:
    Threshold for SCOM 2012                                 
    https://social.technet.microsoft.com/Forums/systemcenter/en-US/00dc16c4-9858-459a-8c65-7d73ac8cc997/threshold-for-scom-2012
    Regards,
    Yan Li
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

  • Why am I unable to delete the default track (which seems to act as the master, right?) after making a rough mix?  Is it possible to delete the default track after having rendered a mix?

    Why am I unable to delete the default track (which seems to act as the master, right?) after making a rough mix?  Is it possible to delete the default track after having rendered a mix?  I did a rough mix and now cannot change the song as the tracks that were a part of the rough mix seem to remain in the song even though I mute the tracks for a new mix.  For instance, I played and recorded a different bass line.  Muted the original, but when trying to create the new mix I can hear the original bass line even though I have muted that track.  It seems to remain in the previous master (default) track.  Please send help.  Thank you.

    Before answering your question, you have to make sure you understand the difference between the different track types in GarageBand.
    Tracks, you record your music on
    There are three types of those Tracks.
    MIDI Tracks (aka Software Instrument Tracks)
    Audio Tracks (aka Real Instrument Tracks)
    Drummer Track (only one per Project)
    Global Tracks
    These are the Tracks that can be shown/hidden at the top of the Tracks Area for specific purposes.
    Arrangement Track
    Movie Track
    Transposition Track
    Tempo Track
    Master Track
    This Track can also be shown/hidden in the Tracks Area. Please note, you cannot delete that Track, only hide it, similar to the Global Tracks
    Regarding the Tracks you record your music on,  you can delete any of those. It doesn't matter if you created them or there are part of a Template (maybe that  is what you refer to as the default track). Once you delete the last Track, the "New Track Window" will pop up to add a new track.
    I will explain all that in much more detail in my manual "GarageBand X - How it Works".
    Hope that helps
    Edgar Rothermich
    http://DingDingMusic.com/Manuals/
    'I may receive some form of compensation, financial or otherwise, from my recommendation or link.'

  • Am in the process of installing ios 7.0.4 for my ipad 2 however, all I see on the screen is the USB cable and an arrow which point to iTunes icon. It has remained so for more than 1 hour. When I put it off and switch it on again, I see the same thing

    Am in the process of installing ios 7.0.4 for my ipad 2 however, all I see on the screen is the USB cable and an arrow pointing to iTunes icon. It has remained so for more than 1 hour. When I put it off and switch it on again, I see the same thing appearing again. what sholud I do?

    This is the solution to your issue.
    I wish you the best of luck. 
    http://support.apple.com/kb/ht1808?locale=en_AU&viewlocale=en_AU

  • When i try to activate iMessage i could see the comment "waiting for activation" for more than 24hrs.Is this because of mobile device problem or someother issue ? My mobile is just 20 days old

    When i try to activate iMessage i could see the comment "waiting for activation" for more than 24hrs.
    Is this because of mobile device problem or someother issue ?
    My mobile is just 20 days old

    The following discusses that error message and may help: iOS: Troubleshooting FaceTime and iMessage activation

Maybe you are looking for