Jump to content

Jarimatti Valkonen

Members
  • Posts

    18
  • Joined

  • Last visited

Everything posted by Jarimatti Valkonen

  1. Getting back on track with LabVIEW after 2 year withdrawal. Wish me luck!

  2. Hi, I recently stumbled upon this one: Native LabVIEW TCP/IP Connector for mySQL Database. I haven't used it myself.
  3. Lucky you. I'm not even able to apply. I'm neither U.S. citizen nor permanent resident.
  4. is looking for new opportunities.

  5. I thought it was the other way around. Now where did I put my gumboots and velcro gloves...
  6. The other way is to build a command line resembling 'cmd /c start ...', which can open documents and URLs also. The downside is that the parameter '...' is put into command line, so beware. In this case set the working directory and use 'start .', which should open up the current directory. In Mac OS X the command is 'open' and you need to pass a parameter, just like with start.exe.
  7. Interesting bug in the link: exp<b></b>ressionflow. Strange.
  8. We've also used Kvaser CAN devices with LabVIEW. They work OK. The programming may take a bit more time with them compared to the NI hardware. The CAN Frame Channel Conversion Library was quite useful in that specific instance. I don't remember why we didn't use the CAN Channel API. Was it that it's only for NI devices?
  9. I'm interested to know how do type parameters relate to the type systems of Ada and Objective Caml (OCaml)? I have some experience in both, but the discussion here goes a bit over my head. Ada allows generic programming (and has done so for quite some time) and OCaml has a very nice type system.
  10. Cat drinking. Sometimes I feel I solve problems in similar spirit.
  11. One vote for GIMP (bitmap) and Inkscape (vector). I've used GIMP to do the VI icons before I found out about Mark Ballas' icon editor. Inkscape has been useful in making some front panel decorations: keeping them in vector form and exporting bitmap with desired size. I sure wish LabVIEW would support SVG! (Scalable Vector Graphics).
  12. Thanks for the help. I'll take the same approach and write the data to files myself outside the FTP VIs. This should be easy to implement as the FTP VI in question returns the data of the files in an array of strings and I already know the local paths. Cheers, Jarimatti
  13. Hi! I've tried to search the Google and the dark side, but I didn't find anything useful. I'm asking here first because there's usually more knowledge around. Here's the scenario: I'm downloading all files in a directory from a FTP server in LabVIEW 8.6.1 using the NI Internet Toolkit and the FTP VIs . If a local file exists, I'd like it to be overwritten. I'm using 'NI_InternetTK_FTP_VIs.lvlib:FTP Retrieve Multiple.vi' to do the job. It does the job just fine if the files do not exist on the local computer. But when files exist, it returns errror code 8 with message 'EOF' for the offending files in the file error array. The LabVIEW help doesn't give any clue in the VI documentation, as usual. Now I've pinpointed the problem in 'NI_InternetTK_Common_VIs.lvlib:TCP Read Stream.vi' and 'NI_InternetTK_Common_VIs.lvlib:OpnCrtRep File.vi': The input parameters to latter indicate an operation to create or replace a file in read-only mode. See the problem already? Inside 'OpnCrtRep File.vi' the operation parameter is happily ignored when actually trying to open the file, but read-only mode is set. Next, when creating or replacing a file, the VI attempts to set the file size to 0. Which gives the error code 8. Nice. A question: do I have to roll my own solution? To my eyes either the FTP VI is broken or then I'm just being stupid. The documentation says nothing about this and as I understand from the comments inside the code it should overwrite the file. Anyways, time to go to the big blue room to calm down... Cheers, Jarimatti
  14. I don't know if this suits your needs, but you could try out Scilab. It has some sort of LabVIEW interface (similar to script nodes) and it's a lot cheaper too!
  15. Hi. I've been lurking here for about year and a half. I was first introduced to LabVIEW at the uni (physics), where I did a small inverter control software for bone screw testing. After that I've done some Matlab, PLC stuff and whatnot. Currently I work as a design engineer, doing various information and measurement systems. I've been spoiled by various other programming languages including Ada, Common Lisp, Forth, Tcl/Tk, OCaml and Erlang. I know enough to be dangerous, but I'm no guru in any of them. I have this love/hate relationship with LabVIEW: it's easy to do simple things but nearly impossible to do some stuff. Dynamically adding controls to front panel would be nice sometimes... I did ~200 controls in one project and hid them away because dynamic creation was not an option. The UI had to be customizable during run-time. Luckily VI scripting came out. Current pet problem: how to make recursive type definitions in LabVIEW? I really could use one (a cluster of string and array, where the array elements are the clusters). Edit: I first search Lava and if I find no help, then I search the other place. Usually I find everything necessary here, with much more detail too.
  16. QUOTE (ShaunR @ May 4 2009, 12:33 PM) Thanks for the info. I had actually tought of that in regard to logging like Log4x, but had not thought about it in general UIs. There are, of course, issues with global variables and even with global VIs. One must be careful to avoid race conditions.
  17. You Bastard! :laugh: Now all my free time is lost. I remember playing The Incredible Machine series, it was great.
  18. QUOTE (ShaunR @ May 3 2009, 02:10 AM) Hey! Why didn't I think of this before? Looks very nice and simple. I'm actually considering using this or similar approach for my next UI. In previous project I used the "references inside cluster" approach and it didn't feel like data flow. I made a separate VI with the cluster of references as a pass-through value to update the indicator values and some control properties. When the UI needed an update, I simply placed the VI in the block diagram. I'm having this strange idea of Model-View-Controller paradigm: keep the state (model) as a single cluster in a shift register and unbundle after every state to indicators (view). Something quite like presented here, but with additional "hidden variables" inside the model cluster.
  19. QUOTE (normandinf @ Dec 8 2008, 05:18 PM) Thanks for the reply. Unfortunately I'm the active side of the connection, but it seems that I must rethink my program about this. For the curious: I'm using direct ADS communication via TCP with Beckhoff BK9000 Ethernet bus coupler. The implementation is pure LabVIEW, no additional ingredients are needed. Digital and analog I/O works as a treat, as does some more special terminals and register reading/writing. The ADS communication uses a special AMS header, which contains various stuff, one of them being the AMS NetID of the sender and receiver. The NetID is currently composed of the IP addresses of the communicating parties, so I would have liked to create it on the fly. On the other hand, I can easily include the connection refnum in the AMS header cluster and use it for the TCP operations.
  20. Hi, Does the TCP connection refnum have any properties? I'd like to be able to determine the remote end IP address from it. However, with LV8.5 it seems that I can't get any properties out of it. Any toughts on the matter?
×
×
  • Create New...

Important Information

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