Losing counts using asynchrono​us reads

Hi guys,
I have been working on an application to allow me to do imaging on a microscope. Using an external clock source I need to "bin" photons coming from my sample for a set period of time.
To do these measurements I devised an APD object in C#. The code to this opject is attached.
When I want to measure I call the following code to instantiate the APDs I need;
Identifier (Not Daq related, used by my code elsewhere),
Channel number (Not Daq related, used by my code elsewhere),
Device (a 6601 or 6602),
The counter delimiting bintime,
Timebase (20 or 80),
The line taking in triggers,
The counter counting photons,
The line taking in the actual photon TTLs
 this.m_apdAPD1 = new KUL.MDS.Hardware.APD("APD1", 0, "Dev1", "Ctr2", "80MHzTimebase", "PFI27", "Ctr1", "PFI39");
 this.m_apdAPD2 = new KUL.MDS.Hardware.APD("APD2", 1, "Dev1", "Ctr4", "80MHzTimebase", "PFI31", "Ctr3", "PFI35");
Where "this" is the form that hosts my APDs.
I start actual measurement like so: 
this.m_apdAPD1.StartAPDAcquisition(2, 128*128, 128);
Meaning that I will bin photons for a 2 ms period, that my image consists of 128*128 pixels and that I will read those pixels line per line. Once this method is called on the APDs they will sit around and wait until triggers come in on PFI27 or PFI31 (indicating a new position of the sample reached) and then they will count photon TTLs coming in from either PFI39 or 35...
Internally the APD object uses BeginRead and EndRead sets to read the actual photon counts. TheStartAPDAcquisition is called on the UI thread and for the Reader I set SynchronizeCallbacks = true; Therefore, also the CallBack is fired on the UI thread, which means all measured variables are updated on the UI thread (not that I think it matters here, but still).
All this works fine most of the time, however, in a seemingly random fashion it will happen that APD1 does not register all triggers coming in on PFI27 and thus never collects all 128*128 pixels (and thus times out). What is strange is that if I switch around PFI27 and PFI31 like so:
 this.m_apdAPD1 = new KUL.MDS.Hardware.APD("APD1", 0, "Dev1", "Ctr2", "80MHzTimebase", "PFI31", "Ctr1", "PFI39");
 this.m_apdAPD2 = new KUL.MDS.Hardware.APD("APD2", 1, "Dev1", "Ctr4", "80MHzTimebase", "PFI27", "Ctr3", "PFI35");
it is  still the first APD that will time out.
Furthermore, I am 100% certain the triggers are indeed coming in on these lines from my external source. Also, when I was using my APD objects synchronously in a previous version of the code (or rather, when they relied on Synchronous Reads internally), all counts also registered perfectly. Sadly enough I cannot keep working synchronously for various reasons.
The randomness of the issue makes me suspect I might be suffering from a bug related to threading/async operations where things happen in the expected order most of the time, yet not always.
This issue is a big showstopper for me so any help would be greatly appreciated!
Message Edited by KrisJa on 09-21-2009 05:01 AM
Attachments:
APD.cs ‏17 KB

Hi Dan,
Thanks already for the interest. First off, I tweaked the code for my APD class just a little bit (commented out some stuff I think was superfluous and explicitly start one of my tasks). The new version is attached, together with the source to PhotoDiode, another detector class that also suffers from the problem.
I attached a scheme for the triggering/timing as well, I hope it is somewhat clear, if not I can provide more detailed info.
The APDs are instantiated on a form like so;
// Board, Binpulsegen, Timebase, Triggerline, TTLCounter, Inputline
this.m_apdAPD1 = new KUL.MDS.Hardware.APD("APD1", 0, "Dev1", "Ctr6", "80MHzTimebase", "PFI31", "Ctr5", "PFI39");
this.m_apdAPD2 = new KUL.MDS.Hardware.APD("APD2", 1, "Dev1", "Ctr4", "80MHzTimebase", "PFI27", "Ctr3", "PFI35");
Subsequently, their events are hooked up and they are started;
this.m_apdAPD1.StartAPDAcquisition(
                    _docDocument.TimePPixel,                          ​                   // For example 2, indicating 2 ms
                    _docDocument.PixelCount,                          ​                   // For example 128 * 128                   
                    _docDocument.PixelCount / _docDocument.ImageWidthPx); // Mostly 128, to read in 128 value chunks but can be -1 also this.m_apdAPD2.StartAPDAcquisition(
                    _docDocument.TimePPixel,
                    _docDocument.PixelCount,
                    _docDocument.PixelCount / _docDocument.ImageWidthPx);
