Using the C-series SCTL DIO module with slower than the top level [FPGA] clock

Hey all,.

I'm running online research on a problem that I have a lot of success.

I have a chassis with integrated FPGA, top-level 9030 clock 40 MHz.  I have a NOR-9401 DIO C Series module plugged and the value that will be managed by the FPGA target.  I need to count some linear encoders to exactly 10 MHz, no more, no less.  They are periods and gives a result of such kind that if I oversample or underestimate, I get garbage.

If I create a SCTL and assign a source of synchronization derived from 10 MHz, I get an error code generation who:

"Node read e/s for DIO3 FPGA is used in a clock domain that it does not support.  Areas of clock supported include: the clock of higher and clocks that have a rate that is a multiple of 40 MHz, for example 40 MHz, 80 MHz, 120 MHz and so on. »

I tried several ways to work around this problem; First I tried just using a while loop with a loop set to 4 is ticking timer, but it then takes 9 clock cycles to perform the count for a reason any (although this code may compile in the SCTL without any problem).  I then tried to use the SCTL with a constant of 'true' AS a hack for a 'timed sequence' framework-related, and that certainly has not worked.

Are there any strategies or techniques, or settings somewhere to work around this limitation on the AID I need to taste exactly 10 MHz?  I'd like to do this quickly in the software and get this rolling as soon as POSSIBLE.

An image of the relevant section of the code is attached, I'm happy to provide you more things on request.

Thank you very much!

Maia Bageant

Thanks for the reply!  The problem ended up being a hardware problem based on how coders were connected.  Now that I've fixed it, they're perfectly happy are oversampled.

I guess my question is always legitimate to other applications, but not necessary for encoders a.

Tags: NI Software

