Translating call-by-reference from Fortran

I have been asked to translate some Fortran code to Java with minimal redesign.
I believe Java uses call-by-value and not call-by-reference, right?
What are my best options for translating the many call-by-reference subroutines and functions?

If you insist, then you can wrap objects up in a sort-of container, which can get you PBR-type semantics, but it's clunky. Eg
class StringRef  {
  private String payload;
  public String toString() { return payload; }
  public void setPayload(String string) { payload = string; }
public void passMeAString(StringRef string) {
  // do stuff;
}You can reach into the StringRef object and change it's effective value. But then all code dealing with it, whether it needs PBR semantics or not, is either coupled to this StringRef class, or is peppered with code to lift the actual string in and out of StringRef objects. Or you could deal with single-element arrays everywhere, which isn't really any better.
Messy, a maintenance nightmare, a haven for bugs. I'd really be looking at solving the problem without using pass-by-reference, if you don't want to have a nervous breakdown.
Another thing to consider is that simply shoehorning your existing Fortran through a Java compiler means you're also inheriting all the bugs and the convoluted messy code from fixing bugs that you'd probably rather not. I seriously wouldn't try to do this, just infer the requirements from the Fortran code and start again. You might well even find that there already exist Java libraries that can replace some of your code.

Similar Messages

  • How to get caller object reference from a method

    Hi,
    I am working a already existing Java Swing project, now I got a problem, in a method I need to get the caller object reference otherwise, I can't succeed this operation. So please tell me a way how to get the caller object reference from a method. that method would be static or regular method anything will do for me.
    Edited by: navaneeth.j on Jan 29, 2010 11:20 PM

    navaneeth.j wrote:
    Actually my doubt is, I have a method "addition" method, which is using by many classes so my requirement is in the addition method I want to write a code snippet which will identify and get the the caller object. Actually I tried Reflection.getcallerclass but there I am getting "CLASS" object not the actual object reference, but I want object reference.
    Actually we have a huge project which is writen plain JAVA, so in this project the authors written the Database connection package for single database transaction. so now we are using this project source code for JSF application in this web application the DB package has serve based on the dynamic db connection parameters, so if we want to change this package fully means need to solve the dependency problem in hundreds of classes, so my point is if I can access the caller object in the DB package when ever it gets called by any class from any where of the project. So actually I liked Reflection.getcallerclass, the way of implementation perfectly works for me but it is not giving caller object reference, if something gives the caller object then I can get the DB connection parameters then there is no need to pass the parameters in the hierarchy.You can add a parameter (of type Object) to your addition() method
    and everywhere you call the addition() method also pass this (which from the POW of the addition() method will be a reference to the calling class instance).
    There may be alternative solutions
    but none that require less effort.

  • Cannot call SPSOLVE routines from Fortran 95

    I am not able to call the SPSOLVE routines from fortran 95. I am using OPENSUSE and also OPENSOLARIS.
    I also tried with the example 6-1 (example_1call.f) from the Sun Performance Library user guide.
    I compiled the program with the .f extension (so f77 format) and it works.
    I then transformed the program to an .f95 program and also added USE SUNPERF under program.
    I then typed
    f95 -dalign example.f95 -xlic_lib=sunperf
    and I received
    example.f95:(.text+0x2af): undefined reference to `dgssfs_'
    example.f95:(.text+0x2d7): undefined reference to `dgssda_'
    I would be grateful if somebody could help me.
    Thank you.
    Victor

    The download URL is http://developers.sun.com/sunstudio/downloads/express/index.jsp
    In step #1, type in your e-mail address and click "Download Now"
    You are then taken to a "Download Options" page. Choose Option 2 which is "Download Tarfile Installer"
    This allows non-root access to install. And you can install anywhere you wish. So you don't have to
    un-install your Studio 12 version.

  • Currency Translation not working with "Time Reference from Variable"

