Jump to content

Phillip Brooks

Members
  • Posts

    899
  • Joined

  • Last visited

  • Days Won

    50

Posts posted by Phillip Brooks

  1. +1; incidentally, for the good article; fundamentally, for what's in the pipeline.
    5. Abstraction layers that just pass the buck, with each layer adding, recomputing, removing or re-arranging parameters. Abstractions are like peanut butter; a layer or two is fine, but once you’re down five or six layers and nothing has fucking happened yet you’re in definite “even if I could get my mouth open to scream now, that would just let in the evil stuff I’m swimming in” territory.I'm living this every day. I support a homegrown script processor, switching abstraction tables with their own macros, poor instument drivers and multiple spreadsheet files to enforce configuration all glued together with TestStand that has patterns required in v 1.0 (input buffer and seq context). Some developers got creative and accessed TestStand vars using the seq context, others built elaborate TestStand expressions in the pre expressions while others used the properties page. Throw in a bunch of dynamically loaded sequences from external sequence files with parameters passed by ref and you can't change anything without causing the apple cart to dump it's rotting load in the middle of the road.Sorry, I've been keeping this steaming pile running for too long...
  2. About a year and a half ago I submitted a simple script based VI to create a cluster based on a DB table to the NI Community forums.

     

    https://decibel.ni.com/content/docs/DOC-19512

     

    It looks like you went the extra steps of enumerating the column names and creating the CRUD polymorphics. This sounds like a great tool for someone who is not a DB expert but needs to quickly interface to an existing DB.   :thumbup1: 

     

    The only question/issue I see would be if the DB changes, how does the user update the generated VIs?

    • Like 1
  3. I've been asked to code and test temperature logger based on the NI-9211.

     

    Done.

     

    It turns out that the room is 15' x 30' and the custom 20 gauge type J thermocouple wires ordered from Omega are 12' long. I need to reach the far corners of the chamber from an adjacent control room.

     

    The first thought was to order new thermocouples, but then I noticed that NI offers 'extension wire'. 

     

    http://sine.ni.com/nips/cds/view/p/lang/en/nid/10492

     

    Is it possible to extend the existing thermocouples using the correct type wire up to lengths of say 50' ?

     

    If so, any downfalls, tricks or calibration issues? I'm monitoring an ESS chamber that cycles from zero to 60C.

     

     

  4. Also, don't forget about enabling NI-VISA Server for remote access.

     

    I've installed NI-VISA server in the lab on a PC and a GPIB card so I could develop code from my local PC with only the SCPI commands going across the network.

     

    It works for other connection types too...

     

    This describes the general process...

     

    http://digital.ni.com/public.nsf/allkb/F3AB0B5D7DBA367C86257982005BBF2C

    • Like 1
  5. I poked around inside the FTP libs and noticed that the Reply to Error function adds 15000 to any error. So the original FTP error was 550.

     

    If you search the internet for FTP error 550, you will find that this is a permission denied error. So my guess is that the user name and password you are providing does not have the rights to create a sub-folder on the server.

     

    Assign the user the privilege to create folders on the FTP server or log in with an account that has create folders permissions.

     

    Either way, its not a LV problem...

  6. I read this last night...

     

    http://techcrunch.com/2013/04/28/facebook-and-the-sudden-wake-up-about-the-api-economy/

     

    APIs Are Like Glue

     

    In the first generation, Mashery and companies like Apigee pioneered the API management space. Twitter and other web companies emerged in the second generation. In the third wave, enterprise vendors, like Intel and CA, are recognizing this big movement and entering the market to connect hardware and software systems.

     

    Now the API movement is headed below the application to the machine level, Doyle said. It’s at this level that we see the emergence of the Internet of Things. Here, everything becomes programmable, able to send and receive data, integrate it and trigger actions.

     

    I've noticed an up-tick in Arduino type questions on the NI forums.  :)

  7. When I see that many ports needed, I gravitate towards the terminal server option. You will reach a point when you need multiple computer access to the ports or want to locate the computer(s) an extended distance from the UUTs. 

     

    Yes, you could share the 8430 ports remotely through VISA, but I'll take a device that is designed to be left on for 24/7 for years over a Windoze / Antivirus / desktop PC (HD and RAM failures) combo that inevitably suffers a BSOD in the middle of a critical high utilization run.

     

    I've just switched out some very old Equinox terminal servers with the Perle IOLAN STS16 and they are very nice. I use both telnet and socket based connections to my UUTs without a problem. The price for either solution seems to be about the same.

    • Like 1
  8. Never worked with XP Embedded, but was curious.

     

    After reading this from the dark side, I wonder if you need to create a new target image that includes the second Ethernet drivers and related configuration.

     

    Note: The Target Analyzers import the drivers necessary to functionally utilize as much of your system's hardware as Windows XP recognizes. If you don't need/want some of this functionality, you can remove some of these now. For example, if your target has an integrated ethernet card but you don't want network functionality, you can remove the ethernet controller and other network-related drivers from the list and thereby prevent internet- and network-related components (such as Internet Explorer) from being added by the Dependency Check in the next step. Or you can remove these components individually after they have been added by the Dependency Check. This is also a good time to add any additional features you may want.

  9. You should be able to use the "format into string" and "scan from string" functions to store a human readable timestamp in an INI file with considerable accuracy. 

     

    Try this format string:

     

     %^<%Y-%m-%dT%H:%M:%S%16uZ>T 

     

    modify the 16u portion to set the fractional seconds.

     

    ISO-8601 Persistent Timestamp.vi

     

    LabVIEW's 128 bit timestamp is accurate to 0.05421010862427522170... attoseconds

     

    http://www.ni.com/white-paper/7900/en

    • Like 1
  10. So I've tried to load every snippet in this thread to LV2012 and all I get is a picture on the BD. I tested LV by grabbing a couple from the dark side and they work fine.

     

    I created a few of my own as well and could load them back in.

     

    Could there be a filter on the LAVAG server that is stripping out the meta data?

     

    I'll share my SuperSecret toggle snippet here and see if I can load it back into LV.

     

    post-949-0-53158700-1363345046.png

     

     

    EDIT:

     

    I think something is happening on the server. My image file on disk was ~15k in size and when downloaded is ony 5k.

     

    Hmmm.... :shifty: 

  11. I opened your example before I left work, but didn't have time to tinker with it.

     

    I'm at home now so I can't test it out, but if you look at the Config methods you will see both "get" and "set" methods that should make is simple to retrieve the SuperSecret variable without extra file I/O.

     

    Note that there are two types of "sets" and "gets", "App" settings and "regular". Maybe selecting the App version methods would allow you to run this from the Tools menu.

×
×
  • Create New...

Important Information

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