How to set DAQmx period task input terminal

I have a measurement period counter as task created in VB6.0 using Measurement Studio 8.6 and NOR-DAQmx. Is it possible to configure the input (door) to be PFI0 instead of the default Terminal.

Thanks, vecsol...

The terminals of the meter are wired on certain pins on the DAQ card.  The door of the Terminal is not set for a 'default', the door of the meter is connected to a certain line of PFI - this cannot be changed.  See help NI - DAQmx Device terminals for more information on PFI line corresponds to what terminal of the meter.

Tags: NI Software

Similar Questions

  • How to set the calendar tasks?

    I want to put a task based on the following conditions,

    1) run on each week (Monday to Friday) at 10:00

    2) run only on the following months: between March and November

    Anyone have any suggestions on how to plan this work in XP?

    Thanks in advance for your suggestions

    Hello

    You can check the link below to create the scheduled task in Windows XP.

    How to schedule tasks in Windows XP

    http://support.Microsoft.com/kb/308569

  • How to set up wizard DAQ or DAQmx tasks using an external text such as a CSV file?

    I work in an environment were we have a lot of users VI. I develop the VI and technical personnel using the GUI (cover Page) to collect the data. In order to control the input parameters used on multiple hardware platforms, I'd like to develop a generic VI which will import or read a text file I created, and configures the DAQmx tasks to perform data acquisition. In fact, I have the generic VI full and need to understand how to make configurations DAQmx more transparent for the end user as long as the end user has the text file to import. For example, to generate the wizard DAQ DAQmx tasks based on information from text file?

    I don't have time to do more than just a small example. The VI below contains a table with table fixed index functions. This would have changed to get automatically the correct rows and columns, but I hope that you have an idea. I does not have any code to define the type of temperature measurement or to set the correct configuration of Terminal. All of this plus all other possible options will be treated similarly to the definition of the type of channel and min/max which is located in the example.

    Edit-attach VI

  • How can I set up a digital input task to read continuous samples?

    I am trying to create an exclusively digital task that will make digital readings at a rate timed by the material using a PCIe-6509. However, when I try to put the task timing as follows (which works on a PCIe-6509), I get the following error:

    Requested value is not supported for this property value. The value of the property may be invalid because it is in conflict with another property.

    Property: NationalInstruments.DAQmx.Timing.SampleTimingType

    Required value: NationalInstruments.DAQmx.SampleTimingType.SampleClock

    Possible values: NationalInstruments.DAQmx.SampleTimingType.OnDemand, NationalInstruments.DAQmx.SampleTimingType.ChangeDetection

    Task name: DigitalInputTask

    State code:-200077

    The relevant parts of my code are:

        public class DigitalInputReader: IDisposable
    {
    public DigitalInputReader()
    {
    dataReadyHandler = new System.AsyncCallback (DataReadyEventHandler);

    daqmxTask = new DigitalInputTask();
    daqmxTask.Configure (Globals.NI);

    daqmxTask.Control (TaskAction.Verify);
    daqmxTask.Control (TaskAction.Commit);

    daqmxReader = new DigitalMultiChannelReader (daqmxTask.Stream);
    }

    public class DigitalInputTask: task
    {

    public DigitalInputTask(): {base ("DigitalInputTask")}

    public virtual void Configure (NiConfiguration niConfig)
    {
    <= niconfig.digitalinputs.count="" -="" 1;="">
    {
    String physicalChannelName = niConfig.Device + "/ port" + niConfig.DigitalInputs [i]. Port.ToString () + "/ line" + niConfig.DigitalInputs [i]. Channel.ToString ();
    String nameToAssignToChannel = niConfig.DigitalInputs [i]. Name;

    DIChannel ch is this. DIChannels.CreateChannel (physicalChannelName, nameToAssignToChannel, ChannelLineGrouping.OneChannelForEachLine);
    c. InvertLines = niConfig.DigitalInputs [i]. InvertLines;
    }
    var signalSource = "";
    This. Timing.ConfigureSampleClock (signalSource, Globals.MachineSettings.SampleRate, SampleClockActiveEdge.Rising, SampleQuantityMode.ContinuousSamples);// Globals.MachineSettings.SamplesPerChannel);
    }
    }

    The last call to Task.Timing.ConfigureSampleClock, it's which throw errors.

    Of the options available, or SampleTimingType.OnDemand or NationalInstruments.DAQmx.SampleTimingType.ChangeDetection provide the same precisely timed calls that I am familiar with the analog input interruptions.

    How is it possible in a digital task?  I mean, it seems that I could set up another task to do call by material for the production of a clock signal and use the ChangeDetection synchronization mode, but this seems a bit complicated for what should be easy to do.  What Miss me?

    Update: I thought about it.  You cannot call ConfigureSampleClock when the digital input card is a device of 650 x, because these devices have any automated examples of clock.  They are configured to run in mode default finite samples.  You must make all sample synchronizing with these devices in the software.

    Be cautious, however, because the .NET timers ensure they put any faster than their scheduled interval.  In practice, they are usually 5 to 10 ms slow by tick.  This means that if you want to read samples every 100 ms by sample clock, you'd end up reading all 108 ms samples.  All counters based on the elapsed time and number of samples would be away after a few seconds of it.

    Instead, you must do one of four things: write a doggone driver that runs in ring 0 and interfaces with the PCIe card in the required interval (i.e. on NC, not you, in practice), tolerate the inclination of the clock, use a multimedia timer as an interruption audio or video that is more likely to respond to the correct interval, or , my solution, an accurate clock allows you to set the interval of the timer.  I wrote the following code to the timer:

    var CorrectiveStopwatch = new System.Diagnostics.Stopwatch();
    var CorrectedTimer = new System.Timers.Timer()
    {

    Interval = targetInterval,
    AutoReset = true,
    };
    CorrectedTimer.Elapsed += (o, e) =>
    {
    var actualMilliseconds =;

    Adjust the next tick so that it's accurate
    EG: Stopwatch says we're at 2015 ms, we should be at 2000 ms
    2000 + 100 - 2015 = 85 and should trigger at the right time
    var StopwatchCorrectedElapsedMilliseconds = newInterval +.
    targetInterval-
    CorrectiveStopwatch.ElapsedMilliseconds;

    If we're over 1 target interval too slow, trigger ASAP!
    <=>
    {
    NvelIntervalle = 1;
    }

    CorrectedTimer.Interval = NvelIntervalle;

    StopwatchCorrectedElapsedMilliseconds += targetInterval;
    };

    I hope this helps someone.

  • Configuration input: Terminal for voltage DAQmx block IA

    I'm trying to get the "input terminal configuration" entry in a DAQmx "HAVE voltage" block to be "differential". I don't know how or where looking for something like this, functions pallate. I tried the examples find... thing nothing helped.

    It's just the LabVIEW base. Right-click on the device, and then select 'create a constant '.

  • How to set the MRT to run in Task Scheduler

    In my work, I was asked to define Microsoft Malicious Software Removal Tool to run every month by setting up in Task Scheduler. We have an anti virus already, that we have just been asked to do what more than protection. I don't know how manually pull up of mrt and select full scan, but how can I put it to run automatically on the pc in the Task Scheduler without that person having to be there to start the program. I like it to auto-start, scan and nearby without that person having to be there to do it. We use Windows xp. Can someone help me?

    Maybe I'm missing something here, but "Microsoft releases an updated version of this tool the second Tuesday of each month and the need to respond to security incidents" If you really want to plan the MRT you downloaded in March to run each month until December.

    The MRT is included in the updates on "Patch Tuesday".  It runs automatically when it is first downloaded.  How is your company on the regular critical updates?

  • How get/set the value of the DataObject object in the task of the API?

    How get/set the value of the DataObject object in the task of the API?

    Are there examples of code availible?

    Hello

    You are here: http://docs.oracle.com/cd/E23943_01/dev.1111/e10224/bp_worklistcust.htm

    Antonis

  • How to set tasks such as cancelled

    Guys,

    I had a scenario, where I wrote an setObjectStatus adapter that defines the status of RO as revoked.
    So I put in service a resource to a user and did some updates on resource profile as well, the status of the Office of receiver is put into service and tasks
    like create a user, put abc update etc... as completed.

    Now I fire the setObjectStatus adapter and sets the status RO as revoked successfully. Checkboxes as activate, deactivate, revoke etc. are disabled subsequently set the RO as revoked status. But the task inside doesnot become cancelled.

    Any ideas how to achieve cancellation of tasks?

    Thank you
    'Suren '.

    Surendra salvation.

    What did you do when you run the tcUserOperationsIntf.getObjects (take)? When you run this method, you will get all the instance of object for a specific user, so read the attribute of the Instance.Key object.

    In addition, you can call the methods below to useroperationsintf:

    void revokeObject (long plUserKey, long plObjectInstanceForUserKey)
    Revokes the provision of an object for a user directly without a a request.

    void revokeObjects (long plUserKey, long [] paObjectInstancesForUserKey)
    Revokes the provision of an object for a user directly without a a request

    Renato.

  • How to set programmatically the ' input length Max ' of a cell of the tree

    I want to specify a maximum length of N_MAX for names of cell of a tree, so that when the user press the F2 key to rename, it has failed to enter more characters N_MAX.

    For existing items in the file of the uir, I am able to get this behavior by setting the tree Edit > edit columns/cells > change cell > entry length Max to 5 (see attached img03.png).

    When the user tries to rename this article, he has failed to enter more than 5 characters (see attached img02.png).

    But how to set this attribute for items added programmatically (for example, through InsertTreeItem ()).

    I was not able to find the right attribute, because the attribute of cells ATTR_LABEL_TEXT_LENGTH (which seems more or less what I'm looking for) is "not definable.

    You have found an omission in documentation. You can use ATTR_MAX_ENTRY_LENGTH and ATTR_MAX_ENTRY_CHARS with SetTreeCellAttribute and SetTreeItemAttribute to set the max entry for a cell of the tree.

    Please report to us this and sorry for the inconvenience.

  • How to set a checkbox for an indefinite period in a TableView?

    I want to set a TableView with a column that contains a check box.

    This can be done with a statement like this: myColum.setCellFactory (CheckBoxTableCell.forTableColumn (myColumn);

    The problem is how to specify that the display check box is indeterminate?

    You will have to roll you own. The box is buried inside the CheckBoxTableCell. In addition, how you set the indeterminate state is based on the data, and the CheckBoxTableCell is based on a boolean, so only two States property.

    Here is an example that shows a check if the person is frequented your party a dash if they are not, a box unchecked if you just do not know:

        enum Attending { YES, NO, UNKNOWN }
    
        static class Person {
            final String lastName;
            final String firstName;
            ObjectProperty attending = new SimpleObjectProperty<>(Attending.UNKNOWN);
    
            public ObjectProperty attendingProperty() { return attending; }
    
            Person(String lastName, String firstName) {
                this.lastName = lastName;
                this.firstName = firstName;
            }
        }
    

    So for the table, do you something like this:

            Table table = new Table<>();
    
            table.setItems(FXCollections.observableArrayList(new Person("Data", "Test")));
    
            TableColumn attendingColumn = new TableColumn();
            attendingColumn.setCellValueFactory(param -> param.getValue().attendingProperty());
            attendingColumn.setCellFactory(param -> new TableCell() {
                final CheckBox checkBox = new CheckBox() { {
                    setAllowIndeterminate(true);
                }};
    
                @Override public void updateItem(Attending item, boolean empty) {
                    super.updateItem(item, empty);
                    if (empty) {
                        setGraphic(null);
                    } else {
                        switch (item) {
                            case YES:
                                checkBox.setSelected(true);
                                break;
                            case NO:
                                checkBox.setIndeterminate(true);
                                break;
                            case UNKNOWN:
                                checkBox.setSelected(false);
                                break;
                        }
                        setGraphic(checkBox);
                    }
                }
            });
            table.getColumns().addAll(attendingColumn);
    
  • How to set the voltage on a 3.3 volt NI 9237 module?

    Hello

    How to set the voltage on a 3.3 volt NI 9237 module?

    The voltage is now at 2.5 volts.

    This is my first time with this camera.

    This set of MAX or are there jumpers?

    I want the value of the excitation voltage at 3.3 Volts and do not change.

    The NI 9237 is a NEITHER cDAQ-9172.

    Thank you

    Bill

    Hi POBA,.

    This can be set to your programming environment.  For example, LabVIEW Signal Express, a task of MAX, or a DLL call in a text-based environment.  You want to create a strain, tension Custom with excitement, or any bridge based task in any environment.

    "" "In MAX, right-click on your device and choose create a task" acquire signals "analog input"...

    "" "In LabVIEW, place a DAQ Assistant" acquire signals "analog input"...

    "" "In Signal Express, add a step for Acquire" DAQmx Acquire"analog input"...

    In any C language based, you will want to call a function such as: DAQmxCreateAIVoltageChanWithExcit, DAQmxCreateAIStrainGageChan, DAQmxCreateAIBridgeChan

    You can then specify the Source of Exictation to be internal to 3.3V.

    Best,

  • How to set the timeout of read when using channelReader.ReadWaveform?

    I'm using a USB-6210/a. data acquisition, and it works fine until I have to take a longer than 10 s waveform.

    When I take a longer than wave form, I get the error 200284, "some or all of the requested samples are not yet acquired.  To wait for the samples become available use longer read timeout... »

    No problem, I thought, I'll just put a longer period.  I searched through the documentation, and the timeout only I found was the watchdog timeout.  When I wanted a longer value, I get code 200452 State - specific property is not supported by the device or is not applicable to the task.

    I use the code in the example AcqVoltageSamples_IntClk.2008 .net with c# in Visual Studio 2008, .net 3.5 sp1.

    How to set the timeout so that ReadWaveform() is not the time?

    Here is the code:

    privateAnalogMultiChannelReaderchannelReader;

    privateAnalogWaveform awf;

    publicList GetWaveForm()

    {

    Try

    {

    Task getWaveform = newTask();

    getWaveform.AIChannels.CreateVoltageChannel (Channel,"", TerminalConfiguration, RangeMinimum,

    RangeMaximum, AIVoltageUnits.Volts);

    getWaveform.Timing.ConfigureSampleClock ("", SampleRate, SampleClockActiveEdge.Rising,)

    SampleQuantityMode.FiniteSamples, NumSamples);

    getWaveform.Control (TaskAction.Verify);

    channelReader = new AnalogMultiChannelReader (getWaveform.Stream);

    AnalogWaveformdata = channelReader.ReadWaveform (NumSamples);

    AWF = data [0];

    samples As new List();

    for (inti = 0; i)

    returnsamples;

    }

    catch (DaqExceptionexception)

    {

    MessageBox.Show (exception. (Message);

    }

    List of l = newList();

    return l;

    }

    Thank you

    Curt

    Hi Curt,.

    Here is a Knowledge Base that can help you to set the timeout setting in your code:

    The property using Timeout of DAQmx task in Visual Studio

  • more info on the DAQmx control task

    Today I came across an older post where I had some questions and Jeff· just Þ· Bohrer showed a good example, it's here:

    http://forums.NI.com/T5/LabVIEW/AES-single-element-queues-data-value-references/m-p/2978093/HIGHLIGH...

    I doesn't pay attention to the DAQmx task manages the part, but now some new questions of time came to my mind, I hope someone can give me some explanations...

    Usually, when I'm working with some hardware with DAQmx driver, I simply specify the channel, and I use the VI of virtual channel create for my work I want to use.

    Recently I read about benefits use MAX to previously create some global (?) of the tasks (for example a cDAQ with many modules and i/o channels) and using these tasks in a LabVIEW project. In this case I can just skip the 'Create Virtual Channel.vi', begins with the measurement with a "Start Task" DAQmx and stopping a VI 'stop the task', correct? However in the link above, the VI "Task of control" (next), first used with a parameter "commit" and during the closing of the measure, with a setting of "Cancel" (and no task to stop vi was used).

    I threw an eye using the Task.vi 'control', but the info it is not too detailed, where I can find a few more details, or maybe someone might highlight the use and benefits of this vi? Sounds a bit 'funny' aid, as for the parameter commit: "Programs the hardware as much as possible depending on the configuration of the task."

    So what is the difference between the use of the "task of control" in a code and do not use it (so when we use only the start and the stop task live)? Do we not the same behavior with the latter?

    Thanks in advance!

    Martins wrote:

    The overall task configured max subject: we conduct research, so I always just develop for our lab, we do not sell anything. However, I have some questions related to a task configured and saved to the MAX:

    • So I have a task created at MAX, I guess that this task will be usable only if I use it in a project of LV on the same PC? What if I need to move my application to another PC (but of course with the same modules cDAQ, etc., but perhaps under different numbers...)

    The task can also be used with a .exe. You can export MAX settings to a file (file, export...) .nce, and then import the settings to a new PC. If necessary you can tweek the numbers.

    • I would like to create an EXE from my code and don't run this EXE to our systems (not install). Y at - he tips that I should keep in mind when I create an executable from a project that contains a task of MAX?

    I can't think of something special. Personally, I prefer to load the name of the task from a configuration file, you can also use a control on the front panel to select the task.

    I have a feeling, when we need complete flexibility, the course of MAX isn't really practical, Yes? I want to say, if we want to for example programmatically recognize all our application materials and create tasks to ensure that all physical changes on the side of the PC in the future will not affect our code?

    I agree that you have as much flexibility, but for my applications most of the time MAX provides sufficient flexibility

    But this scenario could be documented for future users in the lab, I imagine, so what they have to do, is to recreate the overall task? What happens when we take the application as an exe on another PC and manually re-create the (I hope that quite the same) necessary global task with the same name that awaits the EXE? It works this way?

    Thanks for the very useful info!

    Edit: "Yes you can set a MAX task that includes several modules and channels so that they all have the same type of action."

    This is also a limitation compared to the creation of code depending on task, Yes? I mean, using the DAQmx 'Create Virtual Channel.vi', we can even combine for example analog inputs with for example in a cDAQ thermocouple hunts...

    No it is not a limitation, for thermocouple is entered analog. If you can combine them in LabVIEW, you can combine them in MAX.

    Edit2: I really miss other docs of type "real demonstration" of the NEITHER! I could imagine a sort of case study examples where different material handling OR would be explained... Of course we can hunt together pieces of mosaic, but a more compact image could help a lot for those who want to learn faster

    Ben64

  • Error-50103 occurred at DAQmx start Task.vi:11

    Hello

    I use a nor-6008 to perform a thermal sector and I get the error "error-50103 occurred at DAQmx Start Task.vi:11 '. I have read other forums of discussion and it seems combe because I use the wizard DAQmx who don't properly resolve the resource when finsihed. I've dug further and saw that it is linked to an on-board clock synchronization problems. However, I can understand how to solve this problem.

    I thought that I create a loop that continuously monitors inputs and sometimes to interrogate the memory so I'm not kidding to the top of the clock. It's much harder to do than sounds. Can someone take a look at my code and give me some advice/suggestions to clean the DAQmx assistants.

    Thanks in advance

    Cole

    I finished by dividing my resource between the two input channels using a single assistant DAQ and dividing down the data rate and the number of samples. Works fine now.

    Big pain in the ass well.

  • How to set "Time scale" to "None"?

    Hi expert,

    We want to set up an account where user can enter the individual monthly figs, with the total quarterly being either the sum of the value of months under him (i.e. flows), or as the last month of the quarter (balance), while the user can enter a value other than "YearTotal' in 'year Total '.

    By default, user grasp what this either in the YearTotal, it would get spread to the individual months under him. Is it possible to disable this spread, so that the user can enter the total of the year, without affecting the monthly entries?

    The period dimension is a dense dimension, with summaries members period the value "Dynamic Calc."

    I'm trying to adjust the Balance of the 'time' to 'None' and hoping it would then not inherit the flow / characteristic balance in the total of the year. But when I try to deploy the application, I got error, saying: it's an hour not valid balance properties.

    Please tell us if:
    i. possible in order to set up a special account where every month and yeartotal inputable user? And if so, how?
    II. what should be the behavior expected if the value "Balance time", "None"? and how to set?

    We are on HP version 11.1.2.1.

    Thank you!

    How are you making it to "None"?

    You can stop the spread. (Jake Turrell explained how it works in a different thread)

    If you create a form in line with the different months in logical columns/rows (not not selecting them using a function like Idescendents (YearTotal) or Jan, Feb, Mar), select them under the name of each column.

    Column A
    Jan
    Column B
    Feb
    .......

    Then spread will not work.

    I don't think you can possibly do this job using low version upwards. (simple reason that schedule does not allow you to write to top member, if your version is low at the top)

    You can create a Standard Version of the target and then use the method above (splitting method of individual columns months) to achieve this.

    Why do you want to enter YearTotal, why not use BegBalance and add values to this member? (Just a thought)

    Concerning

    Celvin

    http://www.orahyplabs.com

    Please check the answers as useful/correct as appropriate

Maybe you are looking for