PXI-6624 custom device

Hello,
Sorry for my bad english.
I start with the custom device.
I want use two PXI-6624 with Veristand for counter I/O.
So I try to creat two easy custom device, one for each card.
The program is ok in Labview, the Configuraton/Engine build too. I can interget it, in Veristand without problems.
The target deployment is well but I don't see anything in output with an osciloscop.
I think it's because of the connection beetween the PXI and the device.
You can find, in attached files, the program for one of the two card.
It's the more simple of the two device, just two input and two ouput.
Thank for your advice

Hello HervéM,
Unfortunately there is no attachment.
Could you spot below the files you wanted to attach ?
Regards,
Valentin
Certified TestStand Architect
Certified LabVIEW Developer
National Instruments France
#adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
Travaux Pratiques d'initiation à LabVIEW et à la mesure
Du 2 au 23 octobre, partout en France

Similar Messages

  • Pulse Generation application with DAQmx and a PXI-6624 module?

    What is the best implementation method for the following pulse generation application
    using LabVIEW, DAQmx and a PXI-6624 counter\timer module?
    I have two rising edge trigger signals (Trigger-1 and Trigger-2).
    There is ample spacing between each trigger. They never occur at the same time.
    I need to generate a single pulse (fixed width, variable delay) whenever Trigger-1 occurs and
    a finite pulse train (fixed width, variable delay, N-pulses) whenever Trigger-2 occurs.
    However, the output must appear on one counter output because this composite signal
    will be used as a trigger source for another PXI module in the rack.
    With DAQmx and a TIO counter\timer can I use both the GATE (for Trigger-1) and
    AUX (for Trigger-2) at the same time on the same counter to gate out the desired pulses?
    Trigger-1 would be wired to the GATE of CTR0. One Trigger-1 event would generate one pulse on the output of CTR0.
    Trigger-2 would be wired to the GATE of CTR1 and the output of CTR1 would be routed to the AUX input of CTR0.
    One Trigger-2 event at the GATE of CTR1 would generate multiple pulses on output of CTR0.
    Would DAQmx and the PXI-6624 TIO support this implementation?
    What is the best way to accomplish the task at hand.
    Thank You.
    Best Regards,
    Scooby

    Hi Scooby,
    I have looked into the application you have described and I see a potential problem with what you describe.  In DAQmx, it is not possible to call the counters of the same DAQ device in the same task, so you cannot have the finite pulse train generation and the single pulse generation tasks running at the same time.  What you can do, since you mention the triggers will not occur at the same time, is to stop one counter task while you are triggering another.  The way I would suggest you merge the outputs is with a two input Or logic gate to avoid damaging your counters.  Your signals will effectively be added together by this logic gate.   I do not see any way to merge the outputs internal to the DAQ device. 
    Please let me know if I can be of additional assistance.
    Laura

  • More questions on asynchronous custom device

    I am trying to create an asynchronous custom device for VeriStand and have the following questions:
    a) At what rate is input channel being scanned and data pushed into the input FIFO of the custom device? Is the scan rate affected by whether the input channel is mapped to a Workspace control object or whether it is mapped to a simulation model (.dll file)  output?
    b) At what rate is the asynchronous custome device real-time VI being executed? Is it at the same rate as the primary control loop rate? Can I change the execution rate of a custom device and how?
    c) I have a quad-core PXI real-time platform. How can I assign the custom device to a specific processor, like what you do with a simulation model (.dll file) in the system definition file?
    Thank you in advance.
    Solved!
    Go to Solution.

    Data FIFO
    The rate at which data is pumped to your Custom Device is static, and has nothing to do with whether the Workspace is connected, or whether a model is mapped to any of your channels. By default, data is pushed into your Custom Device's input FIFO every iteration of the Primary Control Loop. If the FIFO is full, the oldest data packet will be overwritten. Also, by default your outputs FIFO is checked ever iteration of the Primary Control Loop. You can, however, use the function NI VeriStand - Set Custom Device Decimation to tag a property on your custom device that will indicate to the system its expected decimation. If you set a decimation of 10, for example, the Primary Control Loop will only send new data every 10 iterations and only check for new data from your outputs FIFO every 10 iterations. This can help reduce the CPU load of your system if you don't need updates that often.
    Similarly, you can use the function NI VeriStand - Set FIFO Depth to control the FIFO depths of your inputs and outputs FIFO respectively. By default both have depth 1.
    Execution Rate
    The rate at which your Custom Device executes depends entirely on how you set it up. You can, for instance, have your asynchronous Custom Device use its own timing and run at a completely independent rate from the system. Your VI could have a regular while loop with a 10ms timer in it, for instance, or it could be based off some hardware device timing.
    You can also choose to tightly synchronize yourself with the Primary Control Loop. You do this by registering using a property that your Custom Device has a Timed Loop that will use the Device Clock. The Device Clock is a timing source that is ticked every iteration of the Primary Control Loop after Custom Device FIFOs have been updated. You register for this simply by calling the property NI VeriStand - Set Loop Type and specifying Timed Loop for loop type and Use Device Clock to be True. Then, as the template VI does, just wire the Device Clock into your timing source input for the Timed Loop. If you have specified a decimation factor, as mentioned above, you should probably also use this factor as your dt. This means if you have a decimation of 10, you should only execute your Timed Loop every 10 ticks of the Device Clock timing source.
    Another easy way to synchronize yourself tightly with the Primary Control Loop with little hassle is to simply base your timing off the availability of new data in your Inputs or Outputs FIFO. To do this, you could just use a regular while loop, and then just wire -1 to the FIFO timeouts. Then your Custom Device will run as fast as data is being produced and consumed by the system.
    Specifying a Processor
    There is no built-in property for processor assignment, but it will be very easy for you to implement this yourself. You can specify the Processor to execute on in System Explorer by creating a custom property using NI VeriStand - Set Item Property. For instance, you could set an I32 property called "Processor", with -2 meaning auto-assign, and any non-negative value indicating a specific processor index. Set this property in one of your Custom Device configuration pages in System Explorer and then read the property in the Driver VI in the engine using NI VeriStand - Get Item Property. Then just wire the property value to the processor affinity input on your Timed Loop. You should, however, always check that that processor exists on the target. Otherwise the Timed Loop will report an error and abort. This is exactly what we do for models internally.
    Jarrod S.
    National Instruments

  • PXI-6624 Pulse Frequency measurement

    Hi.  I'm working with a PXI-6624 and am interested in doing pulse frequency measurements to get both frequency and duty cycle on its inputs using DAQmx.  
    Whenever I go to create the virtual channel however, I get error -200431:
    "Selected physical channel does not support the measurement type required by the virtual channel you are creating."
    "Requested Value: Pulse Frequency"
    "You Can Select: Frequency, Period, Pulse Width, Semi Period, Two Edge Seperation, Position:..."
    Is this card really not capable of doing these pulse frequency measurements?  
    Solved!
    Go to Solution.

    Yes, the "Pulse" (not to be confused with "Pulse Width") measurement was introduced with NI's STC3 devices including X Series and CompactDAQ.  
    Pulse Measurement:
    However, you should still be able to measure frequency and duty cycle on your card with a semi-period measurement:
    Semi-Period Measurement:
    Images are from the X Series User Manual.
    The difference between the two modes comes down to how the data is stored and buffered on the card--with the semi-period method the hardware doesn't distinguish between high and low samples and puts everything into a single buffer.  However, if you start the counter off the appropriate edge (see below property node), then you would know in software the order of high and low samples and can pretty easily calculate frequency and duty cycle from this.
    Best Regards,
    John Passiak

  • Simulating input to a PXI-6624

    Hello,
              I am tring to figure out how to simulate an input to a 6624 so I can work on my program. I created a simluated PXI-6624 board on my computer but I can't figure out how to stimulate the input?
    Thanks
    Scott

    Hello Scott,
    The simulated PXI 6624, is not going to create specific data you want to simulate.  It is there just to allow you to see if the driver will work with the way you are developing your program.  So if you want to see if your counter timer application will run you can simply create a counter timer task and then run it. If you are trying to make sure your post acquisition data processing is working the way you expect I would advise you to use the Simulate signal VI, if you are working in LabVIEW, because you will have more control over the kind of signal you will see.  If you are having further problems with using your simualted device please let me know.
    Have a great day,
    Michael D
    Applications Engineering
    National Instruments

  • Why does my custom device break only when VeriStand tries to run it?

    Hello,
    I have a custom device, it's been working for awhile now, today I made some changes to add some more functionality and now VeriStand tells me the RT driver is no longer executable.
    I didn't change my build configuration or add any functionas that might bring in some external DLL or something that might be linking incorrectly.  
    Any thoughts to how I might go about narrowing this down.  The problem is only at runtime in VeriStand.  The built LLB has no issues, the development source has no issues, it's only when VeriStand tries to deploy that there is an issue so there has to be something that's not linked properly yes?
    The system is not RT, it's just deploying on Windows using a PXIe.
    Post CLD and when I'm a CLA when someone asks who I am, I can spin around in my chair and say "I am... the architect."
    Solved!
    Go to Solution.

    I don't know for sure the exact cause, but I ended up just eliminating portions of the driver code piece by piece to narrow down what was causing the issue. It turned out to be a debug VI that I've used many times before in various projects, but which contains the "Call Chain" LabVIEW primitive, but aside from that, it's just some simple string manipulation.  So I don't know if it was just some random edge case that only occurred when executing under VeriStand's own underlying LabVIEW code but for whatever reason, it was breaking the driver VI.
    So, solved the problem, but the cause, I can't quite say.
    Post CLD and when I'm a CLA when someone asks who I am, I can spin around in my chair and say "I am... the architect."

  • Need the SCSI-II 100-pin connector for the PXI-6624

    Hi. I need to build a custom cable for the NI PXI-6624 and I would like to know where can I get the 100-pin connectors. Thank you.
    Daniel
    Chile

    You should be able to find the connectors here:
    Subminiature and Microminiature D Connectors .050 Series Cable Connectors (SCSI)AMP (749111-8)
    The parts are made by Tyco Electronics P/N: 749111-8
    Otis
    Training and Certification
    Product Support Engineer
    National Instruments

  • Custom device / I am trying to use a vehicle controller model developed in LabVIEW with compactRIO (cRIO-9024)

    Now I have developed a vehile controller model with LabVIEW so as to run on VxWorks operating system. ( compactRIO cRIO-9024)
    And I converted a controller model of labview into *.lvmodel in order to use it as I did with simulink models. 
    However, converted *.lvmodel was not supported for VxWorks operating system. so after searching for this, I found out that I have to use a custom device. 
    I am now studying the custom device, but it looks diffcult because I dont have much experience in real-time system.
    Here are my questions.
    1. Simulation model in VeriStand
    Should I convert a labview controller model into *.lvmodel even if I use the custom device in order to run on VxWorks operating system? 
    If not, what should I do after building a controller model with labview?
    2. Operating system
    It is silly question. anyway, as long as I run a controller model on compactRIO cRIO-9024, the operating system always has to be set to VxWorks. Is it right?
    3. Custom device
    This is the most difficult thing. I dont know even what to do. What functions should be inside a custom device template tool? The controller model send output signals to a vehicle model, and receive input signals from a vehicle model.
    Thank you in advance. 
    Hognjun

    Hi,
    You should post this on the Veristand Forum.
    http://forums.ni.com/t5/NI-VeriStand/bd-p/440
    Ravi

  • Using Set Cursor Busy in Veristand Custom Device Page

    I am writing a Custom Device in Veristand and tried using the Set Busy vi to disable the cursor while I am doing some tasks on a System Explorer page.  It seems like the Set and Unset Busy vi do not work inside of the System Explorer environment.  I see that NI provides a way to release the cursor with the Veristand API but I do not see a way to set it busy with in the API.
    Am I correct in saying these cursor VIs don't work the way they would in a normal application? Or is there a work around here that I am missing?
    Thanks.
    Rob
    Solved!
    Go to Solution.

    Hello,
    The idea is good, it works for me if you open a reference to System Explorer.lvlibystem Explorer.vi (VeriStand 2012) :
    Best regards,
    .mrLeft{float:left} .mrInfo{border-left:solid 1px #989898;font-size:x-small;color:#989898}
    Mathieu R.  
      CTD - Certified TestStand Developer / Développeur TestStand Certifié  
      CLAD - Certified LabVIEW Associate Developer  

  • How can I use Easy Custom Device Tool to do the same thing LabVIEW the Basic Averaged DC-RMS VI does

    I am using a cRio 9024 and am reading PWM with a 9205 analog input card.  It was suggested that I use the Basic Averaged DC-RMS VI to convert the PWM signal voltage into an analog signal (RMS value) for use in my system.  The issue is that the 9024 cannot use LabVIEW models (it is VxWorks). I am working through the Easy Custom Device Tool, and wonder if someone can guide me in the right direction.
    Solved!
    Go to Solution.

    Hello,
    Can you give more details about your VeriStand configuration ? Are you using the Scan Interface (and thus the Scan Engine Custom Device) or are you using the FPGA of your cRIO chassis to access the I/O ?
    If you are programming the FPGA and using a FPGA Personalty in VeriStand you can probably add the calculations such as RMS to the FPGA code directly.
    If you are using the Scan Engine, you will need a custom device. The Easy Custom  Device Tool is just a tool, you will need to know more about what a custom device is and how to develop one:
    - http://www.ni.com/white-paper/12712/en/
    Regards
    Eric M. - Application Engineering Specialist
    Certified LabVIEW Architect
    Certified LabWindows™/CVI Developer

  • Deploy modbus I/O server as part of custom device build

    Hello,
    We are attempting to get Modbus up and running as a custom device. From Labview we have managed to get modbus communication working by using Modbus IO servers.
    When I package this with the custom device build we get the following error code when reading the bound variable:
    (0x8BBB0005)
    General Description: 
    LabVIEW: Unable to locate variable in the Shared Variable Engine. Deployment of this variable may have failed.
    I am starting to worry if it is even possible to deploy the Modbus IO server together with the custom device? Any suggestions for other approaches?
    Best regards,
    Jørgen

    Thanks for your replies. 
    The Network Variable Engine is activated on the RT target. 
    I now tried to create programmatically the modbus IO server by using the Express VI. This, however, will not allow me to deploy the system definition file, as it reports that it is missing a .vi. 
    I have then tried to convert it to a regular .vi and bundle it with both the configuration and engine build specs, but the same message appears. 
    Am I misunderstanding how the .vi dependencies are managed by the build specifications? Or do I have to use something else than the express .vi to create the modbus IO.
    Best Regards,
    Jørgen
    EDIT: Added the error message: 
    The VeriStand Gateway encountered an error while deploying the System Definition file.
    Details:
    Error 1003 occurred at Project Window.lvlibroject Window.vi >> Project Window.lvlib:Command Loop.vi >> NI_VS Workspace ExecutionAPI.lvlib:NI VeriStand - Connect to System.vi
    Possible reason(s):
    LabVIEW: The VI is not executable. This error may occur because the VI is either broken or contains a subVI that LabVIEW cannot locate. Select File>>Open to open the VI and verify that you can run it.
    As soon as I remove the usage of the express.vi, it deploys just fine.

  • Changing the PXI-6624 Counter Output rate on the fly

    I'm programming an application in VB.net 2005 to set several counter output channels (each with its own task) on the PXI-6624 card. I'd like to know if there is a way to change the frequency of the output without stopping the task, changing the frequency and restarting the task. I'm using the PXI-6624 card to simulate encoders and speed sensors.
    Thank you very much,
    JonS101

    Hi,
    Yes, you can change the frequency on the fly. Here is a knowledgebase that will give you an insight of how you should approach this matter. How Can I Change the Duty Cycle on My Continuous Pulse Train? To find this property node and how to use it refer to the DAQmx .NET reference: Where Can I Find NI-DAQmx Property Node Listings and Help?
    I hope it helps
    Jaime Hoffiz
    National Instruments
    Product Expert
    Digital Multimeters and LCR Meters

  • Wiring - PXI-6624

    Hi All -
    I have an application that I need to make use of a counter, we chose the PXI 6624.  I'm pretty darn good with the rest of NI hardware, aside from counters FPGA and RF are the only lines I haven't used.  I'm running into some trouble understanding how to set up my leads on the 6624 and thought I'd ask on here.
    I have a remote optical sensor (Monarch Instruments Model ROS) that I will need to monitor pulses on.  Its got 4 leads coming off of it, a common, a signal, a +V excitation(10V), and the cable shielding (ie common).  I'm also hooked up to a SCB-100 using their 100 pin flex cable.
    The thing that I'm getting hung up on, each counter on the module has 10 pins assigned to it.  I keep going through the manual, but I'm having trouble understanding it.  Went to NI and the engineer there basically just copied and pasted the same part of the manual that I didn't understand.  When asking for more details, about the gate +/- for example the response I got was that "you can if you want to gate the signal you use the gate pins"...I assume that means you can use those pins as a switch to take the signal or not, like you would the Gate on a FET used like a switch.  Just an example of how detailed the responses are :-)
    Anyhow, I'm reading through and it sounds like each of the inputs almost has multiple functions that overlap, but I'm having trouble digesting it.  Can anyone help out with the wiring on this?
    Just FYI - Short term, I have 1 sensor that will count RPM as 1 pulse per revolution.  We will also want to do direction which will require a second sensor with the two set up much like the quadrature function requires.  Only still both will have only 1 pulse per revolution, rather than an encoder with say 120 pulses per rev.  Will eventually need to wire up both, but I think if I can figure out just the one I can use that to figure out the rest of the setup on my own :-)
    Thanks a bunch!
    LV7.1, LV8.5
    Solved!
    Go to Solution.

    External Connections: 
    Sensor common connected to source - of counter
    Signal from sensor connected to source + of counter
    Any gate signal you would use for this application would be generated internally using another counter and then internally routed to the gate of the counter that is counting the external pulses.  In this case the gate signal would provide an accurate window of time in which to count pulses.  An example would be measuring RPM.  If you decide to measure pulses for an entire minute, how do you accurately define a minute?  If you don't count for exactly a minute, your RPM measurement will be incorrect.  Software timing won't work.

  • Running unit tests on inline hardware custom device

    How to do unit tests for Inline Hardware Custom Devices?
    I get this error after creating a unit test.
    Possible reason(s):
    Cannot connect to the target. Please ensure that the VI Server setting is enabled and deployed to the target. Also, make sure that the port number is correct and that this machine is allowed to connect through VI Server.

    wegunterjrASI, 
    I have a few follow up questions for you to gain a better understanding of your application: 
    1). What are you using to do the unit test (NI’s unit test framework or VI tester from JKI)?
    2). What are you conducting the unit test on (RT Driver or something on the host machine)? 
    3). Are the unit test VIs under the target in the LabVIEW project? 
    4). Are you able to run a simple unit test? 
    Screenshots are always appreciated. 
    Regards, 
     

  • Calling Main and Extra Pages of Custom Device(s) from LabVIEW

    Hi,
    I am currently evaluating VeriStand (VeriStand 2011) and its control from LabVIEW using .NET APIs.
    I am trying to use LabVIEW to add and configure custom devices for a given system definition file.
    For that I am using a subpanel, the same way it is done in the System Explorer.
    It is almost working.
    I only get errors from VIs that are dynamically called from the Custom Devices API. These VI's are part of an lvlib which is called "Custom Devices Storage.lvlib".
    I can't find this lvlib on my Computer. So, I guess, this error is normal. The only way to get rid of this error would be to load this lvlib in memory, but how ?
    An example of a dynamically loaded VI from the Custom Device API :
    If I can't configure a Custom Device inside my own Human Man Interface, there is no way I use VeriStand in the future. I don't wan't an operator or an administrator to open the System Explorer and change anything else than Custom Devices that may change in several of our test benches.
    Is there a way to do that or should I throw VeriStand to the trashcan ?
    Thanks in advance for your answer(s).
    Regards,
     

    Hi DaHelmut,
    First of all, I apologize for the lack of applicable replies. What you're attempting isn't something we usually encounter so our team didn't quite understand.
    I'll restate what you want to make sure its clear: You want to make your own version of system explorer fir your team to edit system definitions with. You also want it to support configuring custom devices. Therefore, you need custom devices to work inside your system explorer just like they do inside the shipping system explorer.
    This is technically possible, and I will help you accomplish this with some advice, however I have never seen this done before so it might take us a while to figure out all the issues. Typically people developing a custom GUI for a test bench just use the system definition API directly instead of using custom device's as-is... which is more difficult, and I agree your approach is better if it works. However, most test benches have a known set of custom devices (maybe just XCP/CCP and scan engine) so they only need to use the system definition API for maybe a few custom devices... not any device.
    First things I should mention:
    Editing a system definition, either through your custom gui and therefore through the system definition API, or through the system explorer... always requires a PC or Full development license. An operator licenses will never be able to edit system definitions no matter what.
    There is a set of VIs provided by the ECUMC toolkit to add/remove/edit system definitions with the XCP/CCP custom device. You would have to put your own GUI on top, but the VIs are installed here: <\LabVIEW>\vi.lib\ECUMC\NIVS
    I have an unreleased set of VIs that do the same thing for the scan engine and ethercat custom device I can provide
    If you still want to create your own system explorer thats capable of loading and configuring any custom device, here are some suggestions:
    Custom devices are built into LLBs that include all of their dependencies, so they can be loaded by the LabVIEW run time engine. If you create a VI that loads custom device's, you should be careful to avoid cross linking corrupting your development system or your custom device's. For example your system explorer might use "Get File Extension.vi" from vi.lib, but the custom device you're loading might also use this VI and therefore its linked to a copy inside its LLB. You will know when cross linking happens when the LabVIEW load warning dialog appears saying "vi X loaded vi Y from Z instead of A". If that happens, do not save. To avoid this entirely, it might be easiest to test your system explorer only as a compiled exe.
    As you saw, some custom device API VIs used by custom device developers make dynamic VI calls to an in-memory library named "Custom Device Storage.lvlib". Since this library is part of the shipping system explorer.exe source, these dynamic calls will error when not run inside the shipping system explorer.exe. There are two types that must be handled separately.
    Some custom device APIs like "NI VeriStand - Signal When Ready for Shutdown.vi" just make this dynamic call, and will simply return an error. These are mostly system explorer GUI specific custom device APIs. To avoid this error, you must create and bring this VI into memory yourself. So create that library and the stub VIs you need, then place static VI references to those stub VIs on your custom system explorer's block diagram. That will bring them into memory so when the custom device VIs try to dynamically call them, it will not error.
    Most custom device APIs like "NI VeriStand - Get Item Description.vi" make the dynamic call and instead of simply erroring, they will instead catch the error and switch to using a .NET implementation of the API call. I advise looking at the block diagram of this VI and then the corresponding offline API VIs to better understand this redirect system. Unfortunately, this redirection gets the offline API VI path relative to vi.lib which doesn't exist for exe's. So when you build your custom system explorer into an exe, you will need to place the "NI VeriStand\Custom Device Offline API" folder adjacent to the exe with these VIs for them to be found because the "vi library" primitive returns the exe's directory when inside an exe
    Let me know if that helps or if you have questions.
     

Maybe you are looking for

  • Time Machine not backing up anymore

    I'm using TimeMachine for my wireless internet as well as for backing up my hard drive. The internet works fine. The issue that I am having is that Time Machine is no longer backing up my hard drive. The last backup was in November. Up until that tim

  • Universe Designer is disappeared when univ is  'save as' PDF

    Hi All, Iam getting the error  , Iam using the BOXI Desginer with FP 1.7 on Windows XP. Universe Designer is disappeared when universe is  'save as'  as PDF. It is creating the blank PDF. Please suggest any workaround solution. Regards Mahesh

  • Headphones usage on Satellite A660-BT2G22 -sound plays out of the speakers

    When I plug headphones into my Satellite A660-BT2G22 Laptop the sound plays out of the speakers and the headphones. There has to be a way for me to make the sound play only through the headphones and I would really love that because I am going off to

  • Object problem

    Hi All, Internal error "UDO" (-2025) occurred...are happened when I try to open a company database from the choose company window What could be the causes ? TIA Steve

  • View Adobe Illustrator files on iPhone

    I've looked everywhere and can't believe I'm the only creative professional who wouldn't enjoy being able to open e-mail attachments that were Adobe Illustrator or EPS files the same way you can view a pdf. There is no app that i've found that does t