    We have created several Currency Translations using RSCUR with a fixed "Key Date".  All have been working fine until we got the request to allow a variable date for the exchange rate date.  I have built a variable on 0DATE which I am putting a default date value into using user exit.  This default date is the SAME date as the fixed "Key Date" which we have been using.  Unfortunately when we use the "Time Reference from Variable" option and use this new variable, no currency conversion is taking place, instead it only shows the original currency values.  I am 100% sure that my variable is getting a value and it is the same date we are using for the fixed "Key Date" value so both methods should be using the exact same exchange rates.  The documentation that I can find states:
    ●      Time reference: The time reference for the currency translation can be either fixed or variable.
    If the time reference is fixed, the time at which the exchange rate is determined is independent of the data. You have the following options:
    ○       You can establish that the time reference be determined upon translation.
    ○       You can select the current date.
    ○       You can specify a fixed date as the key date.
    ○       You can specify any variable that exists for InfoObject 0DATE.
    ○       You can establish that the query key date be used. This is determined in the query settings.
    In my case I am only switching from option "You can specify a fixed date as the key date"=(Key Date) to "You can specify any variable that exists for InfoObject 0DATE"=(Time Reference from Variable).
    What am I missing?  Any help is appreciated.

    I neglected to mention that we are calling this currency translation through a WAD button using the SET_CURRENCY_TRANSLATION command.  I did do a test by applying the currency conversion within query key figure.  This seems to work.  So it appears the issue is with how the WAD is processing the variable, not the query.  When I display the variable in a drop down item within the WAD it does have the default value that I have assigned in user exit.

  • Is it possible to call a LabVIEW VI by reference from a CIN?

    I am calling by reference in my LabVIEW program and would like to do the same from a CIN, if possible.

    > I am calling by reference in my LabVIEW program and would like to do
    > the same from a CIN, if possible.
    >
    It is not possible to directly call a VI by reference from a CIN.
    There are a couple approaches that are similar that will work. If you
    have the professional version, you can build a DLL from VIs and can call
    the DLL entrypoints from your CIN.
    It is also possible to signal a LV occurrence from a CIN, and a LV
    diagram could run a VI or perform an operation when the occurrence is
    set. You will not be able to pass parameters with the occurrence though.
    Finally, the approach that will be easiest to debug is to change the CIN
    so that it returns to the diagram more often. Call the CIN and have it
    return with an action. The actions can be -- run
    a particular VI, delay
    for x ms and call the CIN again, end the program, etc.
    This last approach will be slightly less efficient at runtime, but in my
    experience they are much more flexible and much easier to debug.
    Greg McKaskle

  • Calling a web service reference from PL/SQL

    Hello,
    could anyone give me a hint how to call a web service that is defined as web service reference from a PL/SQL page process (PL/SQL anonymous block).
    Many thanks in advance
    Lukasz

