Jump to content

viSci

Members
  • Posts

    466
  • Joined

  • Last visited

  • Days Won

    20

Everything posted by viSci

  1. viSci

    Fast Ping

    So far, the best solution I have found is based on the Raw Socket Ping library where I can consistently achieve 50ms pings. Thanks Rolf! https://forums.ni.com/t5/LabVIEW/Ping-Ping-Ping-Native-Win2k-LV7-code/m-p/708672?view=by_date_ascending#M324556
  2. viSci

    Fast Ping

    Thanks for all the replies! I tried the ICMP approach courtesy of https://forums.ni.com/t5/LabVIEW/A-list-of-IP/td-p/4174564 but still cannot seem to get the timeout to work for values <500ms. IcmpSendEcho_Ping.llb
  3. Greetings All - I would like to quickly ping an array of instruments to determine their availability. If the ping is successful I open up a tcpip port, transact and then close the port. The problem is that the ping vi's I have experimented with do not respect the timeout parameter or have memory leak issues when opening and closing socket resources. I have found an intermediate solution using a raw socket approach but sometimes the socket hangs under various circumstances. Probably the cleanest solution would be to use the .net ping libraries if I could get the timeout to work correctly. Any ideas? BTW I am an admin on the test computer.
  4. Experienced 5S purges at a large aerospace company recently. Truckloads of semiconductor and component stock Many dozens of Monitors, Xeon Workstations Dozens of Huge HP programmable PS's, Freq. Synths, Logic Analyzers Many CRT based LeCroy Scopes, Older Tek analog scopes (I took one of those!), Spectrum Analyzers NI GPIB, Serial, M Series, USRP's Boat loads of stainless steel fasteners, titanium metal stock DEC VAX and PDP11 computer peripherals (unfortunately I was too late to get the PDP 11/70 CPU that was trashed.) Many nice calipers, micrometers, Bausch Stereo Microscopes (I took several home) Hundreds of wire cutters, needle nose pliers, soldering stations, misc tools Miles of silver coated, teflon hookup wire. I was friendly with a maintenance guy so got early Dibbs on stuff. Once the word got out, the other Engineers converged like vultures so management decided to hide it from sight. Now and then my inside man would unlock the store room at night and let me rummage through the stuff
  5. Been there done that with NSV's. For cRIO connectivity I now use the RTI DDS toolkit or the messenger library which are both free and excellent.
  6. Greetings - After much experimentation I have concluded that the standard waveform pulse and transient measurement vi's in LabVIEW are not adaptive enough to handle analysis (High, Low, Tf, Tr and Pulse width) for a generalized pulse that can be rectangular or in some cases triangular with zero pulse width. I am thinking that the solution might be a type of piecewise linear regression. Has anyone accomplished this without making assumptions on the number of linear segments in the waveform? Is there another way to try to model this?
  7. Hello again - Well its been a year so I wonder...have you been able to do any 2019 or 2020 LVRT testing on the messenger libraries yet?
  8. Pretty easy to setup and keep running. If you give me more specifics on your application I could provide more relevant information...
  9. Yes I have been using it quite a bit on a roadway monitoring project with 50 cRIO's. I use it to handle all of the cRIO system state and tag data publishing. We are still in the early stages of testing but it seems to be working very well. The LabVIEW version of RTI DDS is a subset of its full capability. RTI has been slowly adding features but it still does not support basic things like events. Judging from the forum posts, the toolkit is largely unknown in the LV community. I think if more people adopted it, it would garner more love and attention by RTI.
  10. It is disheartening for those of us who develop for the cRIO to see NI come out with a cool product like systemlink but in a misguided marketing strategy have totally ignored those of us toughing it out in the trenches trying to develop secure and robust DDS capability for the cRIO. Even basic stuff like cRIO image management and software deployment, which systemlink handles nicely have been bundeled exclusively in the prohibitively expensive package that NI is trying to sell to electrical utilities.
  11. It's not exactly native but the RTI DDS api has been included in the past few LabVIEW releases.
  12. Just checking in to see if you have been able to do any LV2019 testing on this issue yet...
  13. Yes it appears to get hosed up inside the TCP Listener Actor. The funny thing is that I can compile an exe and run on my cRIO just fine, it is only via the IDE that there is a problem. This has been working with LV 2018 for many months without issue so it appears something has changed in LV2019.
  14. Since upgrading to LV 2019 I am seeing issues with an existing application running on a Linux based cRIO. The deployment process itself seems to be much slower and this initial section of code is causing the cRIO to disconnect from the development system. When the execution gets to the TCPEventMessenger Create subvi I get this popup and execution is aborted. Any thoughts?
  15. Just in case someone else stumbles across this problem... It turns out the the cRIO-9056 has TSN capability built in so it will automatically try to slave the AI sample clock to a 1588 master if one is present on the network. In my case the master clock is not disciplined which wrecks havoc on the AI HW timing as it is only software based for the purpose of syncing the cRIO to the PC's clock for uniform relative accuracy. The solution to the is to use an obscure DAQmx property as follows... Add a DAQmx Channel Property Node to the task, select the General Properties >> Synchronization Unlock Behavior property and set it to Ignore Lost Sync Lock.
  16. At my wits end with this... When 1588 timesync is running it appear to interfere with DAQmx AI timed tasks. I am seeing strange errors -200284 (buffer underrun) or -209836 (The devices in your task cannot be synchronized) when I start my DAQmx task with 1588 engaged. When I disable the 1553 master on my network or remove the 1588 driver from the cRIO everything works correctly. To simplify testing I am using a DAQmx example - Thermocouple - Continuous Input.vi to do my testing. I do not have any HW sync modules just plain C series AI modules so there should be no attempt to perform any AI clock slaving since this is a software only 1588 system. BTW I am using the latest 19.0 drivers and LV Dev. I also see the same behavior in 18.5. Your thoughts please...
  17. Curious to know more about the performance issues you were seeing with DAQmx on the cRIO. I would think it should be fairly high performance.
  18. along time ago I ran across an interesting paper by Monnie. https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=664322 I used some of his ideas as the basis for this... http://viscience.com/blog/portfolio-3/
  19. BTW, which websocket library would you recommend for command-reply use cases on a Linux RT target?
  20. What about the port service name locator, could that be a problem as well? I was planning on using RTI DDS for all network communications but the LabVIEW wrappers provided by RTI and now included in LV2018 have some shortcomings. Things like no native support for command-reply, no events and issues with strings within a cluster that start with a numeric digit pushed me to consider Messenger...
  21. I am using cDAQ's with Linux RT but I suppose I could still use websockets, right? In the meantime I am trying out on-the-fly creation of Messenger remote connections to my cDAQs. It is not very fast ~50ms total transaction time per cDAQ but it might do since the command response side of things is more supervisory control of the overall system. For status and data collection I am using RTI-DDS which is blazing fast. One concern I am having with Messenger is that on occasion I have seen the 50ms transaction times suddenly increase to 5000ms. Shooting in the dark, I am wondering if it could have something to do with NI Service Locator sync between client and servers? Anyway, it would be nice if the messenger library had the option of specifying static port numbers instead of service names.
  22. I also need something that can handle situations where the cDAQ is not present or drops out and needs to be reconnected with. I think I maybe trying to use the wrong tool for this application. I might be better off with a topic based DDS that has inherent reconnect capability.
  23. Hello all - I am trying to figure out a way to use the TCP Messenger to create a PC client that can send messages to up to 52 remote cDAQs. I used your simple TCP Client Server example to start off with and it works fine for a single cDAQ server. The problem is that I do not want to have to launch 52 actors in my client code pointing to each of the 52 cDAQ IP addresses. Is there a way to just send simple messages to the server without have to launch an actor or perhaps reuse an actor by programmatically pointing to the IP address I need to talk to at any given time?
  24. I use the dll wizard often and it has saved me a lot of time. It took awhile to understand how to massage the .h files into something digestible but once I got the hang of it, it was worth the effort. The error handling is pretty good at pointing you to the offending spot in the .h file. I think that the wizard has improved over time so if your last exposure was years ago I would give it another try.
×
×
  • Create New...

Important Information

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