Written for several digital lines separated by commas

Hello people,

I use a USB-6009 box and want to write several digital lines created in the style, separated by commas:

error = DAQmxCreateDOChan(taskSelHead,"dev3/port0/line0,dev3/port0/line6","",DAQmx_Val_ChanPerLine);

When I try to write in this channel I do

uInt8 data [8] = {d1, 0, 0, 0, 0, 0, d2, 0}; with d1 and d2 that represents 0 or 1, which bits I want to get written

int error = DAQmxWriteDigitalLines (taskSelectFilter, 1, 1, 10, DAQmx_Val_GroupByChannel, data, NULL, NULL);

The result is, this only $line0 is updated, lin6 rest 0.

I also tried DAQmxWriteDigitalU8 with the same effect.

Can anyone help?

Thanks in advance,

Michael

Hi Michael,

you have defined two dig.out channels in your task: line 0 and line 6. So, when you write an array of string values, d1 Gets the mapping to your line 0 straight - but line 6 still receives a zero!

Have you tried to set data uInt8 [2] = {d1, d2}?

Best regards
Sebastian

Tags: NI Hardware

Similar Questions

  • Outbreak of several digital lines of a single window using PCI 6353

    Hello

    I use a PCI 6353 to control a laser for a PIV system. The laser requires 4 pulses (F1, F2, T1, T2) on different channels. It would be easy using 4 counters on the Board, but I also need to trigger the camera. The card has a lot of output digital, so I thought I could use 2 meters and four digital outputs.

    I thought that, by setting the pulse counter from 0 at a time duration between F1 and T1 and triggering a rising edge and T1 F1 a front down using output internal), I would be able to solve the problem. However, the system I cannot trigger the two lines of the same internal output. I don't know why. I have attached two vi, one for a single channel that works very well and the other with two channels. I am also attaching a diagram of approximate time of my proposed solution.

    I am not absolutely put on this format, so if this is not possible and you have another solution, please let me know. Accuracy is the key here, the widths of pulse being about 1 microsecond and the intervals between F1 and Q1 being approximately 10 microseconds, so I think the hardware timing is essential. However, I'm not quite clear on interact it with the digital pulses and counters.

    Kind regards

    Joe

    Hey Joe,

    All the lines that you want to use for quick time ARE on the 6353 must be in the same spot.  Unfortunately, you can't start or clock several lines independently.

    That said, I think that the simplest solution would be to simply create a waveform suitable for generating all 6 signals with.  You should be able to clock up to 10 MHz, which gives you 100 ns resolution.  If you need 1 us resolution, then you could get by synchronizing the c to 1 Mhz.  While you could technically use a combination of counters and to get what you need, it should not be necessary in your case.  All you need is a single task with the waveform appropriate to generate your desired signals.

    Best regards

  • AutoNumber for several fixed lines

    I often used the AutoNumber for instances of dynamic lines without problem, but now have a problem where my table starts with 3 rows with different content and that the user needs to be able to add and delete rows, while maintaining the automatic numbering.

    I created the table with three rows and each row has the same name (Table1.Row) - I put binding to rehearsal with Initial line Count, the value 1 - No Minimum number

    On a text field in the same row, I use the Calculate event with

    vIndex var = ['b', 'b', 'c'];
    var i = this.parent.index;

    this.rawValue = vIndex [i];

    This product lines with (a), (b) and (c)

    I have a Remove button to each line - Click event

    Table1.row.instanceManager.setInstances (0)

    -It deletes the line I click

    Everything is good so far, but automatic numbering does not recalculate the remaining lines when I delete one.

    Does anyone have an idea how I can get the remaining lines to recalculate? I tried to put

    XFA. Form.Recalculate ();

    in various events, but no joy

    Well - found my own solution. Identical to the above, but

    ' On a text field in the same row, I use the event Layout: ready with.

    vIndex var = ['b', 'b', 'c'];
    var i = this.parent.index;

    this.rawValue = vIndex [i];

    This product lines with (a), (b) and (c) - and the deletion works to remove the line and renumber remaining ones.

  • Crash when selecting digital lines

    Today, I tried to get the routing in the DAQmx card work. While I was first with an external connector to wire a counter in a PFI line, I thought to this internal routing. He worked and had to restart the pc to check if she was still working after restart.

    Since the restart, LV 2012 guard crashing to the VI, see:

    The culprit is the selector to select digital output lines for the DAQmx, but I can't find out why and also I can not solve. First of all, I had a list of the output lines and selected bonds. Now, the list is empty. When you select the drop, after a few clicks LV crashes. However, I do not understand that it makes account, it cannot find the disc hard \Device\Harddisk\DR1. I have only one hard disk in the system and that one works properly.

    Lvlog.txt shows the error has to do with the transact.cpp (1454):


    15:48:41.014 03/06/2013
    Coolish 0xAC17A51A: text hidden after the mouse-><27>
    e:\builds\penguin\labview\branches\2012patch\dev\source\editor\transact.cpp(1454): coolish 0xAC17A51A: hiding the text after the mouse-><27>
    Minidump ID: ab53c62e-6dc7-4702-b477-645b916e4663
    $Id: //labview/branches/2012patch/dev/source/editor/transact.cpp#1 $

    Attached are the screws of the project and the log files.

    I tried the following:

    -reset the devices in MAX

    -reset the configuration data in MAX

    -restart the computer

    -deleted the cache of compiled objects

    LabVIEW plug is:

    ####
    #Date: sea 6 March 2013 15:44:44
    #OSName: Windows 7 Professional Service Pack 1
    #OSVers: 6.1
    #OSBuild: 7601
    #AppName: LabVIEW
    #Version: 12.0f3 32-bit
    #AppKind: FDS
    #AppModDate: 04/10/2012 15:12 GMT
    Base address of #LabVIEW: 0x00400000

    MAX version: 5.3.1

    The questions I have are:

    -takes down also to when you create a constant for the Digital lines create you Channel.vi in the DDS - output Config.vi?

    -does anyone have any suggestions on what I might try?

    Hello

    I can create the DAQmx constant without problem and also to display the digital lines available with DAQ hardware that I have connected to my PC.

    Have you tried to create the constant directly with Create > Constant for input lines?

    You can create the DAQmx constant in a blank VI? You can insert a control name on the sign DAQmx front of the modern > range of I/O?

    As I can not reproduce the crash, it seems that something has been corrupted in your installation. You can try to repair the DAQmx and LabVIEW software and in the cases where it does not work you can try to reinstall the software.

    Bye,.

    Licia

  • Select the column of values such as 1 row of values (separated by commas)

    Hi all

    I've got a column of values:

    2062
    2063
    2072
    2073
    etc...

    How to choose these values as a single line (separated by commas)?

    Here is my test scenario:
    select '2062' as bacc from dual 
    union all 
    select '2063' as bacc from dual
    union all 
    select '2072' as bacc from dual
    union all 
    select '2073' as bacc from dual

    http://rogertroller.blogspot.com/2009/10/5-ways-to-aggregate-columns-into-comma.html

    There is an option is missing... the new oracle 11g listagg function

    HTH

  • I'm trying to create a PDF file with several signature lines in that anyone can "Sign" by using their digital signature CAC (Common Access Card) active. The goal is to have a single document that people can open, sign on a designated line and save the doc

    I'm trying to create a PDF file with several signature lines in that anyone can "Sign" by using their digital signature CAC (Common Access Card) active. The goal is to have a single document that people can open, sign on a designated line and save the document (replacing the existing document) and close. Then another person can open the same document digitally sign another area of the form, save it, and close it. So on, and so on. Is there a way to do this? At the end of the day, I would end up with a PDF file with literally hundreds of signatures to enable different ACC everywhere...

    I don't understand what the problem is. In the post of the davidr96549424 on May 8, 2015 07:58 you presented a structure of a correct document. Is the issue of the creation of this structure in a PDF file? For this, you will need an Acrobat, not reader.

    XI in Acrobat, select Tools-> forms-Edit. Click 'No' on the form fields 'detect '. In the tasks Panel that opens, click on "add new field". Select "Digital Signature" and move it to the location in the document where you want to than the appearance of the signature to be. Repeat that for signature fields as you want. Users will sign by clicking on the prepared unsigned signature field which shows the dialog box "sign. Do not forget that as TSN has noted that a digital signature applies to the entire document. The entry in the document where it is is irrelevant. Each next signature covers all previous signatures.

    Your users can also sign a document from anywhere that they want without signature fields already prepared. For this select fill & sign-> work with certificates and the type of signing you want to sign up with. A dialog box that will tell you a rectangle for the appearance of signature rises and after you draw the rectangle of the dialog 'Sign' rises.

    PDF/Acrobat doesn't have a limit on a number of signatures in a PDF document. But! Don't forget that when you open a PDF file with Acrobat/Reader signatures valid all of them and takes time (several seconds - until 10 - for every signature), so if you have several signatures of dozens of their validation open can take a long time.

    I don't know how build you your workflow so that each person signs the same PDF and saves it. Economy runs on the same computer where the PDF is stored. You'll have to decide how to allow different people to have access to the same PDF. They, of course, you may sign this only one-at-a-time PDF.

  • Result may contain the unique string or separated by commas must split into lines

    Hi all... I searched through the forums and found a lot on separation with commas in lines; Although I'm fighting apply to my situation. I have data that looks at the below where I need to divide a value in several lines if she should be, but the same field in the table may also contain a string which should not be separated (indicated by the field 'Array' be 0 or 1)...
    WITH t AS
    (SELECT 1 as array, '"Banana", "Apple", "Pear"' as str FROM dual union all
    SELECT 0, 'Fruit is delicious' FROM dual union all
    SELECT 0, 'So are vegetables' FROM dual union all
    SELECT 1, '"Bean", "Carrot", "Broccoli"' FROM dual union all
    SELECT 1, '"Apple", "Banana"' FROM dual)
    I looked through several of the connect_by on the forum posts, and I've not met one that divides a field if it should be, but not if it is not... maybe missed it because there are a lot of these requests on the forum!

    If you are feeling more ambitious - the ultimate goal is to count the number of times where an answer appears in a table - view up to the last part of the data contain 'Apple', 'Banana'... the result are:
    RESULT
    ----------
    Banana             2
    Apple              2
    Pear               1
    Bean               1
    Carrot             1
    Broccoli           1
    Fruit is delicious
    So are vegetables
    I can always sort more later from the other fields in the table - but the result above would be my ultimate goal!

    Any help is always appreciated. Thank you! 31%
  • I developed an Android application for a Digital Magazine with Digital Publishing Suite (Professional). Several weeks ago, I received this message from Google game: "we wanted to let you know that your app (s) listed below statically link against a versio

    I developed an Android application for a Digital Magazine with Digital Publishing Suite (Professional).

    Several weeks ago, I received this message from Google game: "we wanted to let you know that your app (s) listed below statically link against a version of OpenSSL that has several vulnerabilities for users. Please migrate your app (s) to a new version of OpenSSL within 60 days of this notification. From 07/07/15, game Google will block the release of new applications and updates that use versions older, not supported by OpenSSL (see below for more details). »

    I've updated the Android App using function Web app Designer, but they keep sending me this message. I don't understand what I have to do.

    Hi Sheila,

    If you connect to your Google game account, it will show you who sent you the warning to the apps. The generator on the web app produces Android apps which are not affected by this vulnerability.

    Neil

  • How to search for a particular text values separated by commas

    Hello

    I have a table for example. TB_Fruits.
    In that I have a FruitsName (Varchar) column
    In this column I store the string of values separated by commas.
    Select FruitsName in the tb_fruits;
    Result: orange, banana, Apple

    Now the question is suppose that if I try inserting one of these fruits once again name, then it must not allow me to insert.

    Suppose that now if I try to insert ('grapes, banana')
    or
    (Apple, grape")

    the orange, banana, Apple may be in any position.

    How to check if one of these names exist already or not in the fruitsname column?
    I can't use INstr function here as or. because the position is not fixed chain even not.

    Appreciate any help.

    Hmm, OK, the BASIC_LEXER in the documentation is specified is useful to "spaces separate languages". So not really a good suggestion from my side ;-)

    Okay, so a few different choices, you can play with:

    SQL> create table tb_fruits (
      2     fruitsname  varchar2(60)
      3  )
      4  /
    
    Table created.
    
    SQL> begin
      2     insert into tb_fruits values ('BANANA,APPLE');
      3     insert into tb_fruits values ('YELLOW BANANA,ORANGE');
      4     insert into tb_fruits values ('GREEN APPLE,YELLOW ORANGE');
      5     insert into tb_fruits values ('APPLE,GREEN BANANA');
      6     commit;
      7  end;
      8  /
    
    PL/SQL procedure successfully completed.
    

    Option 1:

    Make a outdated AS operator. It just won't be fast because it's more likely will be full table scan (or scan restricted index full).

    SQL> select fruitsname
      2    from tb_fruits
      3   where ','||fruitsname||',' like '%,'||'APPLE'||',%'
      4  /
    
    FRUITSNAME
    ------------------------------------------------------------
    BANANA,APPLE
    APPLE,GREEN BANANA
    
    SQL> select fruitsname
      2    from tb_fruits
      3   where ','||fruitsname||',' like '%,'||'BANANA'||',%'
      4  /
    
    FRUITSNAME
    ------------------------------------------------------------
    BANANA,APPLE
    
    SQL> select fruitsname
      2    from tb_fruits
      3   where ','||fruitsname||',' like '%,'||'YELLOW BANANA'||',%'
      4  /
    
    FRUITSNAME
    ------------------------------------------------------------
    YELLOW BANANA,ORANGE
    

    Option 2:

    Transform your data and replace the spaces with underscores. Which may or may not be a possibility for you. If your other data contains no underscores, you might fool your user interface using a view that replaces underscores with spaces when you select and a trigger before insert that replaces spaces with underscores to insert or update. Then, you can use the TEXT index.

    SQL> create table tb_fruits2 as
      2  select replace(fruitsname,' ','_') fruitsname
      3    from tb_fruits
      4  /
    
    Table created.
    
    SQL> begin
      2     ctx_ddl.create_preference('mylex', 'BASIC_LEXER');
      3     ctx_ddl.set_attribute('mylex', 'printjoins', '_-');
      4  end;
      5  /
    
    PL/SQL procedure successfully completed.
    
    SQL> create index fruitsname_idx on tb_fruits2 (fruitsname)
      2  indextype is ctxsys.ctxcat
      3  parameters (
      4  'stoplist ctxsys.empty_stoplist
      5  LEXER mylex'
      6  )
      7  /
    
    Index created.
    
    SQL> select fruitsname
      2    from tb_fruits2
      3   where catsearch(fruitsname,replace('YELLOW BANANA',' ','_'),null) > 0
      4  /
    
    FRUITSNAME
    ------------------------------------------------------------
    YELLOW_BANANA,ORANGE
    

    (I used CTXCAT rather then CONTEXT indexes to keep simple search syntax, avoid SYNCHRONIZATION problems and others. You can use CONTEXT or CTXCAT as desired.)

    Option 3:

    Transform your data in XML format instead of values separated by commas. Then create a XMLIndex.

    SQL> create table tb_fruits3 as
      2  select xmltype(''||replace(fruitsname,',','')||'') fruitsname
      3    from tb_fruits
      4  /
    
    Table created.
    
    SQL> create index fruitsname_xmlidx on tb_fruits3 (fruitsname)
      2  indextype is xdb.xmlindex
      3  /
    
    Index created.
    
    SQL> select fruitsname
      2    from tb_fruits3
      3   where xmlexists('$f/l[w="YELLOW BANANA"]' passing fruitsname as "f")
      4  /
    
    FRUITSNAME
    --------------------------------------------------------------------------------
    YELLOW BANANAORANGE
    

    (I used just 'l' for 'list of the words' and 'w' for 'word').

    Option 4:

    Create your own [url http://docs.oracle.com/cd/E11882_01/text.112/e24436/cdatadic.htm#i1008347] USER_LEXER instead of a variant of BASIC_LEXER. This would require allows you to create your own stored procedures for the index to be used, in which case you have complete control over what you set in the form of a token.

    That's the different options I can think of right now ;-)

  • COMMIT statement for a selected line

    Hello
    I'm working on an OAF page where there is a table region.
    This area of the table is linked to a VO and VO at an OA.
    I plugged on an EO because the user must be able to enter data directly on the table.

    I gave a button down save so that clicking on it, you need to a handler function in my AM.

    In the manager function, I getAllFetchedRows in a table, then one by one, I perform checks and then save by calling getOADBTransaction.commit after (vo.setAttribute) with the corrected values.


    Now my problem is that I use the same OS used in the above table when recording. So even if I want to save the line by line after audits by programming, the time getOADBTransaction.commit is called for the first line, all lines is saved without even going through the controls.

    Is there another way to call the validation so that it only records the line passed and all the lines.

    Concerning
    Hawker

    Raj,

    As the method getOADBTransaction.commit is called it will hire all the rows in your table, as you have in the annex EO based VO.

    For your condition, you will need to set the commit to the final loop instead of put for each iteration.

    Kind regards
    GYAN

  • With the help of a string of separated by commas as lines

    HT a column in which I store the name separated by commas, I have to show them that the lines in a report...
    Help, please

    Check out this link...

    http://nimishgarg.blogspot.com/2009/12/Oracle-SQL-use-comma-seprated-string-to.html

  • Enter several values in the text box, separated by commas and spaces

    Hello

    I have the following syntax as my request to report to the opening of user_names in the area of text separated by commas, but the user sometimes come with a space between commas, could someone please let me know
    How this can be controlled, both when the user uses the space or not use space as well as the comma recording several user names in the text box?
    select 
    *
    from   DW_RFA_JOBDATA
    where  FINISH_TIME >= :P1_START_DATE 
    and FINISH_TIME < :P1_END_DATE
         AND  instr(',' || :P1_USER || ',', ',' || USER_NAME || ',') > 0
     OR (USER_NAME = USER_NAME AND :P1_USER is null)
    Thank you

    Select
    *
    of DW_RFA_JOBDATA
    where FINISH_TIME > =: P1_START_DATE
    and FINISH_TIME<>
    AND instr ("," |) REPLACE (translate (: P1_USER, '! @# $% ^ & * () _-+= {[]}] |------:; ~ ',' '),' ', "). ',', ',' || USER_NAME | ',') > 0
    OR (USER_NAME = USER_NAME AND: P1_USER is null)

  • 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.

  • Single virtual channel with several digital ports

    Hi all

    I created a program that creates a task to read continuously for 3 lines of digital channels in the same unit (PXI-6133). I'm trying to figure out how I can retrieve the data from each row of port to be in a waveform graph. Currently, I use DAQmx Read instance with '1 channel N samples' but I get a waveform with all the values at the same time or a graph of waveform with the three lines transposed.

    I use Windows XP and LabVIEW 8.6.

    Appreciate any help!

    Matt,

    I'm sorry to have brought this on you but I thought about it. I misread the description of vi DAQmx create a task for a digital input. I thought that several lines of port could not be divided into several channels, but it was all physical ports.

    For those seeking another response: I was able to specify 'a channel for each line' in the task of creating, and then in the DAQmx Read task, I indicated "N channel N samples" and finally analyzed the 1 d table to get the data for each port.

    Thank you for your time!

  • Apex.mail p_cc for several e-mail addresses which are variable

    This should be a very simple here is my code

    < tt >

    APEX_MAIL. SEND)

    p_to = > ' [email protected] ',

    p_cc = > ' events. CONTACT_EMAIL, [email protected]', <-next does not work because events. CONTACT_EMAIL is a variable

    p_from = > ' [email protected] ',

    p_body = > ' ',

    p_subj = > ' Date of scheduled critical event is close! Alert 1 - Variable try 3rd ',.

    p_body_html = > ' < b > < /b > RESSA team critical event notification! < br > < br > the ' | events. EVENT_NAME | ' critical event is not yet complete! < br > < br >

    Please fill out all the required measures and then mark the event as State finished in order to avoid escalation, thank you.

    < br > < br > a brief review of the event details: < br > < br > < table border = "1" style = "width: 100%" > < tr > ' | events. EVENT_DESC | ' < /tr >

    (< /table > ');

    < /tt >

    so the p_cc line is not error, but this isn't work. If I change this line to ' p_cc = > . ' [email protected] , [email protected] ',

    It will work but I need to use variables and addresses coded e-mail is not difficult. I'm looking for the simplest solution please.

    Any ideas? -Apex 4.2 - pc windows 7

    Hi Richie,

    You must concatenate your variables into a single string with email, separated by commas:

    p_cc-online variable1 | ',' ||  variable2

    Sergio

Maybe you are looking for