Duty cycle value & user prompt

1. Duty cycle
The value input in the front panel works fine up to 34%, but then it fails for any value above 35%.
(for input value 35% and above, instrument shows 0.5% instead..for all values..)
How can I fix this to make it between 0-100%???
2. User Prompt for config file
Currently, config file will be loaded via "Load Config" case, but is it possible to kick this off when the main VI starts?
The idea is to force a user to load config file to synchronize between the instrument display and the LV front panel.
(when every time the program gets kicked off)
Does anyone have an idea how to do this?
Thanks,
Attachments:
Pulse Channel with Load and Save_no event_v09.4.2.llb ‏2689 KB

I am still having a trouble with setting duty cycle value above 35%...
Tried to add timebase mode subVI in the application function VI, but the outcome is still the same.
Plz help on this...
Attachments:
HP8133A Application Function_mod2.vi ‏129 KB
Pulse Channel with Load and Save_no event_v09.4.3.vi ‏580 KB
HP8133A Ex-Div Timebase_mod.vi ‏48 KB

Similar Messages

  • Frquency & Duty cycle Value changes- every time

    Hello all
     im using pcie 6320 to measure the frequency and the duty cycle of a signal.i have attached my vi & the data measured for reference.The values highlighted in red ,is my actual frequency and duty cycle but values changes for every 1 sec.Please correct me if i have any mistake.
    Solved!
    Go to Solution.
    Attachments:
    measure frquency-duty.vi ‏54 KB
    HZ-DUTY.JPG ‏37 KB

    You'll need to enable digital filtering--insert the following property node into your code (call the property node before starting the task):
    Try a "Min Pulse Width" of a few us and increase it if you still are picking up incorrect readings.
    The errant numbers are coming from false edges being picked up during transitions, enabling digital filtering will cause the DAQ device to ignore any transitions with a pulse width of less than the set value.  Your 475 Hz 72% duty cycle signal should have a high time of about 1.52 ms and a low time of about .59 ms):
    656 Hz = ~1/(high time)
    1718 Hz = ~1/(low time)
    MHz values = multiple edges picked up during a single transition.
    Best Regards,
    John Passiak

  • Kernel Panic - invalid backlight duty cycle - after upgrade from 10.5.2 on macbook air A1237

    Here is the short version. I bought an older orignial Macbook Air Model A1237. The hinges had been damaged, and the screen would not display correctly - it had lines all across it and you could not see what you were doing. Anyway - I replaced the screen, hard drive, logic board, upper case, pretty much everything in sucession in an effort to get the MBA up and running again and get rid of the kernel panic I keep getting, all Apple replacement OEM parts. I bought a replacement screen - making sure I checked compatibility etc.. but when it started up I felt great perfect view - all was good - then it kernel paniced. I finally figured out that if I turned up the backlight manually all the way to max or if the ambient sensor made the backlight go to max - these were the only time I get a panic. Otherwise it runs perfeclty. The odd thing is I bought the original MBA disc that would have came with the MBA brand new - and if I wipe the hard drive and install leopard 10.5.2 from the dics and do not update anything - it works 100% perfectly no kernel panic at all. If I updgrade beyond the 10.5.2 I get the panic back. So that tells me its not the hardware, and I have confirmed the hardware and firmware are all up to date, as I was hoping it would be that easy a fix of updating the firmware.  I have tried everything - googled everything - I am at the end of my rope on this one - please help.
    In addition to all the repair work - i have tried test user, upgrading to snow leopard and lion, taking to the apple store, everything I can do , with no solid answer  - the apple store told me it was hardware. But if it was then 10.5.2 should generate the panic as well.  There are lots of articles and posts on other forums on this very issue - usually surrounding having the MBA display repaired and then they started getting the panics thereafter - but no one has ever recieved an answer either at all, or that works.
    Here is the KP log below - please let me know your thoughts - id like to upgrade to lion to get the most out of the MBA - any help is appreciated - - - - - heres the log - - - - ( the reason the BSD states at loginwindow is the ambient sensor at that time kicks in and creates the panic ):
    Interval Since Last Panic Report:  3873 sec
    Panics Since Last Report:          1
    Anonymous UUID:                    3A665154-0D6B-4EDF-8F76-80C322CF134A
    Mon Aug 27 23:04:07 2012
    panic(cpu 0 caller 0x2E42320C): "IG: Invalid backlight duty cycle value"@/SourceCache/GraphicsDrivers/GraphicsDrivers-5.48.6/Common/GLKernel/Inte l/IntelIntegratedFramebuffer/IntelGMAX3100FB.cpp:7065
    Backtrace (CPU 0), Frame : Return Address (4 potential args on stack)
    0x2e3dbaa8 : 0x12b4c6 (0x45f91c 0x2e3dbadc 0x13355c 0x0)
    0x2e3dbaf8 : 0x2e42320c (0x2e431258 0xa4aa 0x2e3dbb18 0x0)
    0x2e3dbb18 : 0x2e425434 (0x3af6c00 0x5f40 0xe 0x0)
    0x2e3dbb68 : 0x2e4d2283 (0x3e75000 0x0 0x626b6c74 0x5f40)
    0x2e3dbbd8 : 0x2e3f9769 (0x4639e00 0x4107280 0x3a6ace0 0x80)
    0x2e3dbc08 : 0x2e3f724c (0x48f2a00 0x4107280 0x3a6ace0 0x80)
    0x2e3dbc38 : 0x2e3f785d (0x48f2a00 0x80 0x2e3dbc68 0x3f158d)
    0x2e3dbc58 : 0x2e3f71db (0x48f2a00 0x80 0x2e3dbc88 0x3f0942)
    0x2e3dbc78 : 0x2e3f9475 (0x48f2a00 0x430c640 0x3a6ace0 0x80)
    0x2e3dbca8 : 0x2e3f92b9 (0x48f2a00 0x430c640 0x3a6ace0 0x80)
    0x2e3dbd28 : 0x440edf (0x48f2a00 0x3feb880 0x44 0x11e7de)
    0x2e3dbd78 : 0x18b71a (0x48f2a00 0x3fea900 0x44 0x407c7c0)
    0x2e3dbdb8 : 0x12d4d6 (0x3b92090 0x407c79c 0x2e3dbdf8 0x11f1c6)
    0x2e3dbdf8 : 0x1264fa (0x3b92000 0x392e984 0x408226c 0x0)
    0x2e3dbf08 : 0x198fa3 (0x2e3dbf44 0x0 0x0 0x0)
    0x2e3dbfc8 : 0x1a1cfa (0x398d120 0x0 0x1a40b5 0x3dc0c80)
              Backtrace continues...
          Kernel loadable modules in backtrace (with dependencies):
             com.apple.driver.AppleBacklight(1.6.0)@0x2e4d0000->0x2e4d3fff
                dependency: com.apple.iokit.IONDRVSupport(1.7.3)@0x2e435000
                dependency: com.apple.iokit.IOPCIFamily(2.6)@0x2e2d5000
                dependency: com.apple.iokit.IOGraphicsFamily(1.7.3)@0x2e3f5000
             com.apple.driver.AppleIntelGMAX3100FB(5.4.8)@0x2e41c000->0x2e434fff
                dependency: com.apple.iokit.IOPCIFamily(2.6)@0x2e2d5000
                dependency: com.apple.iokit.IOGraphicsFamily(1.7.3)@0x2e3f5000
                dependency: com.apple.driver.AppleSMC(2.3.1d1)@0x2e412000
                dependency: com.apple.iokit.IOACPIFamily(1.2.0)@0x2e2ec000
             com.apple.iokit.IOGraphicsFamily(1.7.3)@0x2e3f5000->0x2e411fff
                dependency: com.apple.iokit.IOPCIFamily(2.6)@0x2e2d5000
    BSD process name corresponding to current thread: loginwindow
    Mac OS version:
    9L31a
    Kernel version:
    Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386
    System model name: MacBookAir1,1 (Mac-F42C8CC8)
    System uptime in nanoseconds: 58935778708
    unloaded kexts:
    (none)
    loaded kexts:
    com.apple.driver.AppleHDAPlatformDriver          1.7.1a2 - last loaded 45739893296
    com.apple.driver.InternalModemSupport          2.4.0
    com.apple.iokit.IOBluetoothSerialManager          2.1.9f10
    com.apple.filesystems.autofs          2.0.2
    com.apple.driver.DiskImages          199
    com.apple.driver.AppleHDAHardwareConfigDriver          1.7.1a2
    com.apple.driver.AppleHWSensor          1.9d0
    com.apple.driver.AppleUpstreamUserClient          2.7.5
    com.apple.Dont_Steal_Mac_OS_X          6.0.3
    com.apple.driver.AppleHDA          1.7.1a2
    com.apple.driver.ApplePlatformEnabler          1.0.2d1
    com.apple.driver.AppleGraphicsControl          2.8.15
    com.apple.driver.AppleIntelGMAX3100          5.4.8
    com.apple.iokit.IOSCSIArchitectureModelFamily          2.1.1
    com.apple.driver.AppleIRController          113
    com.apple.driver.AirPortBrcm43xx          367.91.22
    com.apple.kext.AppleSMCLMU          1.4.5d1
    com.apple.driver.AppleLPC          1.3.1
    com.apple.driver.AppleTyMCEDriver          1.0.0d28
    com.apple.driver.AppleHDAController          1.7.1a2
    com.apple.driver.SMCMotionSensor          2.1.1d2
    com.apple.driver.AudioIPCDriver          1.0.6
    com.apple.driver.ACPI_SMC_PlatformPlugin          3.4.0a17
    com.apple.driver.AppleBacklight          1.6.0
    com.apple.driver.AppleIntelGMAX3100FB          5.4.8
    com.apple.driver.AppleUSBTCButtons          1.7.4f1
    com.apple.driver.AppleUSBMultitouch          189.35
    com.apple.driver.AppleUSBTCKeyEventDriver          1.7.4f1
    com.apple.driver.AppleUSBTCKeyboard          1.7.4f1
    com.apple.driver.BroadcomUSBBluetoothHCIController          2.1.9f10
    com.apple.driver.AppleUSBMergeNub          3.5.2
    com.apple.driver.XsanFilter          2.7.91
    com.apple.iokit.IOATABlockStorage          2.0.6
    com.apple.driver.AppleUSBHub          3.4.9
    com.apple.driver.AppleFileSystemDriver          1.1.0
    com.apple.iokit.IOUSBUserClient          3.5.2
    com.apple.driver.AppleAHCIPort          1.7.0
    com.apple.driver.AppleIntelPIIXATA          2.0.1
    com.apple.driver.AppleUSBEHCI          3.4.6
    com.apple.driver.AppleUSBUHCI          3.5.2
    com.apple.driver.AppleEFINVRAM          1.2.0
    com.apple.driver.AppleRTC          1.2.3
    com.apple.driver.AppleHPET          1.4
    com.apple.driver.AppleSmartBatteryManager          158.10.5
    com.apple.driver.AppleACPIPCI          1.2.5
    com.apple.driver.AppleACPIButtons          1.2.5
    com.apple.driver.AppleSMBIOS          1.4
    com.apple.driver.AppleACPIEC          1.2.5
    com.apple.driver.AppleAPIC          1.4
    com.apple.security.seatbelt          107.12
    com.apple.nke.applicationfirewall          1.8.77
    com.apple.security.TMSafetyNet          3
    com.apple.driver.AppleIntelCPUPowerManagement          76.2.0
    com.apple.BootCache          30.4
    com.apple.iokit.IOSerialFamily          9.4
    com.apple.driver.DspFuncLib          1.7.1a2
    com.apple.iokit.IO80211Family          216.1
    com.apple.iokit.IONetworkingFamily          1.6.1
    com.apple.iokit.IOHDAFamily          1.7.1a2
    com.apple.iokit.IOAudioFamily          1.6.9fc5
    com.apple.kext.OSvKernDSPLib          1.1
    com.apple.driver.IOPlatformPluginFamily          3.4.0a17
    com.apple.iokit.IONDRVSupport          1.7.3
    com.apple.driver.AppleSMC          2.3.1d1
    com.apple.iokit.IOGraphicsFamily          1.7.3
    com.apple.iokit.IOUSBHIDDriver          3.4.6
    com.apple.driver.AppleUSBBluetoothHCIController          2.1.9f10
    com.apple.iokit.IOBluetoothFamily          2.1.9f10
    com.apple.driver.AppleUSBComposite          3.2.0
    com.apple.iokit.IOStorageFamily          1.5.6
    com.apple.iokit.IOAHCIFamily          1.5.0
    com.apple.iokit.IOATAFamily          2.0.1
    com.apple.iokit.IOUSBFamily          3.5.2
    com.apple.driver.AppleEFIRuntime          1.2.0
    com.apple.iokit.IOSMBusFamily          1.1
    com.apple.iokit.IOHIDFamily          1.5.5
    com.apple.driver.AppleACPIPlatform          1.2.5
    com.apple.iokit.IOACPIFamily          1.2.0
    com.apple.iokit.IOPCIFamily          2.6

    So I found a post on a random forum that offered a fix that I have tried and it worked. Background: I had a cracked LCD screen on a A1237, and I replaced a new screen and a battery. I started getting kernel panics when the brightness went to the highest level. Anyways, what you do is you need to get this file from a apple os x 10.5:
    /System/Library/Extensions/AppleIntelGMAX3100FB.kext
    then:
    Install the .kext file you just grabbed by dragging it into Kext Utility (which can be downloaded here: http://cvad-mac.narod.ru/index/0-4)
    then:
    Shut down the machine. Reset SMC and PRAM (SMC: http://support.apple.com/kb/ht3964, PRAM:http://support.apple.com/kb/ht1379)
    and the problem is fixed. If you google a bit, you can find an os x 10.5.2 AppleIntelGMAX3100FB.kext file at to use.
    The original fix I found was posted here:
    http://forums.macrumors.com/showthread.php?t=880800
    Edit:
    Just to clarify, my mac book air is running snow leopard 10.6.8, and I inserted the file from a 10.5.2. The fix completely eliminated the problem, now I can turn the brightness to max without the kernel panic.

  • Burst output at maximum duty cycle

    Hi,
           I have been working on a C program that was used in a welding machine. Now, I would like to change a part of code to make the burst output at full duty cycle and user maximum time. I just want to test any method in labVIEW before implementing it in C. I am quiet good in understanding labVIEW code and therefore using it to figure it out somehow.
          The details of the machine are 400Hz, 2-4 KAmps and the AC mains are at 50Hz. What exactly I want is to produce a burst current according to the user input current and mind it that duty cycle is always at maximum. So, I don't care about duty cycle settings. I have no idea to find a way. Can any one have suggestions for me?
    Help me.

    I have done some search around and come to a conclusion. I would like to give three settings to user and those are current, set time and duty cycle. The duty cycle should not be changed ever and it should be at maximum i.e.. 50% all the time of a periodic pulse train. User can change the current value and set time according to his interest but duty cycle not. If the set time is passed and the rest of duty cycle should blanked automatically in order to stop the current and it should follow the same rhythm for every set time and current value. The frequency is 400Hz and AC mains are at 50Hz.
    Can any have some suggestions to me?    

  • How to generate a pwm whose duty cycle has to be varied depending on the frequency of the input trigger??

    Sir/madam,
    I am quite new to the Labview FPGA module. 
    I am currently working on an application where i have to generate a pwm to control the ON time duration . The pwm ON time depends on the frequency of an input signal.I want to retrieve the ON time value from a lookup table which contain the duty cycle values for the pwm at different frequencies of the input.This input also has to work as a trigger. The input is pulsed and the trigger has to generate the pwm at every rising edge. I am using a PCI 7831R-  RIO series. I am urgently in need of some help and i have hardly a  couple of weeks before i meet the deadline.
    I am trying hard to learn the basics from the shipping examples but not able to quite make my vi work. 
    Kindly lend a helping hand and i would be very grateful to anybody who can help. Thanks a lot in advance.
    Do ask in case of any clarifications required. I  think i have explained my problem quite well. 

    Hello Manu,
    You can refer 
    Developing a PWM Interface using LabVIEW FPGA or PWM Output with LabVIEW FPGA
    How this helps.
    Best Regards, 
    Hardik Asawa
    AE
    National Instruments  
    Message Edited by Hardik Asawa on 05-05-2010 12:46 AM

  • Using labview cosimulation, how to control PWM duty cycle in multisim

    I am new to using Multisim with LabVIEW using cosimulation. I want to ask if there is a PWM component in Multisim that can have its duty cycle be controlled using LabVIEW? I have an algorithm in LabVIEW that outputs duty cycle values from 0 to 1, representing duty cycle percentages.
    How do I control the PWM duty cycle in Multisim using LabVIEW cosimulation?
    Many thanks,
    SPECTRE
    Solved!
    Go to Solution.

    Hi Spectre,
    In Multisim, search for the parts base on functionality, there are some PWM models in the database.  Have a look at this knowledge base  if you don't know how to search for parts:
    http://digital.ni.com/public.nsf/allkb/7309A5CABC677296862577ED006EC99E
    Aslo, have a look at this knowledgebase:
    http://digital.ni.com/public.nsf/allkb/EF391C48CF71AE4F862571B900644F84
    This article shows how you can get Mutlisim and LabVIEW to co-simiualte:
    http://www.ni.com/white-paper/13663/en
    I hope this helps
    Tien P.
    National Instruments

  • How to convert a number to duty cycle (FPGA)

    Hi
    I want to convert a numerical number to a duty cycle value in FPGA module so I could use it to generate a PWM signal for the numerical value.
    I tried dividing it but it shows an error in FPGA as it would produce a float value. I tried even the example of scaled division but the quotient is rounded of to 0 (I wanted to convert an output by multiplying 10/36).
    In my project the 100% duty cycle is 360 degrees and 0% is 0 degrees of the motor shaft rotation.
    Please help me I need to use it for my project.
    Thank you
    Dinesh

      I am not exactly sure how your duty cycle is setup, but here is a way we have used a number to create a PWM in our FPGA.
         If you have 360 deg. then I would guess you want to create a PWM duty cycle that is some fraction of 360, say "number"/360.  You could use a for loop where 360 is wired to the "N" and then your "number" can be compared to the current loop count.  That comparison would be true/false which could triger a DIO to be high or low.  Therefor, if   (loop count) < "number"  then DIO is HIGH,  if (loop count) >= "number then DIO is LOW.   This would send out a PWM that has a duty cycle of "number"/360, (multiply by 100 to get in %)  
         I hope this helps.
     --Alex--

  • Calculate Square wave Duty Cycle

    Hello everyone,
    I'm acquiring (with USB-6212) a square wave, "100Hz" with variable duty cycle - which can be 20%, 50% or 80% - for matters of decodification; the acquisition frequency is set to 4k. Actually, I said the frequency is 100Hz, because I get a rising edge every 10ms, but the length of the high level is defined by the communication protocol and that is what I called duty cycle (even though this does not match the exact definition of this property)
    Since I need to decode the information contained by the wave, it's necessary for me to be able to tell what the duty cycle is. I've acomplished this so far by taking the derivative of the signal, then calculating peaks and valleys index in the waveform and finally subtracting them, as shown below.
    It works ok almost the whole opeartion, however, the acquisition is not 100% exact. Sometimes I get the signal in the picture A, that is ideal for what I intended.
    Other times, the signal is like B and the derivative amplitude does not cross my threshold, even though there is a rising edge there. I could lower my threshold to 2, for instance, but then I'd get vulnerable to the signal in picture C, which would accuse 2 peaks, instead of just one.
    Anyone have an idea on how to work around this or any other method more reliable than taking the derivative of the signal?
    Solved!
    Go to Solution.

    Well, we can only answer question based on the information supplied!  The LabVIEW Mind Reading Toolkit is still in development.
    Your application is one where parallel loops may be valuable.  In the acquisition loop you read data from the data acquistion device at a rate which optimizes the DAQ perfomance (the >= 2k points you mentioned).  The data is transferred to an analysis loop via a queue. In the anaylsis loop you can put the data into a shift register.  When more data is available from the Acquisition loop, dequeue it and append it to the data in the shift register.  The Duty Cycle section will find two consecutive rising edges and the falling edge between them ( the 10 ms segment).  It calculates the duty cycle for that segment. Then it uses the second of the rising edges as the first rising edge for the next segment.  Repeat until duty cycles have been determined for all segments.
    There are a lot of details which can be imprortant in a process like this. Many of them are dependent on other things you have not specified.  What will be done with the duty cycle values? Is the raw data to be displayed? Saved to file? Discarded after the duty cycle is measured?  How long will the process continue?  How much data can accumulate?
    Lynn

  • Regarding Can we store User Selected values in prompts

    Please help us in achieving the below requirement.
    Requirement is to store User Selected values in prompts when the report is opened by a User for the first time and make use of those values to refresh the report next time onwards.
    1.Can this be achieved in WebI ?
    2.If it is thru SDK(we use Java), any experience/help in doing this ?
    Environment : BO XI 3.1 with SAP BW Integration

    Hi ,
    If you dont want data to be displayed in this report for this two values , then exclude this two values when you restrcit your characteristic to the variable.
    If you want not to display this values when user opens help for entering the values where he can see all the possible values for selection for the variable, then it wont be possible.
    Hope this will help.
    - Jaimin

  • I want to store the data form the PWM and the value of the changing duty cycle into a file simultaneously and continually

    i want to store the data form the PWM and the value of the changing duty cycle into a file simultaneously and continually but having problem.Please can anyone help out.
    Attachments:
    data.vi ‏60 KB

    Hello,
    Have you looked at the "Write Binary File.vi" and "Read Binary File.vi" examples?
    They give you a good clue as how to write and read arrays to and from binary files.
    For your data it means that you could put the two data items to write in an array and write the array to file, for the read its important to in what sequence the number were written to file.
    Kind regards,
    André
    Regards,
    André
    Using whatever version of LV the customer requires. (LV5.1-LV2012) (www.carya.nl)

  • TO change the Duty Cycle(DAQmxSetCOPulseDutyCyc)

    I have an application that uses Pulse Width Modulation (PWM) to control the speed of a motor. Thus, it requires that I change the duty cycle of my square wave. My continuous pulse is being generated on the output of my counter. When I use the function "DAQmxSetCOPulseDutyCyc" to update the duty cycle when the task is run, the changes aren't reflected. What is the problem? thanks in advances!
    cinzia

    Masa-
    Kevin is correct. Unfortunately, there is little we can do to change this behavior in DAQmx. There are only two options:
    1) change which property updates the pulse train value, which would leave you with the same issue you are currently having if you have a situation where the frequency needs to change but not the duty cycle, or
    2) add a third property that would be a "switch" command. This option would add more work for users, as a third property would have to be called.
    One other thing you might trying using instead of the properties (assuming you are using DAQmx 7.2 or later) is the DAQmxWriteCtrFreqScalar() method. This write method added in DAQmx 7.2 allows you to update the frequency on-the-fly without having to use the properties.
    I
    hope this helps!
    gus....

  • Duty Cycle measurement

    Hello all,
    I am attempting to Measure and output duty cycle to a device. I don't have the device in my possession so I have my hardware hooked up to each other. I have NI 9472 output card hooked to a NI 9423 input card. I have found these 2 examples of how to adjust duty cycle and how to read duty cycle. They work great, but the reading of the duty cycle is oppesite of the outputing of the duty cycle. For example if I set my output duty cycle to 60% the reading is 40%. If I set my duty cycle to 30% it reads that it is 70%. I looked thru the block diagram to see if the input was looking for the resting signal to be low or hi. Being a new user it might be right in front of me. Can some one take a peak at them and tell me anything? Thank you.
    Attachments:
    Modify Duty Cycle while running.vi ‏31 KB
    Meas%20Duty%20Cycle%20Cont%20LabVIEW%208.2[1].vi ‏31 KB

    Hey greentea2,
    You can try taking your waveform data and adding a replica of itself to the end of the data using the Append Waveform VI, so that you have multiple cycles of data to send into the Timing and Transition Measurements Express VI or the Transition Measurements VI for calculating the rise time.  I've attached a picture that shows a simple example of this using a sine wave.
    If your data does not complete a full cycle that comes back to a similar starting low point, then this example may not work for you or give you the right value.  If that is the case, then please respond with a picture of what your waveform looks like, so we can determine how to manipulate it.
    Hope this helps,
    Attachments:
    Append Replica Wave Form Data.png ‏28 KB

  • How can I vary a PWM´s duty cycle inside a while loop?

    Hi,
    I'm using the "Generate Pulse Train.vi" to generate pwm signals in counters 0 and 1 in order to drive a DC motor both ways.
    The problem is, I need to control the movement of the dc motor with my PI controller which is inside a while loop. I've tried letting the "generate pulse train.vi" outside the while loop, but the problem is, it only changes the value of the duty cycle when the loop is stopped. I also tried putting it inside the loop, but then it doesn't even work.
    So, how can I vary a PWM´s duty cycle inside a while loop?
    I'm attaching the VI with the PI controller.
    Thanks for your help!
    Guilherme
    Attachments:
    controleValvula.vi ‏332 KB

    Here's some code I threw together a while back to change a duty cycle on the fly. It generates a fixed 5KHz or 25KHz frequency depending on laser selection, then allows duty cycle to be changed continously. Maybe you can use the premise of it for your application.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~
    "It’s the questions that drive us.”
    ~~~~~~~~~~~~~~~~~~~~~~~~~~
    Attachments:
    Pulse_Width_Modulator.llb ‏197 KB

  • How can I measure a 0% or 100% duty cycle signal ?

    I want to measure the duty cycle of an input signal using a counter of a 6030-E board.
    I work with a PXI Rack under Labwindows/CVI.
    My program already works properly for duty cycle between 1% and 99%, but it is not able to detect 0% duty cycle (ie : signal to ground), nor 100% duty cycle (ie : signal to power supply).
    The problem is I don't understand how the counter works in such a situation (it cannot detect any edge, as long as the signal is continuous 0V or continuous 12V).
    Please have a look on the following code :
    1- First, the counter is configured
    // Reset Compteur
    i_Status = GPCTR_Control(iDevice, iCptID, ND_RESET);
    //Definition du type de mesure du compteur (mesure temps impulsion)
    i_Status = GPCTR_Set_Application (iDevice, iCptID, ND_SIMPLE_PULSE_WIDTH_MSR);
    //Definition de la vitesse d'echantillonage (20 Mhz)
    i_Status = GPCTR_Change_Parameter(iDevice, iCptID, ND_SOURCE, ND_INTERNAL_20_MHZ);
    //Definition du signal a mesurer (defaut)
    i_Status = GPCTR_Change_Parameter (iDevice, iCptID, ND_GATE, ND_DEFAULT_PFI_LINE);
    // initialisation du compteur
    i_Status = GPCTR_Change_Parameter(iDevice, iCptID, ND_INITIAL_COUNT, 0);
    // Preparation du compteur avant de l'armer
    i_Status = GPCTR_Control (iDevice, iCptID, ND_PREPARE);
    2- Then, every 10 ms, the value of the counter is read, so that I can calculate the duty cycle...
    i_Status = GPCTR_Watch(iDevice, iCptID, ND_COUNT, ul_val_cpt);
    3- ...and the counter is armed again for the next reading
    i_Status = GPCTR_Control(iDevice, iCptID, ND_ARM);
    When duty cycle changes from x% to 0% or 100%, the counter always keep the value corresponding to x%.
    Even if I reset the counter between each measurement, it keeps this value ! I don't understand how it is possible.
    How can I know that the counter didn't see any edge, and so that duty cycle is 0% or 100% ?
    Thank you in advance for your help !
    FraB

    Hi,
    Just have a look at this link, it can be interesting for you...
    http://forums.ni.com/ni/board/message?board.id=40&message.id=2161&requireLogin=False
    Regards
    DD

  • Grouping of data based on user prompt having a list of dimensions

    Hi All,
    I have a requirement to be able to group data in OBIEE request or Dashboard based on user prompt selection.
    The prompt should list the Dimensions Available
    e.g.
    Dimensions: Product, Region, Employee
    Fact: Sales
    The report is to display sales total for the quarters of the current year.
    The user prompt should list the available dimensions (In this case - Location, Employee and Product).
    If I choose Product, the data is to be grouped by Products - Layout having a simple tabular grouping with Product names as Group headings.
    Similarly any other choice of Dimension from the prompt should group the data by that dimension and have the dimension values used in the group headings.
    How could we implement this? I understand this type of requirement (ability to choose dimension) is met in some OLAP reporting tools.
    I have used multiple views and the View Selector for similar requirements previously, but looking for a dynamic solution here.
    Any pointers or solution will be great.
    Thanks,
    Kiran
    Edited by: Kiran Kudumbur on Sep 8, 2009 5:43 PM
    Edited by: Kiran Kudumbur on Sep 9, 2009 12:42 PM
    Edited by: Kiran Kudumbur on Sep 10, 2009 2:26 PM

    Hi All,
    I used column view to address this requirement.
    Thanks,
    Kiran

Maybe you are looking for