When they are started they will sit and wait for triggers coming in from an external Piezo controller (see attached scheme). They will timeout after 5 second.
The eventhandler for the BufferUpdated event is;
 private void det_BufferUpdated(object __oSender, EventArgs __evargsE)
            KUL.MDS.Hardware.IDetector _idetDetector = (KUL.MDS.Hardware.IDetector)__oSender;    // Get to props/methods of the sender
            ScanDocument _docDocument = this.Document as ScanDocument;                                 // Class that holds data
            if (_idetDetector.Type == DetectorType.APD)
                //_docDocument.StoreChannelData(1, this.m_apdAPD2.APDBuffer);
                _docDocument.StoreChannelData(_idetDetector.Channe​l, ((APD)_idetDetector).APDBuffer);
            if (_idetDetector.Type == DetectorType.PD)
               // PhotoDiodes get treated differently, this eventhandler is used by all IDetectors...
The AcquisitionDone event is currently not used...
 Finally, my form also holds a Forms.Timer that ticks every 800ms, the Tick handler is as follows;
private void m_tmrUITimer_Tick(object __oSender, EventArgs __evargsE)
            PaintToScreen();                                  ​                     // Paint the recorded images from both APDs to screen
            UpdateUI();
            if (this.m_apdAPD2.IsDone & this.m_apdAPD1.IsDone)
                if (this.m_Stage.IsScanning)
                    this.m_Stage.Stop();
                this.m_tmrUITimer.Stop();
                this.m_Stage.Home();
                // Handle auto-save, omitted for clarity.              
                // Enable all controls again.
                EnableCtrls();
                UpdateUI();
                // Unhook some events here... deleted for clarity.
I attached the code for the form where all this happens for completeness, it is more messy than my other source files though, because I am constantly tinkering it.
Finally, what I mean by missed counts is that in 8 out of ten cases, when I set out to record a 128*128 image both APDs actually accumulate 128*128 pulsewidth measurements (=photon counts for every pixel) as expected. However, every so often APD1 (the one that is started first in code) fails to accumulate the full amount of points. After 5 seconds it obviously times out.
I did a number of tests;
I disabled each of the APD's one at a time in code and used Measurement and Automation to check if the piezo controller was actually feeding the correct amount of triggers to the terminals used by the disabled APD. As far as I could tell (I tried 10 times for each APD) this was always the case, so the problem is not with actual missing HW triggers
I changed the counters and PFI's used by each instance of my APD class. This also had no effect. 8 out of 10 measurements were ok butevery so often APD1 failed ( so again the instance that was started first ) even though it was now hooked up to collect the signals that were previously going to the APD2 instance (I hope this makes sense).
I set the APD's up to do -1 reads (all samples available) and the amount of lost pixels is way less than 128 and appears random.
So in conclusion, the bug is quite random. Mostly my app works fine, but sometimes it does not. AFAIK the HW is fine. The randomness of it all makes my suspect something to do with concurrency (in the async calls???) but I do not see how... This is a really frustrating issue!!
Anyway, I hope my ramblings make sense to you! If you need info, please let me know!
Attachments:
Imaging Timing Implementation.pdf ‏66 KB
APD.cs ‏17 KB
PhotoDiode.cs ‏16 KB