    >
    The problem is that I have a PL/SQL page process that processes the result that was returned by a web service (triggered by web-service page process (-; ) and <b>need to call it again transparently for the user</b>. If there is a way to execute a page process from this PL/SQL block the question would be answered as well.
    >
    Same parameters and repeating at pre-defined time intervals? If yes, use Javascript as described here.
    Regards,

  • Pass string by reference from subsequence to caller

    Hi, I am unable to pass a string parameter by reference from a subsequence to its caller. Is there a trick in doing this or is it not possible?
    Thank you,
    Chris
    Solved!
    Go to Solution.

    Right Click on the parameter in the subsequence.
    Make sure Pass By Reference is checked.
    jigg
    CTA, CLA
    teststandhelp.com
    ~Will work for kudos and/or BBQ~

  • Calling C from Fortran IV example

    Porting code from DEC and need an example of passing multiple string arguments from fortran to c.

    Porting code from DEC and need an example of passing
    multiple string arguments from fortran to c.There is a lot of information about passing arguments, including character arguments,
    from Fortran to C and from C to Fortran in the Fortran Users Guide. If you don't have a
    copy of the Users Guide, you can download it from http://docs.sun.com.
    Sincerely,
    Bob Corbett

  • Calling CAT API from lavbiew

    hello,
    I have this CAT (CAN Analyzer Tool). (http://www.ime-actia.com/web_can/software/cat_api_​driver.htm) and I using their API. I am having trouble with following API function. Can someone please help. I need to call this function from LV. Function is in their API dll.
    I copy this from their VC++ code.
    //////////////////////////////////////////////////​////////////////////typedef started///////////////////////////////////////////​//////////////////////////////////////////
    typedef union {
      tCATOBJ_LogObj_Data Dat;
      tCATOBJ_LogObj_Error Err;
      tCATOBJ_LogObj_TriggerOnly TriggerOnly;
    } tCATOBJ_LogObj,* PCATOBJ_LogObj;
    typedef struct {
      unsigned char ChipStatus;
      unsigned char ChipErrorCodeCapture;
      unsigned char ChipRxErrorCounter;
      unsigned char ChipTxErrorCounter;
      unsigned short AccuRxErrorCounter;
      unsigned short AccuTxErrorCounter;
    } tCATOBJ_ErrorInfo;
    typedef struct {
      unsigned char Length;
      unsigned char ObjID;
      unsigned char ObjSubID;
      unsigned char EvenAddressFillupByte;
      unsigned char LogStatus;
      unsigned short LogNbrOfInBuffObjs;
      unsigned short LogOverflowCounter;
      unsigned short LogTriggerPoint;
      unsigned short DiagLogNbrOfInBuffObjs;
      unsigned short DiagLogOverflowCounter;
      tCATOBJ_LogObj LastTransferedObj;
      tCATOBJ_ErrorInfo ErrorInfo;
      unsigned short LogWritePointer;
      unsigned short DiagLogWritePointer;
    } tCATOnlineData0,* PCATOBJ_GetOnlineData0;
    //////////////////////////////////////////////////​/////////////////////////////////typedef finished//////////////////////////////////////////​//////////////////////////
    unsigned char     *RecvBuffer;
     unsigned short nObj;
     tCATOnlineData0*   GetData0;
    status = CATIDLL_ReceiveOnlineData(&RecvBuffer, &nObj);
    GetData0 = (tCATOnlineData0*)RecvBuffer; 
    GetData0->LastTransferedObj.Dat.FrameInfo;
     and so on.........
    My question is how do I call this  CATIDLL_ReceiveOnlineData function in LV?
    Is it possible to do in LV?
    I have attached DLL and complete documentation for API. Please help.
    Here is help from DLL***********************************************​*
    CATIDLL_ReceiveOnlineData
    The CATIDLL_ReceiveOnlineData function receives the online data from the CAT hardware board.
    int CATIDLL_ReceiveOnlineData(
      unsigned char** ppRecvBuffer,
      unsigned short* pObjNum
    Parameter
    ppRecvBuffer
    [out] Specifies the buffer for receiving the online data. You have only to specify the pointer. The memory will be allocated in this function internally.
    pObjNum
    [out] Specifies the number of received communication objects (PCATOBJ_GetLogObjs)
    Return Values
    If the function succeeds, the return value is CATI_OK. If the function fails the return value is defined in CATIERR.H
    Remarks
    Before you call this function, you have to call CATIDLL_RequestOnlineData.
    The buffer ppRecvBuffer will contain the communication objects if there are some data available in the online buffer on the CAT hardware board. The communication objects have a dynamic length and they are mapped one after the other in the buffer. The first byte of every communication object contains the length of the own object. So, if you want to get a pointer to the second communication object, you have to add the value of the first byte from the first communication object to the pointer of the first communication object. See 'CatiAPI DemoDlg.cpp' OnBUTTONGetOnlineData() for a reference implementation.
    Thanks.
    CVI 2010
    LabVIEW 2011 SP1
    Vision Builder AI 2011 SP1
    Attachments:
    CAT.zip ‏235 KB

    Brian B wrote:
    Hey Sheetal,
        With LabVIEW, you can import dlls by using the Call Library Function Node VI.  Here is a link that describes its use.  Also, you can use the import dll wizard.  Here is a link describing that functionality.  There's also a good KnowledgeBase article about using external code in LabVIEW, and it includes other links that may be of use to you with this issue.
    Yes but is that tool smart enough to handle this complex API? :-)
    This one is using double referenced pointers allocated in the function itself and I'm sure the person would very much like to reference the data in there too. This is going to be a pita to do all in LabVIEW and I doubt a tool will be able to handle that automatically. Personally I would write a C wrapper function to handle this translation into more LabVIEW friendly data structures.
    And Sheetal, you miss important information in your documentation. It is quite some guesswork as to how that function will fill in the character buffer with the data structures (the definition of the elements of the Log structure are nowhere defined), and even more so what data alignment it will use.
    It is certainly doable but with quite some work. You have to define both parameters as an uInt32 passed by reference and find out the exact byte length of the entire GetData0 structure (this is really handwork if you do not write some intermediate translation DLL) and then allocate a long enough byte buffer (IntializeArray function with type uInt8 and the length computed with the size of your data structure multiplied by the number returned in the second parameter of your function. The using MoveBlock as explained in some other threads copy the data from the first uInt32 that is really a pointer into the byte buffer you just allocated and then extract the data from the byte buffer.
    You could make it all a bit simpler in the runtime part by instead creating a cluster resembling your data object. But watch out LabVIEW uses byte packing while most DLLs use 8 byte alignement so yuo will likely need to add padding bytes in your structure to match the actual memory layout. Once you have the correct cluster you can just allocate an array of those clusters with the size indicated by the second parameter of your function and copy the data from the pointer into that array cluster with MovBlock and the computed byte size. This will avoid typecasting into the cluster later on and all the necessary byte swapping. 
    Rolf Kalbermatter
    Message Edited by rolfk on 12-11-2006 12:36 PM
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Call a Vbscript from a stored procedure

    Hi,
    I wonder is it possible to call a Vbscript from a stored procedure, any good reference for this.
    thanks

    Well here is quick and dirty example I just created.
    Step 1. Create a test_batch.bat file that creates a folder "c:\test_dir" and copy "c:emp.lst" into it.
    C:\oracle102\examples\test_batch.bat
    md c:\test_dir
    copy c:\emp.lst c:\test_dir
    Step2. From SQLPLUS, spool scott.emp into c:\emp.lst and call the batch from the dbms_scheduler that kicks off right away,
    set echo off
    set feedback off
    spool c:\emp.lst;
    select * from scott.emp;
    spool off;
    begin
         dbms_scheduler.create_job(job_name => 'run_batch',
         job_type => 'EXECUTABLE',
         job_action => 'C:\oracle102\examples\test_batch.bat',
         start_date => sysdate,
         enabled => true,
         comments => 'Run VB Script');
    end;
    Check if the directory is created and if the file is copied over. Task is to kick off the executable and test is the VBscript within the batch. Challenge is how long the script runs before the next statement in the PL/SQL runs. May be you have to introduce sleep in between.
    Note: You must have at least "CREATE JOB" privilege.
    Happy coding!
    Prakash
    Message was edited by:
    Prakash Rai

  • Calling Web Service From Oracle PL/SQL do not invoke the webservice in SOA Server

    Hi ,
    Trying to call the webservice from oralce pl/sql Function
    created a Function
    Not able to invoke the web service of SOA Server .
    CREATE OR REPLACE FUNCTION HelloWorld_WebServices(S_STRING Varchar2) RETURN VARCHAR2 AS 
        service_ sys.utl_dbws.SERVICE; 
        call_ sys.utl_dbws.CALL; 
        service_qname sys.utl_dbws.QNAME; 
        port_qname sys.utl_dbws.QNAME; 
        response sys.XMLTYPE; 
        request sys.XMLTYPE; 
        BEGIN 
         sys.utl_dbws.set_http_proxy('Host name : Port'); 
          service_qname := sys.utl_dbws.to_qname('ns1', 'process'); 
           service_      := sys.utl_dbws.create_service(service_qname); 
           call_         := sys.utl_dbws.create_call(service_); 
            sys.utl_dbws.set_target_endpoint_address(call_, 'http:/host name : port/soa-infra/services/OFS/HelloWorld/helloworld_client_ep'); 
            sys.utl_dbws.set_property( call_, 'OPERATION_STYLE', 'process'); 
            request       := sys.XMLTYPE('<ns1:process xmlns:ns1="http://xmlns.oracle.com/OFSOrderServices/HelloWorld/HelloWorld"><ns1:input></ns1:input></ns1:process>'); 
         response      := sys.utl_dbws.invoke(call_, request); 
         return response.extract('//HelloWorld/child::text()', 'http://xmlns.oracle.com/OFSOrderServices/HelloWorld/HelloWorld').getstringval(); 
         DBMS_OUTPUT.PUT_LINE ('Values of OutputsVariables8');
    --  Return 'S';
       END;
    Execute----the below code:
      Select HelloWorld_WebServices('Hi') from dual;
    Error:
    ORA-29532: Java call terminated by uncaught Java exception: java.lang.NoClassDefFoundError
    ORA-06512: at "SYS.UTL_DBWS", line 403
    ORA-06512: at "SYS.UTL_DBWS", line 400
    ORA-06512: at "APPS.HELLOWORLD_WEBSERVICES", line 74
    29532. 00000 -  "Java call terminated by uncaught Java exception: %s"
    *Cause:    A Java exception or error was signaled and could not be
               resolved by the Java code.
    *Action:   Modify Java code, if this behavior is not intended.

    Well, you should first test if your webservice is reachable with a simple WS - Client or a Browser - Plugin, then verify the respones of the web service and after that you can take further investigations on your problem domain. The error - message refers to a line in your function, obviously, but I can't see which line and because there is more than one call to sys.utl_dbws I don't see at what point the script fails. NULL - Pointer - Execptions usually indicate that a method was invoked on a variable which should contain an object reference but is NULL.

  • Check VI type for call by reference node

    Hi Ppl,
    I'm calling a set of VI's dynamically using call by reference node. And I have a type specifier linked to a particular type connector pane. But at times when the VI prototypes do not math I get error from the open VI reference node. Is there any way to check if the VI connector panes matches before opening the refrence with the VI type specifier ?, or using the error code is the only way to check if there were miss match in VI connector pane.
    Thanks 
    Solved!
    Go to Solution.

    But what is wrong with Error checking?
    For example, I using code like this in my application for detect which type of dynamic VI should be used (decision based on Error output):
    Andrey.

  • Calling a function from a DLL, exectution in background mode.

    Dear Experts,
    We have created an ABAP report the calls a function from a DLL file. If the report is executed in on-line mode the program calls and executes the function from the DLL, but if the ABAP programa is executed in background mode it doesnt calls the DLL function.
    Do you know a way to solve the problem when executing in background mode?
    Best regards.
    Antonio

    Hi Gabriel,
    Let me explain in details about my DLL function.
    We are importing the business partners from legacy system into the SAP CRM system, so at the moment we created the BP master data via BAPI, I get the name of the BP and this moment I call the function in the DLL file. I export the parameter name and I receive back a simplified string with the name reduced to a code. This code I get back from the dll it is insert in a Z table, so there is no interaction in the screen, all must be executed in background mode, because there are a lot of business partners to be converted in SAP system.
    I am sending my code for your considerations.
    Instancia a DLL
      CREATE OBJECT dll 'MTCODE.CPFONET'.
      IF sy-subrc NE 0.
        RAISE without_dll.
      ENDIF.
    Move para a tabela interna IT_NAME os valores recebidos na TI_NAME
      it_name[] = ti_name[].
    Para cada registro importado
      LOOP AT it_name.
        CLEAR v_string_ret.
        wa_matchcode-zregid     = it_name-zregid.
        wa_matchcode-name1_text = it_name-name1_text.
        v_string = it_name-name1_text.
        CONDENSE  v_string.
        TRANSLATE v_string TO UPPER CASE.
        CALL METHOD  OF dll 'SetNome' EXPORTING #1 = v_string.
        CALL METHOD  OF dll 'ExecMatch'.
        CALL METHOD  OF DLL 'GetMCData' = v_string_ret.
        FREE OBJECT dll.
      Preenche os campos do match-code de acordo com o retorno da DLL
        SPLIT v_string_ret
        AT '|'
        INTO wa_matchcode-zparmcln
             wa_matchcode-zparmcfn
             v_empty
             wa_matchcode-name_first
             wa_matchcode-name_last
             wa_matchcode-namemiddle.
      Adiciona o registro com o match-code correspondente na TE_MATCHCODE
        APPEND wa_matchcode TO te_matchcode.
      ENDLOOP.

  • Error when calling a procedure from my apex application

    Hello.
    I want to create a small APEX application that can configure asynchronous change data capture (distributed hotlog) on certain tables.
    Basically, what the application should do is to simply create change tables. Everything else is set up as prerequisite.
    My problem is that when I run the following script from schema apex_cdd (using sqldeveloper) , it works; but if I run it from my apex application by calling it when pressing a button as a pl/sql process, it doen't work.
    BEGIN
    apex_cdc.enable_table_capture
         (     i_owner => 'staging_cdcpub',
              i_change_table_name     => 'g_changeTable',
              i_change_set_name     => 'Source_changeSet',
              i_change_source          => 'orcl01_cs',
              i_source_schema          => 'My_src',
              i_source_table          => 'G',
              i_column_type_list     => 'STARTDATE DATE,STATUS CHAR(1),NAME VARCHAR2(10),ENDDATE DATE,DESCRIPTION VARCHAR2(255),ID NUMBER(8,0),VALUE NUMBER(10,2)'
    END;
    If I look in the trace file, i see that the error is:
    CDCdebug:in ChangeTable.java enableDisabledTriggers: ORA-06550: line 1, column 8:
    PLS-00201: identifier 'SYS.DBMS_CDC_SYS_IPUBLISH' must be declared
    ORA-06550: line 1, column 8:
    PL/SQL: Statement ignored
    oracle.jdbc.driver.OracleSQLException: ORA-06550: line 1, column 8:
    PLS-00201: identifier 'SYS.DBMS_CDC_SYS_IPUBLISH' must be declared
    ORA-06550: line 1, column 8:
    PL/SQL: Statement ignored
    Other remarks:
    - My procedure calls: sys.DBMS_CDC_PUBLISH.CREATE_CHANGE_TABLE.
    - I gave the same rights that I gave for apex_cdc schema to flows_030200 and APEX_PUBLIC_USER schemas (just to see if it works), but it doens't.
    Is APEX calling the procedure from another schema ?
    Does anyone has an idea why this procedure crashes if called from APEX application, but works ok if called from the same schema APEX application runs on, but using SQLDeveloper ?
    Any thoughts are appreciated.
    Radian

    The procedure apex_cdc.enable_table_capture i created myself with no authid mentioned explicitly, so it uses definer rights, by default.
    BUt this procedure is simply a wrapper for sys.dbms_cdc_publish.create_change_table.
    When I look on the security model for this sys.dbms_cdc_publish, i see it runs under invoker rights. (http://www.psoug.org/reference/dbms_cdc_publish.html).
    The code is like this:
    CREATE OR REPLACE PROCEDURE enable_table_capture
              i_owner               IN VARCHAR2,
              i_change_table_name     IN VARCHAR2,
              i_change_set_name     IN VARCHAR2,
              i_change_source          IN VARCHAR2,
              i_source_schema          IN VARCHAR2,
              i_source_table          IN VARCHAR2,
              i_column_type_list     IN VARCHAR2
         IS
         BEGIN
              EXECUTE IMMEDIATE 'alter session set REMOTE_DEPENDENCIES_MODE=SIGNATURE';
              EXECUTE IMMEDIATE 'begin add_log@orcl01(i_tableName => ''G''); end;';
    sys.DBMS_CDC_PUBLISH.CREATE_CHANGE_TABLE(
    owner => i_owner,
    change_table_name => i_change_table_name,
    change_set_name => i_change_set_name,
    source_schema => i_source_schema,
    source_table => i_source_table,
    column_type_list => i_column_type_list,
    capture_values => 'both',
    rs_id => 'y',
    row_id => 'n',
    user_id => 'n',
    timestamp => 'y',
    object_id => 'n',
    source_colmap => 'n',
    target_colmap => 'y',
    options_string => NULL);
    END enable_table_capture;

  • LabVIEW RT, Timed loop, finished late, Call by reference

    I have a timed loop triggered by the sample clock of a DAQ-Card. The sample Clock is 8 kHz and the loop will run with dt = 4. Normally the loop is running without finished late[i-1]. But from time to time it happens that the loop is running extremly longer which means instead of 0.5 millisec it needs 4 - 5 millisec. It seems this doesn't never occur while accessing DAQmx.
    The application uses plugin technologies and some of the VIs in the timed loop are preloaded and called by Call by Reference.
    Does those VIs inherit the priority, execution system and CPU of the timed loop?
    The application is running on LV RT 2009 on a Dual core PXI-Controller. The timed loop is bound to CPU 1. There is no  difference runinng the application from the development environment or as a startup application.
    For the measuring test  I modified the application in a way that I don't have:
    disk access for storing the result file
    TCP/IP communication
    Controls on the front panel of the top level VI
    Waldemar
    Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
    Don't forget to give Kudos to good answers and/or questions

    To keep you informed:
    I stripped the application and have left only the measurement storing module and the timed loop. The loop was using the microsecond timer running each 500 µsec. Additional all Non-Real-Time modules were loaded and only one module creates a XML string and sends it to the communication layer which will drop it because no TCP/IP port is open. The creation of the XML string is done each 300 ms.
    In this case I don't have any finished late iterations
    Next I added the DAQ Module. Now I get finished late again but with a lesser frequency as original.
    I removed all unnesseccary tasks from the DAQ moulde leaving one task for a PXI-4204 for using as the clock source for the timed loop. No I get finished late seldom.
     I removed the module which will send the XML string and I don't get finished late.
    Next I was adding code to see memory allocation. I can when memory allocation is changing but it is not related to the finished late iterations.
    Next time I have the chance to do more tests I will see which DAQ task triggers the finished late iterations. I have one AI task on a PXI-4204,  4 Counter tasks on a PXI-6602, 1 DI task on a PXI-6514, 1 DO task on a PXI-6514, 1 DI task on a PXI-6259, 1 DO task on a PXI-6259, 1 AO task on a PXI-6259 and 1 AO task on a PXI-6711.
    The AI task on the PXI-4204 is running in Continous Sampling (Single Point HW Timed is not supported), all other tasks exept the DI and DO are Single Point HW Timed.
    Waldemar
    Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
    Don't forget to give Kudos to good answers and/or questions

Maybe you are looking for

  • ImageReady...creating animated GIF, how do you change save settings?

    I cant find an ImageReady forum, hope this will do for now... Its been forever since I have used ImageReady and Im rusty again!  I just created an animated GIF but want to lower the file size of it a little after it saves everything to GIF.  Currentl

  • Native LDAP Auth in PT 5.0.3

    I am attempting to use Native LDAP Authentication with version 5.0.3. In 5.0.2 it worked just fine, but with 5.03., log in fails. The LDAP settings are correct as confirmed by the provider validation. What do these errors mean and how do I fix them?

  • Transfer everything from g4 to g5 or mac pro

    Depending on how much my wife is going to spend. I have two screens with an ex drive. would a networking do or backing everything on disc. My concerns are logic and plugins. All my song projects are on the ex drive. Any input would help. Thanks Bill

  • Skipping songs and only letting me put 300 songs onto my 4GB nano

    On my 2nd generation nano ipod, it will play a couple songs and then skip a lot. Certain songs will skip and certain songs will play. any suggestions? My other problem is it will only let me hold about 300 songs on my 4GB nano. Right now i have 326 s

  • CCMS Workflow Monitoring - Task

    Hello, I would like to see if we can use CCMS to monitor Workflow specifically the Task. Here is a sample Purchase Order Create scenario. 1 - Purchase Order Create Request comes in (as interface) from PI to ECC. 2 - Purchase Order created successfull