.


   

Motion Scope Out of Recorders

The motion controller supports up to 64 recorder objects, each with a configurable recorder buffer size. By default, the controller supports one recorder object with 16384 records. When an application creates a recorder object, the MPI automatically reserves the corresponding controller recorder. Later, when the controller deletes the recorder object, the controller recorder reservation is canceled. The recorder reservation mechanism prevents multiple applications from accidentally using the same controller recorder.

When a pane is created in Motion Scope, it will try to use recorder number 0. If recorder 0 is reserved by another application, Motion Scope will prompt the user to select the next available recorder object and the number of records to allocate:

 
  • Rec#
    Specifies the recorder number. Recorder 0 is always reserved for...

  • # records
    The number or records reserved for the specified recorder.

  • Active
    Specifies whether or not the recorder is currently recording data.
    • Yes - data is being recorded.
    • No - data is not being recorded.

If a new recorder is selected (Rec# 1 above), Motion Scope will allocate another recorder and configure the recorder buffer size (specified by new # records).

TIP: Motion Console can be used to configure the number of data recorders and their buffer sizes. To manually configure the recorders from Motion Console, set the recorderCount in the Controller Summary > Config tab and the corresponding Record Count in the Recorders tab.

If an application does not clean-up its recorders after use, they may become stranded. To re-use data recorders with Motion Scope, select one of the non-active recorders that is not being used by another application. In the example below, 4 recorders have been allocated and there is not enough free memory to allocate another recorder. The user should choose either Rec # 1, 2, or 3:


Sample Scenario

NOTE: For Motion Scope version 1.21.24 (or older):

Problem
Motion Scope crashed. This means that Motion Scope did not release the recorder and that the controller did not allow other programs to use it.

When you try to start Motion Scope, the following window will appear.

Press OK. The following window will be displayed. Motion Scope tells you that it cannot start because recorders are running.

 

Solution
To solve this problem, you must clear out the abandoned recorders in VM3. Follow the steps below.

1. You either need to:
        A. Reset the controller. If this is not practical, follow Step B below.
        B. Open VM3.exe ( ..\mpi\xmp\bin\winnt directory) The following screen will appear.

2. Press F3. The following screen will appear.

3. Press Ctrl + Page Down once. You should see the screen below.

4. Press the down arrow until you highlight the value at RecorderInUseMask. Notice that RecorderInUseMask is set to 1. This means that Motion Scope is using recorder number 0 (RecorderInUseMask is a bit mask. i.e. 1 = bit 0). You need to release the recorder in use by changing this number to zero (no recorders in use).

5. Press 0 once and hit enter to change RecorderInUseMask to 0. This allows other programs to use recorder 0.

6. Open Motion Scope. You should be able to use Motion Scope normally.

See Also

You can also deal with this situation programatically. The above procedure can be performed in your program, which is demonstrated in the recorderinuse.c sample application.

 

Previous | Back to Table of Contents

       Legal Notice  |  Tech Email  |  Feedback
      
Copyright ©
2001-2009 Motion Engineering