Definition of the State of a digital line indefinitely

First off, I don't know if I approach this problem in the right way, so feel free to point me in another direction.

What I'm trying to implement: I use the NI USB 6251, which is connected to a personalized card. The relevant part is that one of the devices with the fact that I'm communicating is a chip that uses the C-BUS Protocol. There is a CDATA and RDATA line to read/write the values of registers (8-bit), a line CLK to these input/output values of clock and line CSN (chip select) which must be removed down whenever data is written into the chip.

My attempt at implementation:

I use a task for the CDATA/RDATA + CLK lines. I connect the CLK by setting the ExportSignals.SampleClockOutputTerminal value to the physical address of the CLK line. Then, I use a DigitalChannel + a writer to write in the CDATA.

I have a separate task for the CSN, and this is the part that I'm not very sure. This line must be pulled down in any communication with the chip. So what I basically is this:

            chipSelectWriter.WriteSingleSampleSingleLine (true, false);
commWriter.WriteWaveform (true, waveform);
chipSelectWriter.WriteSingleSampleSingleLine (true, true);

What I do know, is that this really pulls the bass line long enough so that the waveform to write, or if he pulls it is low for a single sample and then returns.

My first instinct was to use the DataActiveEventOutputTerminal property, but because these lines are connected to the lines "PFI" (forgive my lack of understanding of the terminology), data acquisition informs me that this feature is not supported for PFI lines.

What would be the right way to program this scenario. Can you tell me some examples? I can post the code if necessary.

I discovered through more tests that the above code does what I want to do, so consider this issue resolved.

Tags: NI Software

