Jump to content

ShaunR

Members
  • Posts

    4,973
  • Joined

  • Days Won

    310

Everything posted by ShaunR

  1. I bet she gave you a better dress-sense than I, too.
  2. An for all the heathens out there. Here is the NON-LVOOP version (just changed the VIs) . Even I was shocked at 1.13MB for the classes implementation (the nonlvoop is only 108K)
  3. You can write to the description of all (or one) of the vi's in the llb when you build (run a separate VI or link in with the builder). It's a shame the VI revision number or history isn't as flexible......., then it might actually have a use.
  4. Or you could just use a string (SCPI format works well) and save yourself 3 weeks work.
  5. I want one of those VIs! I can use it when my "mute manager" vi fails. But I know what you mean. I find it a bit "irksome" (not only in labview but in other languages too) that it is assumed you have 3rd party dependencies installed.
  6. It's always good to give a background on what you are trying to achieve. I means you will get a more focused answer. So. You just need single pulses (an event generator) rather than a pulse train. There are quite a few ways you can do this in labview. But I've modified the example to just give one pulse as you are familiar with the vi. It's fairly straight forward. Set the OP high. Wait a bit. Then set it low. For ryou incoming pulse. Take a look at DAQ events. (There is an example). You can then wire the digital out to the digital in and check to see that you can create and detect the pulses.
  7. That example is to demonstrate manually toggling single lines. I think you are trying to generate pulses. Yes? Look at the "Cont Write Dig Port-Int Clk.vi" in the examples. Change the "Pattern" to 0 and 128 and then run the vi.
  8. Surprising! Set up the "mod_expires" then it'll be really humming along. LAVAG NEW LAVAG OLD
  9. That means it has only been assigned a generic class. If you right click on a control (for example) and "select IVI class" then it will return that class you choose.
  10. There's a couple of property nodes TypeClass and SubTypeClass which will give you the class names. Is that what you are after?
  11. It's bundled as part if the Vision Acquisition Software
  12. Website is back so, so read the page. From what I could see, the OP must have already done that as it is working. I'm ot not really sure if x-domain is relevant to that anyway. All the XMLHTTPRequest would be doing is sending a "GET" to the server on the same domain as the page was served (just as if the page was refreshed....but without refreshing it). It's not as if it would be opening an 3rd party site in an IFRAME (which is where you get problems). I'd be interested to learn what problems you encountered and (probably more importantly) what you did to get round it.
  13. Probably not..lol. I don't have much experience with streaming from the NI webserver (for example). I prefer other methods like TCPIP or websockets for that - they don't have such issues and (IMHO) offer better performance. But for normal HTTP requests (on the server side) it can be as simple as a PHP script on the corporate server that uses cURL to resend the request to the NI server and relay it back to the browser (easier than trying to get proxies and stuff authorised and set up by IT). As such, the corporate server is indistinguishable from a browser as far as the NI web server is concerned (and if you want , you can do caching and stuff too). It keeps IT happy since their portal is still the entry point and secure behind their firewalls and security policies, It obviously has an impact on performance - but it's not much for get/post methods through an Intranet, It also makes aggregation of multiple LabVIEW machines a breeze. It's one of the few scenarios where IT are actually useful
  14. I cannot read that document at the moment - NI down again (might have read it in the past though). But from experience, most uses of the NI web server are to make VIs available internally within a company (managers and engineers looking at production etc - Intranet). therefore x-server really isn't an issue. When/if external access is required, usually IT insist that any requests are routed through their main servers anyway, so the browser requests it from a page on the corporate site and the request to the NI web server is sent from the corporate site. So the content seem to come from the same (corporate site) domain as far as the web browser is concerned..
  15. +1 on can't upload. Couldn't upload a VI (64K) and a snippet. Just said "the upload failed". (Tried in Chrome, IE and firefox-no dice).
  16. Making excellent use of LabVIEWs x-platform capabilities then
  17. Easier than you might think. Just attach the updateData to a button Onclick event.
  18. Make JG Dance For You Windmill and kick is my favourite
  19. It depends on what you mean by "merged". I use named queues rather than a named types which means that (amongst other things) I can send a string across the network and dynamically create a queue with that name at the other end.. I can't think of a way (off the top of my head) that I could easily do that with events. But generally. I think queues are easier to use since you just grab a reference by the name from any module without having to run wires or store the ref in a globally accessible storage. But apart from that. Yup. they are pretty similar (maybe because events use a queue?). Interesting to note that there is about 20% a difference in performance though (although I haven't looked closely at the test method)..
  20. IC. The conditional disable will give you the bitness of Labview you are using. For the OS you can use the OS.Name property node.
  21. The "Conditional disable" has pre-defined conditions for different OSs (bitness is one of them).
  22. When you manipulate an integer it is always based from bit 0 i.e integer 1 = 00000001 (2^8 = 256 possible addresses). But that bit (LSB , bit 0)is used as a read/write flag. So Address 1 = 00000010 (integer 2 for a read) or 00000011 (Integer 3 for a write). Therefore the address is shifted by 1 bit and you are only using the top 7 bits (2^7 = 128 possible addresses) You can then OR your read/write flag into bit 0. If you were to send a U8 with the value of 1, you would in fact saying "write to Address 0". Sending. Integer 2 would be "read from address 1". and Integer 3 would be "write to address 1 etc. U8 (0) = 0000000 0 = read from address 0 U8 (1) = 0000000 1 = write to address 0 U8 (2) = 0000001 0 = read from address 1 U9 (3) = 0000001 1 = write to address 1
×
×
  • Create New...

Important Information

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