Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by Tim_S

  1. I believe you want to wire the Get:Boolean to the output of the Get:from JSON rather than the Get:sub-Item with the way you have the name array wired. The error is correct in that there is no Boolean in the JSON from the Get:sub-Item. A Boolean value in the JSON would be something like: "MaximizeOnStart": false I expect a value of [0] indicates a NULL rather than a logical 0.
  2. I believe the Averna Notifyicon in the LabVIEW Tools Netowrk is based on that and seems a bit cleaner to me. My top level VI does not maximize, so I can't speak to that at the moment. I have subVIs that provide user interface which can maximize with no issues.
  3. Put the entry "HideRootWindow=True" into the ini file for the executable.
  4. I have an error log file that keeps track of what errors have occurred and a set of multi-language files that are used for localization. The application that displays the errors uses the information in both for display.
  5. We supplied final test stations to a customer for their production line. The data from our stations gets buffered and sent up to the customer's database system in the sky every five minutes.The stands became quite old (about 10 years) when IT of many companies decided Windows XP would no longer be permitted on the network at all. IT picks a weekend to stop allowing any XP machine from accessing the network, implements the change some o-dark-thirty late one Saturday night and goes home knowing their network is more secure. Come Monday morning, production comes to a stop as final pack-out can't ship product because no record of pass or fail is in the database. IT strolled in three hours after production started and immediately blamed the test stand supplier. This did not fare well for IT after our serviceman opened up the log file and pointed to the exact time when we were no longer able to access the network. Many years ago we shipped some systems (Windows 2000 based) to a customer with antivirus on them set to update regularly and all that. We installed, checked that the updates happened and went on our merry way. Some months later we get called in to service the machines which started slowing down and behaving erratic. Our investigation determined that IT hadn't locked down any of the network so the test stand operators were surfing porn sites while running the machines. One test stand was so infested with viruses that the antivirus program was just shriveled up in the corner whimpering "help me!" (that one was a wipe and reload as we couldn't even reinstall the antivirus to repair the system). This wound up being a rather expensive paid service call in terms of our bill and lost production.
  6. Our IT blocks access sites where can download shareware and freeware. It seems this includes sites that have commercial free-use icons (have not gotten a story as to why but I expect it has to do with how McAfee categorizes websites) thus I either spend time developing my own icons (which don't look as good) or purchasing a package of icons... or I would but those packages tend to be on the same websites. So when I want professional looking icons, I have to go home to search for what I need and then get purchasing involved.
  7. Should be using SVN, but corporate IT broke the network in some obscure way so the only way can use SVN is on the server and not the development PCs. Used Hg for a bit on my development PC but had to stop as the standard laptop has a tiny SSD on it. My final solution has been to not make mistakes which has the new challenge of staying humble while being perfect.
  8. This sounds like an application where could use a common bus drive (which is just a big AC->DC power supply feeding other big DC->AC power supplies). I don't think anyone makes something down in that low of a current range (typically think starting around 400A). This might save space and be lower material cost, but could be very expensive in development.
  9. My answer is, "it depends". I work primarily with production in the automotive industry; with my customers a CLD has no meaning when we try and get new work so there is little to no value there. If I was looking for a new job then a CLD would be something significant particularly if I can attach a significant number of years to it. If I worked for a company that primarily sold software, then (at minimum) a CLD would be critical.
  10. Expect the VI is referencing something in two PPL files. Removing the one PPL and looking for what is broken should fix it.
  11. There are various customized controls in VIPM and in the Downloads section here. JKI had a presentation on creating modern interfaces on their website. We have interfaces all around us, so every computer program, kiosk, ATM, car dash, smart phone, etc., is a potential example of a good (or really bad) interface.
  12. It doesn't rotate, but does slide of the Y across the X starting with the last point of the Y and the first point of the X, and ending.with the first point of the Y and last point of the X (Wikipedia has a good gif of this). It is possible convolution works well with sinusoidals and not this data set. I was only getting 35 points in the waveforms when I specified a dt (0.001 I think), so I wonder if the sample size isn't large enough.
  13. Was able to play with your data a bit and haven't managed good results with convolution. Not sure why because it is a means to determine phase offset.
  14. Your snippet is getting identified as LabVIEW 2016, so it's not loading into 2015 for me. Looking at the X data sets, I expect the dt are different, which would mess up the convolution (though possibly not so much). The Xcor Peak should be from... uhm... the length of the convolution is the sum of the length of the input functions, so I believe that "0" is actually the sample the length of the Y data set. It's been a few uhm... lets say years... since had to work with convolution. Talking it out a little, convolution takes the one waveform and slides it across the other... The first point of the output is the sum of the product of 1 point of overlap of the waveforms (the last point of one waveform and the first point of the other waveform) then the second point is two points (last two of one waveform and first two of the other) and so on. My thinking was at the point where the two overlap you should get the sum of each point squared which should produce a peak value like in the animated image of the two squares example. I just tried this with a sine and cosine centered around zero and got about what I would expect (peaks near +/- 0.25 from center for a 1 Hz, 1 second signals) but got something very different when I put in an offset (1 for each).
  15. Yea.... ignore me as I seem to be high on whiteout or something.
  16. Wouldn't you really want the convolution of the two XY signals? Getting the 4 into 2 would be a matter of converting the XY pairs to a waveform (untested VI attached). Convert XY to waveform.vi
  17. I don't have 2016 installed so, unfortunately, I am unable to open the code. I'm trying to understand this as I am using network streams in 1:1 and 1:N. Is the attached what you're trying to do (LV 2015)? NetworkStream.zip
  18. I can't see your code as our IT blocks most file sharing sites. It sounds like you are trying to do is in the "Shared Variable" example. I expect you would need to add buffering on the cRIO side to ensure you received all messages.
  19. That's a huge question. The camera has to be able to resolve what you're looking which is a matter of what feature you are looking for, camera pixel size, lens selection, distance from the target and size of the target region. All of that is math, so it's not too bad to calculate. Then there is lighting, which usually requires some level of voodoo in looking at target surface condition, ambient lighting and object in the area to determining position, light shape, light size, light color, camera filters.. Your best bet is to pick a supplier that will loan you various lighting arrangements and just try them out. Even with getting everything working, there are things that can happen to mess up the system like the glare from the mirror on a passing forklift or the light coming from a bay door 30m away on a sunny day at noon.
  20. If you look at the explanation of the error code: You are trying to read one sample at a time when they are coming in at 1000 samples/sec. The buffer fills up and overflows. Try reading in 100 or more samples at a shot or slow your sampling rate to 10 samples/sec.
  21. Why are you looking to merge data? What is the intention? (I'm thinking something like configuration?) Ignoring the merge data requirement for the moment... Not sure why you have a parent, child and grandchild. Looking at this, I see a parent and three child objects with the methods: Initialize: Passes in the communication user event sets up anything needed in the specific child Start: Accepts a subpanel reference, inserts the ModifyUI.vi and starts the ModifyUI.vi running Stop: Stops the ModifyUI.vi Cleanup: Any tasks needed to clean up the specific child
  22. There is a whole host of tools in the Strings pallet. There is scan string for tolkens, match pattern, conversion primitives... I could take a bunch of stabs at how to parse it out, but without any information as to how much of what is being sent and the format of the message it would be guesswork. That being said, it does appear the start of text (ASCII hex 2) and end of text (ASCII hex 3) is being used to delimit information, so scanning for tolkens is probably a start point.
  23. Error code 56 is a timeout error. The first thing I always check is that everything is plugged in, powered on and the cable is correct type (crossover or strait through) and not damaged. It's surprising how often one of those is the culprit. ("Of course I turned it on! See... uhhh.... oops...")
  24. KepserverEX resides on a PC. KepserverEX provides communication to a device (we've used it for PLCs) and presents an OPC server which people have pointed out can be talked to through datasocket (examples ship with LabVIEW). You buy the driver or suite that goes with the device you want to talk to. Some years ago you could download the suite from the website for a trial (30 days); I would expect that has not changed.
  25. Have you looked at Kepware? https://www.kepware.com
  • Create New...

Important Information

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