Measurement period semi PWM input: requires a custom device?

Hello

I need to read a pwm on my X-series card entry in the VS2011 environment.  In LV, this would be by a half measure. Now how can I do this in VS2011? It seems that I must take this vi LV making periods of semi and "decent" soul in a device custom vs. Is this true?

THX.

L.

myself... Yes it certainly looks like him.

Tags: NI Products

Similar Questions

  • Triggered acquisition of finishes and measurement period

    Hello

    My problem is this: I don't know about how Labview peripheral access and impact of the implementation of the multiple tasks in a loop iteration speed.

    The vi which I enclose uses a rotary encoder to generate a trigger for acquiring pulse. I noticed that trying to enforce a measure of the time on this impulse causes the double iteration time. For this reason, I've included the case structure then the program reads once all 50 iterations.

    I use the PCI-6250 (dev2) and PCI 6220 (dev1) which are connected by a RTSI cable. The 6220 and 6250 are connected to CB-68LP and TBX - 68 t terminals respectively. The latter, which causes a few problems because of the incompatibility.

    Any help on two reasons you for the slower time per iteration and how solve it would be most appreciated.

    Thank you

    Ingram

    Hi Ingram,

    Thanks for your message, the code looks like certainly more compact and this method allows you permanently newspapers which is adventageous to the application.

    Regarding the doubling in speed of loop you encounter when measurement period meter, out of curiosity, how much time (depending on time) is the Digital pulse length you measure? If the period is large this could explain play long time.

    I also recommend placing a 'DAQmx start task VI' on each line DAQmx entering the loop (just after the configuration steps), which will allow the task of counter start running before entering the while loop, which can improve performance.

    If the pulse duration you measure is large, it may well be useful to separate the task of counter in a separate producer loop or introduce a time-out on the counter 'DAQmx Read VI' to see if that improves the speed of execution.

    Thank you very much

  • Best way to pass the name of the e/s DAQmx channel Veristand 2011 Custom Device?

    I'm building a custom device that will run a DAQmx task on the target of RT.

    I use VS2011 and alsoSimple custom device tool, which, at this point I'm not sure if it can work under VS2011...

    I created the fine libraries and custom device (a PWM input called InputPWM) has added to the Explorer from the system.  Running it returns the following error when I deploy:

    -----------

    LabVIEW: Type VI reference is not part of connector of VI.
    =========================
    NEITHER VeriStand: Open VI reference in Custom Devices Storage.lvlib-> pen device reference (Interface HW) .vi-> Custom Devices Storage.lvlib:Initialize Device (Interface HW) .vi OR VeriStand Engine.lvlib:Initialize Inline Custom Devices.vi-> NI VeriStand Engine.lvlib:VeriStand Machine.vi engine-> Engine.vi NI VeriStand Engine.lvlib:VeriStand-> NI VeriStand Engine.lvlib:VeriStand .vi engine Wrapper (RT)
    c:\NI-rt\VeriStand\Custom Devices\InputPWM\InputPWM Engine.llb\InputPWM RT pilot VI.vi

    ----------------------

    On the console, it says that the error is 1026, LabVIEW: Refernece VI is not valid.

    I suspect that a potential problem is that I used a DAQmx e/s in the Configuration.ctl and the InputPWM RT pilot VI.vi in the framework can not deal with this type. So my questions:

    -What is the easiest way to pass the names of e/s to the custom device? For a quick test, I could go to hard code, but a more generic solution would also. Should be based on the address for the e/s MAX? Do I have to create the ctr under the DAQ hardware in VS?

    - or said by the way, is there a way to review these screw frame to see where the questions is, as you would with LV - RT?

    THX.

    L.

    If you use the tool of easy custom device, just put everything you need inside the cluster configuration data and these data will be in the home page of the custom (for the user to set) device and be available at runtime in the RT device custom code.

    You could have them type the name of the DAQ card and have an array of names for the channels to use. You then create the task running. or something like that. You like.

  • Asynchronous custom device fails to stop

    While I was developing a custom asynchronous device, I came across a problem with the cancellation of the deployment of the .nivsproj I created to test the custom device.

    The custom device would send the error: -307730 Error Message: NI Veristand: one or more asynchronous custom devices did not close correctly and has been abandoned by the Veristand engine.

    I decided to do some troubleshooting for what could be wrong with the custom device by creating a separate custom device using the custom device model. I left completely intact model and it has deployed to our machine pharlap. When I canceled the intact custom asynchronous device it gave me the same error as above.

    I use Labview 2010 Professional version 10.0f2 development system, NI Veristand 2010 for a complete system of development and deployment of the .nivsproj on a licensed machine Pharlap.

    Sorry for the late reply.

    Zach-H by using simple device custom you provided I was able to create a custom asynchronous device that was able to stop. This allowed me to insert instructions printed in the two devices to help out what was causing the unit to raise an error when stopping.

    The culprit seems to be the NI VeriStand - Get loop Type.vi. The type of loop is never defined in the initialization.vi or the main.vi of the device model tool customized. So, when the RT pilot ran VI.vi the Type.vi loop get it would exit always false for the clock of the device to use and never use the correct name of the device clock. Without the name of the unit's clock he would never get a reason for reactivation.

    I forced the vi to use the clock of the device listed in the custom device model tool and I was able to shut down properly.

    TimothyA, you are right about the features of the measuring device. Even with the error of abnormal termination, the meter continues to operate normally after each deployment.

    Thanks for pointing out the problem with no channel being added to the measuring device. I'll make sure the custom device I develop handles the case where no channel, input or output, are added.

    Thanks for the help.

  • Custom device error VeriStand-307603: no specified main page?

    I get the 307603 error when I try to add a custom device, I developed a VeriStand project on a client computer.  The message error window States:

    «Error 307603 occurred at Custom Devices Storage.lvlib:Initialize New Custom Device.vi > Custom Devices Main Page Data.vi Storage.lvlib:Get.»

    Possible reasons: NI VeriStand: the required custom device doesn't have a specified master page. Contact the creator of custom feature to correct the error. »

    I get this error when you add the device custom VeriStand on my development computer; only on the client computer.  I tried to copy the custom device built on top of the client computer and the custom device of source based on the customer's computer.  I also have three other devices custom that I developed that work fine on the same computer, so I don't know why it does not work.  I checked the specification of the build configuration to ensure that the VI home page is included in the source files, and to generate test preview shows only the custom device LLB and the XML from the file in the build directory, as expected.  The XML file is also oriented the correct path for the homepage VI and the GUID in the XML is the GUID file matches in overall search GUID variable.  I can't think of anything to check.

    Development computer:

    Windows 7, 64-bit

    LabVIEW 2011 SP1

    VeriStand 2011 SP1

    The client computer:

    Windows XP SP3, 32-bit

    LabVIEW 2011 SP1

    VeriStand 2011 SP1

    Everybody knows such a question or give me additional troubleshooting tips?

    I got it to work, but I don't know exactly what the problem was.  I made a copy of the part of the XML file that adds the device custom menu right-click and commented of the original, then edited the part I copied it to give the device custom a different name in the menu.  It worked fine on my development computer at the time I made the change, so I thought it was OK.  I just went and restored the file in the original version and now it works on my customer's computer.

  • The value of custom device entry

    Hello

    In fact, I create a custom (asynchronous) device that controls a climate system. It consists in adapting a functional code LabVIEW to create custom device. Unfortunately the LabVIEW code uses a lot of FGVs that act as input and outputs at the same time (this means that the system can change the value of an entry).

    So, I would like to know if there is an easy way to set the value of an entry in the custom device engine code. I tried the following without success:

    • Written in the FIFO of the entrance channel.

    • 'Set channel use value' of the API of NI VeriStand-> I get the error 307970.

    Yes, is there something I can do to facilitate the creation of my custom device? instead of "Rethinking" all the code which is a real pain in the * the complexity of it?

    Thanks in advance.

    Pen

    We solved that by using part of inllne to only update the channel and postponed the real asynchronous threads treatments with exchanges of data through FIFOs.

    ++

  • execution of the RT custom device screw driver

    Hi all

    I'm building a custom device in which I expect a user input. (user provides entries on the home page of the custom device).

    Once the entry is expected on this basis I read the file-specific data and creating channels and article.

    Previously creating channels and article I in the initailiazation code.  But now that I'm waiting for user input I can't create these channels during initialization (reason is before getting the input channels will be created which I don't want. My creation of channel depends on the intervention of the user).

    If this logic of formation of channel I now write in pilot RT VI with my main logic of the reading and writing of the channels. For this I just want to know what exactly is the RT pilot VI begins its execution?

    If the RT Vi driver starts to run after adding the deivce custom veristand and after giving the user input and then my purpose will be resolved.

    I hope I explained my question correctly.

    The pilot begins after the definition of the system is deployed.  I don't think you can add strings in VI driver.  Nor do I think that you want, because you won't have an interface for them in the system definition.  Without a channel interface, i.e. mapping, how do you get data in and out of them?  I think your plan to create channels based on user input and data configuration are fine.  I suggest that you implement in the homepage or pages on the main page.

    -Steve K

  • custom device PLC Siemens

    Hello

    I do test with NI Veristand HIL. My hardware is a cRIO 9075 siemens AND 200 s PLC. I found an address ethernet/IP add it to veristand:http://zone.ni.com/devzone/cda/epd/p/id/6337

    However, if I understand correctly, it will not work with siemens plc. Are there patterns that I can do on the add-on ethernet/IP, which allows to work on siemens PLCs?

    any help is deeply appreciated.

    Do not confuse Ethernet/IP (Ethernet industrial Protocol) with "Ethernet" (the physical layer, it is built on).  Both Profinet and Ethernet/IP are protocols built on top of the Ethernet physical layer, but apart from that, they are completely different protocols.

    Regarding your question, NI VeriStand consists of a runtime of models yout, IO, etc... and an application for configuring host-side and communicates with the engine.  Generally, the engine will run on a system in time real (for example a CompactRIO or PXI system), but it is also possible to run the engine on your WIndows machine.  The downside to this is that Windows is not a real-time operating system, so you can't wait operation is deterministic, free of jitter, which is usually required by the test of RT applications.

    Insofar as the implementation differences, your target cRIO runs a VxWorks operating system, which is unable to call DLLs.  Instead, you'll have to comile your models in a .out file.  If you use the Mathworks Simulink®, NI VeriStand comes with a .tlc of VxWorks file that can be drawn from the real-time Workshop.  If you compile your own C-base model, you will need to use the chain for VxWorks GNU tools.  You can find instructions on how to do it here.

    If you use the cRIO VeriStand engine, you will need to use a C series Profibus or Profinet module for communication with the controller.  I don't have any experience with these, but you need to program the FPGA and probably write a device customized to interface the NI VeriStand code.  If you use the Windows engine, there may be 3 third-party drivers available for this type of communication that you could then conclude with a custom device.

  • Error of USB host - peripheral controller is not working properly because Windows cannot load the drivers required for this device. (Code 31)

    Original title - USB - IF xHCI USB Host Controller

    This device does not work properly because Windows cannot load the drivers required for this device. (Code 31)

    I have a permanent error on my computer and when I run the troubleshooter I get the above message.  It says Windows cannot load the driver.

    Hello

    USB devices remove all you can - restart the computer - is still there, the error? If it isn't
    It is related to one of the add-in devices that you removed. If she is still there, then, the question is
    either a device internal who can not remove or physically with the USB bus itself.
    If it was not there, add devices at a time until it is displayed - keep in mind that it is
    possible that there are two (or more) devices in conflict over the issue. Once you
    identified the check of the aircraft with the help of the manufacturer.

    1. to find the control panel - device - device - right-click on it - uninstall - Manager then
    Restart the computer to see if it clears.

    2. same place - double click on the device - driver tab - driver update - to see if that helps.

    3. check with the support of system manufacturer (manufacturer of motherboard for customized systems), their
    online documentation and drivers, diagnostics and ask questions in their forums on all known
    questions. Update the Bios and chipset or other USB drivers.

    =====================================

    If necessary, we will use these additional troubleshooting methods:

    How to fix Code 31 errors
    http://pcsupport.about.com/od/findbyerrormessage/a/code-31-error.htm

    I hope this helps.

    Rob Brown - Microsoft MVP<- profile="" -="" windows="" expert="" -="" consumer="" :="" bicycle=""><- mark="" twain="" said="" it="">

  • Multi-threaded custom device

    Is it possible to create a custom multithreaded device?  I want to create a client-server architecture, somewhat like the http://zone.ni.com/devzone/cda/tut/p/id/3098 example in a custom device.  The only difference would be that I would like to make the series of read/write in the high priority task.

    Thanks for the help!

    -Ryan

    Hi Ryan,

    This should be possible if you use a custom asynchronous device. The curls will then run in their own thread and do not affect the execution of the primary control loop. Make sure that there is enough time sleeping in your loop of high priority. Note, however, that put communication series in the loop of high priority will negatively affect your determinism.

    For more information on the Veristand engine and the custom device types you can choose one, please see the following:

    Understand the VeriStand engine

    Creation of custom devices

  • I have problems with of the Subvi after the use of customized device model

    I used to start my machine personalized customized device model and I got success in the deployment until I started to do more complicated the Subvi.   I am currently trying to convert low FPGA and high ticks to the duty cycle, but for some reason when I add it to the RT VI "Data read of HW" driver, it seems to cause a downtime... ideas? Is a circuit agree? I have added a time delay but I am still having problems. It is a device online, so I'm suspicious of it hogging resources, but am not sure.

    Attached images are meant to be read like this:

    1. the case of the RT pilot ReadDataFromHW

    2. it's the Subvi calling ToDutyCycle SIMStimPWMSubVI

    3 ShiftRegister.PNG is inside the Subvi.

    As a robotician I celebrate early and often (usually by a failure or two...), but it seems that the answer was to transform fundamentally the While loop for a loop with a count of 1 and then remove the additional elements to ensure that each shift register has that one and then right click on the shift registers and convert at the Feedback node...
    I was able to deploy to VeriStand as a custom device and it runs and calculates the factor of use with no problems. WOOHOO! Where - what is celebrate button!

  • How to integrate model of custom device controller

    Hello

    I now live a labview including 18 sub controller model, and I am trying to run this controller on RTOS VxWorks, through customized device model.

    1. when I tried to run a model simple controller (ex, a controller with 3 ~ 4 void / screw) on RTOS VxWorks, I just put simple controller in RT Driver.vi model, and then the build and deployment succeeded.

    2. then, I did it with my model of labview in the same way above controller, but I couldn't even build my model controller labview. I don't know why, but the build process stops at the initialization stage. I think that this problem will appear when there are more than 3 ~ 4 sub vis are added under the custom device project.

    Any ways to use a model of controller labview instead of just put a model in RT Driver.vi?

    Now, I managed to build my model labivew, I saw the light of the compactRIO blinked, which measn the connection is ok by CAN - Bus.

    But it's still weird and not possible to build my model at a time. In addition, cannot again build the custom devcie just before successfully built after the addition of two functions simply.

    In any case, the solution to my problem is as below.

    For example, my cruise controller written in labview consists of 3 simulation systems arrive.

    Each system to arrive includes several subsystems.

    First, create the model after adding one of 3 major subsystems. (In this case, I never had errors in the construction of models of labview)

    Secondly, if the first step is ok, add one of the other 2 systems come in the custom device and then build again.

    Thirdly, add the remaining subsystem in the custom device and establish the entire model and deploy it to the target.

    With three steps above, I can still build devices customized successfully.

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

    Hello

    I have a custom device, he worked for some time now, today, I made a few changes to add some features more and now VeriStand tells me the RT pilot is more executable.

    I have not change my build configuration or add any functionas that could bring in an external DLL, or something that could link incorrectly.

    Any ideas of how I could go on this shrinking.  The problem is that when running in VeriStand.  Built LLB has no problem, the source of the development has no problem, it's only when VeriStand tries to deploy there is a problem, so there must be something that is not bound correctly Yes?

    The system isn't RT, it's just deploy on Windows using a SMU.

    I am not sure the exact cause, but I ended up simply remove parts of the code piece by piece pilot to refine what was causing the problem. It turned to be a VI of debugging I used several times before in various projects, but which contains the string "call" LabVIEW primitive, but set apart from that, it's just a simple string manipulation.  So I don't know if it was just a few cases of random edge that occurred when running under code basic LabVIEW VeriStand clean, but for some reason, he broke the driver VI.

    So, solved the problem, but the cause, I can't really say.

  • Read VeriStand channel from inside the custom device that are not part of the custom device?

    Is it possible to read VeriStand channels from within a custom device VeriStand (RT Driver) that are not part of this custom device?

    For example, suppose I want to be able to configure a channel in my custom device to always be twice the value of a string of material that my user selects (I know, better/more simple ways to do this, but this is just a simple example ).  Can I do this from the device custom without programmatically create a mapping of the system? (I've done this before and it is messy and VERY prone to error of the user).

    Thank you!

    good point

    the channel ID (U64s) are not the same in the engine config of vs. Instead, you must set 'references to dependent item' in the config and then get these references in the engine.

    See the source jarrod linked, which makes it

  • How to detect the channel delete event in a custom device

    I am creating a custom device and want to detect when you press the button Delete (X) in the system browser.  This is so I can increment or decrement a counter in a folder (where the channel is under).  I saw no option in UserEvent loop options.  How do I detect that a channel is deleted?, I'm sure it's easy, but I can't seem to understand.

    Thank you!

    I recommend usually do not do that... If you can avoid it. For example the parent folder can do if everything is just a child get point-> the size of the array to count channels rather than storing a property that could get out of sync. I always try to design my devices do not store the property values for things I could go get.

    That being said... Sometimes you don't have that. You want an actionviondelete: https://decibel.ni.com/content/docs/DOC-30447

Maybe you are looking for