Using a Counter(PC-TIO-10) to Perform Quadrature Encoder Buffered Position Measurement in Visual C++

I have Driver Ni-Daq 6.9 and Using a Counter to Perform Quadrature Encoder Buffered Position Measurement in Visual C++ 6.0
(I think Ni-Daq not support PC-TIO-10 because card not support pulg&play, you can hint me driver for support this card. ) and i want example program for read counter. i use Visual C++ for run,i don't use Measurement Studio.

NI-DAQ 6.9 supports the PC-TIO-10.
I attached an example that will show you how to do it in CVI (ANSI C).
Attachments:
Cviencod.zip ‏19 KB

Similar Messages

  • Can I use the 'Export Signal Property Node' on a quadrature encoder?

    Hi,
    So I don't know which counter board I'd be using yet for this (it's used in conjunction with a PCI-6280--the PCI-6280's counter inputs are all taken and so I need another board), but assuming this is possible at all in DAQmx I wouldn't mind knowing whether, say, the PCI-6601 (or any other timer board for that matter) could do this. I'm programming this in LabVIEW 2010 by the way. 
    I want to have a counter which counts the number of pulses on one channel (I'll call this the 'clock' channel) between when another channel goes from low to high (which I'll call the trigger). It's basically a pulse width measurement, but I only care if there are more than n clock pulses between triggers. I need to have a hardware-timed digital signal which goes from low to high if there are ever more than n pulses between trigger changing state from low to high. 
    What I am planning to do is this: 
    Wire 'trigger' to the z-input of the quadrature encoder, and set the z-input value to some arbitrary large value such that, at the quadrature encoder counter task's settings, the counter reaches terminal count in n pulses.
    Configure the quadrature encoder counter using DAQmx Export Signal Property Node (tutorial I was looking at is here: http://zone.ni.com/devzone/cda/tut/p/id/5387 ) to toggle a digital channel ('counter event output') from low to high if the counter reaches terminal count (ie, if the encoder reads n pulses).
    If the encoder ever reads n pulses on 'clock' between two rising pulses on 'trigger', it sets counter event output high.
    Is this possible? Reading through the manual of M series PCI-62xx devices, the index pulse loads the counter with a particular value so it seems like you could conceivably set the counter to the terminal count if you wanted. My only real problem is whether DAQmx Export Signal Property Node works on all counter tasks or just on edge counting tasks. 
    Thanks in advance for your help. If this isn't possible, I can reply with more details on the problem this is supposed to solve so that you can help me figure out an alternate method.
    Solved!
    Go to Solution.

    There is probably a way to do it, but it it may be easier to use an X-series board for the job.   They support a new counter capability for count reset on a digital edge without needing to be configured in encoder position mode.  I am not sure exactly how that feature's been implemented however, so maybe it won't make things easier after all.
    The plan based on the hoped-for behavior: 
    1. Configure an X-series counter for pulse generation based on "ticks" of your clock channel.
    2. Set both initial delay and low time to the critical # of ticks.
    3. Configure for count reset on a digital edge (if possible in pulse generation mode)
    4. Configure the count reset value to be the critical # (or possibly 1 less, if possible in pulse generation mode)
    5. If you want the output to remain high indefinitely, configure the counter task to use its own output as a
    pause trigger, and pause while high.
    The way pulse generation works is to preload a # of "low time" ticks into the count register.  Then every source edge will decrement the count.  When the count reaches terminal count (0), the counter's output is toggled (or can be configured to pulse).  The register is then loaded with the # of "high time" ticks and the process continues.
    You would be perpetually interrupting the count-down process as long as you got your triggers in time.  The count would keep getting reset to the # of low counts, keep decrementing toward 0 without reaching it, and so on.  If ever you did reach 0, the output state would toggle high, then the high state would prevent subsequent clock signals from decrementing the count.
    You can conceivably do a similar thing with a 6601, but I'm pretty sure you'd need 2 counters working together to get it working.
    -Kevin P

  • FPGA programming for motor control using free downloadable IP cores for PWM and Quadrature encoder interfacing

    Hi,
    I have a cRIO-9014 with a NI9505 DC brushed servo drive module, and I would like to program the FPGA for PWM and Quadrature encoder interfacing using the intellectual property IP functions mentioned in the "CompactRIO Motor Control Basics Tutorial":
    Quadrature Encoder dX Method (FPGA, Use in SCTL).vi
    Pulse Width Modulation (FPGA, Use in SCTL).vi
    I made a search at ni.com/ipnet but I couldn't find them.
    Where can I find free downloadable IP cores for PWM and encoder blocks to include them in my FPGA interface program?
    Thanking you in advance,
    Manuel
    Solved!
    Go to Solution.

    Found by myself (google search!) at:
    https://lumen.ni.com/nicif/us/codepowelecguide/content.xhtml

  • Need to use quadrature encoder to trigger (RTSI) single point DAQ on 2 channels of E-Series DAQ, using 6602 NI-TIO for counting encoder pulses.

    This is for LV6i, W2000, all PCI equipment.
    Using a quadrature-measure position-VI, I get 7200 edges/rev from the encoder of my physical system. This equates to 0.05 degrees of angular displacement. This amounts to an angle stamp as opposed to a time stamp.
    I need each of these 7200 edges (source: 6602 NI-TIO) to trigger (using RTSI) the acquisition of a single sample from each of 2 channels on an E-Series DAQ board (maybe more channels later). I only need/want one rev (7200 samples per channel) of data for each run of the test. As I write this I think I want pre-triggering and a little more than a rev of data. So the
    re is a buffering step. Anyway, you can get the idea.
    I need this angle stamp and the DAQ samples to be placed in an array and on the hard drive for graphing and other mathematical treatment, analysis, etc.
    I think there must be a way to use the quadrature output of the counter/timer as a scan clock for the DAQ board, but I haven't seen an example to guide me.
    It seems like all of the RTSI or other triggering examples I have seen trigger once to start a continuous scan, not a series of discrete samples repeated quickly. I am not sure how to fill an array with this data. Again, examples are for continuous sampling, not a series of discrete readings.
    Any hints on any part of this task will greatly appreciated. This is my first LV project.

    Sounds like a fairly ambitious first project!
    I assume your 7200 edges/rev come from an encoder with 2 channels in quadrature which each provide 1800 cycles/rev. You can clock in analog data at 1800 scans/rev with either of the two encoder channels, but will probably need an external quadrature decoder circuit to produce 7200 scans/rev. Either method can be done with screwdriver and wire or else by using another counter from the 6602 and the RTSI bus. Here are two approaches in detail, but you could mix-and-match as needed.
    Note also that if you can be sure that your reference encoder will be uni-directional, you wouldn't need to measure position -- position could be determined by the array index of the analog scan data. This would simplify things greatly.
    1800 scans/rev, screwdriver & wire
    Wire both encoder channels to your 6602 breakout box and configure your counter for the 4x quadrature option. Send a wire from one of the encoder channel connections at your 6602 breakout box to a PFI pin at your E-series board breakout box. Config the analog acquisition to use an external scan clock and specify the correct PFI pin -- there are built-in examples that will guide you. Now one edge of one encoder channel acts as a scan clock for your analog acquisition. Inside the 6602 breakout box, route the same signal to one of the default gate pins and configure your encoder counter gate to use that pin as its gate signal. Note that there will be a race condition governing whether the encoder value updates from the encoder inputs before or after the value is latched by the gate.
    7200 scans/rev, extra counter & RTSI
    Make sure you have a RTSI connector between your two acquisition boards inside your PC. Build a quadrature decoder circuit that will convert your two encoder channels into a clock and direction output. (Consider the LSI 7084 decoder chip or similar). Setup your "encoder" counter for buffered position measurement. Use "Counter Set Attribute" to define "up down" as "digital" (don't use it to define "encoder type"). The clock output goes to the counter SOURCE and the direction output goes to the counter UP_DOWN pin.
    Use "Adjacent Counters.vi" to identify the counter considered adjacent to your encoder counter. Configure it for "retriggerable pulse generation". Use "Counter Gate (NI-TIO).vi" to specify "other counter source" as the gating signal. Configure the output pulse specs to be short duration (make sure total of delay + pulse width is less than the minimum period of the incoming encoder clock signals). Use "Route Signal.vi" to send this counter's output onto the RTSI bus, say RTSI 0.
    Now configure the analog acq. to use RTSI 0 as its external scan clock. Also configure the encoder counter to use RTSI 0 as its gate signal. Voila! Now your quadrature decoder clock output acts as a scan clock for analog acquisition and a "gate" to buffer your encoder measurement. The short delay helps ensure that the clock updates the position measurement before the gate fires to latch the value.
    Respond if you need clearer explanation. There's a fair amount of decent info "out there" if you scour the online help and this website. Good luck!

  • Generate a pulse train using a count from a quadrature encoder as the clock

    I am trying to generate a pulse train with the same frequency as my quadrature encoder.  Every time the encoder counts, I want the pulse to go high until the next count and then go low and so on.  I am using a 6602 PCI card and a BNC 2121 accessory.

    Maybe I'm not understanding your app, but I *think* you and I are approaching it from two very different directions.
    As I understand it, you'd like to emit a pulse with each quad state change.  Then that pulse would act as a counter Source signal.  The counter will then increment on each pulse, to keep track of accumulated position.  Further, you'd use your device-under-test (DUT) as a counter Gate signal, which would buffer the position count each time there's a rising edge on your DUT.  The end result is a buffer of position values, captured at each rising edge of your DUT.
    I'm talking about a different approach to produce the same data.  You'd use 2 tasks on a M-series board.  One of them is a hardware-timed digital input task based on "change detection."  Each time one of the specified bits has a transition, your whole set of digital input bits can be captured and an internal "change detect pulse" is generated on the board.  This task should be sensitive to the DUT edges.
    The other task would be a buffered position measurement.  It would receive the reference encoder inputs and internally do quad decode and keep a running count.  The sampling clock for this task would be specified as the other task's "change detect pulse."
    Net result: on each specified edge of your DUT, you'll buffer a reference encoder position value and a digital state of your DUT.  You can choose to be sensitive to rising edges, falling edges, or (!!!!) both at once. You can also choose to be sensitive to many bits simultaneously.  These are better capabilities than you get with the 6602 alone.
    I *think* the 6220 should be ok, based on a quick overview of specs.  I assume your 3.6 MHz is the rate of ref encoder quad state changes, right?  In the approach I'm suggesting, you only need concern yourself with the rate of DUT edges which appear to be in the 10's of kHz or less.
    Gotta go for now.  Post back if any further questions.
    -Kevin P.

  • Does Stop task reset a quadrature encoder counter?

    I am using an M-Series PCI-6280 board, with one of its onboard counters wired as a quadrature encoder.
    1)I start the counter task, take a set of measurements with the counter, and then stop the task.
    2) The encoder which the encoder counter is monitoring continues to output quadrature encoder signals into the PCI board's counter.
    3) I start the task again, and perform another set of measurements.
    Which of the following occurs?
    Upon starting the task again, the counter's previous value was wiped and the measurements taken in (3) start at 0 counts. 
    The counter keeps the value it had before it was stopped and subsequently started, and the measurements in (3) cumulate on top of the measurements taken in (1). 
    The counter keeps the value it had before it was stopped, continues to increment/decrement position in (2) even after the task is stopped, and when the task is started in (3) the counter value is cumulative with the quadrature encoder pulses in (1) and (2). 
    Thanks in advance for the help. 
    Solved!
    Go to Solution.

    Hello acmap,
    In this case The behavior will be the following:
    Upon starting the task again, the counter's previous value was wiped and the measurements taken in (3) start at 0 counts.
    However, you can specify the initial count value of the counter on the Initial Count terminal of the DAQmx Start Task VI, so it doesn't have to start at zero, and you can implement the behavior described in your second option.
    Daniel

  • Peut-on faire du Buffered Event Counting sur carte 6601 avec signaux quadrature?

    L'entrée GATE est utilisée pour index/z et le signal de transfert buffer !

    Hello,
    When you perform Buffered Position Measurement, I/O connections are as described below:
    * Connect the encoder A signal to the source pin of the selected counter (SOURCE)
    * Connect the encoder B signal to the aux line pin of the selected counter (UP/DOWN)
    * If you are using Z indexing, then connect the encoder Z signal to the gate pin of the selected counter (GATE)
    * Connect the data latching signal to the selected gate input of the counter (PFI or RTSI)
    There is a difference between the selected gate of the counter and the gate pin of the counter.
    The gate pin is a specific hardwired pin of the counter.
    The selected gate of the counter is selected using Counter Set Attribute.vi.
    You can use the "Measure Buffered Position (NI-TI
    O).vi" in the Example Finder of LabVIEW to perform a test with Z-indexing from a quadrature encoder.
    I hope this will help.
    Regards.
    Matthieu Gourssies
    National Instruments.

  • The 3d features require 'use graphics processor' is enabled in the performance preferences.  Your video card must meet the minimum requirements and you may need to check that your driver is working correctly

    the 3d features require 'use graphics processor' is enabled in the performance preferences.  Your video card must meet the minimum requirements and you may need to check that your driver is working correctly
    Hello I'm also getting this error.. can anybody help me out? Here's my log.
    Adobe Photoshop Version: 2014.0.0 20140508.r.58 2014/05/08:23:59:59  x64
    Operating System: Windows 7 64-bit
    Version: 6.1 Service Pack 1
    System architecture: Intel CPU Family:6, Model:5, Stepping:5 with MMX, SSE Integer, SSE FP, SSE2, SSE3
    Physical processor count: 2
    Processor speed: 2128 MHz
    Built-in memory: 2934 MB
    Free memory: 231 MB
    Memory available to Photoshop: 2354 MB
    Memory used by Photoshop: 70 %
    3D Multitone Printing: Disabled.
    Touch Gestures: Disabled.
    Windows 2x UI: Disabled.
    Image tile size: 1024K
    Image cache levels: 4
    Font Preview: Medium
    TextComposer: Latin
    Display: 1
    Display Bounds: top=0, left=0, bottom=768, right=1366
    OpenGL Drawing: Enabled.
    OpenGL Allow Old GPUs: Not Detected.
    OpenGL Drawing Mode: Advanced
    OpenGL Allow Normal Mode: True.
    OpenGL Allow Advanced Mode: True.
    AIFCoreInitialized=1
    AIFOGLInitialized=1
    OGLContextCreated=1
    glgpu[0].GLVersion="2.1"
    glgpu[0].GLMemoryMB=1242
    glgpu[0].GLName="Intel(R) HD Graphics"
    glgpu[0].GLVendor="Intel"
    glgpu[0].GLVendorID=32902
    glgpu[0].GLDriverVersion="8.15.10.2993"
    glgpu[0].GLRectTextureSize=8192
    glgpu[0].GLRenderer="Intel(R) HD Graphics"
    glgpu[0].GLRendererID=70
    glgpu[0].HasGLNPOTSupport=1
    glgpu[0].GLDriver="igdumd64.dll,igd10umd64.dll,igdumdx32,igd10umd32"
    glgpu[0].GLDriverDate="20130130000000.000000-000"
    glgpu[0].CanCompileProgramGLSL=1
    glgpu[0].GLFrameBufferOK=1
    glgpu[0].glGetString[GL_SHADING_LANGUAGE_VERSION]="1.20  - Intel Build 8.15.10.2993"
    glgpu[0].glGetProgramivARB[GL_FRAGMENT_PROGRAM_ARB][GL_MAX_PROGRAM_INSTRUCTIONS_ARB]=[1447 ]
    glgpu[0].glGetIntegerv[GL_MAX_TEXTURE_UNITS]=[8]
    glgpu[0].glGetIntegerv[GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS]=[16]
    glgpu[0].glGetIntegerv[GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS]=[16]
    glgpu[0].glGetIntegerv[GL_MAX_TEXTURE_IMAGE_UNITS]=[16]
    glgpu[0].glGetIntegerv[GL_MAX_DRAW_BUFFERS]=[8]
    glgpu[0].glGetIntegerv[GL_MAX_VERTEX_UNIFORM_COMPONENTS]=[512]
    glgpu[0].glGetIntegerv[GL_MAX_FRAGMENT_UNIFORM_COMPONENTS]=[1024]
    glgpu[0].glGetIntegerv[GL_MAX_VARYING_FLOATS]=[41]
    glgpu[0].glGetIntegerv[GL_MAX_VERTEX_ATTRIBS]=[16]
    glgpu[0].extension[AIF::OGL::GL_ARB_VERTEX_PROGRAM]=1
    glgpu[0].extension[AIF::OGL::GL_ARB_FRAGMENT_PROGRAM]=1
    glgpu[0].extension[AIF::OGL::GL_ARB_VERTEX_SHADER]=1
    glgpu[0].extension[AIF::OGL::GL_ARB_FRAGMENT_SHADER]=1
    glgpu[0].extension[AIF::OGL::GL_EXT_FRAMEBUFFER_OBJECT]=1
    glgpu[0].extension[AIF::OGL::GL_ARB_TEXTURE_RECTANGLE]=1
    glgpu[0].extension[AIF::OGL::GL_ARB_TEXTURE_FLOAT]=1
    glgpu[0].extension[AIF::OGL::GL_ARB_OCCLUSION_QUERY]=1
    glgpu[0].extension[AIF::OGL::GL_ARB_VERTEX_BUFFER_OBJECT]=1
    glgpu[0].extension[AIF::OGL::GL_ARB_SHADER_TEXTURE_LOD]=0
    License Type: Tryout Version
    Serial number: Tryout Version
    Application folder: C:\Program Files\Adobe\Adobe Photoshop CC 2014\
    Temporary file path: C:\Users\ANNABE~1\AppData\Local\Temp\
    Photoshop scratch has async I/O enabled
    Scratch volume(s):
      C:\, 298.0G, 63.8G free
    Required Plug-ins folder: C:\Program Files\Adobe\Adobe Photoshop CC 2014\Required\Plug-Ins\
    Primary Plug-ins folder: C:\Program Files\Adobe\Adobe Photoshop CC 2014\Plug-ins\
    Installed components:
       A3DLIBS.dll   A3DLIB Dynamic Link Library   9.2.0.112  
       ACE.dll   ACE 2014/04/14-23:42:44   79.554120   79.554120
       adbeape.dll   Adobe APE 2013/02/04-09:52:32   0.1160850   0.1160850
       AdbePM.dll   PatchMatch 2014/04/23-10:46:55   79.554276   79.554276
       AdobeLinguistic.dll   Adobe Linguisitc Library   8.0.0  
       AdobeOwl.dll   Adobe Owl 2014/03/05-14:49:37   5.0.33   79.552883
       AdobePDFL.dll   PDFL 2014/03/04-00:39:42   79.510482   79.510482
       AdobePIP.dll   Adobe Product Improvement Program   7.2.1.3399  
       AdobeXMP.dll   Adobe XMP Core 2014/01/13-19:44:00   79.155772   79.155772
       AdobeXMPFiles.dll   Adobe XMP Files 2014/01/13-19:44:00   79.155772   79.155772
       AdobeXMPScript.dll   Adobe XMP Script 2014/01/13-19:44:00   79.155772   79.155772
       adobe_caps.dll   Adobe CAPS   8,0,0,7  
       AGM.dll   AGM 2014/04/14-23:42:44   79.554120   79.554120
       ahclient.dll    AdobeHelp Dynamic Link Library   1,8,0,31  
       amtlib.dll   AMTLib (64 Bit)   8.0.0.45 BuildVersion: 8.0; BuildDate: Fri Mar 28 2014 20:28:30)   1.000000
       ARE.dll   ARE 2014/04/14-23:42:44   79.554120   79.554120
       AXE8SharedExpat.dll   AXE8SharedExpat 2013/12/20-21:40:29   79.551013   79.551013
       AXEDOMCore.dll   AXEDOMCore 2013/12/20-21:40:29   79.551013   79.551013
       Bib.dll   BIB 2014/04/14-23:42:44   79.554120   79.554120
       BIBUtils.dll   BIBUtils 2014/04/14-23:42:44   79.554120   79.554120
       boost_date_time.dll   photoshopdva   8.0.0  
       boost_signals.dll   photoshopdva   8.0.0  
       boost_system.dll   photoshopdva   8.0.0  
       boost_threads.dll   photoshopdva   8.0.0  
       cg.dll   NVIDIA Cg Runtime   3.0.00007  
       cgGL.dll   NVIDIA Cg Runtime   3.0.00007  
       CIT.dll   Adobe CIT   2.2.6.32411   2.2.6.32411
       CITThreading.dll   Adobe CITThreading   2.2.6.32411   2.2.6.32411
       CoolType.dll   CoolType 2014/04/14-23:42:44   79.554120   79.554120
       dvaaudiodevice.dll   photoshopdva   8.0.0  
       dvacore.dll   photoshopdva   8.0.0  
       dvamarshal.dll   photoshopdva   8.0.0  
       dvamediatypes.dll   photoshopdva   8.0.0  
       dvametadata.dll   photoshopdva   8.0.0  
       dvametadataapi.dll   photoshopdva   8.0.0  
       dvametadataui.dll   photoshopdva   8.0.0  
       dvaplayer.dll   photoshopdva   8.0.0  
       dvatransport.dll   photoshopdva   8.0.0  
       dvaui.dll   photoshopdva   8.0.0  
       dvaunittesting.dll   photoshopdva   8.0.0  
       dynamiclink.dll   photoshopdva   8.0.0  
       ExtendScript.dll   ExtendScript 2014/01/21-23:58:55   79.551519   79.551519
       icucnv40.dll   International Components for Unicode 2013/02/25-15:59:15    Build gtlib_4.0.19090  
       icudt40.dll   International Components for Unicode 2013/02/25-15:59:15    Build gtlib_4.0.19090  
       imslib.dll   IMSLib DLL   7.0.0.145  
       JP2KLib.dll   JP2KLib 2014/03/12-08:53:44   79.252744   79.252744
       libifcoremd.dll   Intel(r) Visual Fortran Compiler   10.0 (Update A)  
       libiomp5md.dll   Intel(R) OpenMP* Runtime Library   5.0  
       libmmd.dll   Intel(r) C Compiler, Intel(r) C++ Compiler, Intel(r) Fortran Compiler   12.0  
       LogSession.dll   LogSession   7.2.1.3399  
       mediacoreif.dll   photoshopdva   8.0.0  
       MPS.dll   MPS 2014/03/25-23:41:34   79.553444   79.553444
       pdfsettings.dll   Adobe PDFSettings   1.04  
       Photoshop.dll   Adobe Photoshop CC 2014   15.0  
       Plugin.dll   Adobe Photoshop CC 2014   15.0  
       PlugPlugExternalObject.dll   Adobe(R) CEP PlugPlugExternalObject Standard Dll (64 bit)   5.0.0  
       PlugPlugOwl.dll   Adobe(R) CSXS PlugPlugOwl Standard Dll (64 bit)   5.0.0.74  
       PSArt.dll   Adobe Photoshop CC 2014   15.0  
       PSViews.dll   Adobe Photoshop CC 2014   15.0  
       SCCore.dll   ScCore 2014/01/21-23:58:55   79.551519   79.551519
       ScriptUIFlex.dll   ScriptUIFlex 2014/01/20-22:42:05   79.550992   79.550992
       svml_dispmd.dll   Intel(r) C Compiler, Intel(r) C++ Compiler, Intel(r) Fortran Compiler   12.0  
       tbb.dll   Intel(R) Threading Building Blocks for Windows   4, 2, 2013, 1114  
       tbbmalloc.dll   Intel(R) Threading Building Blocks for Windows   4, 2, 2013, 1114  
       TfFontMgr.dll   FontMgr   9.3.0.113  
       TfKernel.dll   Kernel   9.3.0.113  
       TFKGEOM.dll   Kernel Geom   9.3.0.113  
       TFUGEOM.dll   Adobe, UGeom©   9.3.0.113  
       updaternotifications.dll   Adobe Updater Notifications Library   7.0.1.102 (BuildVersion: 1.0; BuildDate: BUILDDATETIME)   7.0.1.102
       VulcanControl.dll   Vulcan Application Control Library   5.0.0.82  
       VulcanMessage5.dll   Vulcan Message Library   5.0.0.82  
       WRServices.dll   WRServices Fri Mar 07 2014 15:33:10   Build 0.20204   0.20204
       wu3d.dll   U3D Writer   9.3.0.113  
    Required plug-ins:
       3D Studio 15.0 (2014.0.0 x001)
       Accented Edges 15.0
       Adaptive Wide Angle 15.0
       Angled Strokes 15.0
       Average 15.0 (2014.0.0 x001)
       Bas Relief 15.0
       BMP 15.0
       Camera Raw 8.0
       Camera Raw Filter 8.0
       Chalk & Charcoal 15.0
       Charcoal 15.0
       Chrome 15.0
       Cineon 15.0 (2014.0.0 x001)
       Clouds 15.0 (2014.0.0 x001)
       Collada 15.0 (2014.0.0 x001)
       Color Halftone 15.0
       Colored Pencil 15.0
       CompuServe GIF 15.0
       Conté Crayon 15.0
       Craquelure 15.0
       Crop and Straighten Photos 15.0 (2014.0.0 x001)
       Crop and Straighten Photos Filter 15.0
       Crosshatch 15.0
       Crystallize 15.0
       Cutout 15.0
       Dark Strokes 15.0
       De-Interlace 15.0
       Dicom 15.0
       Difference Clouds 15.0 (2014.0.0 x001)
       Diffuse Glow 15.0
       Displace 15.0
       Dry Brush 15.0
       Eazel Acquire 15.0 (2014.0.0 x001)
       Embed Watermark 4.0
       Entropy 15.0 (2014.0.0 x001)
       Export Color Lookup NO VERSION
       Extrude 15.0
       FastCore Routines 15.0 (2014.0.0 x001)
       Fibers 15.0
       Film Grain 15.0
       Filter Gallery 15.0
       Flash 3D 15.0 (2014.0.0 x001)
       Fresco 15.0
       Glass 15.0
       Glowing Edges 15.0
       Google Earth 4 15.0 (2014.0.0 x001)
       Grain 15.0
       Graphic Pen 15.0
       Halftone Pattern 15.0
       HDRMergeUI 15.0
       IFF Format 15.0
       Ink Outlines 15.0
       JPEG 2000 15.0
       Kurtosis 15.0 (2014.0.0 x001)
       Lens Blur 15.0
       Lens Correction 15.0
       Lens Flare 15.0
       Liquify 15.0
       Matlab Operation 15.0 (2014.0.0 x001)
       Maximum 15.0 (2014.0.0 x001)
       Mean 15.0 (2014.0.0 x001)
       Measurement Core 15.0 (2014.0.0 x001)
       Median 15.0 (2014.0.0 x001)
       Mezzotint 15.0
       Minimum 15.0 (2014.0.0 x001)
       MMXCore Routines 15.0 (2014.0.0 x001)
       Mosaic Tiles 15.0
       Multiprocessor Support 15.0 (2014.0.0 x001)
       Neon Glow 15.0
       Note Paper 15.0
       NTSC Colors 15.0 (2014.0.0 x001)
       Ocean Ripple 15.0
       OpenEXR 15.0
       Paint Daubs 15.0
       Palette Knife 15.0
       Patchwork 15.0
       Paths to Illustrator 15.0
       PCX 15.0 (2014.0.0 x001)
       Photocopy 15.0
       Photoshop 3D Engine 15.0 (2014.0.0 x001)
       Photoshop Touch 14.0
       Picture Package Filter 15.0 (2014.0.0 x001)
       Pinch 15.0
       Pixar 15.0 (2014.0.0 x001)
       Plaster 15.0
       Plastic Wrap 15.0
       PNG 15.0
       Pointillize 15.0
       Polar Coordinates 15.0
       Portable Bit Map 15.0 (2014.0.0 x001)
       Poster Edges 15.0
       Radial Blur 15.0
       Radiance 15.0 (2014.0.0 x001)
       Range 15.0 (2014.0.0 x001)
       Read Watermark 4.0
       Render Color Lookup Grid NO VERSION
       Reticulation 15.0
       Ripple 15.0
       Rough Pastels 15.0
       Save for Web 15.0
       ScriptingSupport 15.0
       Shake Reduction 15.0
       Shear 15.0
       Skewness 15.0 (2014.0.0 x001)
       Smart Blur 15.0
       Smudge Stick 15.0
       Solarize 15.0 (2014.0.0 x001)
       Spatter 15.0
       Spherize 15.0
       Sponge 15.0
       Sprayed Strokes 15.0
       Stained Glass 15.0
       Stamp 15.0
       Standard Deviation 15.0 (2014.0.0 x001)
       STL 15.0 (2014.0.0 x001)
       Sumi-e 15.0
       Summation 15.0 (2014.0.0 x001)
       Targa 15.0
       Texturizer 15.0
       Tiles 15.0
       Torn Edges 15.0
       Twirl 15.0
       Underpainting 15.0
       Vanishing Point 15.0
       Variance 15.0 (2014.0.0 x001)
       Water Paper 15.0
       Watercolor 15.0
       Wave 15.0
       Wavefront|OBJ 15.0 (2014.0.0 x001)
       WIA Support 15.0 (2014.0.0 x001)
       Wind 15.0
       Wireless Bitmap 15.0 (2014.0.0 x001)
       ZigZag 15.0
    Optional and third party plug-ins: NONE
    Plug-ins that failed to load: NONE
    Flash:
    Installed TWAIN devices: NONE

    What Intel video card do you have? The only Intel HD graphics cards officially supported by Photoshop CC are:
    Intel HD Graphics P3000
    Intel HD Graphics P4000
    Intel(R) HD Graphics P4600/P4700
    Intel HD Graphics 5000
    Go here to read more about the requirements: Photoshop CC and CC 2014 GPU FAQ

  • Using a counter on PCI-6023E DAQ card

    Hi there,
    I'm about to use a 6023 card to measure a periodic pulse signal. I need to count the number of the pulses. But...I've heard that the counters on my card are unusable in that case. Is that correct? Do I have to chage my card? Or can I do it with 6023E?
    Thanks in advance;
    Radek

    Hi DAC,
    The counter on your 6023E board is the DAQ-STC counter/timer. This counter fully supports counting the number of pulses. Depending on your application development environment, if you search the shipping examples you will find examples that perform this function.
    This is so long as your digital pulses are 0-5 V or TTL compatible.
    Other applications supported by your counter are:
    Simple event counting
    Gated-event counting
    Single-period measurement
    Single pulse-width measurement
    Single pulse generation
    Single triggered pulse generation
    Retriggerable single pulse generation
    Continuous pulse-train generation
    Buffered event counting
    Buffered period measurement
    Buffered semi-period measurement
    Buffered pulse-width measurement
    Fre
    quency measurement
    Buffered frequency measurement
    Finite pulse-train generation
    Quadrature encoders
    Hope that helps. Have a good day.
    Ron
    Application Engineering
    National Instruments

  • How do I use a counter for time measurement with NI-DAQmx and C++?

    Hi,
    I need my C++ program to read time (number of elapsed ticks) using the counter on PCI-6229. I had this written and working for the non-MX driver, and now I need to re-write it for NI-DAQmx.
    Here are the steps that I want to accomplish:
    1. Route the 80MHz timebase to the input of "Dev1/ctr0"
    2. Start the counter and let it count the ticks.
    3. After a while, read the number of ticks from the counter.
    Here is how I am trying to do it now (without success):
               DAQmxCreateTask ( "" , &taskHandle ) ;
               DAQmxCreateCICountEdgesChan ( taskHandle , "Dev1/ctr0" , "" , DAQmx_Val_Rising, 0 , DAQmx_Val_CountUp ) ;
               DAQmxConnectTerms ( "/Dev1/80MHzTimebase" ,  "/Dev1/Ctr0Source" , DAQmx_Val_DoNotInvertPolarity ) ;
               DAQmxStartTask ( taskHandle ) ;
               then DAQmxReadCounterScalarU32 ( taskHandle , 0.25 , &curCount , NULL ) ;
               and DAQmxClearTask ( taskHandle ) ;
    No errors are generated, but I do not see the tick count being incremented when I repeatedly read the counter.
    Advice will be greatly appreciated!!

    Hi Peter,
    Welcome to the forums!   I just want to make sure I understand what you are trying to do.  You would like to count the rising edges of the 80 MHz clock using DAQmx in C++.  In order to route the timebase to the counter, you need to use the signal name (PFI8) instead of the counter (Ctr0Source) for the counter source input.  This name is found in Measurement Automation Explorer (MAX) by right-clicking on the device and choosing “Device Pinouts.”  This will physically put the 80 MHz clock on the PFI8 line, so make sure you reset the device or disconnect the terminals after you are done. 
    That being said, may I ask what you are trying to do by reading the number of elapsed ticks?  If you are trying to monitor a hardware timed pulse, it would be better to count the frequency or period of that pulse.  This would provide better accuracy, because you are not relying on how fast DAQmx Read can poll the hardware.  If you are simply looking for a software based timer, I would recommend taking a look at this MSDN forum post. 
    Using the GetTickCount function instead will free up your counter and provide comparable accuracy to counting the edges of the timebase.
    I hope that helps you out, let me know if you have any further questions about this. Good luck with your project.
    Rod T.

  • First off, i think it's sad that i have to use my non apple device to post this question... Why has my iPad become absolutely useless after updating to iOS 8.1? I am unable to use my mini because it crashes, slow performance, major battery drain.

    First off, i think it's sad that i have to use my non apple device to post this question... Why has my iPad become absolutely useless after updating to iOS 8.1? I am unable to use my mini because it crashes, slow performance, major battery drain.

    Restore iPad to Factory Default; do not restore from backup. It may be the cause of the problem.
    Settings>General>Reset>Erase all content and settings

  • How do I use a counter to measure frequency and multiple analog signals in the same VI?

    I have a PCI-6071E, an SC-2345 with multiple modules, and a PXI-8184 (with a PXI-1002 Chassis).
    My goal is to monitor pressures, flows, temperatures, and speed in one VI.
    I am using Measurement and Automation Explorer version 3.1.1.3004 to manage my channels.
    My speed is a PWM signal which I recently rewired through the counter 0 of my board.
    I was hoping to configure this to read frequency directly in measurment
    and automation, have this scale the value to RPM, and then feed it
    directly in to my labView program.
    In labView, it will not except this signal though.
    I get error -200300 from the DAQmx Start Task.vi
    Possible reasons(s):
    Invalid timing type for this channel.
    Property: SampTimingType
    You Have Requested: Sample Clock
    You Can Select: Implicit, On Demand
    After doing some research, it seems that the counter wants "Implicit"
    selected for the DAQmx Start Task.vi, but then I cannot use my other
    channels. Also, counter is included in the "Sample Clock" option
    description, so I do not understand why it is not working.
    Does anyone know how to work around this problem or a way to configure the counter so that it will work in this way?
    All my other channels are Analog.
    Thank you.

    I am working on getting just the counter working by using
    the program posted previously, and I am running into issues. Periodically I get
    the error:
    Error -200141
    occurred at DAQmx Read (Counter DBL 1Chan 1Samp).vi
    Possible reason(s):
    Data was overwritten
    before it could be read by the system.
    If Data Transfer
    Mechanism is Interrupts, try using DMA. Otherwise, divide the input signal
    before taking the measurement.
    It seems to work better if I use cascaded counters, but I need timer 0 for
    analog channels when I run this code along with the program for the other
    measurements.
    I have tried averaging, and selecting different values for the millisecond
    timer, and these did not seem to have an effect.
    I tried different DAQms configurations and "Counter DBL 1Samp" seemed
    to work the best.
    The program will work for a while and then it will give me the above error
    message.
    If I use counter 0 as a cascaded counter input, the program runs fine. If I run
    this with other analog channels, it errors out because the analog channels use
    counter 0.
    If I use counter 1 as a cascaded counter input, it seems to work better than a
    single channel, but it will still error out with the above error.
    If I use only counter 1, I get the error above even faster.
    Also, none of the
    configurations give measurements outside the While Loop.
    The only place I can add a speed dial for the front panel is within the While
    Loop.
    Is there someway to get the signal to continuously send out of the while loop?
    I thought if I could get the signal out of the while loop, I could condition it
    anyway I wanted without the program erroring out.
    Any suggestions would be much appreciated.
    Thank you.
    Attachments:
    Counter_error.jpg ‏45 KB

  • PCI 6602:How can I use the digital lines of the board and in the same time to generate pulse train using a counter?

    Hello!
    My problem appeared when I tried to update my code from Traditional NI-DAQ Legacy to DAQmx.
    I am using 2 counters (counter 5 and counter 7)  from PCI-6602, to generate pulse train, and also the Digital I/O lines of the port 0 (the lines form 0 to 7). What I do in my application is that I am starting to generate the pulse train on the output of the 2 counters, and after that I am playing with the state of the digital lines.
    In traditional there was no problem using the counters and the digital lines in the same time, everything was going perfectly, but in DAQmx this is not possible.
    What happens: I start to generate pulse train on the output of the counters,  no errors encountered, but when I try to modify the state of one line of the digital port the generation of the pulse train is stopped. This is happening when I start the task associated to the digital port.
    My question is: it is possible to create a channel on the digital lines without altered the channels created for the counters?
    Another thing what I manage to see using the  "Measurement & Automation Explorer" and Test panels for PCI-6602, basically is the same thing, I generate pulse train on the output of the counter 7 and try to start a task on the digital line, but I get one error :
    "Error -200022 occurred at Test Panel
    Possible Reason(s):
    Measurements: Resource requested by this task has already been reserved by a different task.
    Device: Dev4
    Terminal: PFI8"
    Instead if I use the counter 0 or counter 1 to generate pulse train I don't encounter the same problem.
    Which resources are used by the counters 2 to 7 from the PCI-6602 board and the counters 0 and 1 do not use?
    Thank in advance for any replies!
    Ciprian
    Solved!
    Go to Solution.

    Hello Jordan, thank you for your reply.
    I am sorry but I can not see or run your example, I don't use LabView, I use Visual C++ for developing.
    Here is the code for generating the pulse train:
    GeneratePulseTrain(unsigned long ulCount1, unsigned long ulCount2)
        short nStatus = 0;
        nStatus = DAQmxCreateTask("",&m_taskHandle);
        nStatus = DAQmxCreateCOPulseChanTicks (m_taskHandle, "Dev4/count5", "", NULL, DAQmx_Val_Low, 0.0, ulCount1,ulCount2);
        if( bTriggerMode == true) // if hardware trigger is enabled
            nStatus = DAQmxSetTrigAttribute (m_taskHandle, DAQmx_ArmStartTrig_Type, DAQmx_Val_DigEdge);
            nStatus = DAQmxSetTrigAttribute (m_taskHandle, DAQmx_DigEdge_ArmStartTrig_Edge, DAQmx_Val_Rising);
            nStatus = DAQmxSetTrigAttribute (m_taskHandle, DAQmx_DigEdge_ArmStartTrig_Src,"Dev4/PFI17" );
        //set the internal timebase
        nStatus = DAQmxSetCOCtrTimebaseSrc(m_taskHandle,"Dev4/count5","20MHzTimeBase" );
        nStatus = DAQmxStartTask(m_taskHandle);
        return nStatus;
    And the code where I try to set the digital line:
    SetChannelState(short nState)
        short nStatus = 0;
        uInt8 wrtBuf0[1]={0};
        nStatus = DAQmxCreateTask("",&m_taskHandle);
        // Configure line as output 
        nStatus = DAQmxCreateDOChan (m_taskHandle, "Dev4/port0/line0", "", DAQmx_Val_ChanPerLine);
        nStatus = DAQmxStartTask(m_taskHandle);
        wrtBuf0[0] = nState;
        nStatus =DAQmxWriteDigitalLines (m_taskHandle, 1, 0, 0, DAQmx_Val_GroupByScanNumber , wrtBuf0, NULL, NULL);
        nStatus = DAQmxWaitUntilTaskDone(m_taskHandle,10);
        nStatus = DAQmxStopTask(m_taskHandle);
        nStatus = DAQmxClearTask(m_taskHandle);
        m_taskHandle = 0;
        return nStatus;      

  • How do I use the counter and digital signals of the 6071E while it is connected to SCXI modules?

    I am contemplating using a PCI 6071E with SCXI. We have the boards (6071E), we would need the cable (I suppose SH1006868) and the SCXI system. I would like to know how would you access the counter and digital line capabilities of the board. I will be using a SCXI-1314 with a SCXI-1520 Module for strain measurements but will need to use the counter and digital lines of the board as well. Can this be done? If so, how and/or what else do I need?

    I think this KnowledgeBase will answer the question for you.
    Accessing DAQ Board Counter Pins with an SCXI System
    Otis
    Training and Certification
    Product Support Engineer
    National Instruments

  • Using a counter to create a timing delay

    Hi all,
    I am working on an application where I need to send some digital outputs seperated by precise timing delays.
    So for example, I may want to output a 'high' to channel 1, then have a 20ms delays, then output a 'high' to channel 2, then have a 50ms delay, and so on.
    I want the timing delays to be easily adjustable and I would like them to be precise.
    The program is being set up for hundreds of tests and it will be run once per test. In between tests I will have the opportunity to modify timing delays.
    I already have a cDAQ-9174 chassis and am planning to buy a NI 9401 high speed digital I/O card. It has been suggested to me that I use a counter (which is built into the chassis) to generate the timing delays, which sounds like a good idea to me. However, I don't really understand how to access the counters and configure the 'DAQmx create channel' function because there are so many options for the reference clock which I don't understand.
    I am thinking that I need to implement something like this:
    http://zone.ni.com/reference/en-XX/help/370466V-01/mxcncpts/hwtimedcounter/
    However I'm if this is what I need and I'm not sure how I would go about testing this code. I guess I would need to connect some sort of output to the counter to see if it's working correctly.
    Any help would be much appreciated.

    After a bit of experimenting, now I'm not sure if the hardware time delay has any advantage over the software delay. I can get a constant 5ms delay using the 'wait' function, yet when I use the counter I can normally get a 5ms delay, but sometimes (perhaps one trial out of five) I get a 4 or 6ms delay. I have even seen a 1ms delay using the counter method. Perhaps my method for measuring is flawed though? I have attached some screenshots of my program. If anybody has any comments it would be appreciated.

Maybe you are looking for

  • Remote not working for Fios STB

    Remote works for TV, but not for the STB in living room.  I have the same model in a bedroom, and both remote work the STB in the bedroom, but not the STB in the living room Any ideas? . 

  • How can I move the Bookmarks button on the Bookmarks toolbar to the left side, please?

    I have just done a full reset to get rid of various problems and am trying NOT to alter things without a good reason as that is probably how I broke it before... but I really do need my bookmarks button on the left! I cannot discover how to open a cu

  • How to make changes in infose query in SQ01

    Dear experts, I hv question abt infoset query. I m not very familiar with infoset query and now i hv to make some changes in already existing query. I hv found the infoset in use. from this infoset i can find the query. Now the question is I just hv

  • Fonts used in HTML rendered components not displayed

    Hi all, I have a problem using fonts in components with text that is being rendered by the HTML renderer. It's the exact same problem as described in this topic; http://forum.java.sun.com/thread.jspa?forumID=257&threadID=222691 but no solution found.

  • Integrate RSS Feed into WebClient UI

    Hi Gurus, I'm trying to integrate some RSS feeds from external websites into my CRM 2007 start page. At the moment I'm thinking about reading the RSS page, parse it and create an own BSP application to display the RSS news. It there a widget to do th