Similar Messages

  • Losing counts using asynchronous reads

    Hi guys, I have been working on an application to allow me to do imaging on a microscope. Using an external clock source I need to "bin" photons coming from my sample for a set period of time. To do these measurements I devised an APD object in C#. The code to this opject is attached. When I want to measure I call the following code to instantiate the APDs I need; Identifier (Not Daq related, used by my code elsewhere), Channel number (Not Daq related, used by my code elsewhere), Device (a 6601 or 6602), The counter delimiting bintime, Timebase (20 or 80), The line taking in triggers, The counter counting photons, The line taking in the actual photon TTLs  this.m_apdAPD1 = new KUL.MDS.Hardware.APD("APD1", 0, "Dev1", "Ctr2", "80MHzTimebase", "PFI27", "Ctr1", "PFI39");
     this.m_apdAPD2 = new KUL.MDS.Hardware.APD("APD2", 1, "Dev1", "Ctr4", "80MHzTimebase", "PFI31", "Ctr3", "PFI35");  Where "this" is the form that hosts my APDs. I start actual measurement like so:  this.m_apdAPD1.StartAPDAcquisition(2, 128*128, 128);  Meaning that I will bin photons for a 2 ms period, that my image consists of 128*128 pixels and that I will read those pixels line per line. Once this method is called on the APDs they will sit around and wait until triggers come in on PFI27 or PFI31 (indicating a new position of the sample reached) and then they will count photon TTLs coming in from either PFI39 or 35...  Internally the APD object uses BeginRead and EndRead sets to read the actual photon counts. TheStartAPDAcquisition is called on the UI thread and for the Reader I set SynchronizeCallbacks = true; Therefore, also the CallBack is fired on the UI thread, which means all measured variables are updated on the UI thread (not that I think it matters here, but still). All this works fine most of the time, however, in a seemingly random fashion it will happen that APD1 does not register all triggers coming in on PFI27 and thus never collects all 128*128 pixels (and thus times out). What is strange is that if I switch around PFI27 and PFI31 like so:  this.m_apdAPD1 = new KUL.MDS.Hardware.APD("APD1", 0, "Dev1", "Ctr2", "80MHzTimebase", "PFI31", "Ctr1", "PFI39");
     this.m_apdAPD2 = new KUL.MDS.Hardware.APD("APD2", 1, "Dev1", "Ctr4", "80MHzTimebase", "PFI27", "Ctr3", "PFI35");  it is  still the first APD that will time out. Furthermore, I am 100% certain the triggers are indeed coming in on these lines from my external source. Also, when I was using my APD objects synchronously in a previous version of the code (or rather, when they relied on Synchronous Reads internally), all counts also registered perfectly. Sadly enough I cannot keep working synchronously for various reasons. The randomness of the issue makes me suspect I might be suffering from a bug related to threading/async operations where things happen in the expected order most of the time, yet not always. This issue is a big showstopper for me so any help would be greatly appreciated! Message Edited by KrisJa on 09-21-2009 05:01 AM

    Hi Dan, Thanks already for the interest. First off, I tweaked the code for my APD class just a little bit (commented out some stuff I think was superfluous and explicitly start one of my tasks). The new version is attached, together with the source to PhotoDiode, another detector class that also suffers from the problem.  I attached a scheme for the triggering/timing as well, I hope it is somewhat clear, if not I can provide more detailed info. The APDs are instantiated on a form like so; // Board, Binpulsegen, Timebase, Triggerline, TTLCounter, Inputline
    this.m_apdAPD1 = new KUL.MDS.Hardware.APD("APD1", 0, "Dev1", "Ctr6", "80MHzTimebase", "PFI31", "Ctr5", "PFI39");
    this.m_apdAPD2 = new KUL.MDS.Hardware.APD("APD2", 1, "Dev1", "Ctr4", "80MHzTimebase", "PFI27", "Ctr3", "PFI35");  Subsequently, their events are hooked up and they are started; this.m_apdAPD1.StartAPDAcquisition(
                        _docDocument.TimePPixel,                                             // For example 2, indicating 2 ms
                        _docDocument.PixelCount,                                             // For example 128 * 128                                       _docDocument.PixelCount / _docDocument.ImageWidthPx); // Mostly 128, to read in 128 value chunks but can be -1 also this.m_apdAPD2.StartAPDAcquisition(
                        _docDocument.TimePPixel,
                        _docDocument.PixelCount,
                        _docDocument.PixelCount / _docDocument.ImageWidthPx);  When they are started they will sit and wait for triggers coming in from an external Piezo controller (see attached scheme). They will timeout after 5 second. The eventhandler for the BufferUpdated event is;  private void det_BufferUpdated(object __oSender, EventArgs __evargsE)
                KUL.MDS.Hardware.IDetector _idetDetector = (KUL.MDS.Hardware.IDetector)__oSender;    // Get to props/methods of the sender
                ScanDocument _docDocument = this.Document as ScanDocument;                                 // Class that holds data
                if (_idetDetector.Type == DetectorType.APD)
                    //_docDocument.StoreChannelData(1, this.m_apdAPD2.APDBuffer);
                    _docDocument.StoreChannelData(_idetDetector.Channel, ((APD)_idetDetector).APDBuffer);
                if (_idetDetector.Type == DetectorType.PD)
                   // PhotoDiodes get treated differently, this eventhandler is used by all IDetectors...
            } The AcquisitionDone event is currently not used...  Finally, my form also holds a Forms.Timer that ticks every 800ms, the Tick handler is as follows; private void m_tmrUITimer_Tick(object __oSender, EventArgs __evargsE)
                PaintToScreen();                                                       // Paint the recorded images from both APDs to screen            UpdateUI();
                 if (this.m_apdAPD2.IsDone & this.m_apdAPD1.IsDone)
                    if (this.m_Stage.IsScanning)
                        this.m_Stage.Stop();
                    this.m_tmrUITimer.Stop();
                    this.m_Stage.Home();
                    // Handle auto-save, omitted for clarity.              
                    // Enable all controls again.
                    EnableCtrls();
                    UpdateUI();
                    // Unhook some events here... deleted for clarity.
            }  I attached the code for the form where all this happens for completeness, it is more messy than my other source files though, because I am constantly tinkering it.  Finally, what I mean by missed counts is that in 8 out of ten cases, when I set out to record a 128*128 image both APDs actually accumulate 128*128 pulsewidth measurements (=photon counts for every pixel) as expected. However, every so often APD1 (the one that is started first in code) fails to accumulate the full amount of points. After 5 seconds it obviously times out. I did a number of tests; I disabled each of the APD's one at a time in code and used Measurement and Automation to check if the piezo controller was actually feeding the correct amount of triggers to the terminals used by the disabled APD. As far as I could tell (I tried 10 times for each APD) this was always the case, so the problem is not with actual missing HW triggersI changed the counters and PFI's used by each instance of my APD class. This also had no effect. 8 out of 10 measurements were ok butevery so often APD1 failed ( so again the instance that was started first ) even though it was now hooked up to collect the signals that were previously going to the APD2 instance (I hope this makes sense).I set the APD's up to do -1 reads (all samples available) and the amount of lost pixels is way less than 128 and appears random.So in conclusion, the bug is quite random. Mostly my app works fine, but sometimes it does not. AFAIK the HW is fine. The randomness of it all makes my suspect something to do with concurrency (in the async calls???) but I do not see how... This is a really frustrating issue!! Anyway, I hope my ramblings make sense to you! If you need info, please let me know!  

  • How to create a counter using Oracle SQL Developer?

    Is there any way to create a counter using Oracle SQL Developer to create the below scenario. Meaning it will recorded down the name of user and ID and time and the date they login.
    Library portal home statistics shows how many users (outside and within the campus) visit the library portal.
    Page Access statistics is recorded on an hourly basis. Users may select the statistics by
    yearly (statistics displayed by all months in the selected year)
    monthly (statistics displayed by all days in the selected month)
    daily (statistics displayed by all hours in the selected day)

    I'm giving here one basic post - hope this will solve your problem --
    SQL>
    SQL>
    SQL> create table audit_info
      2   (
      3     usr        varchar2(50),
      4     log_time   timestamp(6)
      5    );
    Table created.
    SQL>
    SQL>
    SQL>  create table err_log
      2     (
      3       log_cd      varchar2(20),
      4       log_desc    varchar2(500)
      5     );
    Table created.
    SQL>
    SQL>
    SQL>   create or replace procedure ins_err(errcd   in  varchar2,
      2                                        errnm   in  varchar2)
      3    is
      4      pragma autonomous_transaction;
      5    begin
      6      insert into err_log values(errcd,errnm);
      7      commit;
      8    end;
      9  /
    Procedure created.
    SQL>
    SQL>
    SQL>   create or replace procedure ins_aud(ud   in varchar2,
      2                                        unm  in varchar2)
      3    is
      4      pragma autonomous_transaction;
      5    begin
      6      insert into audit_info values(ud,unm);
      7      commit;
      8    exception
      9      when others then
    10        ins_err(sqlcode,sqlerrm);
    11    end;
    12  /
    Procedure created.
    SQL>
    SQL>
    SQL>
    SQL> create or replace trigger log_odsuser1
      2   after logon on odsuser1.schema
      3   begin
      4     ins_aud('ODSUSER1',sysdate);
      5   exception
      6     when others then
      7       ins_err(sqlcode,sqlerrm);
      8   end;
      9  /
    Trigger created.
    SQL>
    SQL*Plus: Release 9.2.0.1.0 - Production on Tue Jun 12 12:21:09 2007
    Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
    Connected to:
    Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.6.0 - Production
    SQL>
    SQL>
    SQL>
    SQL> set serveroutput on
    SQL>
    SQL>
    SQL> select * from audit_info;
    USR
    LOG_TIME
    ODSUSER1
    12-JUN-07 12.00.00.00000000 AMHope this will solve your purpose.
    Regards.
    Satyaki De.

  • Stop and start counter set to frequency read

    Original question posted in the counter forum but no response so hope its ok to try here?
    I am using a 6024E interface to operate a PID loop that keeps the RPM stable of a servomotor but having problems when attempting to read frequency at the same time from a flow-meter.
    Basically the operation of the system is as follows;-
    User sets an RPM demand, say 5000RPM, an analog signal is sent out to the motor controller and motor runs up to this value after a brief delay. The feedback from the motor is from its shaft encoder which gives 1000 PPR, after signal conditioning in hardware this signal is applied to the gate of timer 0 and after scaling applied to a PID loop. The PID loop is quite stable and responds well to operator demands.
    However the first problem was noticed when the RPM demand was taken to zero and an attempt to halt the program was made. There was a delay in shutting down that was roughly equiv to the time out value which was set on the DAQMX read Vi.
    Things became much worse when a further loop was added to read a flowmeters frequency output (approx 50 to 300Hz max, counter 1) that varied with the servo motors RPM demand. This additional routine has almost stopped the whole program initially starting as it appears that counter channel 1 is waiting for an input before letting the rest of the program run.
    I have attached the part of the program that I am using now to read the frequency of the flow meter, similar routine also being used to monitor the RPM of the servo motor.
    Basically when the operator increases the RPM demand and reaches a demand of 10RPM a compare function places an output line, which is connected to the input OPR1/PFI7 (see attached vi ) to logic 1. This then triggers the counter to start reading the RPM of the motor. A similar method is used for the flowmeter but in this instance it does not try to read the flow until the motor has reached 3000RPM as the flow being measured is very low and below 3000RPM it is only about 2cc/min = 40Hz.
    Problem occurs though when the RPM is reduced to zero and the flow/RPM stops. If the RPM demand is increased again the motor sometimes will not respond and suffers delay. Removing the loop for the flowmeter cures this problem. Seperate loops are used for the flowmeter, motor RPM and PID loop that controls the motor RPM. 
    The problem, as I see it, is that I need to be able to stop the counter for the flowmeter aquiring data when it falls below a certain value but be able to restart it again when the the flow increases?
    Also is there any way I could sync the analog output signal (motor RPM demand) to the counter freq read signal (motor encoder feedback)? I found examples in the help files for this but using 'count edges' not frequency or period mode.
    Thanks John
    Labview Version 8.5
    Labview Version 8.6
    Labview Version 2013
    Attachments:
    arm triggerver1.vi ‏38 KB

    Hello,
    First of all thanks for posting on our forum.
    I may be lazy but I think your question is very long and not very clear... Next time try to be more precise and to post shorter messages, this is just an advise, but short questions often get quick answers.
    now let's talk about your problem, the first thin I'll say is why don't you use NI-Motion hardware, that would be really appropriate to you application, then if you can't (which I understand) you should really use Real-time programming, when you're using a PID, real time is really advised.
    My only question will be : What is the problem?  can you be a little bit clearer? what can we do for you?
    I'm sorry but I'll really be glad to help you but so far I did not understand.
    Regards
    Richard Keromen
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    >> Découvrez, en vidéo, les innovations technologiques réalisées en éco-conception

  • How to use counter using PCI 6259

    Hello, users,
    I have a PCI 6259 board and use Labview 7.1.
    I'd like to repetitively count the photon signals at 10ms integration time. I want cumulative counts in every 1 sec (1000ms) (or 1 min (60000ms)) And I want to save counts into txt.file which is open in excel program.
    I am a beginner to use counter using PCI 6259 board.
    1. Could you explain default NI-DAQmx counter terminals, i.e., CTR 0 SRC, CTR 0 GATE, CTR 0 AUX, and CTR 0 OUT?
    2. How do I use them or how can I connect to count TTL pulse using PCI 6259?
    3. As I mention my purpose above, which example is the first step to start working my purpose?
    4. If you know good example, could you tell me about that?
    5. If anyone has labview example which is similar to my aim, could you give me some tips or your examples?
    Any hint, comment or advice would be appreciated.
    Thank you so much for your response.
    Leek2

    I have never used the PCI 6259 but have used counters many times with labview, the coding should be the same independent of the board.  What you want to do is finite buffered edge counting using a internal clock.  The best way to do this is to look at the examples programs and use the express vi to get started, then you can use this code to customize your program exactly as you need.
    To address your questions:
    1. CTR0 means "counter 0" the name of the physical resource sometimes listed at GPCTR0.  Each counter has 4 connections to the outside world:
    source "src"(for counting input TTL signals),
    gate (for synchronizing to external clocks and edges),
    out (for pulse-train out operations)
    and aux (specialty operations such as up/down counting and encoding)
    2.For event counting with internal clocking you will only use the src this is the input from the signal you wish to count (ie PMT discriminator for photon counting).
    3,4,5. Look at the count edge examples, there isn't one that does exactly what you want but I have done this with a 6602 (it has e counters) where I use one set of counters to set up a finite pulse train in your case 1000Hz with 1000 pulses, and another counter to edge count on an external pulse, with the source of this pulse routed from the out of the other counter.  Then you can start the task and read when 1000 samples are in the buffer (about 1 second later).
    Hope this helps,
    Paul
    Paul Falkenstein
    Coleman Technologies Inc.
    CLA, CPI, AIA-Vision
    Labview 4.0- 2013, RT, Vision, FPGA

  • How to use multiple visa read in one program

    hi
    i am working at Hameg HM8143 power supply i want to measure voltage and current simultaneiously and use the measured values for further calculations. for this i used two visa read blocks.
    >>>>>>the measured values are shown in the same visa read string however i want it to be shown sepetately,
    >>>>>>One of the VISA read block gives error. so i want to know how to use VISA read to get current and voltage simultaneously in seperate strings
    >>>>>>than how to convert strings to numbers  for using them for my calcultions.
    i am attaching screen shot as well
    Attachments:
    screenshot.JPG ‏164 KB

    you can not use a single serial to send 2 commands simultaniously?
    There is a single serial line so one command has to be before another.  This doesnt mena that you can not read from 2 seperate threads but will have to ensure that there is a locking mechanism to make sure that your queries are atomic.  In labview encapsulating all communications can be done with an action engine which will allow for concurrent execution with automatic blocking of your resource (serial device).
    Paul Falkenstein
    Coleman Technologies Inc.
    CLA, CPI, AIA-Vision
    Labview 4.0- 2013, RT, Vision, FPGA

  • How do I create a PDF form for submission that can be used by Acrobat Reader only users?

    I am attempting to create a PDF document in Acrobat Pro with fields that can be submitted (via email) by users using only Acrobat Reader.
    I have tried changing the properties of the 'Submit' button, although I am not sure what I am doing wrong.
    Can anyone please help?
    C.

    I created a form using Adobe LiveCycle and added the submit via e-mail button. One change which I made was in the XML script I changed submission type to pdf, so that thepdf form itself would be e-mailed. This works fine if I use Adobe Pro 8, but when I tried the same using only Adobe Reader 7.0, it would not let me e-mail the form along with a message "This operation is not permitted".
    Any comments?
    Thanks

  • M or P master data table  to be used in routine read statement

    Hi
      I update of a DSO i had a requirment for a routine to get the Attribute of a Infoobject.
      So which master data table  M or P table i need to use in my read statement and why
    Thanks

    Use M table as it it the view on time dependent(P table) and time independent(Q table) tables.
    M table is view on time dependent and time independent attributes, you can see characteristic values and all the attributes for the Characteristic.
    The tables that go in the view are the Master Data Table and the Time-Dependent Master Data Table. If the characteristic only has time-dependent attributes, only the time-dependent master data table goes in. If the characteristic has only non-time-dependent attributes, only the master data table goes in.

  • How do I set the filename using the inline reader with a web browser?

    Hi all,
        Most likely an age-old question that I have not been able to track down an answer for ...
        My application presents a pdf to the user using an embedded reader and gives them the saveas button as an option in the toolbar.
        When they go to save the file it defaults the filename to be the entire URL of the document.
        How can this be changed to be something more user-friendly??
        Thanks in advance for any help you can provide for this issue.
    -Dennis

    I suppose you could use Javascript.
    Or you could display the content within the applet itself.
    But probably the best thing would be to have the server return a URL (or an identifying token to be added to a URL) and the applet could use AppletContext.showDocument to send the user to another page.
    That's my opinion anyway.

  • I have Photoshop Eleent 12 and use a Windows PC.  I hae been using a Canon EOS 50D for several years, which uses a Compact Flash Card.  I have always downloaded pictures by using a card reader wich I connect to my computer. I Go to the Organizer, click on

    I have Photoshop Eleent 12 and use a Windows PC.  I hae been using a Canon EOS 50D for several years, which uses a Compact Flash Card.  I have always downloaded pictures by using a card reader wich I connect to my computer. I Go to the Organizer, click on "Import" and select "From camera or card reader".  Once on the Photo Downloader, I select the pictures, chose the folder and click on "Get Media" and all the photos get downloaded. Today I folled the same procedure as always, but ZI'm gettig an error message that reads"Import Failed" followed by another message that reads "Nothing was imported. The file(s) or folder(s) selected to import did not contain any supported file types, or the files are already in this Catalog."  I'm puzzled by this message and don't know what to do o get my photos.  Any suggestions?

    The organizer doesn't care where you send your photos when you download them via the downloader or where they happen to be when you first bring them in if you use the Get Photos command, but once your pics are in the Organizer, you *must* move them from within organizer or it can't find them. You don't have to use My Pictures at all if you don't want to, but regardless of the folder where you put your photos, if you want them someplace else, you use organizer to do it.

  • Unable to use Adobe Acrobat Reader and/or install version 8.1.2.

    I was unable to use my adobe reader so I tried to download 8.1.2 and during installation I get the 1417 error message saying unable to remove version 8.1.2. Will not let me finish the installation process?

    I have Windows XP Pro Service Pack 2 and IE 7, and I cannot install Adobe Reader 8.1.2. I got all these error messages: Windows Installer, The feature you are trying to use is on a CD-ROM or other removable disk that is not available. Insert the Norton Antivirus 2005 disk and click OK - (Didn't work.) Error 1714 The older version of Adobe Reader 8.1.2 cannot be removed. Contact your technical support group. Adobe Reader 8.1.2 Setup failed.
    When I tried to install msicuu2.exe, Error Message: Windows Script Host Active X component can't create object: 'WScript.Shell' Source Microsoft VB Script Runtime Error.
    I edited the registry and remove all versions of Adobe Reader, shut down all software, and still was unable to load Adobe Reader 8.1.2. I contacted my "technical support group" which is HP in India, and they were worthless on this issue. Any help would sure be appreciated as I cannot open any jpg documents.

  • Unable to Print using Adobe Acrobat Reader - MacBook Pro - Wireless Environmen​t

    I have a Macbook Pro with 10.6.4 OS
    My printer is the HP Photosmart C5180 All-in-One
    It is connected via ethernet cable to my router (Netgear Wireless N Router) via 10.0.0.1 Wireless Setting.
    I am able to print everything with any programs, except Adobe Acrobat.
    When I send any files to the printer, i get the following error:
    Error:  pstopdffilter/pstocupsraster failed with err number 13
    I uninstalled the driver, installed it (from the HP website latest driver), I'm able to get the printer to work on everything else, I'm able to print a test page, but... I can't print anything with Adobe Acrobat...........
    Any suggestions?  I do use Adobe Acrobat Reader a lot
    This question was solved.
    View Solution.

    OK, let's try more thoroughly uninstalling the hp software for 10.5 using the 'scrubber' option.  First, install the wrong software from the CD (for 10.5) so we can more thoroughly uninstall it.  Next:
    Go to Applications/Hewlett Packard/ click on HP Uninstaller
    Click on Continue
    Highlight your device on the left pane
    Hold the Ctrl, Opt and Cmd keys and click on Uninstall << This is the scrubber option
    There will be a pop up that asks if you are sure you want to uninstall ALL hp software. (At this point, if you continue, any HP printers you have installed will need to be reinstalled)
    Click Continue and let it finish
    Restart your Mac
    Now, run a Software Update.
    Finally, download and install the "Full Featured" Driver and Software from the "Support & Drivers" link at the top of this page.
    Say thanks by clicking "Kudos" "thumbs up" in the post that helped you.
    I am employed by HP

  • Plugin issue after using SignPlugin and Reader-enabling

    Hi all,
    I would like to ask for a help with plugin that we have developed for Adobe Reader.
    We are running into an issue with the plug-in and I was hoping that you can help me out.  It looks like plug-in works perfectly in the Acrobat but we have an issue with getting it  to work with Reader as described below.  I would greatly appreciate your help.
    We have a problem with plugin after signing it using RIKLA certificate provided by Adobe and Reader-enabling.
    Our plugin has been developed to allow users to sign PDF XML data from Reader user interface using custom library (sign library) and msxml3.dll library ( to transform PDF form XML into custom XML format). Plugin target is Adobe Reader 9 and it has been tested using Adobe Acrobat 9 earlier. Recently we received RIKLA certification key and after we tried to sign plugin and use it in Reader we started to have problems.
    Plug-in, compiled directly from source code and installed in Adobe Acrobat 9 is working correctly. We haven’t experienced any issues and everything seems to be working properly.
    The same plug-in signed using SignPlugin tools from Acrobat SDK 9.1 (command SignPlugin -kp keypairFileName -cf Reader_Integrated_Key_FileName  MyPlugin.api) and RIKLA key is not working correctly in Adobe Reader 9.
    The problem appears when plugin is trying to access external library msxml3.dll and execute createProcessor() function.  The same function work properly in Adobe Acrobat 9 before sing plug-in with RIKLA key.
    Below there is fragment with code that doesn’t work in Adobe Reader after reader-enabling but works in Adobe Acrobat.
    Plug-in crushes in line pProcessor = pTemplate->createProcessor();.
    try{
      pProcessor = pTemplate->createProcessor();
    } catch(_com_error &e) {
      printf("Error setting XSL style sheet : %s\n",
             (const char*)_bstr_t(e.Description()));
      AVAlertNote("Error setting XSL style sheet");
      AVAlertNote(e.Description());
      exit(-1);
    Code that we use in catch() block lets us know that error source is “msxml3.dll” library.
    As we have discovered problem occurs only after Reader-enabling .api plugin file. Clear compiled .api file works properly in Adobe Acrobat 9 without any problems.
    We would like to know if you have experienced any similar issues? If yes, what have caused them?
    Why same plugin is working in Acrobat 9 before signing and after signing using provided certificate it stops working?
    Are there any restrictions of using external libraries in Reader that are not working there, and these restrictions are not obeyed in Acrobat?
    Any help would be greatly appreciated.

    Hi Irosent,
    Is there a way that Acrobat and Reader differentiate between library initialization?
    Would it be useful if I place any part of code or project configuration for you so maybe you will be able to help?
    Libraries that we use (our own dll files) we place in windows/system32 folder (there also exists msxml3.dll file that we use).
    Here are preprocessor definitions that we have defined:
    _AFXDLL
    _USERDLL
    READER_PLUGIN
    NDEBUG
    WIN_PLATFORM
    WIN32
    _WINDOWS
    WIN_ENV
    ACRO_SDK_LEVEL=0x00090000
    As for library msxml3.dll that we use in code we have:
    #import <msxml3.dll>  named_guids
    using namespace MSXML2;
      MSXML2::IXMLDOMDocumentPtr
              pXml(MSXML2::CLSID_DOMDocument);
      MSXML2::IXMLDOMDocumentPtr
              pXslt(CLSID_FreeThreadedDOMDocument);
      IXSLTemplatePtr pTemplate(CLSID_XSLTemplate);
      IXSLProcessorPtr pProcessor;
    Later there is a part of code that I have posted in first post and where plugin crashes.
    I would really appreciate your help.

  • File Count using SPFile Object

    Hi,
    I am trying to get the file count using through SPFile within the selected dates of date time controls as below.
    But not able to get the count of the files in the folder as there is not count property in the SPFile object.
    Please share your ideas/thoughts on the same.
                                    foreach (SPFile file in oFolder.Files)
                                        if ((file.TimeCreated > dtFromDate.SelectedDate) &&( file.TimeCreated<dtToDate.SelectedDate))
                                            int filecount;                              
    Regards,Sudheer
    Thanks & Regards, Sudheer

    Hi ,
    as you have int filecount, increase the count whenever it satisfies the if condition as mentioned
    above.
    int filecount=0;         
    foreach (SPFile file in oFolder.Files)
        if ((file.TimeCreated > dtFromDate.SelectedDate) &&( file.TimeCreated<dtToDate.SelectedDate))
                               filecount++;           
    Thanks,
    Vivek
    Please vote or mark your question answered, if my reply helps you

  • How can I use the Adobe reader if the PDF documents are in iBooks?

    The Adobe reader asks me to look for an "Open in" button but iBooks does not appear to have one. I like IBooks because it synchronises nicely with the computer, and I can read the PDFs but I cannot highlight, add comments or add bookmarks unless I use the Adobe reader.

    Use iTunes to save the PDF FROM iBooks, and to add them to Adobe Reader.
    Connect your iPad to your computer. Bring up iTunes on your computer.
    To save a PDF FROM iBooks, click on "Books" in the Library section on the left. Select the PDF you want to save and right-click and choose Show in Finder (Show in Explorer in Windows). Go up one level in your computer hierarchy and you'll see all the "Books" (PDFs and eBooks) in iBooks.  You can leave them here if you want to view the PDFs in iBooks in the future, or drag them to the Desktop.
    To move the PDF TO Adobe Reader:
    Return to iTunes. Click on the iPad on the left in Devices. Click on the Apps tab. Scroll down the the File Sharing section as shown below. Click on Adobe Reader. Click the Add button and select the PDFs you identified in the previous step. They'll be added to Adobe Reader

Maybe you are looking for

  • Product availabili​ty - Patriot SS USB 3.0 Flash Drive?

    I am interested in purchasing the Patriot Supersonic 64GB USB 3.0 Flash Drive. It is currently sold out online and BestBuy does not sell them in stores. Here is the product page. Do you know if/when the item will be available online? Or if you can fi

  • Alert to user while selecting serial number in wrong plant

    Dear all, Please give me your suggestion for the below Is there any standard settings in sap to give an alert message if a user select the serial number of the material from wrong plant. Regards RaJ

  • ISE v1.1 ACL merging?

    Hello all, I would like ask you about some technology help  .. Customer would like create policy model for remote-access services based on „roles". For example : User1 is member of GroupA in LDAP and is member of GroupB as well. Security GroupA speci

  • Can I install FF4 RC on Mac G5 - Dual 2.7 GHz Power PC - OSX 10.5.8 ?

    I downloaded FF4 RC but the FF app --> Applications Folder has a "no" symbol on the FF logo and will not allow me to drag/drop. If I delete old FF and replace with new FF4, when I click open the app I get a warning that FF "will not run on this archi

  • Workshop and beehive

    I would like to use Workshop in future webservices development, however I don't want to deploy Workshop in production application servers, which from what I've heard, is necessary. But I've heard that I can use beehive libraries to run Workshop creat