Jump to content

ShaunR

Members
  • Posts

    4,853
  • Joined

  • Days Won

    292

Posts posted by ShaunR

  1. Yes I meant for sure Full Duplex and the USB Bus is able to do that. So if you have an USB to RS-485 interface with 4 wire output (I think it is an oxymoron since RS-485 usually implies 4 wire connection), then there should be no problem in having real Full Duplex operation. The converter will need a little intelligence and buffer to store packets as they are transmitted over the USB bus back and forth, but for the normal observer it will look like real Full Duplex.

    Bi directional as you seem to define it here makes of course little sense in such a setup.

    Rolf Kalbermatter

    Well. The difference may at first glance seem semantics. But it is fundamentally important. Whilst "Bi-directional" literally means "2-way", Full duplex means "2-ways simultaneously"!.

    If you think of the difference between a walkie talkie and a telephone. One you cannot hear the person at the same time as you are speaking, the other you can. But they are both bi-directional.

    Its much harder having an arguement on a walkie talkie than a phone...lol.

    I wouldn't agree that RS485 implies 4 wires. (RS422 yes but not RS485). Almost all modern industrial PC's come with at least 1 COM port that is configurable to RS232, RS422 and RS485. Only when configured to RS422 does it use 4 wires. RS485 they use only 2.

    The good thing is though, that RS485 works with RS422 but not the other way round :) So if you set the PC to RS422 you get true full duplex operation and can talk to RS485 devices. The penalty is that the bus cannot support as many devices.

    I think we will have to wait for USB 3.0 for true full duplex USB :)

  2. Hi all ,

    I have installed the LabVIEW 8.6 and IMAQ Vision 7.1, the installations of both were fine. I can use the Vision assistance normally, but for the LabVIEW it has a problem. In the diagram, I can not find ant module in the item of Vision amd Motion. Is there any thing wrong that need to be fixed ? Can anyone has the experience in this problem ?

    Thanks in advance.

    You also need to install the Vision Development Toolkit. And the Motion Control Toolkit which are installed separately.

  3. lightbulb.gif

    Excellent "cat skinning" there Shaun! You absolutely shreaded the "box" I was thinking in.

    Ben

    I have my moments. As few and far between as they may be though :)

    Cheers, but its not that I want to load it, I just want to know when the VI tests itself - is it the "active VI" in the subpanel out of a possible number of VIs at a given time. So if it isn't I don't want any actions to be performed, so unfortunately this will not work for my task. Thanks tho.

    <edit>

    Ok had a thought and it worked

    The Front Panel:Open property is True when the VI is loaded in the subpanel

    False otherwise

    Easy!

    Problem sorted

    Cheers

    </edit>

    Ah. Thought you wanted to definitively know. Just for reference. It will also show as maximized.

  4. Is there a way for a VI to tell if it is currently loaded in a subpanel?

    Maybe a property?

    Anyone know?

    Cheers

    JG

    Not sure if there is a better way. But if you try to load it into a sub-panel and it is already in one, you will get

    Error 1145

    Possible Reason(s)

    Labview: Cannot open VI because it is already in a subpanel control.

    If its not in memory, it will succeed, and if its already running but not in a sub panel you get

    Error 1144

    LAbview: Cannot insert VI in subpanel because VI is already open.

    • Like 1
  5. Shaun,Could you tell me how to connect the Sinking Digital module with mycontroller? I have no idea how to use it in my case without using therelay. I add here my real system diagram.

    Best regards,

    Thang Nguyen

    OK. So your convinced you need a digital OP. (If you are insistent on NI products compatible with your chassis, I would have chosen the NI 9485 purely because it is 1/2 the price of a digital card but still 4x the price of other alternatives).

    From your image I can guess that your sensor port is in fact a constantcurrent source. This makes sense to me as changes in resistance willyield a change in voltage as the load increases/decreases. (This is whyyour analogue output idea won't work).

    If you think of a current sinking digital output as a transistor switchto ground. Then (relating that to your diagram) each Digitaloutput would be connected to the other side of the resistor. i.e between the resistor and common. If you are using it in this manner, it is important that you DO NOT connect the External supply to the Digital modules External Power Supply Terminal. This is because internally, each "transistor" is connected to the External supply pin via a resistor. You would in effect be putting this in parallel with all of your other resistors you are using. You also have to remember that it is "inverted logic". i.e setting the output to "1" grounds the device, but this can be changed in the NI configuration if it hurts your head.

    Get the NI 9485 unless you are looking for fast IO and it will directly replace your switches and half the price...No brainer!

  6. Thanks, ShaunR, it is a good idea. It would be a good inspiration in the other parts of my projects. But it is not so easy. I need to control the loop, because I have got more conponents inside that are dependent on "i" of the loop. So I need several buttons for start, pause, pause and..., stop connected with the loop directly. I think it can be solved with Event Structure inside the loop, but I can not use it properly. Thanks

    To Neville D: No...

    I think you are missing the point.

    The image is an "example" of a counter. Not a solution to your project (that would be too easy ;) ).

    Look at what it does and how it works and apply it to your current "real" example.

    Your dependency on the "i" iterator will cause you problems since it increments every loop execution. Your dependents need to use a counter (oooh...like the example :) ) that can be started and stopped regardless of how many times the loop executes.

  7. Hi, I want to create an loop that can be controlled by buttons - it can be started, paused and stopped. I have found that this could be done with a help of Event Structure. The example (a counter) is below. Can you help me to run counting when it is started? Thanks

    You can download it here: http://www.2shared.c...d2a/events.html (sorry, the file attachement failed)

    First you will need to allow the time-out case to execute by wiring a value (say 100ms) to the blue icon in the top left hand corner. You will then have to use the state of the "Running" boolean to decide whether to increment the counter or not. You can use 2 shift rgisters (one for the state and once for the count).

    This is thesort of thing you will want to use for the counter.

  8. Hi Friends,

    Recently i bought a PC which is having only one PCI slot. Others are PCExpress slots.

    But i want to use few PCI compatible NI hardware same time.

    Is there any hardware available in tha market like a adopter which can give more PCI Slots for my computer?

    otherwise any idea how to convert PCExpress slot to PCI slot?

    Thanks.

    Regards,

    Jai

    NI also do PCIe cards.

  9. Hi yall... So I may have to do this in order to get a 0-5V analog out signal up to the 0-10 V input signal required by a variable frequency drive. I was thinking of doing so by means of an op-amp configured to work as a non-inverting amplifier to increase voltage 2X, then put this through a unity-gain "power buffer" just to make sure the signal gets to were it needs to go (over long wires) without a whole lot of noise and without potentially messing up the op-amp. Should /shouldn't I do this? Any advice? (No, I can't just buy a daq card with 0-10 V output. Cmon, that would be too easy...)

    Regards,

    Mark Garnett

    Sounds good to me. I would suggest darlingtons on the output if current is required.

  10. Yeah, that works. Misunderstanding on my part on how this VI works. I expected to see to binary data in the content output which I could dump to a binary file and a TRUE on the success output even if I didn't wire in a file. Then I tried wiring in a path to save the file but not a complete path+filename assuming it would use the same name. Even with a complete path+filename I still see no content and success=FALSE even though the file is saving correctly. I can live with that.

    FWIW, this 3rd party http client does behave a lot more like I expected. I'll use the toolkit solution anyway, to minimize dependencies.

    Thanks all.

    Will Peterson

    I agree. It has some unintuitive behaviour. It also has a couple of bugs. There's also MGI which is based on the WinInet.

  11. Many moons ago, I had a vi that was basically a wrapper around the write to spreadsheet.vi.

    It was for a data logger, and since the customer didn't really know what data he wanted saved (and kept changing his mind); I wrote a fairly simple vi that read the header (first row) and compared it to the current header to be saved.

    It would look at the header and, if a column was different, would insert a new column in the existing file (i.e upgrade it). If the headers were the same, it would just append the data. Old data therefore had no entry in this new column, but the new data would, but both the old and new would still be in-line with the headers.

    One caveat with this was that you could not rename headers, but that wasn't a problem in my case.

  12. Just for simplicity, I would suggest a TCPIP packet thats sent when your global changes. 2 seconds to add and has the advantage that you don't necessarily need labview on the remote machine (a C++, Delphi, VB app for instance). I prefer TCPIP over UDP since it is far more reliable, although it is not connectionless (i.e you need a target IP unlike UDP broadcast). Once you start down this route, you will quickly find that you want more and more information and it is very scalable and easy to implement :)

  13. FWIW, I'm in the midst of going back and forth with NI customer support just trying to get LabVIEW 2009 activated. This is on a laptop with a couple other versions of LV installed. I got it to activate just fine on a desktop (both computers running XP). But what is interesting is that NI keeps asking me if I have a desktop or laptop, as if this makes a difference for some reason. It sounds like others might be having problems with a laptop installation, also. No solutions, just an observation...

    (BTW, NI support has been very proactive about helping me with this.)

    Cat

    FWIW????

    The Vista x32 installation I tried above was on a Acer Core Duo Laptop. It's probably got more to do with multiple installations. I always have problems with activation since I have to do them manually and (for me) its not worth the aggro having multiple installations.

  14. Well, for that you have 4-wire on the RS-485 side, and while real bidirectional transfer over the USB bus is obviously not possible, the USB bus should, with the right driver, be fast enough to give to the system the impression that it is indeed bidirectional. I haven't used bidirectional communication where the timing was so critical that quasi-bidirectional operation would have caused trouble. IMHO such a system could never work unless all involved parties are 100% real 4 wire devices and their firmware is exactly the same. But that would be highly useless, unless you want to create a protected, private, proprietary communication network.

    Rolf Kalbermatter

    I think you are still confusing Bi-directional with Full Duplex.

    Take for example the Micro-Epsilon Micrometers and 2D/3D Profilers (just an example, since I used them recently). They can operate by "streaming" data back to the Master (important for high speed acquisition). If this were to be used in a half-duplex manner, then once switched into this mode, you would not be able to control the device since the device is continuously transmitting. However, with full duplex you can.

    In another scenario, we have 1MBPs full duplex RS485 digital IO boards. The protocol is a command-response type which is appropriate for half-duplex operation since the devices don't start to transmit until a full message has been received. However, since we have upto 10 of these on a bus, most of the time, the RX line is saturated with messages. We can decide to ignore RX messages if they are a bit stale (since the devices must use hold-off and wait untill the line becomes free due to another device transmitting). But we cannot allow the device not to operate on commands immediately via the TX line.

    Devices such as these are quite common. And "True" full duplex devices actually start constructing the response on the RX line before the entire TX message has been received.

  15. In MAX, opening the item "software", we can get the version for all the NI drivers installed on the computer.

    How can we get that from LabVIEW?

    Mainly I'd like to read versions for the following :

    - NI-DAQmx

    - NI-Vision

    - NI-IMAQ

    - NI-IMAQdx

    - MAX

    Anyone knows how MAX populates the "software" tree item?

    Don't know how MAX does it, but all the NI product versions are available in the regsitry under

    HKEY_LOCAL_MACHINE\Software\National Instruments\XXX\CurrentVersion

    where XXX is the package.

    • Like 1
  16. Unfortunately this only returns NULL as serial number on my XP SP3 system, independent of the log in I use. And I have tinkered quite a bit with IOCTL_STORAGE_QUERY_PROPERTY myself but it just doesn't seem to work on my machine and with that harddrive, except when using directly SMART, but for that I need to open Physicaldrive0 with READ and WRITE access and that fails without admin rights.

    Rolf Kalbermatter

    Well. Your drive also seems resistant to WMI as well :o The pervious DLL used 3 methods, the final one being querying the WMI database.

    Hmmm. Digging deeper........

  17. Seems only solution for me is to get a XP licence and make a VM and install Labview 2009 under that. So far no more suggestion from NI that have helped. I have reinstalled 8.6 and it works.

    I've just installed LV2009 on Vista Ultimate x32 to see if I get the same problems. I didn't and it is working fine. Are you sure you are installing the 32 bit version of LV 2009 and not the 64 bit version? I didn't try the x64 to see if the installer complains.

×
×
  • Create New...

Important Information

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