Jump to content

Phillip Brooks

Members
  • Posts

    899
  • Joined

  • Last visited

  • Days Won

    50

Everything posted by Phillip Brooks

  1. You know, I used to get all excited when the latest version came out; but lately I feel more like "The new phonebook is here! The new phonebook is here!" Its bigger, heavier and changed just enough that I can't find what I'm looking for. Still using 8.6 here, and from some of my friend's experiences with LV and TS 2010; I think I'll stay where I'm at for now. Guess I just got up on the wrong side of the bed today...
  2. I think the device responding properly is a function of sending navigation keystrokes while the device is updating the output. Like I said, the LV library is dodgy at best. As for the device, it is ours, it is old and the chances of getting a CLI are < zero. I might spend some time thinking about a LVOOP solution (still haven't deployed any LVOOP, just experimenting), but it is summer time and the weather is too nice to worry about such things...
  3. I'm looking at two devices that I need to interface with from LabVIEW that have no command line control. They both use a interface that is RS232 based. The menus require a VT-100 terminal type and use a fair amount of cursoring (goto x-y and write text with this color and bkgrnd color) and highlighting to show the current location. I have some legacy code that I don't care for much that polls the com port and strips all the VT-100 control codes out. It works, but the device doesn't respond 100% of the time to control codes (send arrow up or arrow down). If the LabVIEW com library I'm using gets stuck or lost, it has to navigate back to a known position and then navigate the menus again to ensure that the instruction given is correct. Sort of a dead reckoning problem; sometimes its easier to reset the device than to figure out the current location in the menu hierarchy. I can just suffer with this library, but I would like to automate some new tests. If there is an existing LabVIEW library, architecture or technique I can use, I would likely pick that over this existing steaming library of... Anybody?
  4. It isn't documented, but I think the implementation is a red/black tree to allow for fast searches. This requires the list to be rebalanced (resorted) whenever an item is added, so it is stored sorted (by attribute name). If the function returns a list of items when the name is left blank, it makes sense that the list would always be returned sorted. NI could certainly change this behavior, but I'd bet that this would break a bunch of NI code. See the dark side: Darren's Weekly Nugget 10/09/2006 http://forums.ni.com/t5/LabVIEW/Darren-s-Weekly-Nugget-10-09-2006/td-p/425269
  5. Another great place for getting connection string info: http://connectionstrings.com/ For dBASE examples; http://connectionstrings.com/dbf-foxpro
  6. I recently read about planking, then the Thai version called pubpeab, and now I think that we need a LabVIEW version.
  7. I might buy this book just for the cover art... Wat Phra Kaew at the Thai Grand Palace in Bangkok.
  8. Maybe something like this for the back? LAVAG.org - The only place hotter than Austin in August!
  9. Someone pointed me to something called Maintainable Software. http://maintainable.com/ Anyone have any experience using their services?
  10. Congratulations on the win! I haven't looked at your code, but I may take a look at it soon.
  11. Maybe the problem has to do with your service provider's DNS. One way to check it out would be to set your computers or router to use Google Public DNS.
  12. Moral Maxims and Reflections Now I have something new to read! My mother is from the Charente region, and I visited Château de La Rochefoucauld when I was young... Complete courage and absolute cowardice are extremes that very few men fall into. The vast middle space contains all the intermediate kinds and degrees of courage; and these differ as much from one another as men’s faces or their humors do. François de La Rochefoucauld, Moral Maxims and Reflections, no. 215 (1665-1678) Perfect courage is to do without witnesses what one would be capable of doing with the world looking on. François de La Rochefoucauld, Moral Maxims and Reflections, no. 216
  13. My guess would be that when a cable is plugged into the Ethernet port, the adapter is active and Windows returns the IP address assigned to the network card on the open request. When you pull the cable, Windows informs any active sockets that the state has changed and your connection is closed by LabVIEW. If no cable is connected, Windows returns the loopback address as the only valid adapter. If you explicitly request localhost, this is resolved to 127.0.0.1 and never uses the physical interface. http://en.wikipedia.org/wiki/Localhost Communicating with the loopback interface in an identical manner as with another computers on the network, but bypassing the local network interface hardware, is useful for the purposes of testing software.
  14. I posted this on the NI forums several years ago. I used .NET to monitor the power status instead of polling a DLL. I registered for a callback event and then used a LabVIEW notifier to pass the status to other LV code... http://decibel.ni.co...t/docs/DOC-1154
  15. Homer Simpson Need Not Apply http://www.nytimes.com/2011/03/18/opinion/18Friedlander.html?_r=1
  16. The top half of the files you posted contain functions that your web browser interprets to update the page based on values read from the server. I don't think you will be able to use this method to check the status of the valves. I went to the Rotork site and found a page that describes the Pakscan product listed in the AJAX code of your files. http://www.rotork.com/en/product/index/pakscanethernetdemo According to the documentation, the device supports modbus. You should be able to communicate with the Pakscan this way. If you are trying to write an application to test / validate the Pakscan UI, I don't think your current method for retrieving the device data will work.
  17. Don't forget PuTTY. No install required, just the exe. It also supports SSH! http://www.chiark.greenend.org.uk/~sgtatham/putty/
  18. When I upgraded from 7.0 to 8.6, my group used something called VI Analyzer. There are specific tests that you can select/install called the VI Upgrade Analyzer. See here: http://decibel.ni.com/content/docs/DOC-6141
  19. Be careful with the Error cluster. About a year ago I was asked to refactor some LabVIEW 5.0 originated low-level dialogs used extensively throughout our code. These dialogs used a straight through in-out style. Some of the refactoring included using new NI functions and library VIs. This caused much of our upper level code to need a recompile because the LV compiler now detected that the previous static state of the error cluster could now change. I had to change the error handling of the dialogs to discard the errors. We use TestStand and LabVIEW with Debug licenses on out ATEs. Whenever an engineer sees a 'dirty dot' upon opening a VI, the person responsible for the lower level change gets a finger wagging and DEFCON 1 is declared. (Lucky or maybe unlucky for me, I'm just recently down to a group of one...) I posted the example of my problem last year in this thread: Recompiled VIs + SCC
  20. Tushar, I am very impressed with your example on UI customization on your blog! I'm sharing the image here to show everyone what a nice job you've done... Is your question related to extending this example? http://www.jambhekar.com/blogs/?p=19
  21. A Model-View-Controller architecture? An old-school solution is the examples outlined in Conway and Watts 'A Software Engineering Approach to LabVIEW'. If you go the the InformIT page for the book, you can download the examples. The Wigetometer Test System is based on parallel loops where the execution of the test is decoupled from the UI. http://www.informit.com/store/product.aspx?isbn=0130093653 The addition of event structures, queues and OOP makes certain things much easier. Apply your knowledge of these features to this old example.
×
×
  • Create New...

Important Information

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