Jump to content

didierj

Members
  • Posts

    363
  • Joined

  • Last visited

    Never

Posts posted by didierj

  1. I can't found block diagram item in the property node list.

    2841[/snapback]

    You won't find it, since it is part of a set of features, since LV7, that is "jet" not released from NI and therefore reserved to NI people :( , but...

    NI forgot to password protect a few VI's (where they use these features), and now, people know of it. ;)

    See topic Automatic Code Generation, How to DIY Auto Code Generation!!

    Unfortunately In LV7.1 they closed these backdoors. If you have a LV7 installation you can copy the features from the vi's mentioned in the link to use them. If you have LV7.1 copy them from the examples provided in this forum.

    Didier

  2. To change the color ramp right click on a marker (the value, not the ramp itself) and select from the pull-down "Marker Color" (see attaced image).

    On the pull-down you also see "Add Marker" if you want to define more colors and "Interpolate Color" if you want the colors changes smoothly or not.

    post-253-1101994315.png?width=400

    Didier

  3. Before you load your VI, rename your "Plv.dll" to something "Plv.dll.x" so LV doesn't find it anymore and asks you again to select it. Afterwards you can rename it to the original.

    Make sure to add a "<dot>something" at the end, so LV and Windoze doesn't recognize the file as a dll anymore.

    I use this system quite often, especially when I transfer a project from e.g. LV6 to 7 and don't want to have the instruments and other commonly used (in LV6) vi's also saved as LV7.

    Didier

  4. With the mouse, when I go over a "hidden" scripting property, the context help tells me (among other informations):

    Select the LabVIEW Scripting Properties and Methods Help menu item from the Help pull-down menu for more information.

    Does anyone know anything about this help? :ninja:

    Or, did NI already do the job for a future LV version, when the scripting features will be released? :thumbup:

    Didier

  5. I must have overseen some setting :headbang:

    Since LV 7.1 when I want to write "#" character, in the block diagram LV asks me if I want to show the grid and on the front panel nothing happens.

    How do I switch this new shortcut off to use "#" as character?

    Didier

  6. In your case it does not depend on fonts but it is due to the translation from english to german. This vi was written with an english LV environment and you now imported it in a german LV environment.

    As a general rule in computing, a translation from english to german or french needs 50 - 100% more place. That's why your elements overlap each other.

    The code itself isn't touched. It just looks crappy and needs much more place when programming. That's why I switched my LV version to english (as a side-effect it is even a few bucks cheaper).

    Didier

  7. Basically I want to implement a list, the user can fill with numbers. Seems simple, but...

    - The list just accepts number-keystrokes (0...9), system decimal point, <enter> or <tab> to go to the next line.

    - The list doesn't accept empty lines

    - vertical scrollbars, since the number of elements is unlimited, but I just can display e.g. 5 elements.

    - 1 column, n rows

    Now the problems I encouter are:

    - either I create an array, then the list just accepts number-keys, but implementing the scrollbars and <tab> is a pain!

    - or I implement a table, then I can intercept the keystrokes with a "key-press?" event, but how do I find out which is the system decimal point, and how do I detect an empty line?

    Has anyone already solved one of the solutions (I would prefer the second, which means much less coding)?

    Thanks

    Didier

  8. The event structure (LV7) doesn't allow to select controls inside an array. Is that possible?

    2754[/snapback]

    It's not just the event structure that doesn't allow selection of array elements, but all property/methods applied on array elements fall into this topic.

    It it an intended behaviour. Since at designtime you don't know how many elements will be in the array, and at runtime the number or elements can change, you would get problems when wanting to change the property of element that doesn't exist anymore (how would you create an event on the 25th element of an array when your array just hold 20 elements????)

    On arrays you can just act on the properties/methods of the element type. not the elements itself. The events (e.g. Value Changed) react on the elements not the types - so not possible for array elements.

    Didier

  9. 1. At which speed do you transmit data over the serial port?

    Sending one Byte over the serial port at 9600 baud needs 10ms! At 57600 baud needs .17ms

    Make sure your serial port writes to 57600, 115200 baud or higher.

    2. To find the process that consume the most time either use the VI-profiler (Menu: Tools>>Advanced>>Profile IVs...) or place Tick Count's in your block diagram (with e.g. sequences to have the Tick Count readed at the whished time), subtract the values from different Tick Counts.

    VI-profiler is based on vi, with Tick Count one can "profile" parts of a vi.

    Didier

  10. I guess this option would be good for some codes but not mine.

    2678[/snapback]

    It is usable (in some ways), when you're debugging and don't want to step through your whole code. So you get an idea where and when your error occurs.

  11. In my block diagram when I created a reference for each of the controls, I was unable to wrap a cluster structure around them. I had to create controls for each reference, which then appeared on the FP, and then I was able to jam these controls into a cluster.

    2665[/snapback]

    As Michael stated, wire the references to the "bundle" not "bundle by name". Now on the output of the "bundle" right click and create a control. You directly get a correct cluster-control on your front-panel thich you can copy-paste to your sub-vi. Afterwards just delete the control on your main-vi, since it's not used anymore.

  12. Is there a simple way to control the order of execution of sub-VIs in a program without using the sequential frames?  I am trying to clean up some software that someone else wrote, and it's very very difficult to see what is going on in the program because everything is hidden in a frame.

    2670[/snapback]

    You're in the same house... :(

    In order to make sub-vi's sequencial without the sequence frame, wire the error cluter in and out of every sub-vi. In the sub-vi, wire the error in to a case structure that surrounds everything.

    This way you wire the error in/out clusters together in the main-vi. Also If a sub-vi produces an error, all the subsequent called sub-vi don't waste time on operations that are then useless.

    For further informations see LTR (www.ltrpub.com) Volume 7, Numbers 1 + 2. There are rules on good wiring ("rules to wire by"). There is an example of using the error cluster.

    Maybe there is also something in the online-help.

    Didier

  13. Seems that the content of the mentioned VI is running under "intellectual property of NI".

    Although the censuring is legal, I find it not best for NI's image (seen from the developer side).

    I don't know the details, but it seems that someone just wanted to use a tool NI wrote and not having to reinvent it.

    Didier

  14. I believe what I need is two parallel processes running under my main vi (one for database and setup, the other for polling and data processing/display, but what would be the preferred choice here?

    2651[/snapback]

    That's the solution. If your data acquisition needs to perform continously without interference of the front-panel activity you'll have to run them in parallel... since LV architecture let you program parallel loops.

    Use queues to transfer data between the two loops.

    Didier

  15. I'm a little confused.  After using GOOP, the data clusters that are generated are strictly typedefed, but can't be opened directly from the right click menu.  I can use Advanced > Customize... as usual, but normally for my strict typedef controls, the Update from Typedef and Open Typedef options are enabled on the right click menu.  What is the reason or idea behind these menu options being disabled and is there a way to enable them without interfering with the reason I'm guessing they are probably like that in the first place?

    2575[/snapback]

    When you make canges on the data-cluster in GOOP (downloaded from NI) you'll have to also re-save the object reference. Otherwise you have broken methods.

    Didier

  16.   So far I've put my program as 'Time-Critical' execution.

    2474[/snapback]

    Even with "Time-Critical" your app isn't proof of missing 4:00:00. The only way to be sure not to miss a time would require you to run a real-time operating system.

    On Windoze (probably Unix and Mac also) you have always tasks from the system that can have a higher priority than your LV "Time-Critical" process. A temporary high network, Harddisk traffic or complicate screen build up (streaming or rendering) can freeze your computer for several seconds. On W2k/XP systems theese are rare occasions, but if your network switch destroys itself (happend to me: while I was copying big file to a network drive a network switch collapsed, my computer was freezed for more than 15 mins)

    So far, the best method is the notification method.

    Didier

  17. Thanks to all,

    :oops: forget to say, she was born last Friday (15.10.2004).

    It's strange how suddenly one feels better than the whole world when he gets his first child... :D

    For everyone who didn't tried it yet, It's a great feeling!!!!

    So you have upgraded Spouse 1.0 to Mom 1.0 which spawned child process Kid 1.0. :D

    You'll need a lot of system resources!

    Congratulations!

    I know and already upgraded my hardware. But I fear I would have to repeat it several times in the next 18 years... :blink:

    I hope you have filled up on 'tea and dessert' - your probably going to be too busy for the next 18 yrs!  :wacko:

    For the next two weeks I'll try to get organized with my wife, afterwards I have to find an empty bureau with a door to recover from the sleepless nights (your co-workers hear your snores over the books- and ring binder-walls, since in switzerland we do not know cubicles).

  18. Hi Everybody,

    May I introduce the newest member of my family:

    post-253-1098165481.jpg?width=400

    Her name is Vanessa, weighs 3.4kg (makes 7.5lb) and already educates her parents... :)

    :beer: Cheers :beer:

    Didier

    p.s. I'm the proudest daddy in the world.

  19. Is there a way to group a bunch of objects on the front panel into a single object group, including respective code as well?

    2295[/snapback]

    The only way to do it in LV (from version 7.0 up) is to use a subpanel. Creating custom controls the way known from text-based languages is not yet possible.

    For further informations on subpanels look at the online help and the examples (menu: File>Find Examples...).

    Didier

×
×
  • Create New...

Important Information

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