Similar Questions

  • identify the State of a new line created in VO before committing

    Hello world

    I use jdev 11.1.1.7.0

    Is it possible to identify the State of a new line created in VO before committing (I mean that we can realize that this line is new without use of isDirty())

    Habib

    Concerning

    Ashish Awasthi blogged about this earlier. I have used this method in all my projects since I found it, and it works fine.

    http://www.awasthiashish.com/2014/04/performing-partial-rollback-undo.html

    This code is the interesting part for your need:

    public Integer getRowStatusTrans() {}

    / * Here the rank is variable reference in the collection, this expression returns an int value if it is

    2 change

    0-new

    1 - unmodified

    initialized-1-

    */

    entityState bytes = this.getEntity (0) .getEntityState ();

    return new Integer (entityState);

    }

  • Insert the statement so that a line taking more than 6 minutes.

    When I tried to insert just one line in a table... it's take more than 6 minutes. No idea why its causing so much time for just insertion of a line.

    Please advice...


    Kind regards
    Yasser.

    YasserRACDBA wrote:
    Charles,

    Yes you are right. Optimizer is set to rule that it is the version of Oracle 8i.

    Problem has been solved... rinse us just sharing pool and insert the statement was finished within 1 second.

    Still confused that how its related to the hot flushes of shared pool... May be due to bad hit ratio.

    Flushing the shared pool causes the instructions shared/updates cached so far in the shared pool to get hard analysis/optimized again. Explanation so the most obvious would be that for some reason, the implementation plan have been changed to the statement you're talking about, although the plan should be quite deterministic, because you're on 8i (no bind variable peeking questions) and using the optimizer basic RULE.

    Kind regards
    Randolf

    Oracle related blog stuff:
    http://Oracle-Randolf.blogspot.com/

    SQLTools ++ for Oracle (Open source Oracle GUI for Windows):
    http://www.sqltools-plusplus.org:7676 /.
    http://sourceforge.NET/projects/SQLT-pp/

  • DAQmx Read simultaneous calls on the same digital line

    Hi all

    I use v10.0 LV 32-bit on Windows 7.

    I use DAQmx Read (in a task) to check the value of a digital line. Is it OK to do this in two different locations in a program at the same time for the same digital line? Or I have to put a wrapper around reading to force operations to be sequential?

    Thank you
    Zola

    When you need to expose the capabilities of resources to multiple areas within a project (expand the scope of a resource) it is common to wrap the resource in an Action engine to encapsulate the resource functions. See here for an example of a 'Module on resources' material and a discussion animated about how this code help development construction and avoid resource conflicts.  If you have not read famous nugget again – he of Ben is a link in my tag "Required_Reading".

    Or more directly.  Yes, you should encapsulate these readings DAQ to avoid suspended

  • where can I find 'write to Digital Line.vi.

    Hello

    I have a few programs that run in Labview 7, installed in a machine. I want to migrate them in Labview 2011 installed in a new computer. After that I open the program in 2011, it retains the search all files and stop asking the screws 'write to Digital Line.vi', 'AO Update Channel.vi', 'update AO (value on the scale) channel ". I Googled it and some said I should install the drivers. I downloaded and installed the driver NOR-DAQmx 9.6.1, but there aren't always find these screws anyway to solve these problems? Thank you very much.

    If you pick up the VI and finds you, all you need to do is save your VI.  Remember the location the next time you open it.

  • Change the State of account reconciliation

    Hi Experts,
    1.) how can I read the value of OST_STAUS in JAVA?
    2.) can I change the value of OST_STATUS by a reconciliation personalized on-demand job inorder to change account status. If Yes, then how? If not, is there any other method by which I can change the status of an account for an instance of the application?
    I use 11 GR 2.
    Thank you
    Subin

    Usually you'd send configured, enabled or disabled as the status, but I guess that it would accept as those appearing in your resource object called "Definition of the State:" tab

    Commissioning
    People with disabilities
    Revoked
    None
    Activated
    Loan
    Put into service
    Provide information
    Pending

    Don't forget to click on the profile of reconciliation create after any changes however.

    -Kevin

  • Can PCI 6602:How I use digital lines of the Board of Directors and at the same time to generate trains of pulses by using a meter?

    Hello!

    My problem appeared when I tried to update my traditional NOR-DAQ legacy code to DAQmx.

    I use 2 meter (meter 5 and 7 meter) on PCI-6602, to generate trains of pulses, as well as the lines of e/s digital port 0 (the form lines from 0 to 7). What I do in my request, it's that I'm starting to generate the pulse train on the output of 2 meters and after that I play with the State of digital lines.

    Traditional, it was no problem to use the meters and digital lines at the same time, everything went perfectly, but in DAQmx, is not possible.

    What's happening: I start generating train of pulses on the output of counters, no errors, but when I try to change the State of a line of digital port the generation of the pulse train is stopped. What happens when I start the task associated with the digital way.

    My question is: is it possible to create a channel on digital lines without changing the channels created for meters?

    Another thing that I managed to do with the panels 'Measurement and Automation Explorer' and Test for PCI-6602, is basically the same thing, I generate trains of pulses on the output of the 7 meter and try to start a job on the digital line, but I get an error:

    "Error-200022 occurred in test Panel.
    Possible reasons:
    Measurements: Resource requested by this task has already been reserved by another task.
    Device: Dev4
    "Terminal: PFI8.

    On the contrary if I use the counter 0 or a counter 1 to generate trains of pulses I encounter the same problem.

    What resources are used by 2 to 7 of the PCI-6602 card counters and the counters to 0 and 1 do not use?

    Thanks in advance for any answer!

    Ciprian

    After doing some real tests on this device, I found that it is a normal behavior for the jury of 6602.  This is because when you start a task digital all 32 lines are configured for digital i/o, so it replaces your meter operation.  The article below the link explains a little more on this subject.  You must start the digital task before the task of counter to use the features of both in your program.

    2 meter and above will not work correctly when you perform digital i/o on NI 6601 or 6602

    http://digital.NI.com/public.nsf/allkb/43F71527765EEC3886256E93006CD00C?OpenDocument

  • SMU-6556 - how to control the rise in digital lines (hsdio) time

    Hello

    Is it possible to control the rise in digital lines SMU-6556 time?

    Even in a low frequency 10 kHz signal rise time is 2ns.

    TKS,

    Hello engfpe,

    The SMU-6556 is a 50 Ohm system, which means that the output is source series finished to be 50 Ohms and all our cables and accessories are 50 Ohms.  With this configuration, regardless of the flow of data, you should have a clean edge up or down, regardless of the data rate. The quality of the production (edge up or down) on your device is related to the adaptation of impedance of your cables.

    The SMU-6556 cannot adjust the speed of scanning by itself.  However, you can insert simple passive components to do it for you.  I have attached below the images.  The first is a diagram showing a way to slow down the edge.  The second is the a waveform simulation showing the rate of original edge before it slows down and the edge of idle.   This simulation is not the SMU-6556 but rather a generic digital output for concept.  In the schema that R1 is set on 34 Ohms because U1.8 has the 16 additional Ohms on the inside.  TL1 is the output of 50 ohms simulating the cable on the SMU-6556.  R2, R3, and C1 are components, you can insert after the SMU-6556 twist before moving your device/cable.  In this configuration from cable to your device is TL2 which is also 50 ohm, but it could be another impedance in which case you would change R3 to match.

    You can see in the attached images, you can slow down significantly the edge with this configuration by altering the C1.  I hope this helps.

  • Microsoft Defender is blocking the start of digital line (DLG.exe) by Avanquest Software detection

    Hello

    I use professional Vista as the operating system of my laptop.  Recently - specifically, since having started using COMCAST (cable TELEVISION) - provided internet service - I started having a condition of starting Windows in which Windows Defender gives notice it blocks a program from starting.  IDs Defender this program as: DLG.exe (Digital Line Detection), an application digitally signed by Avanquest Software.  He seems to have been (manufacturer?) installed in my computer (IBM Thinkpad/Lenovo) to 14/03/2008.  Path: C:\program files line detect\DLG.exe.  Since this notification Defender is new to me, please advise me - if you can - if it is a plu program allowed to run, its function, or if I should simmply withdraw from start-up operations to eliminate the constant defender notifications.

    Thank you for your consideration and support.  Feel free to contact me if you need additional details.

    With the best regards,.

    John

    DLG.exe is trying to detect if the telephone modem from your computer is connected to a digital line, for example a PABX .  It is safe to remove it from startup. Boulder computer Maven
    Most Microsoft Valuable Professional

  • Hide a line based on the State.

    Hello, I have a requirement where I have to hide a line based on the State. I am able to highlight the lines but hide the entire line does not work.

    Condition must be met on a line:

    • Thus, if a sum of EXP5_11, EXP6_11, EXP7_11 and EXP8_11 in a current group is all zeros hide this line. Please refer to the RTF-model.

    Attachments:

    • RTF-model.
    • XML file.
    • Sample output generated when the lines are highlighted the meeting status.

    Any help is much appreciated on how I can hide a line.

    EM-: [email protected]

    If please remove your IF condition and add the following code inside the foreach tag

    This works very well in my test.

  • Is possible to write the INSERT statement that fills two columns: 'word' and 'sense' of the file text with multiple lines - in each line is followed word that is the meaning?

    Is possible to write the INSERT statement that fills two columns: 'word' and 'sense' of the file text with multiple lines - in each line is followed word that is the meaning?

    Hello

    2796614 wrote:

    Is possible to write the INSERT statement that fills two columns: 'word' and 'sense' of the file text with multiple lines - in each line is followed word that is the meaning?

    Of course, it is possible.  According to what the text file looks like to, you can create an external table that treats the text file as if it were a table.  Otherwise, you can always read the file in PL/SQL, using the utl_file package and INSERT of PL/SQL commands.

    You have problems whatever you wantt?  If so, your zip code and explain what the problem is.

    Whenever you have any questions, please post a small example of data (CREATE TABLE and only relevant columns, INSERT statements) for all of the tables involved and the exact results you want from these data, so that people who want to help you can recreate the problem and test their ideas.  In this case, also post a small sample of the text involved file.

    If you ask about a DML operation, such as INSERT, then INSERT statements, you post should show what looks like the tables before the DML, and the results will be the content of the table changed after the DML.

    Explain, using specific examples, how you get these results from these data.

    Always say what version of Oracle you are using (for example, 11.2.0.2.0).

    See the FAQ forum: Re: 2. How can I ask a question on the forums?

  • Definition of Variables of severity of the code in the State

    HI -.

    Maybe it's somewhere in the docs, but I have not found.

    I have two Linux boxes that run a set overlapping process. One is the master, the other is a failover. What is currently the captain should be run all three processes, the other should be run only two. Because I'm not sure at any time which machine is going to be the master, I don't want to have two separate rules for watching these machines. I have the updated AppMonitor in place on the two processes at all three to the search. I can now determine the processes that are running on each machine:

    AppMonitor #InstancesFound = procA_on_machine1 where monitoredHost.name like machine1% and Application like '% procedure % '.

    AppMonitor #InstancesFound = procA_on_machine2 where monitoredHost.name like computer2% and Application like '% procedure % '.

    etc.

    Let's say that machine1 is the failover box and it runs only a process that is supposed to work. I want to set a Variable of severity level to Computer1 and another for the name of the process that is not running so that I can build an e-mail message that makes sense given the current state machines.

    So, how do I do (can I?) set a Variable of severity of the Groovy in the state code?

    Thank you

    -Craig

    You can define groovy expressions separated by a severity level, independent of the code of the state variables.

    for example

    the name of the expression: currentActiveNode

    expression:

    AppMonitor #InstancesFound = procA_on_machine1 where monitoredHost.name like machine1% and Application like '% procedure % ' #.

    If (procA_on_machine1 > 0) {return "Computer1"} else {return "Computer2"}

    the name of the expression: currentPassiveNode

    expression:

    AppMonitor #InstancesFound = procA_on_machine1 where monitoredHost.name like machine1% and Application like '% procedure % ' #.

    If (procA_on_machine1 > 0) {return "Computer2"} else {return "Computer1"}

    (Not really sure that the exact data you need, just an example)

  • Select lines based on the State of the same line

    Hello

    I have the following table structure and lines defind here
    http://sqlfiddle.com/#! 3f474/4/3

    I want Select if lines
    PRODUCT_NO
    is null, then I need to select rows that have the IS_PAYABLE = 'Y '. If
    PRODUCT_NO
    is not null
    then IS_PAYABLE will be ' no or IS_PAYABLE will be null.

    For example
    For PRODUCT_REG HPO_FABRIC, a
    PRODUCT_NO
    NULL if I need select this line only, not the other two rows.
    I can do
    select * from SUPPLIER_DETAILS where  IS_PAYABLE='Y'
    , but if there are many records with null or not null PRODUCT_NO

    How can I do this using sql?
    select
      PRODUCT_REG,
      PRODUCT_SUPPLIER_CODE,
      PRODUCT_NO,
      START_DATE,
      END_DATE,
      IS_PAYABLE
    from (
    select
      PRODUCT_REG,
      PRODUCT_SUPPLIER_CODE,
      PRODUCT_NO,
      START_DATE,
      END_DATE,
      IS_PAYABLE,
      row_number() over (partition by product_reg order by decode(is_payable,'Y',1,'N',2,3), product_no nulls first) rn
    from
    SUPPLIER_DETAILS
    )
    where
    rn = 1
    
    PRODUCT_REG     PRODUCT_SUPPLIER_CODE     PRODUCT_NO     START_DATE     END_DATE     IS_PAYABLE
    HPO_FABRIC     JP_008     -      08/01/2001     08/31/2001     Y
    STG_PIL     SJ_090     STG-PILLOWS     01/04/2001     01/31/2001     - 
    

    Published by: chris227 on 17.09.2012 13:30

  • Default settings for digital lines? USB-6009

    Hi all

    I use the digital lines on my USB-6009 to control normally open SSRs.  When I turn on the system, I would like to have the digital lines on the USB-6009 case to automatically configure themselves to be output digital lines put in position "Low", so I don't spend on my SSRs until I gave the command.  Is there a way to do this?

    Thank you.

    Cannot set default on 600 x Renault States, unfortunately.

    Do a genius on the hardware side, knowing the lines are pulled high on the acquisition of data is initialized. and if certain combinations of outputs produced a dangerous situation, you must stop to happen in hardware.  Good practice to do so anyway.

    Another option is to use an analog output, those can pump a little more power than otherwise to 1V, and do what is usually not sufficient to turn of SSRs.

  • Can I create a digital line written task in another digital line written task (NOR-6723)?

    Hello! I need to build an application that follows these steps in the order shown:

    1. create a task that writes a numeric value ('1 ' or ' 0') on line1 digital to a NOR-6723;

    2. create a task that generates a clock on the same Board $line0 pulse. So, when the value of the line of $line0 has been set, a transition from '0' to '1', and then '1' back to '0' must be made on the $line0.

    So, I have the following pseudocode:

    1. create Task1

    2. create digital output channel ' Dev1/port0/line1.

    3. write bits of data ('0 ' or ' 1') on digital line1

    4. stop & erase Task1

    5. create Task2

    6. create the digital output channel ' Dev1/port0/$line0.

    7 write bit '0' on digital $line0 data

    8 write '1' on digital $line0 bit data

    9. write the data bit '0' on digital $line0

    10 stop & erase Task2

    After I stop & erase Task1 (step 4), the digital line1 remains in the State that gave step 3. But, once I created a digital channel for $line0 (step 6), line 1 is in the State of initialization (high State - because of the low pull-up), so when Task2 generates the clock on $line0 pulses, the data written bit on line1 is compromised (it will always be '1').

    My question: should I move 4 step after step 10? I mean stopping and disabling Task1 bring Task2 AFTER WHAT had been arrested and cleared?

    Is that what this ensures that value of Line1 remains unchanged until the end of the entire application (once Task2 completed)?

    Please help me!

    OK, don't know the exact calls in labwindows, is perhaps the easiest thing to create a taste of writing on the complete port.

    In this case you write every line for 8 lines of the digital port at the same time.

    Use is some form of a variable (U8) and associated function which can hide and update the bits in a number of U8

    I guess that there is a form any to make an OR operation bitwise or function AND to hide the bits of interest

    1 Create variable (U8) = b0000000

    2. create Task1

    3. create a digital output PORT ' Dev1/port0.

    Update 4 line 1 by 1 in the variable: 00000010 (this should be a routine you create - see crude example below)

    5. write variable to Dev1/port0

    Update 6 line 0 with 1 in variable: 00000011

    7 write variable to Dev1/port0

    Update 8 line 0 0 in variable: 00000010

    9 write variable Dev1/port0

    10 stop & erase Task1

    Function UpdateVariable (line; variable value)

    If line = 0 then

    If value = 0 then

    variable = variable AND b11111110

    on the other

    variable = variable OR b00000001

    otherwise if line = 1

    If value = 0 then

    variable = variable AND b11111101

    on the other

    variable = variable OR b00000010

    Hope that helps

    Katya

Maybe you are looking for

  • Can not see: config, will require a readjustment

    So, I tried to test the effectiveness of the images of the retina in this site that I am building, and I inadvertently put layout.css.devPixelsPerPx to something absurd like -12. Now, I don't see anything on the page, and I need to reset the configur

  • Battery so bad

    Why my battery is bad? I have iphone 6pluse the 2 hours, how battery life

  • Problem with my Qosmio G40 - 10F BIOS

    Hello I m desperate I need access to my computer before Wednesday or I could lose my job. I installed an SSD that went well. I adjusted the BIOS settings and now my computer will not boot. He goes to logo Qosmio and logos of hard drives USB etc and c

  • Tecra M2 - stop hard on high CPU (turns off with no BSOD)

    Experienced stops consistent when the CPU is running at full during a little while.-J' mean 'stops' complete power cut with no blue screen of death where all is lost and the computer must be restarted manually.-by "high CPU", I mean when the processo

  • How I can activiate unsupported sim for my iphone I can't unlock it

    How I can activiate unsupported sim for my iphone I can't unlock it