Jump to content
News about the LabVIEW Wiki! Read more... ×

Leaderboard


Popular Content

Showing content with the highest reputation since 12/07/2018 in all areas

  1. 4 points
    I found it! Unfortunately it's deprecated. It takes dotted inputs as either names or ID codes.
  2. 1 point
    I had no idea this existed. I will look into it.
  3. 1 point
  4. 1 point
  5. 1 point
    Here is an article to wipe Linux RT controllers using SSH. https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019LfbSAE&l=en-US
  6. 1 point
    Here is an improved version: The Method Menu is now hierarchal instead of flat. Unrestricted Invoke Node 1.1.0.0.zip
  7. 1 point
    With the help of my NI inside sales rep, I was able to get a cDAQ Linux installation image and instructions to restore and existing Linux chassis or convert a WES7 to Linux. NI was very protective with this stuff even though the Linus RT source is published on GIthub.
  8. 1 point
    Lol sounds like intended behavior to punish those who ignore errors I think the missing part is that Tanner also added an incrementing counter on the send side, so you should see errors on every subsequent read because the counter will never catch up.
  9. 1 point
    I dont think so, I forgot it was in there. Seems like a good idea though. Just needs to be added to TCP Master::Initialize Master and TCP Slave::wait on listener. This is illegal per the spec. Its obviously not difficult to change this, but...its also not hard just to set the value after initializing the modbus library. I think I see what you mean and attached an implementation. Looks to be about 3x faster (edit: 2x with debug off) to read from the lookup vs calculating it out. Just a thought tho, it probably makes other code around it slower by completely trashing your CPU cache (its about 1/4 of the L2 cache on a zynq-based cRIO). If visa times out it returns whatever is in the buffer. If it happens to time out mid-packet (as may be the case on linux rt or with usb-serial adapters) then you have half the packet in your read loop and half out on the bus. This isn't important for the master, since if you time out you pretty much have to flush the buffer, but for the slave its sitting there waiting for data forever, so dealing with partial packets is annoying. Also, this was like 6 years ago so I may be wrong, but at the time I think one of my goals was to make the serial and tcp functions act the same. Thats why TCP also uses the 'buffered' feature. I do, thats why I make sure to enable the term char. However it has to be CRLF, LF by itself is not acceptable. You may very well ask in which situation you would get a LF by itself -- I don't know, but I do know that its a 5c chip wiggling the voltage on some wires back and forth at an absurd speed, so I figure it can't hurt to check Woops. That method really only exists to make sure its not broadcast, so in the 99% use case it happens to work. Otherwise ascii doesn't care. Fixed, though. I don't actually understand what the problem was with this. As you said in your comment on that issue, each access should be synchronous for a given master or slave, so there is no such thing as multiple transactions outstanding on the connection. The transaction ID check just sort of verifies that. If an error occurs, you must close the connection and reset. I can't think of any reason that would not be the right response, can you? I'm also confused by this because that part of the code was implemented by Tanner, who is the person who posted that issue to yours, so presumably he thought that code fixed the issue? Note that this behavior (close and reopen) is different from serial (wait, flush the buffers, and hope things start to work again), not because the serial way is better but because serial is a 5c chip twiddling the voltage on some wires. The serial version has no connection to close. The idea of the pluggable transport was to support any modbus adu over any network type. I've definitely heard of RTU over TCP, this would be to support ascii over tcp the real answer is that it was easy and it kept the implementations mirrored. crc bench.vi crc.vi
  10. 1 point
    BTW, the SQLite Statement class can be subclassed, and you could easily define your own strict-typed versions of the "Get Column" property nodes. These would just check type before calling the regular function.
  11. 1 point
  12. 1 point
    My first post and I had to say thank you for bringing this back! Lord knows I need it.
  13. 1 point
    Here is something for the idea exchange - the missing icon indicator should be visually different from the missing VI indicator.
  14. 0 points
    Just got "The page you requested may have moved, been deleted, or is inaccessible. Search below for other content, or contact NI for assistance." on all 3 Fall 2018 links


×

Important Information

By using this site, you agree to our Terms of Use.