Apparent altered DIO line input state on 4351 when using driver instead of NI MAX

Hi,
I'm using an NI4351 PCI DAQ card with the Ni435x driver and LabWindows/CVI v5.5 (on Windows 98) to capture digital logic states on the DIO lines. I first used NI's MAX utility to establish a virtual DAQ input channel from 'Data Neighborhood'. When I tested this channel from the utility by connecting the DIO line to 5V or GND via a 10K resistor, the respective logic levels were registered. In LabWindows, I use the 'NI435X_Init' and 'NI435X_Configure_Digital_Lines' driver functions to respectively initalize the DAQ card and set one of the DIO lines as an input, with the rest being set as outputs. However, I cannot read the input line using 'NI435X_Read_Line' unless I directly connect th
is channel to 5V or GND (i.e. without a 10K resistor), but 'NI435X_Write_Line' works fine. It would appear that the input state of the DIO line is different to that established by NI MAX. Is there something other than the initialize function that should be called? I tried the following linemask combinations to set the port lines, by using F or 1 to represent an output and 0 to represent an input:
NI435X_Configure_Digital_Lines(DAQ_session, 0x0FFFFFFF) // DIO 0 set as input, the rest as outputs
NI435X_Configure_Digital_Lines(DAQ_session, 0x01111111) // DIO 0 set as input, the rest as outputs
I am unsure which format, if either, is correct and would be grateful for any help on this anomaly. Thanks.

Hi Kevin,
Yes, if I connect an input channel directly to 5V, the software reads a logic high and continues to read this level even when I disconnect the channel and leave it "floating". The state changes to logic low only when I connect the channel directly to GND and then it stays at this level, even if I disconnect it from GND. In other words, the states seem to 'latch'. Nothing happens if I connect via the 10K resistor - the channel simply remains at the logic level it was last set to after I momentarily connected it directly to 5V or GND.

