Using NI-9411 in a timed loop clock less than 40Mhz...

Hi,
I'm using a cRIO for motion control. I have a counter that I modified a little bit (from the softmotion examples) and once compiled (unfortunately after 1 hour ...), I have an error saying that I couldn't acheive the desired timed loop clock of 40.4 MHz... the clock rate able to acheived was 40.16 MHz (really near)...
So I had a derived clock of 38.75MHz but this time, before compiling, i have an error saying that theses inputs can't not work at with this time loop clock...
The timed loop counter for this encoder only have to be more than 8000 Hz (1rev/s with 8000 pulses/revolution)
What can I do?
Thank,
Patrick

I know that a 9411 device can run in a SCTL at 40Mhz.
What I don't understand is that I can't run the loop below than 40Mhz.
I read in the FAQ that some device can not run above 40Mhz, but in my case, I want to run in slower....
Can it be because I'm asking the same device to run 1 SCTL with DI0, DI1, DI2 at 40Mhz and 1 other SCTL with DI3 DI4 DI5 at a different loop rate.. (38.75MHz) ...
Thanks,
Patrick

Similar Messages

  • HELP: PCR using AAU** can not count   absence days that less than a day

    Hi, experts
    I  have  customized a  PCR using AAU**
    But it  can not count  absence days that less than a day which is maintained  in  IT 2001 ,
    such as  unpaid leave. However it can correctly  count  absence days that  last  one  day  or above .
    The issue is so strange for me, so please give me some advice.
    Thanks a lot !
    Morgan  from  Shanghai, China
    2011-6-10

    Morgan
    1 alternative approach is as follows:
    Step 1: Ensure your absence type have already been mapped to an absence valuation rule
    Step 2: In your absence valuation rule, (goto SM30 > V_t554c), assign a new wage type to capture the number of days
                 The wage type in step 2 should be created such that its attributes is to help your capture number of days of your unpaid
                 absence type when it is evaluated by your payroll schema
    Final Step: You should be able to capture half day absences with such a wage type when you run your payroll calculations
    Should you need to utilize such a wage type for subsequent calculation processing in your payroll schema, you may have to develop your own customer payroll calculation rules to do so

  • Used 60 GB for Windows partition (BOOTCAMP) had less than 25GB free after instalation

    Installed windows on bootcamp on my 2012 Retina MacBook Pro (256 SSD). I used 60 GB for Windows partition (BOOTCAMP) had only about 25 GB free after instalation. Why?
    If I look at the size of all the folders inside BOOTCAMP it adds up to 17 GB. Where did almost 20 GB go?
    I'd truly appreciate any help with this.
    Thank you,
    Matej

    Look for two files.  pagefile.sys and hibernation.sys...these are used as swap space and ram sleep image respectively.  You can limit the first as suggested and turn the later off.

  • Timed Loop in Producer/Consumer Loop

    Hello!
    I have a producer/consumer loop LabVIEW program setup to allow me to properly capture images that are quite large (8MP) at approximately 14 frames per second (FPS). The program works great when the consumer loop is a 'while loop' (records at 14fps no problem), but I wanted to make it into a timed loop, so that I may vary the FPS as required. An oddity arises when I do this. Anywhere below 12fps, the loop works fine and the data is recorded properly. However, when I bump it up to 13fps, the consumer calculated FPS goes haywire and starts jumping between ~9 and ~13fps (data processing gets bogged?). When I set the required FPS to 14, the loop executes at a steady 7FPS maximum. Is there something I can do to rectify this situation?
    I have attached my .VI
    Thanks in advance!
    Solved!
    Go to Solution.
    Attachments:
    ProcessSplitJPG-FPS.vi ‏100 KB

    Palanski,
    Are you using LabVIEW Real-Time? Timed loops in a windows OS don't really increase determinism more than a while loop with a wait until next multiple timer. Before you changed the producer consumer loop to include a while loop was the programming running correctly? You may also want to vuse the VI analyizer to see how long things are taking to run. I would leave the producer consumer loop in the traditional set up and change the FPS by controlling the wait timer, after benchmarking your code this should be done the same way as you have it for the timed loop
    Sam S
    Applications Engineer
    National Instruments

  • Questions about parallel and series sturcture in SCTL (single clock timed loop) in FPGA VI

      I am using LV 8.2.
      I have wriiten a FPGA VI, in this VI, there are 3 filters inside the SCTL (single clock timed loop) (I use the shift register to be the effect of unit delay). Would I save the resources of the FPGA used (such as slices and LUT) in the compliation report if I use 3 SCTL ( 1 SCTL contain 1 filter)  and cascade them in series?
      Thank you! 

    Sorry, I am afraid that you have misunderstood my meaning.
    Here is the method you suggested before:
      I mean I use the shift registers attached in the while loop, not in the SCTL. The number of shift registers used will not be decreased when we increase the number of SCTL in the second plate of the flat sequence structure.  Totally , there are 6 pairs shift registers for 3 filters (1 filter needs 2 pairs). I mean I put the calculation parts, such as b0*x[n]+b1*x[n-1]+b2*x[n-2] inside the SCTL ( the operations of multiplication and add). Instead of putting 3 filters numeric operation part in one SCTL. will we reduce the resources used if we use 1 SCTL to do the operation parts of 1 filter? As the code inside each SCTL will be reduced.
      Maybe you tell me if such approach will reduce the reosources used? Or there is no difference?
      Thank you!

  • Using timer/counter with PCI-6221/USB-6210 to control timed-loop VI

    Dear all,
    I need to ask about two devices and one of their functionalities, PCI-6221 and USB-6210. For our NI-based system, we need to control some timings in a Timed-Loop vi, for that currently we are using PCI-6221 and we give external TTL signal (at 1 kHz) to it,
    recenntly we need to make some changes and for that we found USB 6210 DAQ to be more suitable, but we need to clear ourselves on some specific things.
    Can the counter/timers functions available in the either PCI 6221 or USB 6210 can be used to control the Timed-loop VI by giving external clock or by using their own internal clock source?
    Although we are using external clock with the PCI 6221 but we want to know about the usage of their internal clock, also are controlling timed-loop also possible for USB-6210
    Also... What if we use the RTOS, are they still able to control the timed-loop VI  without giving any 'EXTERNAL CLOCK' and using the internal clock sources of the DAQs
    Waiting for reply,
    Bests,
    RaJaf
    Solved!
    Go to Solution.

    Ben,
    I having read previous email which I send earlier with general overview, we discussed in more detail within our team and I am giviing the specific answers.
    Please check in RED the most recent answers. Blue are the questions/suggestions by your side.
    1.    Using Internal hardware clock of PCI-6221 would enable us get rid of external clock, but how to divert the internal hardware clock to the current settings. Any idea  (can you provide us with some reference manul for otherwise). I mean is there some flag-bit etc. or VI
    2.       Is it also meant that with the installation of RTOS the timed-loop can directly get the timing source from the internal hardware clock PCI-6221? --- How???
    3.       In order to make desktop to work as RT system, what is the hardware (motherboard, processor, etc..) requirement? What are the LabVIEW modules (specific name) that needed to be installed? Our platform is LabVIEW 8.6. (Currently we have windows-7 with i7 core processor)
    What kind of application are you intending for this system? ---- high-speed laser scanning system.
    Are you most concerned about accuracy, speed, or responsiveness? To control the laser mirror scanner to move at 1 kHz or 2 kHz speed. On the other hands, using PCI-5105 (128 MB memory) as a DAQ for real-time/on-the-fly data processing.
    Bests,
    RAJAF

  • CRIO rt timed loop w/ external clock trigger???

    I have a feedback control system using a cRIO-9022 and an NI-9401 digital I/O module (among others). I want to use a timed-loop in my RT code to have the execution priority I require. I need to run the timed-loop from an external clock on the NI-9401 input pin. How can this be done?
    Thanks,

    Hi WhyNot,
    Can you elaborate on whether you are using your cRIO's Scan Interface or FPGA Interface to communicate with your 9401?  This will make a large difference on your ability to time Real-Time execution with edges coming into your 9401.  If you are using the FPGA interface, you may either consider implementing timed loops directly on your FPGA (if the code is not too large), or using a FIFO read from your 9401 on your controller to programmatically gate the execution of your loops.  The latter option will not technically be hardware timed but may achieve jitter rates on an order of magnitude of 10s-100s of microseconds depending on your code complexity.  If you are using Scan Mode, you may still programmatically gate loop execution based on 9401 inputs but latency will be significant (several milliseconds).
    Regards,
    Chris E.
    Applications Engineer
    National Instruments
    http://www.ni.com/support

  • Why does a CRIO-9004 only provide a timed loop of 1kHz (clock) and not 1MHz?

    I essentially have a compact CRIO-9004 and require a PID loop with update rates around 4-5 kHz. Additionally, I was hoping to use multiple 'timed loops' in the program in order to synchronize certain events. During this coding, the timed while loop will not work with a 1MHz clock rate and I am stuck with a clock rate of 1kHz instead. NI claims that PID loops in conjunction with the CRIO may have up date rates as high as 200 ksps. However, it appears that by employing the 1kHz clock that I can only obtain 1 ksps.
    What are my options?
    Thanks,
    Shane

    John-
    The 9215 has a conversion time of 4.4us when scanning 1 channel (see page 14 of the 9215 operating manual).  This equates to a little over 227KS/s.  The 100KHz value is if you are reading from all 4 channels.
    Link to operating manual:
    http://digital.ni.com/manuals.nsf/websearch/5F2E96​40C1CFE645862573AF007ABAD9
    Dustin
    Message Edited by Support on 10-16-2009 09:16 AM

  • Using Timed Loops

    I am trying to use a timed loop in my application. The only timing source available is the 1Khz clock on the CPU. I am using a PXI-8176 CPU in a PXI-1045 Chassis. I have found that the timed loop using the 1 kHz clock is not very accurate. When comparing the loop time versus a reference clock it lags by approximately 6 seconds in a 12 hour period.
    Is there a way to use the 10 Mhz reference clock available on the PXI bus?
    I have also tried using the counter on a PXI-6031E card but have not had much success.

    I am trying to configure the timed loop to utilize the counter on a DAQ Card in lieu of the 1Khz clock on the CPU. I have included a vi demonstrating how I plan to implement this strategy.
    I have also found that if a timed loop configured to process missed iterations is stopped and placed in an idle case, it will continue to count iterations based on its period and when made active again will process the missed iterations. Is this normal?
    Attachments:
    DAQmx Config for Timed Loop.vi ‏94 KB

  • I am using a timed while loop and am unable to get the loop to run at a speed of less than 1ms (I am currently using the Wait(ms) function). How can I get a faster response?

    I am trying to create a virtual engine within a timed while loop and am unable to get the loop to run at a speed of less than 1ms (I am currently using the Wait(ms) function). This does not however allow realistic engine speeds. How can I overcome this? I have access to a PCI-MIO-16E-4 board.

    andyt writes:
    > I am using a timed while loop and am unable to get the loop to run at
    > a speed of less than 1ms (I am currently using the Wait(ms) function).
    > How can I get a faster response?
    >
    > I am trying to create a virtual engine within a timed while loop and
    > am unable to get the loop to run at a speed of less than 1ms (I am
    > currently using the Wait(ms) function). This does not however allow
    > realistic engine speeds. How can I overcome this? I have access to
    > a PCI-MIO-16E-4 board.
    Andy,
    Unless you use a real time platform, getting extactly 1 ms loop rate
    (or even less) is impossible. It starts getting troublesome at about
    0.1 Hz for standard operating systems.
    I'd tackle your problem with "if i mod 10 == 0 then sleep 1 ms".
    Of
    course this is jerky by design.
    HTH,
    Johannes Nie?

  • Crash when calling dlll built by LV using timed loop.

    I have built a dll with Labview 7.1. Then I use VC++ 6.0 to call this dll. Everything is fine except that it will crash after the whole program finishes.  Without timed loop the program can exit normally. When built to exe file, it can also run normally. This happens in both Windows2000 and Windows XP.
    Anyone knows the reason for this?
    Thanks!

    Now the timed loop stops correctly everytime both in Labview environment and standalone exe. But when I call the dll version from C. The c program has no response after the program finishes.
    I built another small vi without timed loop to dll and called it. The c program exit normally. What is the problem?
    The period of timed loop is 50ms. Is it too short? I found from other post that maybe I should use while loop instead of timed loop. But i need very accurate controling of time.
    Any suggestions?
    Thanks!

  • LabVIEW RT, Timed loop, finished late, Call by reference

    I have a timed loop triggered by the sample clock of a DAQ-Card. The sample Clock is 8 kHz and the loop will run with dt = 4. Normally the loop is running without finished late[i-1]. But from time to time it happens that the loop is running extremly longer which means instead of 0.5 millisec it needs 4 - 5 millisec. It seems this doesn't never occur while accessing DAQmx.
    The application uses plugin technologies and some of the VIs in the timed loop are preloaded and called by Call by Reference.
    Does those VIs inherit the priority, execution system and CPU of the timed loop?
    The application is running on LV RT 2009 on a Dual core PXI-Controller. The timed loop is bound to CPU 1. There is no  difference runinng the application from the development environment or as a startup application.
    For the measuring test  I modified the application in a way that I don't have:
    disk access for storing the result file
    TCP/IP communication
    Controls on the front panel of the top level VI
    Waldemar
    Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
    Don't forget to give Kudos to good answers and/or questions

    To keep you informed:
    I stripped the application and have left only the measurement storing module and the timed loop. The loop was using the microsecond timer running each 500 µsec. Additional all Non-Real-Time modules were loaded and only one module creates a XML string and sends it to the communication layer which will drop it because no TCP/IP port is open. The creation of the XML string is done each 300 ms.
    In this case I don't have any finished late iterations
    Next I added the DAQ Module. Now I get finished late again but with a lesser frequency as original.
    I removed all unnesseccary tasks from the DAQ moulde leaving one task for a PXI-4204 for using as the clock source for the timed loop. No I get finished late seldom.
     I removed the module which will send the XML string and I don't get finished late.
    Next I was adding code to see memory allocation. I can when memory allocation is changing but it is not related to the finished late iterations.
    Next time I have the chance to do more tests I will see which DAQ task triggers the finished late iterations. I have one AI task on a PXI-4204,  4 Counter tasks on a PXI-6602, 1 DI task on a PXI-6514, 1 DO task on a PXI-6514, 1 DI task on a PXI-6259, 1 DO task on a PXI-6259, 1 AO task on a PXI-6259 and 1 AO task on a PXI-6711.
    The AI task on the PXI-4204 is running in Continous Sampling (Single Point HW Timed is not supported), all other tasks exept the DI and DO are Single Point HW Timed.
    Waldemar
    Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
    Don't forget to give Kudos to good answers and/or questions

  • Timed Loop timing source - Control Loop From Task is too slow

    I'm trying to make a Timed Loop run at a period of 2 ms, with an analog input task running at 50 kHz as timing source. The input analog signal is scaled and fed into a synchronised analog output task on the same multifunction DAQ board. Using the built-in 1 kHz or 1 MHz clock as timing source for the Timed Loop works great, except for a slight time lag between the loop and my AI/AO tasks which over time becomes unacceptable because my task will be running for up to an hour. However, when I use the DAQmx Create Timing Source: Control Loop From Task vi to create a timing source, everything slows down and the fastest loop time I can get is around 20 ms. Any suggestions to get around this would be highly appreciated!
    System: LabVIEW RT 8.0 with DAQmx 8.0 running on an NI PXI-8186; NI PXI-6251 used for analog input.

    You're welcome!
    You can build an array, and if your data is not hugh (100's of MB) this may be the easiest solution. However, we aways suggest implementing the Producer/Consumer Architecture. Keep the PID in the Producer loop, but move the File IO to the Consumer. Also, it  appears that your instrument uses some form of serial communication, so that could cause lags in your system....
    What is your application about in general, what performance are you hoping for, etc?
    Joshua B.
    National Instruments
    NI Services
    NI Support Resources
    NI Training Resources

  • Timing loop speed

    Hello,
    Is there a limit to how fast a timed loop can run with an accurate timestamp? I would like to sample at *exactly* every 200 msec, however my output file indicates that it is ~ 200 +/- 10. Is there a better way to create my timestamp? BTW - the Init.vi notes the time in seconds since 1/1/2000 and all subsequent time is relative to the start time. THis is a desired output format that I cannot change. Thanks.
    Attachments:
    InitFile.vi ‏20 KB
    CNAP Daq.vi ‏101 KB

    Why are you using a timed loop?
    In order to sample at precisely 200msec intervals, I suggest you use hardware timing and NOT software timing.  The onboard clocks on the DAQ boards are much, much more accurate than anything you can do in software, timing-wise.
    What I would do is get rid of the timed loop, use hardware timing for the DAQ task, and collect the data as a waveform.  The waveform datatype contains timing information.  Look at some of the examples that ship with LabVIEW.  "Find Examples"..."Hardware input and output"..."DAQmx"..."Analog Measurements".
    Your timestamp is only accurate to ~16msec because it obtains the time from the Windows clock, and that's how accurate the Windows clock is.  That's the best it's ever going to do, so if you need better than that, use hardware timing for your DAQ.
    Hope that helps a bit...
    d

  • Help for RT PC timed loop in us?

    I have created realtime target  quadcore PC  and created a pulse pattern(500kHz) using DIO pin0.1 and both counters. I want to repeat the pattern or send manny patterns after 512us. I am using time loop. It is not providing more than 28ms however it is showinh 1Mhz clock which is not present in not real time loops.Please help me out to have the time loop run at 512us interval?
    Yours sincerely 

    Hello Ali,
    I understand your frustation, and please accept my apologies for any inconvenience. I checked the domentation and according to this document:
    http://digital.ni.com/public.nsf/allkb/0C0A6EE528F​85A6486256F6700061790?OpenDocument
    The Desktop PC´s should be able to use the MHz clock source. However remember that if you are acquiring data, the sampling rate does not depend on how fast the timed loop iterates, as the DAQ board has it own clock. The timed loop just determine when you call the DAQmx read function to pull out the data that the DAQ board has out in the memory buffer. My advice at point however is that you create an Service Ticket so we can assist better, or if you want to share your code with me I can test it in one of our PXI devices to see if the issue is with your code or your hardware, in any case we would like to help you, as our final goal is that our customer are succesful while developing their projects
    Regards
    Mart G

Maybe you are looking for

  • Logical systems for modeldata and RFC metadata

    Hi All, I want to know how I can display the my own created logical system names under the drop-down menu when i have to select the logical system names for modeldata and rfc metadata. I don't want to them to be written instead i want them to be one

  • Run Time Error while Entering Quantity in Sales Order

    Dear All, Iam getting Run time Error while iam entering material quantity in sales order.Please  find the screenshot of the same. kindly Help Me.Me. Plz note that we had done a system copy two days back to our new server. Rgds Thomson ST22 Screenshot

  • Music from hard drive to new iTunes account

    I have just set up a new iTunes account for my mum on her new windows laptop it doesn't have a cd burner so have copied some of her CDs onto a external hard drive however having trouble transferring music from hard drive into iTunes any suggestions?

  • How can I use a vector?

    String[] sFile = new String [5]; sFile[0]="access_log"; sFile[1]="access_log.1"; sFile[2]="access_log.2"; sFile[3]="access_log.3"; sFile[4]="access_log.4"; how can I put this strings in the vector?

  • Urgent :::::.i WISH TO DO THIS WITH JDOM and JAVA .

    file A.XML <XML> <TP> <FF> </FF> </TP> </XML> file B.XML <XML> <TP> <GG> </GG> </TP> </XML> I WANT TO PASTE node GG in b.xml to a.xml like this <XML> <TP> <FF> <GG> </GG> </FF> </TP> </XML> i WISH TO DO THIS WITH JDOM and JAVA . Please let me know ho