-
Posts
2,870 -
Joined
-
Last visited
-
Days Won
44
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by Yair
-
Accessing OPC/DDE Servers W/O LabVIEW DSC Module?
Yair replied to Bryan's topic in Calling External Code
I believe that you can use Datasocket to connect to OPC data, but as far as I know, this is highly unrecommended for anything more than a fairly small number of tags. You can search NI's site for quite a few posts about OPC. Another option I saw recommended there was to use the OPC server from Kepware. -
Share your favorite tips and shortcuts
Yair replied to m3nth's topic in Development Environment (IDE)
You can swap the inputs on most double input functions (comparison, numeric...) by holding ctrl down and hovering over the function. If both inputs are wired, you will see the arrow change to a sort of double loop and a click will swap the inputs. This is useful if you wired something to the wrong input (like in the divide function) or if you want to make your diagram cleaner after writing the code and you want to move the function above or below other wires\functions. Shift+mouse scroll causes the scrolling to happen in large jumps. This is useful in case you have large diagrams (not that I have any, of course) and let's you have even less exercise. Positioning the cursor over the horizontal scroll bar and scrolling the mouse causes the display to scroll left and right. Not exactly hidden, but something that's easy to miss - right clicking a subVI and entering SubVI Node Setup allows you to immediately set some of the window appearance properties. For those who have office help installed - If you have an ActiveX property or method, you can right click it and select Help For property name and it will take you straight to the relevant place in the office help files. A select function accept an error cluster, just like a case structure does. -
Icon visibility in Windows
Yair replied to pandaman's topic in Application Builder, Installers and code distribution
I'm not sure I understand. You say you don't have the application builder. I assume this means that you run your app as a VI, right? In that case, you can either a) change its extension, link the new extension to LV (so it opens it automatically) and give it your icon icon or b) create a shortcut to your VI, right click the shortcut, select "Properties" and then "Change Icon" and find your icon file. You will need to save it as an .ico file first. -
Remote startup of LabView VIs
Yair replied to Vayu's topic in Application Builder, Installers and code distribution
Do you want to run your VI from LV or as an executable? If it is from LV, I guess you can add the VI path to the LabVIEW.exe command to open the VI and I also guess that if you set the VI to Run When Opened it will start running. If you build it as an EXE, it will start running when you call the EXE. As for the interface, if you go to the Tools>Options>>VI Server:Configuration screen, you can activate the VI server as an ActiveX server and by using TCP. By using ActiveX, you should be able to load and run the VI in exactly the same way you would use the VI server in LabVIEW. If you don't know how to use it, you should look for some tutorials and examples in the example finder. You can also read the chapter about programmatic control in the user manual (I think it's chapter 17). I assume PERL allows you to use ActiveX servers. -
Icon visibility in Windows
Yair replied to pandaman's topic in Application Builder, Installers and code distribution
When building your application, go to the application settings tab, where you will find a field for entering a custom icon. -
Luckily, there is no need for that in LV. You could simply use a for loop with a couple of shift registers to perform a factorial (or use the supplied factorial VI - Analyze>Mathematics>Special and numeric functions).
-
NI is going to hold an on-line discussion with some of LV's developers. Details can be found here.
-
If you want to detect the mouse click without an event, you should use the Input Device VIs in the advanced palette. Place a Mouse Init VI to get a connection to the mouse and wire the connection into Acquire Input Data. You will get a cluster telling you which buttons are pressed. You will have to do this by polling.
-
I'm sorry, I thought I was clear. I wasn't referring to the VI properties (although that would also be nice), but to things that would have effect inside the code itself, similar to the example I gave, where a popup menu option affects the function. There is nothing wrong with enums, but when you use a local, for example, you right click it and select Read or Write and its icon changes. I would like to have similar functionality - I set a right click option, and in my code I determine what to do when this option has been set, so for the LV2 example, You right click and change instead of using an enum. I'm sure there are functions which would benefit more from this, but in the end, you're right, it's basically just another interface for what we currently have.
-
The ability to have options in a subVI's right-click menu which affect the subVI's execution, similar to Add\Remove Inputs in growable functions or to the Compare Aggregates option of an Equal? function or to the list option of a polymorphic subVI (except not as a list, but as an option in the menu). For example, the ability to set a LV2 global as being read or write like you would a regular global, without having to wire anything into or implementing additional code inside. This should also, potentially, have an option to change the VIs icon.
-
Often people read text data which includes a date\time. Currently, there is no inherent function in LV for converting a time string to a timestamp. The suggestion is to have a VI, basically a reverse VI to Format Date\Time String, which will convert a date\time string to a LV timestamp based on a LV format string.
-
Arrays are similar to strict type-defs in that the only thing that can be different between elements is their value. Having a non-strict array available would be a nice option. Such an array would have only some of the properties set and the rest could be individually changed for each element (at the extreme, we could have only the datatype set and everything else open to change). This would allow, for example, to create more flexible GUIs by allowing "creation" and manipulation of multiple elements (assuming overlapping doesn't take all the CPU) without having to bother with picture controls. Another example would be being able to disable only some of the controls in an array. This would obviously be mainly a GUI device, but it could be very helpful in certain situations.
-
NI has released an official response to these requests Here.