Jump to content

viSci

Members
  • Posts

    475
  • Joined

  • Last visited

  • Days Won

    21

Everything posted by viSci

  1. Whoops, I guess I did not read the opening statement very carefully... Global VI's not Globals. Well I do still need to clean up access to my globals anyway! When we are talking about globals are we referring to old style 'free' globals or project based shared variables? Shared variables are always part of a project and thus have access scope protection which is helpful. I use NSV's alot (I have 100's of them in my cRIO application) mostly are used to to bind IOV's upward to the PC HMI. But I also use them for interprocess signaling and as command response FIFO's. I suppose I should do a better job of encapsulating their access in classes, thanks alot for giving me more work to do
  2. Try converting all inputs (level) and outputs pump speed to %, there are egu to % and % to egu vi's for this purpose. also make sure you understand if you are forward or reverse acting. In other words, what is ther relationshiop between input and output. If it is reverse acting then make you PID k gain negative.
  3. In both LV2009 and LV 8.6.1 I have experienced a type of invisible project corruption that results in damage to etherCAT scan engine access to Digital Output resources. Image a working cRIO 9074 with a 9144 expansion chassis that has been working perfectly for an extended period of time. A change is made to source code, compiled and deployed to the target. Something goes wrong with the deployment and both the project explorer and the cRIO crash hard. The cRIO has to be manually rebooted and LV on the development machine has to be terminated and restarted. After restarting and redeploying again, everything is working fine except that Digital Outputs are not generating a voltage change on the cRIO 9076 module that resides in the 9144 expansion chassis. In the Distributed System Manager, digital outputs on the 9076 are forced but no electrical signal change is observed. All other modules are working normally. cRIO is then reformated and project is redeployed but the problem persists. Swap out a new 9144 and 9076 module, still the problem persists. Open a new project and add cRIO target and finally the outputs start working again. Open the original project, remove the cRIO target, add cRIO target, redeploy and then all is well. What is the lesson learned? Apparently, there was nothing wrong with the hardware or the source code or configuration within the project yet something 'invisible' had become corrupted in the project. The problem is that there is no way to validate the project to see if something has gone wrong internally. Also no errors were generated. Has anyone experienced anything like this?
  4. Just an aside that LV2009 exe build properties now includes the option to autodeploy NSV libraries upon application startup.
  5. The current version of the PID toolkit for LV 2009 is not much different from the original dating back to the 1990's when it was first written by Gary Johnson. It is very clever and highly convoluted and would be difficult to use in an RT application. I am thinking of ways to decouple the PID core from the autotuning procedure. My first thought is to use NSV references to tap into the PID PV,SP,Output and PID parameters. This way the autotune client software could run on any PC and would be consistant with the PID Real-Time Function Block. Would like to hear from other who have thought about this, particularly anyone from the NI systems group who may already be planning this.
  6. Yes, actually I am doing exactly that. Unfortunately, the alias names returned are identical for the 2 adapters in my PC.
  7. I have a PC that is connected to a mxi based pxi chassis that contains a pxi-6682 GPS timing module. The pxi-6682 has a ethernet adapter that appears to the PC as a second ethernet adapter card. The problem is that if I poll labview for a list of adapters by name, both the 6682 and local adapter have inherited the same name (the network computer name). Thus there does not seem to be a way to get to the actual adapter names (which are different) allowing me to find the IP address being used by VI Server. So my question is: 1. Is there a way to find the IP address of the VI Server 2. Is there a way to get the actual assigned name of each ethenet adapter card Thanks for your help.
  8. Anybody know if there will be a 2009 update for the cRIO EtherCAT drivers? It is not on the NI-RIO drivers install or the 2009 device drivers DVD set. It seems like it would be better for it to be included with the NI-RIO drivers.
  9. Any word on when these will appear?
  10. The SOLA UPS comes with a windows based monitoring utility called upsmon but I am using it with a cRIO which needs to monitor the state and battery level of the UPS.
  11. Thanks, portmon is awesome! I now have a transcript of the communications protocol which unfortunately is binary but am working on decoding it presently.
  12. Anyone every seen one of these puppies? So far I cannot make any headway and will probably need a com port sniffer to pull it off...
  13. Actually it would have been nice if execution highlighting revealed the hidden code, but it did not do so in my case.
  14. Nice utility, thanks François.
  15. I am not able to get the structuresFadeToDiagramBeneath ini to do anything. Could someone confirm that this works?
  16. Greetings one and all, As my first post on the new LAVA site I would like to offer a public service announcement to help others avoid the difficulty I have gone through the past 4 hours. Up until today I found the Auto Grow feature to be annoying and disabled it. But lo and behold it was 2 subvi's hidden in a diagram disable structure that were causing my problem. It occurred to me that this is a nasty pitfall of graphical programming that has always existed prior to Auto Grow. So do yourself a favor and leave Auto Grow Enabled! Perhaps in the future structures could have a simple indication if any objects are outside of its visual boundary.
  17. http://zone.ni.com/reference/en-XX/help/37...eate_bound_var/
  18. Yes, all the methods mentioned do indeed work with cRIO targets. In my system I have 2 9074 targets each with 9144 extension chassis. I am using the scan engine IO Variables which I can read programatically using Data Socket (DS) and then filter and scale then transfer to my version of the Current Value Table (Fancy shift register based storage) and from there the data is written to a proper NSV library which has a binding to a 'mirror' library on the windows side. From there I cannot via the DSC toolkit to my citadel database.
  19. You can also bind one library (say RT target) to a 'mirror' library on another RT or Windows target. LV 8.6 has some nice tools to help you bind entire libraries. You can also programmatically transfer Network Shared Variable data using Datasocket.
  20. The Good News: It is possible to set the initial value of a NSV on an RT target. The Bad News: There does not seem to be anyway to determine when this initial value is available from the SV server. For some reason there an initializing period of time that the PSP client (your RT application) needs to connect to the SV server to obtain the current value of a NSV. You can try looping until the warning message (Warning -1950679027 occurred at an unidentified location Possible reason(s): LabVIEW: (Hex 0x8BBB000D) NI-PSP has not connected to the server yet) goes away but this does not alway guarantee that the next transaction will be good. I think NI should provide a utility that can be called that forces this initialization process to occur.
  21. Here's a little utility to deal with the problem.Download File:post-162-1236702011.zip
  22. I have noticed in LV 8.6.1 that some of my system numeric 'spinner' controls are no longer accepting min, max data range settings in the data entry popup. I can type in a new value and it simply reverts to 0. Once LabVIEW has gotten it into its head to do this then all past and future numeric controls will not allow me to range set. I am guessing that the Numeric Poperties popup has some 'smarts' in it that remembers the last settings and it appears that it is too smart for it own good. Has anyone else seen this problem? Even worse, is that once a control develops this problem I cannot fix it other than deleting.
  23. Cool...I never knew you could get that kind of detailed coordinate information, thanks. I prefer your solution since it does not rely on having to use up the description property of the controls.
  24. Ok, I will try again to explain...If I double click on the text field of the control I want a popup touchscreen keypad to appear. If I click twice rapidly on the up arrow of the control then I do not want to have the keypad popup, but unfortunately the Mods:Double Click property cannot tell the difference by itself. BTW, thanks for your interest in trying to help.
  25. Hi Ton, Perhaps I am not understanding how simple the solution is but I cannot see how to use the native double click to produce the desired result. Take a closer look at my example and notice that it is able to differentiate, on a single numeric control, between a double click and two fast successive value changes.
×
×
  • Create New...

Important Information

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