Jump to content

Khalid

Members
  • Posts

    160
  • Joined

  • Last visited

Everything posted by Khalid

  1. Alameer, Please see the following for the various options you have. It also has the NI Modbus library saved in different versions: http://forums.ni.com/ni/board/message?boar...ssage.id=210421 -Khalid PS: Maybe we should clean this (it sure can use some cleaning) and put it in the CoRe (Code Repositiory) here?
  2. The Help button on Conditional Disable Symbols dialog box (Project >> Properties >> Conditional Disable Symbols) brings up the "cannot display webpage" message. Thanks, -Khalid
  3. Khalid

    DAQ & Lookout

    Hi, You will want to post your Lookout questions on the following forum: http://forums.ni.com/ni/board?board.id=190 I have sent you a PM with my email ID; you can email directly as well. Thank you, -Khalid
  4. Thanks Darren. I try doing that.. but lately with LV8.x, and when I have a bunch of VIs open, the Ctrl+E takes a while to bring up the panel window and display it -- all this effort only to close the VI. -Khalid
  5. Most of the time I have block-diagrams up and front-panels minimized. But when it comes time to close the VIs I have to switch to the front-panels and close them. It will be nice to be able to close a VI by closing its block-diagram. It could be made conditional like "close VI only while holding down control key". So Ctrl + a click on the "x" of the block-diagram window would close the VI. Thanks, -Khalid
  6. A cursory look at your VI tells me that the Case Structure has the same outputs in both the cases. That would not work. -Khalid
  7. 1. I am attaching the VI. Are you getting an error? NOTE: I haven't tested this with non-administrator privileges. 2. This is #defined in winuser.h (google it) -Khalid Download File:post-311-1159984804.vi
  8. You can programmatically disable the Screen Saver by calling the SystemParametersInfoA function from the User32.dll. Look this function up on MSDN. Note all parameters are of type U8. Regards, -Khalid
  9. I personally think it's in maintenance-mode only, with no major new features planned. But that's just my guess (fear?). For those who are interested, check the following thread on NI forums: Is NI dropping support for Lookout? -Khalid
  10. If you are already using Lookout for your SCADA system, then why do you want to switch to LabVIEW? As you know, Lookout has better support for SCADA (RTU drivers, modem support, built-in alarms, etc.). As for not being able to connect to Delta PLC in Lookout, you may want to post your question on NI's Lookout forum: http://forums.ni.com/ni/board?board.id=190 Regards, -Khalid PS: Others, no flames please -- LabVIEW is all powerful, and I love it too, but Lookout is tailor-made for SCADA.
  11. You can get all the info' you need from NI's website: http://www.ni.com Anyway, here are the links to LabVIEW: http://www.ni.com/labview/ And LabVIEW-DSC: http://www.ni.com/labview/labviewdsc/
  12. If you are planning to build any sizable SCADA system, I would strongly recommend using the LabVIEW-DSC module (along with LabVIEW, of course). And you don't have to use LabVIEW. It all depends on what you are trying to build. If you are open for anything, I also suggest you check out National Instruments' Lookout software.
  13. As for the data structure, I have the following suggestions: Not knowing the actual data format and what other processes you will have going, the following may not suit your case. If you have a fixed number of channels, I suggest you use an array of clusters in your processes. The actual cluster will be your data structure, typically with one DBL for value, another for Timestamp, and a U8 for status code, and another one for Channel ID, for example. You can add/delete to this if you see a need. The reason I suggest having an array of this data-cluster is, in your different processes you can, first, initialize this array to the size of the number of channels, and then as and when you get new channel-values, you just index and replace that element of the array. This way you are not using build-arrays, etc. in a loop. To pass the values around, I suggest you try the new RT-FIFO functions. In 8.20 they now support clusters. So, whenever you receive a new value for a channel, you would stuff this clusters with all the data, timestamp, status, and the channel ID, and place it on the FIFOs. The different processes can read the FIFOs (you will need one FIFO per process) and take this cluster-data and replace it in the array. Hope this gives you some ideas. Regards, -Khalid
  14. Sorry for the delayed response. I am not sure -- googling should provide you with more than enough resources on programming TCP/IP in Visual Basic. Good luck! -Khalid
  15. I like the way the Control/Indicator labels snap to preset positions. Awesome! Sorry 12dx for intruding on your niceties list. -Khalid
  16. Just got the CAR ID from NI for this: 41I6OM99
  17. Though I like the simplicity of Serial in general, I would recommend TCP/IP in this situation. It should not be very difficult in VB to send similar commands over TCP. And on your LabVIEW side, you would have a simple TCP Client (single connection listener). You could even modify the shipping examples to suit this for your application. The rest of the code for parsing and interpreting the cycle counts need not have to change. The advantages of TCP are obvious: can have multiple computers (or applications within a single computer) read the counts, distance is not an issue, and can even go wireless in the future. My 2 Canadian cents. -Khalid
  18. Why don't we just call the outputs as Quotient and Remainder -- plain and simple? -Khalid
  19. Here's an interesting blog -- programming gurus of our time (Linus Torvalds, Bjarne Stroustrup, James Gosling, et. al.) were asked a few questions, and they responded: http://sztywny.titaniumhosting.com/2006/07...ammers-answers/ Some questions that were asked: - How did you learn programming? - What do you think is the most important skill every programmer should posses? - Do you think mathematics and/or physics are an important skill for a programmer? Why?
  20. The "Reinitialize to Default" popup-action on probes is missing in LV8.2. (I instead see two "Find wire" options.) As per the help file, it should (still) be there: http://zone.ni.com/reference/en-XX/help/37...the_probe_tool/ This "Reinit.." option is available on my custom probes though. It's only the built-in generic probes that don't have this option. Reported to NI. Workaround: remove the probe, and reinsert it.
  21. The 'Refresh' button on the 'Show Buffer Allocations' window doesn't refresh the allocations (black squares) after the VI is modified. The Context help for the Refresh button says: "Click the Refresh button to recompile the VI and display the black squares." Reported to NI; CAR# 40N8DISQ. Workaround: Do a Ctrl+Shift+Click_the_Run_Arrow to recompile the VI.
  22. I third that It's quite annoying actually. My diagrams now look like they have yellow bandaids all over the place! -Khalid
  23. Is there an initialization stage where the user enters these device IDs, and then from then on you check this array (which implies the user can't change it now)? Or, you would like to check the array all the time, even while the user is entering the device IDs? The devil is indeed in the details. -Khalid
  24. Nice implementation crelf. Since Fred said the valid values are from 0-15, simply changing the constant (initial) value going into the shift-register from 0, to say 16 (or any value outside of 0-15) will do the trick. Of course, you will have to change the 'minmum' on the Device Numbers control to 0 (from 1). -Khalid
×
×
  • Create New...

Important Information

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