Similar Messages

  • How can I keep a state machine readable when using large amounts of in/outputs

    Hello, I am new to Labview,
    Read trough the fundamentals and the
    getting started and a lot of examples.
    What I want to do is use a standard
    state machine from the template, and add some stages, for example
    orange, apple, banana. At this point I can use numeric controls to
    put in the amount of oranges, apples, bananas there are. I can even
    use a led to tell the user which state of the state-machine is
    active.
    The thing is there will be more numeric
    controls and more leds and it would be nice if the code would still
    be readable when there are 20 inputs and 20 outputs.
    Questions
    (1) It would be nice if I could use the
    typedef to select the right state AND the corresponding numeric
    controls and leds out of a cluster or an array kind of structure to
    keep the number of wires low. Is this possible, how can I do this?
    (2) I tried to put the numeric controls
    into a cluster but that way I can't put the numeric control for the
    apples in the upper right corner and the numeric control for the
    oranges in the lower left down corner of the front panel.
    (3) An example would be really nice, I
    know that I saw some examples describing this problem but there are
    so many examples that after a few hours of searching I haven't found
    the right one yet.
    Thanks in advance for the effort.
    p.s. I will not use Labview to do
    calculations on fruit, I am only using this to make the question
    easier to understand.

    I can only start a proper answer but I might as well start with that.
    When I am developing State Machines I have to think about what data is used and manipulated in each state. I then have to think about where am i going to keep and manage the data. I list all of the fields that are "touched" in each state and what values are used together and which are independent form the others. After this phase of the analysis, I usually have some data structure defined (cluser array etc).
    Then I flipp from thinking about the state to thinking about the data (after all this is LabVIEW and the data-flow paradigm is critical). If I see data that is only used by the State machine and is used in many of the states, then the data structure get put in a shift-register for easy access in each state. This maybe enough of an answer for your fruity question.
    When i see data that is shared or only used in a handful of states then I concider putting the data in an Action Engine. Depending on how you design your AE, you can access each of the fruit totoal by name or increment etc as required.
    If your app demands many fileds that are all related (can't be broken into distinct data structures) then create a cluster that has all of your values that are used by the AE. Then create an Wrapper VI for each call of the AE but only put the associated fields on the FP of the wrapper and then bundle that value into the cluster and invoke the AE.
    Ben
    PS: Sorry about reverting to neBulus mode but this topic could take days to cover in detail.
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • When printing a copy of my bank statement I get a mess. The statement prins fine when using the 3.6.

    When trying to print a copy of my bank statement I can't read what is printed. It prints fine when using my 3.6

    Check the connection settings.
    *Tools > Options > Advanced : Network : Connection > Settings
    If you do not need to use a proxy to connect to internet then select "No Proxy" if the default "Use the system proxy settings" setting doesn't work.
    See "Firefox connection settings":
    *https://support.mozilla.com/kb/Firefox+cannot+load+websites+but+other+programs+can
    Please update Firefox to the latest version via "Help > Check for Updates or Help > About Firefox"<br />
    The Firefox 3.5.5 version that you use is no longer maintained with security and stability updates.<br />
    Using unsupported Firefox versions is at your own risk and makes you vulnerable to attacks.<br />
    Users of no longer supported Firefox versions are strongly recommended to update to the latest release that is supported by their system.
    *Firefox 7.0.x: http://www.mozilla.com/en-US/firefox/all.html
    *Firefox 3.6.x: http://www.mozilla.com/en-US/firefox/all-older.html
    *http://en.wikipedia.org/wiki/Vulnerability_(computing)
    *http://www.mozilla.org/security/known-vulnerabilities/

  • Error line 392 in eventoracle.cpp when using activeX callback vi.

    I am using an activeX control built in VC6.0. I followed the instructions to handle the activeX event using the Reg Event Callback node. It is being handled because I have a message box within the handler that does appear. But after the handler executes, LV crashes with the statement that eventoracle.cpp failed at line 392.

    I found that the issue is not the ActiveX event, but where is the event fired from in the ActiveX control. I have a worker thread that calls the parent thread's method to fire the event. If I move the firing of the event outside of this worker thread, I have no problems getting handling the event.

  • How do I get audio input to my TV when using a HDMI adaptor/converter?

    I bought a Belkin HDMI converter for my mid-2010 Macbook Pro so that I can watch internet movies on my television. When I plugged the HDMI into the adaptor I am able to see the video play on my television however the sound is still coming through my computer instead of my televsion. How do I get audio input from my computer onto my TV?

    You need to set the output in System Preferences > Sound > Output to HDMI.

  • Blank Lines at end of file when using Variable Substitution in File Adapter

    Hi all,
    I'm using variable substitution in a File Adapter, it's refers an element of message, like:
    filename    payload:MESSAGE_INTERFACE,1,FILENAME,1
    The variable substitution is working right, but it's append a BLANK LINE at end of file.
    Anyone knows how to solve this problem ?
    Thanks in advance.

    Hi Regis,
    I suppose you're using content conversion?
    if so try adding
    <b>endSeparator</b> = '0'
    to your last element
    this will delete the default line break at the end
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions">XI FAQ - Frequently Asked Questions</a>

  • Updating VBAP line information in user exit when using VA02

    HI All
      I am trying to update the values of VBAP-CHARG in user exit form USEREXIT_SAVE_DOCUMENT for all line items. But i am unable to update the values though it gets reflected in xvbap.
    Kindly help me in this.
    thanks and regards
    shilpa

    Hello Shilpa,
    At the point where this userexit is called the data has already been sent to the database (in update task) hence any changes you do to the internal tables are not reflected on the database. If you want to change the data of the internal tables e.g. xvbap use the userexit USEREXIT_SAVE_DOCUMENT_PREPARE instead. This is called before the data is posted.
    Regards,
    Michael

  • Smartform : line type not working fine when used on Next page

    Hi ,
    Please help on below :
    I have a smartform and have line type which is used in printing the items.
    When I use this line type on very first page , it works fine.
    But for the next page which is the exact copy of first page ,
    the line type does not work fine with printing first line item on next page,
    it refreshed the work area which i am printing. so on the next page very first element gets all the values 000
    But on the next iteration it works fine and does not refresh work area.
    Please see why is such abnormal behavior happening.
    Regards,
    Uma Dave

    Hi Ameya
    there might be syntax error. Try to get what exaclty is an error using following code.
    CALL FUNCTION <smartform>
        EXCEPTIONS
        IF SY-SUBRC  0.
           CALL FUNCTION 'SSF_READ_ERRORS'
                IMPORTING
                     ERRORTAB = IT_ERRORLIST.
         ENDIF.
    In IT_ERRORLIST you will get error message.
    Regards
    Sachin G Patil

  • How to skip first 5 lines from a txt file when using sql*loader

    Hi,
    I have a txt file that contains header info tat i dont need. how can i skip those line when importing the file to my database?
    Cheers

    Danny Fasen wrote:
    I think most of us would process this report using pl/sql:
    - read the file until you've read the column headers
    - read the account info and insert the data in the table until you have read the last account info line
    - read the file until you've read a new set of column headers (page 2)
    - read the account info and insert the data in the table until you have read the last account info line (page 2)
    - etc. until you reach the total block idenfitied by Count On-line ...
    - read the totals and compare them with the data inserted in the tableOr maybe like this...
    First create an external table to read the report as whole lines...
    SQL> ed
    Wrote file afiedt.buf
      1  CREATE TABLE ext_report (
      2    line VARCHAR2(200)
      3          )
      4  ORGANIZATION EXTERNAL (
      5    TYPE oracle_loader
      6    DEFAULT DIRECTORY TEST_DIR
      7    ACCESS PARAMETERS (
      8      RECORDS DELIMITED BY NEWLINE
      9      BADFILE 'bad_report.bad'
    10      DISCARDFILE 'dis_report.dis'
    11      LOGFILE 'log_report.log'
    12      FIELDS TERMINATED BY X'0D' RTRIM
    13      MISSING FIELD VALUES ARE NULL
    14      REJECT ROWS WITH ALL NULL FIELDS
    15        (
    16         line
    17        )
    18      )
    19      LOCATION ('report.txt')
    20    )
    21  PARALLEL
    22* REJECT LIMIT UNLIMITED
    SQL> /
    Table created.
    SQL> select * from ext_report;
    LINE
    x report page1
    CDC:00220 / Sat Aug-08-2009 xxxxp for 02/08/09 - 08/08/09 Effective Date 11/08/09 Wed Sep-30-2009 08:25:43
    Bill to
    Retailer Retailer Name                  Name on Bank Account           Bank ABA   Bank Acct            On-line Amount  Instant Amount  Total Amount
    ======== ============================== ============================== ========== ==================== =============== =============== ===============
    0100103  BANK Terminal                  raji                           123456789  123456789            -29,999.98    9 0.00         99 -29,999.98
    0100105  Independent 1                  Savings                        123456789  100000002            -1,905.00     9 0.00         99 -1,905.00
    0100106  Independent 2                  system                         123456789  100000003            -800.00       9 -15.00       99 -815.00
    LARGE SPACE
    weekly_eft_repo 1.0 Page: 2
    CDC:00220 / Sat Aug-08-2009 Weekly EFT Sweep for 02/08/09 - 08/08/09 Effective Date 11/08/09 Wed Sep-30-2009 08:25:43
    Bill to
    Retailer Retailer Name Name on Bank Account Bank ABA Bank Acct On-line Amount Instant Amount Total Amount
    ======== ============================== ============================== ========== ==================== =============== =============== ===============
    Count On-line Amount Instant Amount Total Amount
    ============== ====================== ====================== ======================
    Debits 0 0.00 0.00 0.00
    Credits 3 -32,704.98 -15.00 -32,719.98
    Totals 3 -32,704.98 -15.00 -32,719.98
    Total Tape Records / Blocks / Hash : 3 1 37037034
    End of Report
    23 rows selected.Then we can check we can just pull out the lines of data we're interested in from that...
    SQL> ed
    Wrote file afiedt.buf
      1  create view vw_report as
      2* select line from ext_report where regexp_like(line, '^[0-9]')
    SQL> /
    View created.
    SQL> select * from vw_report;
    LINE
    0100103  BANK Terminal                  raji                           123456789  123456789            -29,999.98    9 0.00         99 -29,999.98
    0100105  Independent 1                  Savings                        123456789  100000002            -1,905.00     9 0.00         99 -1,905.00
    0100106  Independent 2                  system                         123456789  100000003            -800.00       9 -15.00       99 -815.00And then we adapt that view to extract the data from those lines as actual columns...
    SQL> col retailer format a10
    SQL> col retailer_name format a20
    SQL> col name_on_bank_account format a20
    SQL> col online_amount format 999,990.00
    SQL> col instant_amount format 999,990.00
    SQL> col total_amount format 999,990.00
    SQL> ed
    Wrote file afiedt.buf
      1  create or replace view vw_report as
      2  select regexp_substr(line, '[^ ]+', 1, 1) as retailer
      3        ,trim(regexp_replace(regexp_substr(line, '[[:alpha:]][[:alnum:] ]*[[:alpha:]]', 1, 1), '(.*) +[^ ]+$', '\1')) as retailer_name
      4        ,trim(regexp_replace(regexp_substr(line, '[[:alpha:]][[:alnum:] ]*[[:alpha:]]', 1, 1), '.* ([^ ]+)$', '\1')) as name_on_bank_account
      5        ,to_number(regexp_substr(regexp_replace(line,'.*[[:alpha:]]([^[:alpha:]]+)','\1'), '[^ ]+', 1, 1)) as bank_aba
      6        ,to_number(regexp_substr(regexp_replace(line,'.*[[:alpha:]]([^[:alpha:]]+)','\1'), '[^ ]+', 1, 2)) as bank_account
      7        ,to_number(regexp_substr(regexp_replace(line,'.*[[:alpha:]]([^[:alpha:]]+)','\1'), '[^ ]+', 1, 3),'999,999.00') as online_amount
      8        ,to_number(regexp_substr(regexp_replace(line,'.*[[:alpha:]]([^[:alpha:]]+)','\1'), '[^ ]+', 1, 5),'999,999.00') as instant_amount
      9        ,to_number(regexp_substr(regexp_replace(line,'.*[[:alpha:]]([^[:alpha:]]+)','\1'), '[^ ]+', 1, 7),'999,999.00') as total_amount
    10* from (select line from ext_report where regexp_like(line, '^[0-9]'))
    SQL> /
    View created.
    SQL> select * from vw_report;
    RETAILER   RETAILER_NAME        NAME_ON_BANK_ACCOUNT   BANK_ABA BANK_ACCOUNT ONLINE_AMOUNT INSTANT_AMOUNT TOTAL_AMOUNT
    0100103    BANK Terminal        raji                  123456789    123456789    -29,999.98           0.00   -29,999.98
    0100105    Independent 1        Savings               123456789    100000002     -1,905.00           0.00    -1,905.00
    0100106    Independent 2        system                123456789    100000003       -800.00         -15.00      -815.00
    SQL>I couldn't quite figure out the "9" and the "99" data that was on those lines so I assume it should just be ignored. I also formatted the report data to fixed columns width in my external text file as I'd assume that's how the data would be generated, not that that would make much difference when extracting the values with regular expressions as I've done.
    So... something like that anyway. ;)

  • Error occuring in SELECT statement FOR UPDATE when using WITH cluase

    Hi,
    Iam using oracle 11g version
    Iam having a query with fetch records for update insid with cluase as
    cursor c1 is
    With abc as (
    SELECT col1,col2 from table1, table2 where < condition>
    for update of <col1> skip locked
    select * from abc,table3 where <condition>
    union all
    select * from table4 where id not in (select * from abc)
    if i add "for update of <col1> skip locked" this cluase
    iam getting error ORA-00907: missing right parenthesis
    when i remove "for update of <col1> skip locked" the block is working fine..
    can i know why error is occuring i

    Hi, first of all, your placing of "for update" clause is wrong. It should be at the end like:
    With abc as (
    SELECT col1,col2 from table1, table2 where < condition>
    select * from abc,table3 where <condition>
    union all
    select * from table4 where id not in (select * from abc)
    for update of <col1> skip locked;Second, if you try to compile it with this syntax then you will get a new error.
    ORA-01786:     FOR UPDATE of this query expression is not allowed
    Cause:     An attempt was made to use a FOR UPDATE clause on the result of a set expression involving GROUP BY, DISTINCT, UNION, INTERSECT, or MINUS.
    Action:     Check the syntax, remove the FOR UPDATE clause, and retry the statement.So, you will not be successful with the union clause in your query.

  • Bold, vertical, line and inverted drawing created when using Penpad in Flash CC - Help?

    Hello.
    Just recently, whenever I use my VisTablet 465 Penpad Stylus and tablet to mark on the Canvas in Flash, a vertical line is created. The length of it is proportional to how horizontally centered the cursor is on the screen. When I try to move the cursor, the brush makes an inverted mark off the end of the line. I cannot find out how to stop it, and cannot draw anything sensible in Flash.
    I contacted Flash assistance, and this was the conversation:
    Vivek: Hi, Welcome to Adobe Support.
    Vivek: Please give me a moment to study this case.
    Martin Laight: Thanks Vivek.
    Vivek: Are you using the latest version of driver for the tablet.
    Vivek: Please make sure Flash pro version, Tablet driver version and Windows is up to date.
    Martin Laight: Yes, we believe it to be 'Model A' driver from the VisTablet website
    Vivek: This kind of issues requires the envolvement from engineering team
    Martin Laight: As far as we can see all drivers are up to date. The pen pad works fine in Windows 7 Paint
    Vivek: ok
    Vivek: Please go to the link above and post the issue with tablet model, operating system details.
    Please help if you can.

    Hi,
    The issue is resolved in the latest update of Flash Pro.Please update Flash professional to 14.1.0.96 .Follow the instruction below for the same :
    Installation instructions
    Log out and log in to the CC desktop application. Update the application when prompted.
    You should see the list of new updates as soon as the new CC desktop application is launched.
    Install Flash Professional CC and Mobile Device Packaging app. On a high speed connection, it took me around 8 minutes.
    After the application is installed, you can launch the application directly from the desktop app by clicking on it.
    Thanks & Regards,
    Sangeeta

  • Line along "bottom" of image when using camera on iPhone 4

    Hi all
    So I have a brand new iPhone 4 and everything seems fine, except for an issue when taking pictures with the camera, which I have a sneaking suspicion is a hardware fault. I'm hoping not, but I don't hold out much hope...
    So when I take pictures, I have a line parallel with the bottom (side with the home button) of the iPhone. This appears both in the preview image when taking a shot, and on the saved image. It does not show when shooting video, but I have noticed the image is zoomed in slightly when shooting video, and the line is not in this.
    The line is approximately 1cm away from the edge of the screen. This is not a discoloration, like with the bonding agent, it looks like a line of pixels.
    I have taken a picture, but can't see how to upload it on this forum. If it'll help, I'll upload elsewhere and link it.
    Thanks in advance for any suggestions.

    And also when I completely turn my iphone off it doesn't reboot when I hold the power button in and I had to do a soft reset to make it restart but even when I did that it wouldn't reboot and about 1 hour later when I tried it again it did the screen was white with nothing on it apart from a small oval in the middle of the screen showing my lock screen and it took 4 hours for it to sort itself out and then it started flickering :( :( please someone help what can I do??!!

  • 1DC- Sound Recording via Line input woes

    Have the latest firmware update on my 1DC. There are 3 issues I am hoping someone can help with
    #1 I assume you must set Sound recording to 'Line input' and NOT manual, but if I set the Rec level, whenever the camera is powered off, either automatically or manually, this Rec level is ALWAYS reset to zero. Also, the moment recording is startted, even though audio input levels are set correctly, no audio is recorded. This seems like a firmware bug to me. This does NOT happen when set to manual. Anyone know of a workaround?
    When using Manual and plugging in an external audio source I assume this signal will override the audio from the camera's internal mic.
    If this is correct and there are no issues when using 'Manual', then what is the difference between 'Manual' and "Line input'??
    #2 When setting Sound input to Manual, the VU meters are visible, but NOT when set to Line input. Why?
    #3 Can anyone recommend a specific connector to go from line out on a Zoom H6 to Mic in on the 1DC?
    Solved!
    Go to Solution.

    No. Apparently a buggy firmware release. My understanding is that there is another release planned soon. Hopefully with several new (and working) features in addition to the line input.
    Using Manual with a -25dB cable for now.

  • Audigy 2 ZS: Keeping line input from playing on speak

    I recently installed an Audigy 2 ZS in a Win2k machine. In the mixer, I've selected "Analog mix" for recording. So "What-U-Hear" should be off, right? And I have disabled "Monitor during recording." So, while recording, I don't hear what is coming in the line input. But if I turn recording off, suddenly what's coming into Line-In blasts out the speakers. Is there a way to permanently disable passing Line-Input to the speakers when I'm not recording or even running a recording program?
    Bob

    The mixer device list for the Audigy 2 ZS shows a separate Line-in for record and play. So it appears that the ability to keep Line-In from playing on speakers is there. However, unfortunately the Creative Mixer implements this as a record option and an option to "Do not monitor while recording." With this option checked, Line-In isn't passed through to the speakers but only during recording. At other times you'll hear what is coming into the Line-in. By comparison, the Audigy 2 LS has an option to "Do not monitor," which blocks Line-in pass-through under all conditions (unless an api enables it). The Line-In pass-through was a particular problem for me for a C++ program I've written. So I solved the problem by selecting "Do not monitor while recording," muting the global volume, and un-muting the global volume with a call to the mixer functions when I turn on recording from within my program. This prevents pass-through even when my program isn't running, which was important for my particular application. Unfortunately, this isn't a viable option for someone using an off-the-shelf recorder-player. Other mixers might implement this differently.
    BigZed wrote:
    Sorry to bump this but...
    I happen to have a very similar proble to Katman's
    W2k machine, recording from the line input, i got
    either no sound to record (if line input is not
    checked in the mixer - both windows' or creative's)
    or i got sound to record AND this sound also
    goes to the line out (when i check the line input
    in the mixer), which defies my purposes.
    Line in was always selected as input in the recording
    panel.
    I tried to uncheck the "record without monitoring"
    option but it does absolutely nothing to me.
    I have updated the drivers just a few weeks ago.
    Hints?

  • Obtaining a TTL input signal via DIO lines of 7334

    Hi
    How can I obtain a TTl input signal from a source via the DIO lines of the 7334 .
    Thanks
    Mal

    I do not quite understand your question.
    If you want to know what kind of signal a DIO line will detect properly: the signal has to be less than 0.8V to detect a low state and more than 2.0V to detect a high state. This is compatible with outputs of all TTL logic circuits.
    If you have some other circuitry (source) with different specifications for the digital signal you can simply connect a switching transistor in open collector circuit. The DIO lines have pull-up resistors, and when the transistor is switched the DIO input will be tied to less than 0.8V (low level).
    Anyhow, if the high output level of your source is more than 5V (there are many control systems with 24V output level) it is better to use galvanic isolation to avoid damage of the motor controller. You can use a relay, or better an opto-isolator. You have to design the series resistor of the opto-isolator such that the input gets proper current to drive the LED (usually 10mA will be sufficient for most optocouplers). If the opto-isolator has an open collector output configuration it can be connected directly to the 7344 DIO line.
    Of course you always have to provide a common GND connection between the 7344 board and your signal source (or the open-collector transistor in case you use this configuration or an opto-isolator).

Maybe you are looking for