Jump to content

Mellroth

Members
  • Posts

    602
  • Joined

  • Last visited

  • Days Won

    15

Everything posted by Mellroth

  1. I have not found your FPGA.vi so I cannot say anything about that, but in a RealTime project long time ago we implemented simulation of LVDT and RVDT signals on a PXI FPGA board. The exitation signal was in this case more than noisy, so it had to be filtered. Our solution was to use a PID controlled PLL, with the exitation signal averaged X number of samples. This solution meant that the averaging of the input signal had no effect, and that the DUT could not detect any phase shift between the exitation and the RVDT signals (phase difference had to be less than 0.1 degrees if I remember correctly). /J
  2. Thanks for a great BBQ. It was nice meeting LAVA members IRL, and as a bonus I won the Kinect for Windows (thanks Crelf) . /J
  3. Why not using an arbitrary port on the Windows side instead of setting a static port (4243)? Normally when we use UDP we use the IP address and port returned from the UDP read to determine the destination for the command response. This way the sender IP and port can change without problem, e.g. if we have DHCP enabled. Another comment is that we rarely use IP ports that are this low for our own applications, just to minimize the chance of collisions. /J
  4. Got my ticket! Seven times at NI-Week but this will be the first LAVA BBQ, see you there. /J
  5. I'm getting times very close to this as well, and I believe that the reason is that the size of each string is also set to the size of the array... i.e. basically 10000 elements at approximately 10000 bytes each. On my system I run out of memory, or at least start swapping all the time. Setting the size of the generated random string to more moderate 20 bytes, gives much better results... but still not close to the original code. /J
  6. Our internal solution is quite similar to wouters solution. The big differences are that we use "ArraySubset" instead of "DeleteSubset" and that we reuse the incoming search array to store the result. I have not bechmarked it against the other solutions, so I don't know if it is faster or slower. /J
  7. Why would you do this in this specific case? I think Shaun´s parallel FOR loop has much more potential, since a VI call always has a small time associated with it regardless of the reentrancy setting. /J
  8. The WireFlow Build Support adds the possibility to invoke builds across different targets and in a user specified order with a single selection. The desired build order and the currently active build specifications can be saved in the project. This means that all users can invoke the project build specifications in exactly the same way. In LabVIEW 2010 and later it is also possible to have FPGA build items specified in the build order, meaning that Windows/RealTime applications depending on FPGA builds, can be built with a single build action. As an additional feature, it is also possible to easily create a zipped project development distribution (including the project file itself), not including the Program folder items. Features LabVIEW project integration Quick export of project to zip file (including the project file itself) Executing builds on different targets with one single menu selection In LabVIEW > 2010; even on FPGA targets [*]Project defined build order [*]Build all build specifications in human sorted order (regardless of saved order) [*]User defined handling of build error, either stop on error or continue building [*]Option to save project before a build specification is invoked For more information see shop.wireflow.se The WireFlow team
  9. We have uploaded a short video showing the three WF modules at work, simulating a temperature sensor. The different steps shown are; 1.) Connect a normal Pt100 thermometer at room temperature. Expected result: Display shows about 20°C. 2.) Connect a normal Pt100 thermometer at a hot temperature. Expected result: Display shows about 50°C. 3.) Connect a simulated sensor and test range limits. Expected result: Display shows OOOOO and UUUUU. 4.) Apply an open circuit fault on the sensor wire. Expected result: Display shows Err 4. /J
  10. At the moment the CompactDAQ (or all DAQmx based hosts) are closed to third party developers, at least as far as we understand it. The same goes for the automatic module configuration for Scan Mode on the cRIO targets. If this would open up, we would definitely move into these platforms as well, but at the moment we are forced/limited to the FPGA based platforms. /J
  11. Hi, At the moment there are no support for the NI-Switch executive, but we are looking into how and if we could support this. What kind of host would you be using for this kind of module; cRIO, EtherCAT (NI-9144), Ethernet (NI-9148) or??? The reason I ask is to understand what kind of communication a Switch driver would have to use. /J
  12. Hello LAVA community Today is the grand opening of our webshop at shop.wireflow.se. To celebrate this we have decided to offer a 10% discount to all LAVA members placing an order before the end of June. To order and receive the discount, just enter LAVA2012 in the Voucher field when checking out. At the moment there are three C Series modules available for purchase; WF-3144, Resistor emulator module 4 channels 16 - 160 kOhm WF-3154, Fault Injection module 4 channels Open Circuit Short Circuit to battery Short Circuit to ground WF-3132, Multiplexer module 32 channels 1 x 32 (1 wire) 1 x 16 (2 wire) 1 x 8 (4 wire) Four banks of 1 x 8 (1 wire) 4 x 8 Matrix (1 wire) For more information please visit shop.wireflow.se, or drop us a mail at info@wireflow.se. The WireFlow team
  13. A CAN device can be just about anything. In Cars/Trucks - CAN devices are generally the different controllers; ECU, ABS etc. But if you look at automation HW from Beckhoff, you'll find CAN devices that are more like DAQ devices. /J
  14. Currently it would probably be 7 pixels wide ;-) The easiest way of changing this would probably be to add minimum width to the init terminal of the shift register. /J
  15. Graphics & Sound -> Picture Functions Here's a snippet that handles the horizontal resize but also takes into account the font setting in the ring control. /J
  16. Personally I would expect the <Cluster></Cluster> construct to throw the same error since these elements are designed to have child nodes attached. <Name> and <Val> are child only, and are therefore OK to leave empty. Just my 2c /J
  17. Updated my profile to show my new company (www.wireflow.se)

  18. +1 The only time I see icon terminals are when someone new to LabVIEW starts programming, but then it is only because icons are the LabVIEW default. /J
  19. You should always close references that you open (better safe than sorry), this is true for Files as well as Queues, Notifiers etc.. If you don't close a refnum, and continuously open new references you have introduced a memory leak, that in the end can lead to a crash. /J
  20. I'm not sure I completely understands your question, but just calling the "Write To Text" method replaces any previous content (see help). If you want to append new data to the file you'll have to; Open the file with "Open/Create/Replace file" Move the pointer to the end of file using the "Set File Position" Write new data with "Write To text file" Close file refnum /J
  21. Do you have more than one target in your project? A class that is loaded on more than one target is also locked due to the same reason, i.e. due to "multiple application instances". /J
  22. I'm sure it wasn't one of the RT sessions, instead I believe it was a tips and trick session with Darren. /J
  23. I just learned about this little guy at NI-Week this year, I have only tested it briefly so far, but I believe you get us resolution with this as well. /J
  24. Why not check the local decimal point before the event handling, e.g. by converting a number to string and check for the decimal character in the string? Then use this information to determine if ',' or '.' should be allowed in the Key Down? event. /J
×
×
  • Create New...

Important Information

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