Jump to content

Bryan

Members
  • Posts

    370
  • Joined

  • Last visited

  • Days Won

    13

Posts posted by Bryan

  1. Are you meaning a *.txt file generated from a LabVIEW program saved onto a remote PC?  You should be able to set up a shared folder with appropriate permissions on your remote PC and have LabVIEW save the file to the share.  I won't get into the details since there's gobs of info on the internet on how to set up shares. 

    Once it's set up, you can just have your LabVIEW program point to the path of the shared folder.  For example: If your remote PC name is "REMOTEHOST", you name the shared directory as "LabVIEWDATA", and your text file name is going to be "TestData.txt", the file path for your text file would be (on a Windows machine): "\\REMOTEHOST\LabVIEWDATA\TestData.txt".  You can optionally replace the "REMOTEHOST" with the IP address of the remote machine, but if it's a DHCP assigned address, it could change on you in the future. 

  2. I'm not sure that you're going to be able to (easily) do what you want to do without some advanced programming to automate/manipulate Microsoft Excel (for instance, using ActiveX or dotNET), even then - I'm not sure it's possible to do what you're trying to do as it involves Microshaft software, over which LabVIEW will have limited ability to control.

    I agree with 'crossrulz'.  Whomever is pushing this requirement may need to reevaluate the need for this functionality.

  3. There is a "Flush File" function in the "File I/O >> Adv File Funcs" menu that you can have execute after every write.  

    However, If you already have Excel open to view the CSV file, I don't believe that Excel will automatically update your spreadsheet contents every time the file changes if that is what you're trying to do. I haven't tried that myself. 

    If the above doesn't work, it may be that Excel doesn't constantly monitor the file and automatically update.  You could try using the "Refresh All" button in Excel under the "Data" menu, but you'd have to do this manually.  Additionally, you'd have to open your reference to the file with permissions configured in such a way that it doesn't block other applications from using the file if another already has it open.

    Someone more experienced in Excel and actively monitoring file contents may be able to provide more info.

  4. 52 minutes ago, drjdpowell said:

    Interesting quote from the ex-NI person posting on Reddit:

    We all know that they wouldn't be the first company to do that and certainly not the last.  It's happened in places I worked before where we were forced to use some obscure, and non-user friendly software applications that were not the industry norm for reasons unknown.  If I were to speculate, it was because someone in the upper echelon had been dazzled or were/knew someone who could financially gain by way of it.  These applications were, as was said, enterprise level agreements/suites/etc. and likely cost the company a lot of money both in purchasing/agreements as well as the time wasted for learning curves and inefficient usage.

    Before I joined my current company, "Thou shalt use LabVIEW" was the command from above.  Not all were pleased with the mandate at the time and some still aren't, but it's one of the top reasons that helped me to get a job there.

  5. We've been using these Scales by Sartorius.  They were Denver Instruments scales incorporated into Sartorius.  I don't recall the measurement resolutions, but I do know that they are extremely sensitive.  They're USB devices detected by Windows as a Serial COM port device and we use serial commands to interface them (e.g. NI VISA).

    However, we have had some that stop responding to serial commands over time.  Sartorius wasn't much help with the issue though.  In the end we ended up taking one apart and rerouting a ribbon cable or otherwise messing with cables to get it to communicate more reliably.  We do have another scale that we haven't been able to fix with that method that is just currently sitting on a shelf as it's warranty ran out and we just keep it for manual measurements.

  6. Okay, sorry... I thought maybe you were monitoring THEIR software command/response by some method.  When I said "duplicating", I thought you hadn't tried it with your code yet, it sounds like you have.  So you're communicating with the UPS now?  Good!

    I'm still wondering though if it's expecting hex values that would represent the ASCII characters for the ...03 02 18 00... and possibly the "9B".  

    I'd be interested to see if you get any responses for the following commands.  They are what I was trying to explain above (though, probably not explained well... I'm not always good with the words putting together thing):

    7F30 3330 3231 3830 3039 42

    OR

    7F30 3330 3231 3830 309B

  7. I wonder if it's a mix of hex and ascii somehow based on what crossrulz said - like the 7F is supposed to be a hex byte (non-printable character), but the remaining values (including possibly the checksum) are to be the ASCII representations of the numbers... for instance:

    7F 03 02 18 00 9B

    Could really be sent as:

    7F 30 33 30 32 31 38 30 30 39 42

    (Again, I'm not sure if the checksum would have to be ASCII or Hex... you could try it both ways. )

     

  8. Yeah, working from home can be a pain for those of us who require physical hardware in order to be effective at what we're doing.  We're doing somewhat of a 'rotation' of Test Engineers where I work, so on my days in the building, I can grab things to take home if needed... but ya always forget something. Haha!

    It would be great if you had access to a physical DB9 Serial connection on a computer to try.  I know that very few laptops come with them these days and we're forced to use those &%#@ adapters.  I know that some of the pins used by the dry contacts are used for other things with normal serial communication, which is why I'm confused that Tripp Lite says it'll work with serial - unless you have to have a custom cable of some kind. 

    Like I mentioned before though, I'd be tempted at this point to try using the USB connection on the UPS and install their driver.  Windows may be able to see, and allow you to treat it as a serial device via that method. 

    I hope you're able to figure out what's up.  If I think of anything else that could be useful I'll be sure to post it.  In the meantime, if you get it figured out, please keep us updated on what you found. 

  9. I just looked up the owner's manual for that UPS (https://www.tripplite.com/support/owners-manual/45875).  If you look at Pg 6, it looks like there are 2 DB9 connectors on the back... is yours like this?  (Stupid question: Are you plugged into the right one?).  Also, on Pg 12, it mentions "dry contact" connections under USB and RS-232.  It's kind of confusing, but it looks like it could possibly be using a mixture of contact closure and RS232 communications on one cable... this seems unusual (and I may be reading it wrong, I'm in a hurry), but if that's the case, connection of anything other than pins 2 and 3 to your computer could be causing issues.  What concerns me is that pin 5 is normally used for communication ground, but the documentation looks like it says that the contact closures are using those pins as well as pin 3.

    I'm wondering if the DB9 connections aren't intended for serial communication.  Some devices will show up when plugged in via USB as a Serial Device with a COM port assignment (may require a driver installation from them).  Perhaps that's what they mean by serial/rs-232?  If so, their documentation (that I've found anyway) isn't very helpful.

    I also just noticed that your baud rate in picture above is set to 2400, which isn't typically common on modern serial devices anymore.  9600 used to be the norm, but I've seen 19200 and 115200 commonly used on devices as well.  I've never interfaced one of Tripp_Lite's UPSs before though.

  10. I work with those CURSED USB to RS232 adapters nearly every day and have had a whole range of different issues with them.  I won't get into it all here, but here are the troubleshooting steps that I typically do in no particular order:

    1. Jumper the Tx and Rx pins on the connector closest to your device to form a loop back (pins 2 and 3). 
    2. Use PuTTY or some other method to send data out, you should get the exact same data back.  If you get data back, then you're communication is making it round-trip to at LEAST the connector of your device.
    3. Try a null-modem cable/adapter, which swaps the Tx and Rx pins between one end of the cable to the other.  Sometimes manufacturers don't make it easy to figure out if it's required.
    4. Double-check to make sure your Baud rate, data bits, stop bits, parity and handshaking have been configured to match what the UPS is expecting.  It looks like you're specifying a termination character for READ (For the initialization, 0x0A), but not enabling it.  If the UPS requires a termination character, you'll have to explicitly send one with writes, it doesn't automatically append.  If the UPS is expecting it, you may have to add an "0A" to the end of your hex string.
    5. Look in the documentation to find out if the UPS requires any special termination characters, start/stop, etc characters - I.e. is what you're sending properly formatted?  I've had devices which required unusual starting and termination characters before, with or without the common "0x0A termination character.
    6. Your VISA Open timeout is zero, try adding something a little longer... possibly 50ms to 250ms or so.

    • Like 1
  11. I had a TI-85 that I had to buy for college.  Loved that thing.  Lent it to a friend of mine where I used to work, who accidentally left it in a conference room and I never saw it again.  They gave me their TI-83 as a replacement, but I had a lot of programs I wrote on my 85 that were lost. 

  12. Ditto!  It's bitten me a couple of times since I started at my current employer.  I've found instances where developers (who are no longer here, or were contracted by a certain NI Alliance Partner) have configured global tasks and channels in MAX and called them from LabVIEW/TestStand code.  Also, I've seen where they've defined custom names for devices in MAX and referenced them in LabVIEW executables. 

    I don't now what's been causing it lately (Win-blows updates?), but several of our factory testers, which use the methods above have been "forgetting" their custom MAX-defined names in recent weeks.  Backups of the MAX config aren't always there, so I don't know what the names SHOULD be.  I've had to try to find the source code for LabVIEW executables in several occasions in order to figure out what the MAX configuration should be, but have found that either the source code was "lost", or not all dependencies are there.

    I won't mention the name of the NI Alliance Partner that did some of the testers.  It was actually a company that I was thinking of applying to when I was in danger of losing my job due to reductions in force, but I will say that if an operator tells me that there's a problem with a tester, and that it's a __________ tester, I always *sigh*.

  13. Sorry to revive an old topic, but I'm currently looking for a solution to this as well.  

    I had found something on the NI forums, but it looks like it only works for TestStand 4.1.1. :

    Runstate.Root.Locals.DatabaseOptions.ConnectionString

    However, I'm using TestStand 2013 and 2016 and this expression doesn't appear to be valid for these versions.

     

    Edit: After some digging, I found that it can be found at:

    RunState.Root.Locals.ModelPluginConfiguration.Plugins[ARRAY]

    This will return an array of configured plugins.  I'm assuming that this is going to vary for everyone, but I was able to find mine at:

    RunState.Root.Locals.ModelPluginConfiguration.Plugins[1].PluginSpecific.Options.ConnectionString

    I'm far from a TestStand guru, but I'm sure that I can write something to parse and find the connection string as I'm assuming that the array position may change in the future.  But I'm hoping that someone has a simpler, more robust method of getting the configured connection string.

  14. You could add additional I/O to the Pi by connecting Arduinos to it.  If you install LINX on the Arduino(s), your deployed LabVIEW application can control I/O on the Pi AND on the Arduino(s) using the LINX toolkit.

    I haven't done this personally (I'm using another home-grown method), so I don't have a "How To" for it.  However, I know that I've stumbled on the above idea in one of my recent Google searches.

  15. I'm attempting to get LabVIEW 2018 along with DAQmx and VISA installed on a machine (virtual) running Centos7 and am wondering if anyone else is doing similar.  

    The main problems I've run into, by following NI's instructions for DAQmx and LabVIEW 2018 support is that it appears some of the DAQmx tools don't install (e.g. "lsdaq") and the additional NI software doesn't appear in the "Applications >> National Instruments" Gnome GUI menu.  

    I can access serial devices once NI VISA is installed (after adding myself to the "dialout" group), but cannot see or access any DAQmx devices using their method in the link above.  I have had some success using previous versions of DAQmx for Linux, but ran into issues and conflicts between modules used VISA and DAQmx. 

    At any rate... I'm wondering if anyone has gotten something LV2018, VISA and DAQmx to work on Centos7 or RHEL7 yet... and if so, what issues/fixes/workarounds you had to do in order to get it to work.

×
×
  • Create New...

Important Information

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