Jump to content

Grampa_of_Oliva_n_Eden

Members
  • Posts

    2,767
  • Joined

  • Last visited

  • Days Won

    17

Posts posted by Grampa_of_Oliva_n_Eden

  1. ...

    You do make me wonder tho -- the guyze who said they were going to take care of the network connections for us, and didn't, are a data source -- and it's via UDP. I wonder if maybe that group was told they couldn't put a switch on for some reason, but the fact that we're just a data sink might make it a different case. Probably not, but it's worth checking out.

    ...

    Worth chasing that down since hubs are "what I hear is what i say" widgets passing all packets.

    Switches can be configured to pass UDP packets which is not neccesarily the default.

    We used that approach (switch configured to route our messages) to be able to sync a bunch of cRIO is a coal mine (We were trying to answer the question "How fast does Indiana Jones really have to run to out-run the blast under-ground?").

    Ben

  2. ...

    Thoughts? Ideas?

    I was just reading the LV Performance Course book yesterday and I recall it.

    Clump 1

    Reads the two controls.

    Clump2

    Sub-VI 1

    Clump 3

    Sub-VI 2

    Clump 4

    Sub-VI 3 and 4

    Clump 5

    I would have to guess so I will not.

    There is also a possibility that the Add subtract and GUI updates happen in Clump 1

    Ben

  3. While the details aren't exact, you have the general idea... I'm sure you all will visit me in prison, right? Right...?!?

    And unfortunately, *they* don't need anything -- *their* network is set up and certified. We stoopidly let another group convince us they (a different *they*) were taking care of the network connections. The "no switches" bomb was just dropped on us last week, and we're loading the system at some undisclosable time in the very near future. :frusty:

    Oh well, the analysts always ask for more data than they really need. I'm sure just getting half of it will be fine...................:(

    Try duplicating this post on the dark-side.

    Dennis Knutson was working with a network hardware company for a while. I believe that same applies to Tbob so they may have something to say on this topic.

    Ben

  4. I'm with Ben - I'm pretty sure such a beast doesn't exist. Switches were kinda phased out before gig switches became commonplace, so there was never a need for them. I think you need to tell *them* that they don't *need* a hub, and a switch is what they really want (a switch, not a router).

    I'll venture a guess that "them" know there is memory in a switch and that "them" have the domain password and failing to comply with "them" will result in potential prison time at one extreme or "them" taking the PC and shreading the hard-drive.

    But I'm just guessing.

    Ben

  5. Accessing the massive LAVA knowledge base... :)

    I need a 1Gbit ethernet hub. Not a switch or a router, but a hub. I have searched and searched and cannot find such a beast and was hoping you all might know of one.

    We're connecting our network to some one else's network -- there's 1 input pipe and we need two outputs -- and they freaked when they heard we were going to use a switch. A hub is okay, but not a switch. There are supposedly security as well as technical issues involved here, so if "they" say it's got to be a hub, it's got to be a hub.

    And if all my wishes were to be granted, it would take SC multimode fiber inputs, but copper would be just fine. I have plenty of media converters.

    I did not now anyone still made hubs!

    Wacky idea!

    Systran makes fiber switching hardware that I have used fro SCRAMnet applications. I believe thier switch supported ethernet and may be able to act as hub while maintaining that throughput. Don't bother chasing this idea down unless you have no other options. The entry level switching hardware starts at about $30K with all of the duaghter modules being add-ons.

    BUT If you (data) packages absolutely has to get there (in less than a femtosecond) its the way to go.

    Ben

  6. After a decade of programming LabVIEW, I have to admit I still get bitten by stupid mistakes.

    Today's mistake is one I'd like to share because it's so simple and yet, I had to take a long lunch break to clear my head before I finally nailed it.

    post-10515-127619029281_thumb.png

    In the pic above, I simply give the user a list of available ports and lines for a selected DAQmx device. The user selects one or multiple lines and I pass it down to create a task.

    post-10515-127619016856_thumb.png

    And this is the solution: Using the Array to spreadsheet primitive adds a end of line at the end, which was carried an couldn't be filtered later down the road by DAQmx "Create Virtual Channel.vi".

    I hope to save you some pain by sharing my misfortune!

    What threw me for a loop was turning a string into a DAQmx channel (purple wire). Did not think to just try wiring the string and let LV do the conversion. NI Support was also at a loss.

    Ben

  7. A developer in info-LabVIEW said that whenever I put code into a sub-VI I am creating a layer of abstraction. I don't know if I agree or disagree. I just don't want to think we are going to over-use the term ... like we do with the term "elegant". I mean, do I create another layer of abstraction when I put my pants on over my skivvies? rolleyes.gif

    I would say no.

    My first introduction to the term "Abstraction Layer" happened when I was introduced to the OSI seven Layer Model for network communications.

    THe TCP/IP functions in LV are an Abstraction Layer for the network stack.

    Underneath that layer (the only layer we can touch using the built-in functions) the TCP functions in turn use the Abstraction offered by the IP layer (note: Windows is fuzzy here, when last I paid attention) which in turn uses the hardware which is abstracted through the hardware driver.

    The under lying layers are handling the dirty work of making sure the packets are broken up into parts that will travel over the wire and make sure the get reassembled in the correct order etc.

    If you have evern looked at what an Ethernet Sniffer that uses the Promiscuous mode of the ethernet interface, you will see that to understand what is traveling over the wire requires you to parse the ethernet packet header (Source Destination and protocol) and then use the proper rule for THAT protocol etc.

    THe TCP/IP abstraction offered with LV turns this complicated stack of protocol etc. into what is virtuallly abstracted a virtual wire.

    THe same thing applies to file I/O and for that matter the INI files and TDMS are also abstractions.

    If I got any of that wrong please feel free to correct me.

    Ben

    • Like 1
  8. I see that setting the VI execution priority is not an option, since two instances of an object can not set the priority of the same VI to different values. Also, setting priority on a reentrant VI is not possible at all, since as soon as you open a VI reference with the option "Prepare for reentrant run" changing of priority is not possible.

    So, if I want to use priorities, then I need a Timed loop. So, my other question, can I somehow configure a Timed loop so that it runs as quickly as possible but still finish each iteration, even if some iterations take longer then the allocated period?

    I have been reading documentation and performing different tests all day, but so far it seems that this is not possible.

    Thanks, Mike

    In reply #5 above above David recomended a Timed Sequence.

    THat gives you multiple levels of priority and as well.

    Ben

  9. Unfortunately the code is a framework thingy, so code could later be added that simply would not finish in the required amount of time sad.gif

    Mike5

    Well there is no way to optimize a thingy so moving on...

    What did you mean when you wrote " support arbitrary execution time for each iteration" since they will be executing thingys?

    If you get more specific about what you are up too...

    Ben

  10. Hi all. We have a project where parallel loops are needed, but also setting priority for each loop is a requirement. At first it seemed that "Timed loops" are an answer to these problems, since they support priority, but "Timed loops" have other problems with the code that doesn't execute quickly enough.

    So, in short I am looking for a solution that would give me the ability to set priorities for parallel loops and also support arbitrary execution time for each iteration.

    Thanks in advance, Mike

    I would first investigate making the code that does not run fast enough run faster, so the timed loop can be used.

    Ben

  11. From the CRU press release: "Another area for suggested improvement is in the archiving of data and algorithms, and in recording exactly what was done."

    So they admit they threw out the raw data. Am I the only one who still thinks this smells like a SCAM? Un frackin' believable.

    No but that is probably not a suprise. I once heard about an idea called the "normalcy bias" that refers to a tendacy that most people have that predisposes them to want to beileve that everything is "normal" despite indications otherwise. E.G. When a fire alarm goes off the first question asked is "Is it real?". Well the fire alarm went off and because there are no fire trucks showing up, the "normalcy bias" may be kicking in.

    I still see the climategate stuff as a way to bump up the Chicago Carbon Exchange since the missing element required to turn that "fluffy cloud" sceme into a $10T/year money factory is laws requiring the trading of carbon credits. Joel Rogers (The Wizard) has created quite a web and is just one law short of starting a social land-slide that could end in a global government with all memories of the brief shinning moment that was outlined in "The Constitution".

    So you have at least this one "son of a revolutionary" seeing scam.

    Ben

  12. Hi,

    I am trying to detect the Header Start Byte in a string of data sent though TCP/IP by myself. The string of data is built by concatenate the string converted from array of byte data. When I receive it, I just do in the reverse order. And the match pattern function doesn't work. But if I convert the string to array of byte, I can search it. I post this becaue I want to understand what I did wrong.

    Thank you,

    Thang Nguyen

    I have my code here:

    Hex 24 = $ which is special character for the match pattern. Check the help on Match pattern and look at "special characters"

    Ben

  13. You're perceptive, there were over 9.6k posts in LAVA 1.0 content a few weeks ago, now down to < 5.5k.

    I would not have noticed under most circumstances but when LAVA I went down I lost half of my post count. So when I crossed the 1K point I noticed that I had almost as many posts after LAVA came back as prior so I was watching for when I crossed the tipping point. Well the "tipping point" moved so without posting on my part, I had more in LAVA II than in LAVA I.

    So rather than calling myself "perceptive" I will just write it off to me being anal-retentive.

    rolleyes.gif

    Ben

  14. Hi!

    I also tried multi column listbox but they haven't got extra functionailties. You can't easily add combobox, path and other columns. So an alternativ is to use array. But they are alse very limited. If u change a propertie of the control it changes everywhere. You can't change a color in one row. And can't use Xcontrol in arrays.

    I made a little discovery yesterday i can get a reference to the clicked arrayelement. So i can change the value easily. But i don't know why it works because i put a probe on the reference it points every time to the same.

    I have only found one method that lets me get at a specific element in an array via control refs.

    It is very convoluted but I posted code and talked about in this Nugget on the Dark-side.

    http://forums.ni.com/ni/board/message?board.id=170&view=by_date_ascending&message.id=267659#M267659

    At the very least a review of that Nugget will show you just how complicated it is to get at an array element.

    Ben

  15. ...

    What we found is that the most common reason we have to want to do things programmatically is when we want to clone a software component (to make multiple instances of an application). Most often we can accomplish this by renaming a SV library before building an executable. I think the builder should support this in the build script (but it doesn't currently).

    ...

    My issue with the SV nodes is I can't programatically redirect the I/O to a new widget. DataSockets accept a URL (similar to the old DSC tags). TO do the same with SV nodes I would have to change code everytime a new option was added.

    Ben

  16. Hi Ben,

    thanks for your reply, i examined the code that you had posted on that thread, and i tried to write this VI based on that code. but still i have got problems. i am trying to add the plot to my graph so i can see the marked points.I would appreciate any kind of suggestion since i am really stucked on this:)

    Clean-up the diagram and add some comments so I don't have to work too hard to help.

    Wire up your error clusters to makes ure there aren't obvious errors.

    I never tried adding plots in parallel (always do them in seq).

    Toss or include that sub-VI so we can try running it.

    Ben

  17. On the 3D Picture Control\Helpers palette there is a nice VI that is called Sensor mapping. This VI enables you to import a 3D model, place sensors on the model - and then generate a picture with the readings shown as an intensity plot overlayed on the 3D model. This is *almost* what I would like to use in a new application; except for the fact that the sensors should not be treated as points, but lines. It would also be nice to be able to import a wider range of 3D drawing formats (ideally it should be possible to create some simple 3D models with the app too, but that would just be a bonus).

    Is there anyone who finds such a task familiar?

    I'm tempted to oursource this part of the coding as we have enough work to do on other parts of the application, but if anyone has any tips or examples on how to e.g. modify the intensity mapping code in the sensor mapping VI that could be enough.

    Mads

    This thread on the dark side has some examples I threw together to plot the air pressure meassured on the surface of a simulated car.

    http://forums.ni.com/ni/board/message?board.id=170&view=by_date_ascending&message.id=398020#M398020

    It is not the answer you want, but it may serve as inspiration.

    Ben

  18. Hi Frank,

    After having acquired all measurements I need to make a 3d plot with:

    x-axis = dim setpoint

    y-axis = frequency

    z=axis = FFTvalue

    to make this plot I need all the data (right?).

    I can calculate the FFT plot for every "dim setpoint" separately but in the end I still have all data in memory because I need it for my 3d plot.

    LV wants contiguous memory to store arrays so if you don't have a single contiguous block bige enough "memory full". I have avoided this using a number of different techniques that depned on the "data path" but recently I tried out an idea from Aristos Queue to use multiple queues to store the data. I asked the developer I was assisting to create a new queue for each record read from file and to prcoess each sepeartely. A couple of days latter he mentioned that it worked great.

    AS to the 3d graph...

    How many points are you planning to plot?

    Keep in mind the screen has a limit and after you map 1000 points to a single pixel you aren't going to see any more than the screen can display.

    Ben

×
×
  • Create New...

Important Information

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