Jump to content

Phillip Brooks

Members
  • Posts

    911
  • Joined

  • Last visited

  • Days Won

    53

Posts posted by Phillip Brooks

  1. It looks like you are learning quickly about barcodes. I'm no expert, just a lot of (bad) experiences with 2D scanners and printers.

     

    I downloaded the .NET zxing because I was curious, and happen to like .NET solutions to LV problems. This one worked with very little effort, and I may even look at replacing some of my 2d scanners with webcams on my next test setup.

     

    It looks like the zbar lib uses a bunch of other libs to run under Windows, not sure that I would want to have all those dependancies/version problems in the future.

     

    As far as the image with insufficient quiet zone, I see that as a failure of the provider of the code to follow standards. If I was "hacking" or needed to compensate for a case that I new I would have to continue supporting (supplier/vendor wouldn't fix the barcode) then I might dig in more and look for parameters for tweaking the quiet area, but I don't need to  :P 

  2. There appears to be very little label after the barcode (left side in your image).

     

    There are quiet zone specifications for all barcodes; maybe this one does not meet spec.

     

    I opened the first image first using MS Office picture manager where I increased the contrast. I then opened it in ms-paint and deleted the dark region at the left (surface label was placed on). This effectively created a larger quiet zone and then zxing decoded the barcode...

     

    I didn't have to flip the image once I increased the quiet zone.

     

    post-949-0-42318400-1374578154.png

    • Like 1
  3. The Bitmap constructor is part of .net, not the zxing lib; look for System.Drawing.Bitmap

     

    If your webcam exports an image, you would have to convert that to a bitmap or look through the zxing API for a method that accepts an image.

     

    I played around with rotating my 1D barcodes and found that if you cannot draw a horizontal or vertical line that passes through all of the elements of the barcode, you will fail to decode. 2D QR codes worked without a problem.

     

    The decode method returns a Result object; use the properties to retrieve the result points and metadata. You might need to iterate over the metadata object to get the key/value pairs.

     

    I've attached the VI with the all of the .NET closes as pointed out in the thread. I still work in LV 8.6 and that is limited to .NET 2.0 so that's what I've posted here.

     

    Place it in the same folder as the zxing .net 2.0 DLL and it should 'just work'.

     

     

     

     

    zxing.net Read Barcode.vi

    • Like 1
  4. USB drivers can be very finicky. I purchased a USB 3.0 gigabit enet adapter and had to poke around to find the correct driver from the chip maker to get the thing to work properly.

     

    The Maplin link has a reviews section that included a link to the chip supplier. There are firmware and Windows drivers on that site. I would compare what you have for revs and try updating if you are out of date/rev.

     

    http://www.elitesilicon.com/Support.html

  5. 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

     

    Just remembered this Randall Munroe (XKCD) comic.

     

    the_general_problem.png

  6. +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...
  7. 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
  8. 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.

     

     

  9. 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
  10. 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...

  11. 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.  :)

  12. 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
  13. 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.

×
×
  • Create New...

Important Information

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