Re: Please find the VI named ...
Hello, I have the same problem. Do you get help from NI ? German_user
Re: Re:Programming Approach
William Rance wrote: Of course if we considered this to be too trivial we would not have posted it. The emphasis is not only on the linear distance (x) for each jump but also the amplitude(y). You're adding an extra dimension that's not present in the original puzzle. In what way is 'y' relevant? Only the linear distance is relevant. So all the stuff about waves is immaterial. You COULD use the wave idea to approach it but you're making it much more complicated. 2) What is hidden in this question-well very little if our approach at analysis is 'critical'. Bill Then explain to me what is hidden when a less critical analysis is used. -- Dr. Craig Graham, Software Engineer Advanced Analysis and Integration Limited, UK. http://www.aail.co.uk/
RE: Signal Translation (Severely OT, with apologies) (longwinded explanation of parameters)
Title: RE: Signal Translation (Severely OT, with apologies) (longwinded explanation of parameters) Hi John What follows is longwinded, and may only make sense to (ex-)hardware technauts like myself. But you asked! I don't think I gave enough data to fully comprehend the problem. Requirements restatement: - simplicity - robustness - reliability - self-diagnosis (less of an issue, but desirable) - in all detected failure modes, device passes input to output unmodified (essential) - input signals A and B and output signal X must all be 4-20 ma loop signals Consider Y = F(B) X = A + Y The root issue here is simplicity. For example, the simplest proposed solution (to date) is the following: - convert A and B to 0 to 5 volt signals - Digitize B - Use the 16 bit quantity B to lookup Y in a table - Convert Y to an analog signal, - 5 to 5 volts - Sum A and Y in analog circuit; summing parameters such that the change in A is limited to the range min to max. - convert X to ma Obviously, if F(B) were linear, we lose the A/D and D/A transforms. Failure modes are critical in this application. We can limit the adjustment signal Y in hardware (beyond the DAC output) in the summing node to ensure that Y cannot change A by more than some limiting value. We can use a power-fail relay to route input-to-output to ensure that power-fail modes result in A-X unmodified (worst case). I can even see using mirror-imaged ROM's to implement a rudimentary checksum arrangement to self-fail on ROM mismatch, if we really need this much failsafe (if the failure modes of the self check outweigh the failure modes of the ROMs, this may self-defeat). Additional checks in hardware could be done by computing the difference between A and X and comparing this value to a pair of setpoints; if for some reason one of the setpoints is exceeded, the unit could self-fail. All these things are possible. Done. No processor required, just use a 16-bit A/D with parallel outputs and feed a ROM's address lines to get an appropriate value to convert to analog; do a little analog circuitry to add Y to A. Yes, some form of logic clocking may be required, but this isn't astrophysics. Yes, the lookup table needs to be generated offline and burned into ROM, but this is no big deal. So why not do it in software? Well, simplicity. Period. KISS. Why do it in software? Error checking, perhaps. Ability to add integrity checks, perhaps. Reputed simplicity of modification? Overrated, IMHO, and the required transform is not that mutable, as it's based on real physical hardware objects that don't change. Need to employ software or hardware engineers with a few years left to retirement, NO (yours truly included). If the self-diagnosis routines get too complex, the amount of hardware skyrockets, the cost climbs, and the software world gets more enticing. But maybe some form of processor could be piggybacked on the circuit for diagnosis, without allowing it to impact the direct signal path. Hmm - dubious, at best. So give me a !valid! reason to involve software that outweighs the costs of a development program, in-house engineering, down-the-road support, succession planning, etc. etc. etc. One internally-proposed solution so far has a PC, DAQ card, Windows, interface chassis, user interface, etc. etc. etc. Where the heck is the simplicity in that? Failure Rates? Reliability? Sure as heck not .9, but right now I can't tell you what the reliability requirement is, just that a Windows-based solution would be laughed out of the room. And that's why I flagged this message as severely OT - I don't see a whole lot of LabVIEW applicability, but there are a lot of sharp minds on this list, very few of which have blinders to a software-centric world. We may be underrating the complexity of the all-hardware solution, but so far I haven't heard the definitive silver bullet needed to kill it - I need to know if there is one. Blair
Excel open
Hi, when opening Excel template from within LabVIEW and the customer closes Excel accidentally outside LV will create big troubles. I've got a hint to prevent closing Excel outside LV but never succeeded ordently with that. Has anybody tried to use Excel macro to to do the thing. I'm not very used to use Excel macros. Any good hints. I use LV 7.0-7.1 with Microsoft Report Generation toolkit v.1.01. Thanks Eki
Can I update numeric control value from global parameter or other source while running VI
I have an application where you can change same value from different numeric controls. When I change the value from one control, is it posible to automaticly update the value to other control ?
Re: Recursive Code Challenge
Recursion is a mathematical concept that allows you to express the algorithm in the least amount of notation. Like other mathematical forms, calculus and algebra for example, until you know it, it only seems to complicate things. Once you overcome the learning curve, the light goes on and you have a powerful new tool to use for tackling real-world problems. Of course by comparison, recursion is not much of a tool compared to calculus and algebra, but a tool none the less. Some languages allow for recursive definition of the code, others don't. Either way, it is useful to recognize the recursive nature of the problem and solution, then the algorithm can be anything you like. And it is always possible to make a recursive algorithm have an iterative solution by using a stack. The two implementation choices you have in LV are building a stack using an array or queue, or spawning VIs from templates. Of the two, I prefer the loop with an array shift register. This will execute efficiently and is usually quite easy to write and read. Of course when LV allows for recursive VI calls, that will be even cleaner to write and read, but it is always nice to know how to make the iterative version. Greg McKaskle
Re: [W] Is it Possible to use InPort / OutPort with PCI?
Martin Kunze [EMAIL PROTECTED] wrote: Digital logic told me that they can not tell me a abs. address for this device and they dont have a device driver for it. No, they indeed can't tell you an absolute address as the ISA IO address range is mapped into some address range through PnP services at system startup and can vary from PC to PC and even between startups. That they do not have a device driver for their board is a much more serious problem. Somebody today selling PC hardware without at least Windows NT support drivers is definitely in the wrong business. But hey maybe they support Linux much better. How can I find out the base address of a ISA device connected via a PCI bridge from LV? You can try to check in the Device Manager. Usually you see the assigned resources in there but that doesn't give you a guarantee, that this address couldn't change after a reboot. With Linux this would be in fact easier. How can I talk to the device from LV? Is it possible to use InPort an OutPort from LV? Well, here we get into Plug Play OS services with resource enumeration. The ISA bus on the other side of the PCI bridge is typically mapped into memory space at startup by the OS. It could also be mapped into the upper IO address space sometimes but that is rather tricky. An ISA bus can theoretically have 64kB IO address range and the 80x86 architecture has only 64kB IO address range so trying to map secondary PCI bus addresses into the 80x86 IO address range has the possibility of conflicts with other IO addresses. Therefore PCI bridges sometimes map IO addresses to memory addresses to avoid such problems. The particularities are not that simple and in fact that is usually the task of the device driver to use kernel PnP services to map the addresses internally. I have no specific experience with this device nor in fact with any ISA IO port access through a PCI bridge and so can't really help you here but I'm afraid it is not going to be very simple. Maybe you can influence something on BIOS level and try to force your OS to accept the BIOS settings but in XP this chance is also quite small as Microsoft rather wants to manage this stuff themself than trying to work around buggy PnP BIOS implementations. Does anybody have a device driver for things like that in connection with Win XP? No sorry, but you could check out the portIO device driver on OpenG. As it is, it does not care about PCI bus mapping in the function HalTranslateBusAddress() but you could extend it to do so, eventhough Microsoft says this function is depreciated in favor of newer PnP enumeration kernel services, which however are not available before Win2000. I didn't want to use newer APIs as the driver should run on as much Windows versions as possible. As to the limited mapping, I didn't feel that this would be a huge limitation and in lack of hardware to test anything on didn't really care, but in your case it would be necessary to actually allow for that as well. The portIO driver is part of the OppenG Toolkit but not currently included in the binary distribution of the Toolkit. You can get it however from the sourceforge CVS repository of the OpenG Toolkit or directly though CVS web access. http://cvs.sourceforge.net/viewcvs.py/opengtoolkit/portIO/ Rolf Kalbermatter CIT Engineering Nederland BVtel: +31 (070) 415 9190 Treubstraat 7H fax: +31 (070) 415 9191 2288 EG Rijswijkhttp://www.citengineering.com Netherlands mailto:[EMAIL PROTECTED]
Re: Can I update numeric control value from global parameter or other source while running VI
Hi, I'm not to sure what you mean but the hard way is do a system like this: (this is made with 7.0) You can add as many controls you want. Eki Juh [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] I have an application where you can change same value from different numeric controls. When I change the value from one control, is it posible to automaticly update the value to other control ? begin 666 test.vi M4E-20PT*``-,5DE.3$)65P``9P```6( ``9P$` ' M$( [EMAIL PROTECTED],`/ ```!] @ (0`0`!``+_ M.-O)V1/ #D[EMAIL PROTECTED])GV!P8\:!'J,\! [EMAIL PROTECTED],[EMAIL PROTECTED]@ F8[/A?E.?_S YZH32B8)GJK.`#H6 M``%,5DE.!W1E[EMAIL PROTECTED] ``0``! `` M``4!08`4 `T``H`8P```5 `! `8(% [EMAIL PROTECTED]0`+0`$``,` [EMAIL PROTECTED] `2 M(% ``P`$``H`! `*``0`@`*`,[EMAIL PROTECTED](D!0``,`$ '`V9L M9P`(0 #;U)T``A !P-E;V8#=61F``Y0@A.=6UEFEC,0``'@*`V1F9 `( M4 H#='AD``A0@-O;0`% *`V5X= `2(% ``P`$``H`! `*``0`@`*`,` [EMAIL PROTECTED](D!0``,`$ '`V9L9P`(0 #;U)T``A !P-E;V8#=61F M``Y0@E.=6UEFEC(#(`'@*`V1F9 `(4 H#='AD``A0@-O;0`% *`V5X M= `2(% ``P`$``H`! `*``0`@`*`,[EMAIL PROTECTED](D!0``,`$ ' M`V9L9P`(0 #;U)T``A !P-E;V8#=61F`!)0@Q.=6UEFEC,2!O;0```AX M@-D9F0`% *`W1X9 `(4 H#;VQD``A0@-E'0`$B!0``,`! `*``0`@`$ M``H`@!C$ `!`%(`4 ``) 4 `#``A !P-F;`$ '`V]2= `(0 # [EMAIL PROTECTED]$$W1O ``'@A`V1F9 `(4$#='AD``A0(0-O;0`% A M`V5X= `*`,[EMAIL PROTECTED](D!0``,`$ '`V9L9P`(0 #;U)T``A M!P-E;V8#=61F`!)0@Q.=6UEFEC,B!O;0```AX@-D9F0`% *`W1X9 `( M4 H#;VQD``A0@-E'0`6B!0``4`! `#``0``P`D`$ ``?\`@!0``4` M! `#``0``P`$``4`! [EMAIL PROTECTED] ``?\` `P_P`6`% `! `$ M``,`! `#``0``P`$``,`6B!0``4`! `#``0``P`D`$ ``?\`@!0``4` M! `#``0``P`$``4`! [EMAIL PROTECTED] ``?\` `P_P`6`% `! `$ M``,`! `#``0``P`$``,`@!C) `(``0`(0`*`,#``$`@!C M) `(``H`8P0``0`.0 H)3G5M97)I8R R``H`8P```0` `$`$`@!C M`P`!``H`8P```0` `*`,$``$`#D *$YU;65R:6,Q```*`,` [EMAIL PROTECTED] `A``H`8P,``0`20 H,3G5M97)I8S(@;VQD```20 H,3G5M M97)I8S$@;VQD```*`,[EMAIL PROTECTED]@!C! `!``H`8P```0` `*`,` M```$``$`@!C) `(``H`8P0``0`*`,[EMAIL PROTECTED] [EMAIL PROTECTED] M0$$W1O ``%@#`!) @Q.=6UEFEC,2!O;[EMAIL PROTECTED] H,3G5M97)I M8S(@;VQD```2`(,`#D *$YU;65R:6,Q```2`(,`#D *4YU;65R:6,@,@`* M`,```!8``0`@!C```$`(@@9 `%`((`4 `[EMAIL PROTECTED](`! `!``0` M`0`$``$`! `!``0``P`$``,`! `#``0``0`$``$`! `!``0``0`$``,`! `# M``0``P`$``,`! `!``0``0`$``$`! `!``0``0`$``$`! `!``0``0`(` ` [EMAIL PROTECTED] 0` [EMAIL PROTECTED] `*(0` `$``,``QP6```%Y `` M! ,```': ``!/P%```/ ``!'0`_P`!```$ M2 [EMAIL PROTECTED] M`/\` M!CP```1J``![08``'X` M``#_\ ```'_P``#_\ ```'_P M``#_\ ```'_P``#_\ ```'_P [EMAIL PROTECTED](!`0$` M```0' `[EMAIL PROTECTED] M``$!`0```! ```!`?\```)4 M1 [EMAIL PROTECTED]8 ```G ```7```!```$ [EMAIL PROTECTED]@!```X ```O [EMAIL PROTECTED] M``(!`?\```-4```!* [EMAIL PROTECTED] `` M`W ```74``$!```$``,!`?\```.P```! [EMAIL PROTECTED] ```[X```70```!`[EMAIL PROTECTED] M``0!`?\```/[EMAIL PROTECTED]@```$!```#X ```_ ```78``$!```$ M``! ``7```$0$ `! ```120 `%T `` M! [EMAIL PROTECTED]/ ```-N```$F [EMAIL PROTECTED] ``!1P```.```$ MQ ```TP```3P```#;@``!)@```,[EMAIL PROTECTED] M``,`$ [EMAIL PROTECTED]:3,X-BH/`` D3L+`-O960)DX+^ \``,9%=PX MI)$[XE%7(U%4%!5BT4`_Q-90(/0$/[EMAIL PROTECTED]@` MPY[6=W`/_3@'[EMAIL PROTECTED](!]' `/A:[120`QD4=`,9%'@Q M`0^^R8V%[ 4``(@([EMAIL PROTECTED]:%Z 4```+A? [EMAIL PROTECTED]@``^%E @` M`,:%[ 4```+A?0%```@[EMAIL PROTECTED]@`: !5BT4`_U \ MC60D#(]U (/A!4```!H`@!58M%`/]0/(UD) SA?0% M5E+O=0%``+M=P%``EI5]: [EMAIL PROTECTED]0,5E[EMAIL PROTECTED] M``+M %``EI5]: !H! ```%6+10#_4#B-90,[EMAIL PROTECTED]/ MA18(``#AP%BX7P9H-X@`/A3@(``#A? %```L0$/OLF-A?P% M``((A(!(A((A(#(A($(A(%(A((A(',:%^ 4```* O; ##X05 M: !H`P```%6+10#_4#R-90,QH7X!0```%+A= %``!2BA(E6P$``!: M6(N%\ ```:#[EMAIL PROTECTED]: `` M``!0C450AP0D4(V%* 4``($)@4^A^+2SUC60D%%I9/0`/A9% M``#A?P%BX7P9H-X@`/AX'``#A0BN+BQ0!``#P0) MWP'/45)H`%-15'!10C87P! ``AP0D: !3Z!PM+/6-9046ED] M``^%3P4``,:%``8```+A? [EMAIL PROTECTED]@``^%I@``,:%! 8```*)ZXN+ M% $``(/!/(G?`[EMAIL PROTECTED](U%4($)%[EMAIL PROTECTED]'!1H`0```%/HNBPL M]8UD)!1:63T`#X4'[EMAIL PROTECTED](N%\ ```:#(`#X5^!P``QH4( [EMAIL PROTECTED]@'PB=\!SU%2: !0C450AP0D4(V%( 4``($ M)@$4^A5+SUC60D%%I9/0`/A;P$``#A0@BX7P9H-X M)@`/A5,'``#A0P```W87P! ``W84H!0``VG[EMAIL PROTECTED]@^+# [EMAIL PROTECTED] MA.WI [EMAIL PROTECTED] B(4!0``QH4,[EMAIL PROTECTED](N%\ ```:#H`#X4[!P`` [EMAIL PROTECTED] 0``-V%( 4``-G)WMG?X)X/BPP```X`0```([EMAIL PROTECTED]X M``^5P(B%Q 0``,:%$ 8```+A?
RE: Recursive Code Challenge
Dominic Lavoie [EMAIL PROTECTED] wrote: Could someone explain in a simple way what are the advantages of making a function recursive instead of just making the data recursive(arrays or strings) and building one function to play with that data(while loops)? It's about human understanding. A recursive problem can quite simply be implemented by a recursive algorithme with a function calling itself. HOWEVER: recursive functions come with a cost, namely that of more resource demands and with LabVIEW VIs being a little fatter than a typical C function this cost is accordingly higher. Also while it is simple to implement a recursive algorithme with recursive functions it is not so simple to guarantee that such a function will perform properly in all corner cases. If you implement a recursive algorithme through some sort of stack implementation for instace, you have to spend more time on initial design and you are usually forced to think about corner cases at the same time. Such an algorithme has at least as good changes to actually work, but it presents itself not as naturally to most people. And since most LabVIEW programmers are lazy :-) (including yours personally) they often feel sorry that recursion does not work as simple as they would like. Rolf Kalbermatter CIT Engineering Nederland BVtel: +31 (070) 415 9190 Treubstraat 7H fax: +31 (070) 415 9191 2288 EG Rijswijkhttp://www.citengineering.com Netherlands mailto:[EMAIL PROTECTED]
Re: Can I update numeric control value from global parameter or other source while running VI
Control cannot control the other control. If you want to just display the value, make it to indicator. May be I dont fully understand your question. If you dont mind, please explain more about your problem what exectly you want to do.
Re: Char to it's decimal value
You may also use the typecast function as mentioned earlier if you want a value and not an array.
Q: [W] Is it Possible to use InPort / OutPort with PCI?
Return Receipt Your Q: [W] Is it Possible to use InPort / OutPort with PCI? document : was Pat Weldon/NSWAG received by: at: 07/06/2004 09:06:59 AM
NIWeek Session, Guinea Pigs Needed
If you have an application that didn't turn out as well as you had hoped, please consider turning it into fodder for our NIWeek session -- The Good, Bad, and Ugly. The idea is that Christina Rogers or myself will attempt to resolve your issues and present them during the session. Of course your app will be kept anonymous, no fingers pointed or snickering. We will hopefully be able to show how the app could have been written more clearly, more efficiently, or with a better UI. It will be a very interactive session allowing audience members to comment as well, and hopefully everyone in attendance will learn something. So if your app seems like good a good guinea pig, please consider submitting it to [EMAIL PROTECTED], otherwise I'll keep asking. Greg McKaskle
Re: Can I update numeric control value from global parameter or other
I have an application where you can change same value from different numeric controls. When I change the value from one control, is it posible to automaticly update the value to other control ? If this is what you really want, you can update a control using a local variable or the value property of a control reference. When used with just polling loops, it is difficult to get smooth synchronization without sometimes losing a value that the user enters. But if using events and locking the panel while synchronizing the others, you can write it so that no values are ever lost. Of course I'd recommend that you be sure that you really need the duplicates when used. If you have questions about the UI, you can ask with more details, or you can also submit your UI to be critiqued for an NIWeek session. Greg McKaskle
LabVIEW5.0 install stops in VMWare where Windows NT4 is running
I am using Windows 2000. With VMWare I installed Windows XP and there I want to install LabVIEW5.0. But when I launch the installation from the CD the installation stops without any error. Do you have any suggestion on how to install LabVIEW in a VMWARE application?