Similar Questions

  • Subgroup of experts can pass events to the top-level event loop?

    I'm working on a VI that may have up to 1000 controls (Yes, she really need that much).  To reduce the size of the user interface and increase the modularity of code, I partitioned design into subgroups that are loaded in tabs.

    Subgroups are responsible for:

    "VI reference to open"--> "invokes the method: Run VI '--> ' invoke the method: Insert VI»

    (Sorry, I don't know how to incorporate images here, yet)

    The upper level has some of its own controls in addition to the case of the Sub-group of experts, and it will be built on the design of producer-consumer model.  The loop of consumer manages the interaction with the hardware (write-only).  Each sub-group of experts will also have its own event loop to manage coordination of the user interface within the Sub-group of experts and also a preprocessing of data that results from the activity of the user within the Sub-group of experts.

    Here's the problem: go in the subgroup of experts, how do I pass an event up to the top-level event loop so that the hardware access request can be entered into the queue of the consumer?

    At first it seems I could solve this problem in two ways:

    (1) rather than to use an Invoke node to insert the Sub-group of experts, is it possible to connect the frame of the Sub-group of experts against a VI that is instantiated in the block diagram?   If there is, I can simply use dataflow to bring jury secondary to the upper level events.   But for now, it seems there is no way to have a subgroup of experts except by using the Invoke node.

    2) there is another way, that we have found, but this is an ugly hack. The reference to the 'Open VI' VI using, I use ' call method: control value: Get.  Gives me the value of a control in the Sub-group of experts, but there is no case of signaling, so I have to resort to polling stations, which slows down the user interface and breaks the model "Event Loop".

    Y at - it of other ideas for how to get events from the Panel under treaty to the next level?

    (of course, this isn't * all * the events we manage.)  The Sub-group of experts will actually a pre-treatment and then send only the selected events to the highest level user-defined)

    Thank you and best regards,

    J.

    I have not used the secondary method before, so I can't save what I think with real experience.

    But,

    If the Subvi who is put in a secondary control on front panel for a queue reference, I think you'd be able to do the Invoke node to set the reference queue control before calling the functioning of the VI.

    The other idea would be do not to have a reference of queue control to pass.  But use named queues and leave the Subvi in high school to create its own queue reference based on the same name that was created in the main VI.  When it ends, it could destroy its unique queue reference and not to force a destroy all and reference to the queue in the main VI would still be a queue works valid waiting for an another sub - VI at the secondary level to generate his reference to the same queue and sends the data in.

  • Find a specific sublayer and pass to the top-level layer

    I have a lot of illustrator files which are organized by a model size. The layers are configured so that the top-level layer is always model. However the underlayment I need to pass to the next level could be called 42 border Pg or 30 border Pg or Pg 24 border.

    Y at - it a way for a script to search through the layers and if it finds '42 Pg border' or 'border Pg 30' or "24 Pg border" in the base layer model it it would move to the top level, but if he does not see an of these he does not give an error?

    I'm still new to scripting so the extent of my knowledge on this is to scan all the layers and unlock them. Then, find a specific layer name. This is the base layer and moving it to the next level that I'm not sure.

    Here is my current code:

    var doc = app.activeDocument;
    var allLayers = doc.layers;
    for (var i = allLayers.length-1; i >= 0; i--){
        allLayers[i].locked = false;
        if (allLayers[i].name == "42 Pg Border" || allLayers[i].name == "30 Pg Border" || allLayers[i].name == "24 Pg Border") {
            alert("I found the " + allLayers[i].name + " layer")
        } else {
            alert("Not the right layer")
        }
    }
    

    Any help would be greatly appreciated!

    I'm using CS4 on a PC running Windows 64 Bit with JavaScript

    This gives a shot.

    its still very early and my brain completely does not work yet.

    bring all the layers in the beginning (May) will ruin the stacking order much.

    var doc = app.activeDocument;
    var allLayers = doc.layers;       
    
    for (var i = allLayers.length-1; i >= 0; i--){
      allLayers[i].locked = false;
      deeper(allLayers[i]);
    }    
    
    function deeper(parent){
    var subLayers = parent.layers;
      if (subLayers.length > 0){
      for (var i = subLayers.length-1; i >= 0; i--){
      subLayers[i].locked = false;
      deeper(subLayers[i]);
      if ((subLayers[i].name).substr(-6) == "Border") {
         subLayers[i].move(allLayers[0],ElementPlacement.PLACEBEFORE);
      }
      }
      }
    }
    
  • Remove the top bar in the top-level navigation page

    Hello

    Is it possible to disable the top with Burger icon bar in the top-level navigation page and make it appear only served as in the articles? I thought that it was an option, but I can't seem to find anywhere in the dashboard or in tutorials.

    Thank you!

    Hi Jenn,

    There is no option to remove it when you're on a navigation page.

    Neil

  • Find the top level of a VM folder

    I want to find the name of the top-level folder that contains a virtual machine in a data center and looking for the root tree.

    For example \\datacenter\folder1\folder2\folder3\TestVM

    I try to find as a parameter of the TestVM folder1.

    I need to sort all the VM in our sphere of their top-level folder

    In all cases to do this would be appreciated.

    Also it would be quite in powercli with scripts

    Try something like this

    $vm = Get-VM -Name TestVM$object = $vm.ExtensionData$parent = Get-View $object.Parent
    
    while($parent -is [VMware.Vim.Folder] -and $parent.Name -ne "vm"){    $object = $parent    $parent = Get-View $object.Parent}$object | Select @{N="VM";E={$vm.Name}},    @{N="Top Folder";E={$object.Name}} 
    
  • MenuBar navigator - the top-level node are clickable

    I use a browser from the menu bar in the application of mu.  The data for the menu from an XML file.  The menu contains the top-level nodes, but also of subnodes.  All the nodes under work as expected.  I can click on the node and the action runs.  However, none of the top-level nodes have no subnodes do anything when you click it.  I need these nodes also be clickable and enforcement actions, as do the subnodes.  Is there a property in the menu bar control that I put?

    Thank you!

    Try this

    http://www.Adobe.com/cfusion/CommunityEngine/index.cfm?event=ShowDetails&ProductID=2&postI d = 12506

  • OBIEE BI answers: measures bad aggregation at the top level of the hierarchy

    Hi all,
    I have the following problem. I hope to be clear in my English because it is somewhat complicated to explain.

    I did following:

    ID of drugs classified in quantity
    1 9
    2 4
    1 3
    2 2

    and drugs following table:

    Drug brand Id brand Description drug whose active ingredient Id drug whose active principle Description
    Aulin Nimesulide 1 1
    2 Asprina 2 Acetilsalicilico

    In AWM, I've defined a Dimension of drugs based on the following hierarchy: drug whose active ingredient (parent) - brand name of medication (sheet) mapped as Description:

    The active ingredient of drug = drug Active ingredient Id of my Table of drugs (pharmaceutical = Description of the active ingredient LONG DESCRIPTION attribute)
    Pharmaceutical brand Description = drug brand Id of my drugs Table (LONG DESCRIPTION = Description of drug brand attribute)

    Indeed, in my cube, I have traced pharmaceutical leaf-level brand Description = Id of the drug of my fact table. In AWM drugs Dimension is mapped as Sum aggregation operator

    If I select on answers drug whose active ingredient (parent of my hierarchy) and the quantity, in my view, after the result

    Description of the active ingredient drugs classified in quantity
    Acetilsalicilico 24
    Nimesulide 12

    indeed of the correct values

    Description of the active ingredient drugs classified in quantity
    Acetilsalicilico 12
    Nimesulide 6

    EXACTLY the double! But if I dig drug Description of the active ingredient Acetilsalicilico I can't see correctly:

    Drug whose active ingredient Description pharmaceutical brand classified in quantity Description
    Acetilsalicilico
    -12 Aspirina
    Total 12

    Aggregation of evil is only at the top level of the hierarchy. The aggregation on the lower level of the hierarchy is correct. Perhaps the answers also amount Total line? Why?

    I'm frustrated. I ask your help, please!

    Giancarlo

    OK your on 10G but the view of the cube and the obligation to limit the levels in the LTS in the RPD is valid in both.
    I think we found the problem,
    Go to each source logical table this logic table (x 2 in your case you have two levels) and on the content tab, window background ' use this "Clause Where" filter to limit the rows returned. »
    Open the expression builder, locate LEVEL_NAME according to your cube and limit accordingly, it is to say LEVEL_NAME = "BRAND_DESCRTIPION" for the aggregation BRAND_DESCRIPTION LTS and LEVEL_NAME = "XXXX" in detail, SFF, where XXXX is the name of level of hierarchy in your cube for details (leaves) records.

    Can you try that and let us know?
    Thank you
    Alastair

  • Exit on the top-level shape does not work.

    Hi I have 10g deployed forms on the web.
    On the top-level form, there is an exit to this topic button.
    And for this form, under ALERTS, I have two alerts: QUIT_ALERT and BANNER_ALERT.
    Now when I press the EXIT button on the form, nothing happens. Prompting the ALERT and close the FORM.
    Where and what could be the problem?

    I have the following code for the exit button
    IF G$_DISPLAY_ALERT('QUIT_ALERT','Do you really wish to quit?') = ALERT_BUTTON1 THEN
    EXIT_FORM;
    END IF
    And the function G$ _DISPLAY_ALERT a following code
    FUNCTION G$_DISPLAY_ALERT(ALERT_NAME IN VARCHAR2,
    MSG_STRING IN VARCHAR2) RETURN NUMBER IS

    ALERT_ID ALERT;
    AL_NAME VARCHAR2(30);
    ALERT_BUT NUMBER;

    BEGIN
    IF ALERT_NAME IS NULL THEN
    AL_NAME := 'G$_WARNING_ALERT';
    ELSE
    AL_NAME := ALERT_NAME;
    END IF;
    ALERT_ID := FIND_ALERT(AL_NAME);
    IF ID_NULL(ALERT_ID) THEN
    RAISE FORM_TRIGGER_FAILURE;
    END IF;
    SET_ALERT_PROPERTY(ALERT_ID, ALERT_BUT, MSG_STRING);
    ALERT_BUT := SHOW_ALERT(ALERT_ID);
    RETURN ALERT_BUT;
    END;
    Published by: Charlie on March 30, 2011 14:01

    Hello
    What happens if you change

    SET_ALERT_PROPERTY (ALERT_ID, ALERT_BUT, MSG_STRING);

    for this

    SET_ALERT_PROPERTY (ALERT_ID, ALERT_MESSAGE_TEXT, MSG_STRING);

    ?

    -Clément

  • In Firefox using the top menu, for example in Google images, videos, map, etc., of a web page are not activated with the mouse. This does not happen when you use Internet Explorer, because all links are available.

    A notification can up on some type of script, which then disappeared before I could take a note. After that links up on all web pages would not work by using the mouse cursor.
    It was only the links on a webpage, not on the menu bar or tabs above.

    To see if this happened on another browser, I opened the pages using Internet Explorer and open the links on all the pages that are controlled via the mouse. This sugested, it was a problem with Firefox.

    I uninstalled Firefox and installed a new application of the latest edition of Firefox, but the problem persists.

    No known cure for this problem.

    This problem may be caused by the Yahoo! toolbar as scopes as well down and covers the top of the browser window, allowing links in this part of the screen not clickable.

    You can keep an eye on this thread:

  • Using the Interface of FPGA functions palette

    Hello

    I use the card PCI-5640R and PXI-5600. I want to use the "scale" and "FFT" exspress screws to the range of functions 'Mathematical FPGA and analysis' in my VI "FPGA VI" and "FFT spectrum for '"FPGA interface"in my"host VI.

    A poster of the code examples in which these three subVIs are used can.

    Thanks in advance.

    Kind regards

    Rashid

    The answer to this question is available to

    http://forums.NI.com/T5/if-Rio/using-FFT-to-spectrum-SubVI-of-FPGA-interface-functions-pallete/TD-p/...

  • How to get a variable of a sub - VI all the way to the top level vi (GUI)

    Hi all

    I am currently working on controlling the movement of the six axes with labview through RS232 communication. These axes are controlled in order so not more than one axis moves at a certain point in time. To do this, I need to query the axis status bit to see whether or not the move is done. Basically a while loop to stop "asking" for the State when the statusbit is '1 '. This is done by a somewhat deep nested vi in software architecture (low level vi). The behavior of this vi is necessary because it blocks the execution of the remaining vi until the movement is finished. Therefore, I am sure that no command is sent to move a second axis during the movement of the axis of another.

    I want to do is to bring the traffic all the way to the front of the user interface so that the operator can see if the axis is in motion or not. But the problem is that the vi that handles these requests status only publishes the output data when the while loop stops, in this case when the movement is completed. And I would like to know the status on a regular basis, for example every 100ms or so?

    How can I get the value of the bit on the status in the GUI? I have to place another vi on the upper level which requires also that the status?

    Any help is much appreciated,

    Best regards.

    You can pass a reference to what ever VI main control/indicator panel you want to display it on.  Then in your Subvi loop, use this reference with a knot of property value for updating control/indicator light panel.

  • Message popup for the top-level Index Entry Click enter subindex

    I built a CHM Help, and when I open with the index tab, and then double-click the sub containin Scripture Scriptures, I get the following message is displayed:

    To locate information on this keyword, select one of the subentries in the list.

    See a screenshot below.  The dialog box appears when I double-click on the 'Abgeischertes Signal' top-level index entry.

    ToplevelIndex.JPG

    Is it possible to translate this message?

    I use RoboHelp HTML 8.0.2.208 (from TCS2).

    I searched for the string in all the files in C:\Program Files\Adobe\Adobe Technical Communication Suite 2 without result.

    Thank you

    Niall

    Hello

    As far as I know, it is controlled by the Help Viewer HTML, just like the legends of standard button (home, etc.).

    On my local PC, I get this message in Dutch, whereas on the VMware Server, I get this message in English. Try to view the CHM operating system on a German (or other language) and see if that helps.

    Take a bow

    Willam

    This email is personal. In our view, full disclaimer, please visit www.centric.eu/disclaimer.

  • How to move album to the top-level category?

    I have album B inside the album of category A category. I want to move B to the upper level. How do I do that? I can easily drag B and drop it on another category, but I can't find where to drop them off to make a top-level category. Thank you.

    Hi Bazsl,

    If you click with the right button on the Green album and choose CHANGE a new window pane opens on the right side of the screen showing the album and its content...

    At the top there are a menu drop down titled CATAGORY, you can select "None (Top Level)" and then click on the OK button at the bottom of the pane.

    When I did, it took a few minutes to process the change.

    Just loaded PES 11 myself, quite a change, a big curve of learning before (sigh)

    Good luck

    Al

  • I have the MG8220 printer and you want to print on a DVD disc using the top of the desktop software

    In the past, I have been using a desktop software to produce graphics and then print labels in paper. Using a model of a disk. Works very well with my printer ip4600.  Now with the MG8220 printer capable of printing on discs, how can I do this without copying an existing labeled disc?  I don't want to copy a disc but rather to print on a disc using a graph of ready scaled to fit on a disc.

    Thanks for any help.

    Hi excolprof,

    We only support printing to disc with Easy Photo Print software and my garden of Image provided.  We encourage you to try to use third-party programs, but as they are not supported, the only steps I can recommend would be to ensure that the paper size is set to CD disc within the software.

  • File Exists using the folder level

    Need some help here.  I write javascript in an acrobat form with a script folder level to see if a file already exists.  This doesn't seem to work for me for some reason any.  If don't have not LiveCycle will be the code below still work?  Is there a setting I'm missing?

    Folder level

    var IfFileExists = {app.trustedFunction (function (filename)}

    app.beginPriv ();

    var existingDoc = false;

    try {}

    var checkDoc = app.openDoc (filename);

    checkDoc.closeDoc ();

    existingDoc = true;

    } catch (e) {}

    existingDoc = false;

    }

    Return existingDoc;

    app.endPriv ();

    });

    Level of doc

    var onumber = this.getField("info_Order#");

    var FileDir = ("" / Volumes/PFS / ' + onumber.value + '.fdf' ");

    If (typeof (IfFileExists) == 'function') {}

    try {}

    If (IfFileExists (FileDir) == true) {}

    App.Alert ("file is there");

    } else {}

    App.Alert ("file is NOT here");

    }

    }

    {catch (e)}

    App.Alert ("file is NOT here");

    }

    }

    This function returns true/false not. It returns a Stream object, or throws an exception, in order to use it like this:

    try {
        util.readFileIntoStream(FileDir);
        app.alert("The file is there");
    } catch (e) {
        app.alert("The file is NOT there");
    }
    

Maybe you are looking for