Documentation Center

  • Trials
  • Product Updates

sedb.gceb

Package: sedb

Name of currently executing block in discrete-event simulation

Syntax

blkname = gceb

Description

blkname = gceb returns the path name of the block associated with the current operation. If the current operation is not associated with a block, blkname is an empty string. If an entity is advancing, blkname indicates the block from which the entity departs.

Examples

View information about a block:

  1. Begin a debugger session for a particular model. At the MATLAB® command prompt, enter:

    sedebug('sedemo_start_timer_read_timer')
  2. Establish a breakpoint and proceed in the simulation. At the prompt, enter:

    tbreak 2.51
    cont

    The partial output indicates that the server is about to execute a service completion event:

    Hit b1 : Breakpoint for first operation at or after time 2.51
    
    %==============================================================================%
    Executing ServiceCompletion Event (ev8)               Time = 2.581301297500028
    : Entity = en4                                        Priority = 1
    : Block  = Infinite Server
  3. View information about the block that is about to execute the event:

    blkname = gceb
    blkid = gcebid

    The output is:

    blkname =
    
    sedemo_start_timer_read_timer/Infinite Server
    
    
    blkid =
    
    blk4
    
  4. Proceed further in the simulation:

    step

    The output shows that the entity is about to depart from the server:

        %..........................................................................%
        Entity Advancing (en4)
        : From = Infinite Server
        : To   = Read Timer
  5. Use the identifier, blkid, to display information about the block and the status of entities in it:

    % Display information in Command Window.
    blkinfo(blkid)

    The output is:

    InfiniteServer Current State                          T = 2.581301297500028
    Block (blk4): Infinite Server
    
    Entities (Capacity = Inf):
     Pos     ID        Status                   Event     EventTime
     1       en2       In Service               ev4       2.7303849396254689
     2       en4       Advancing                ev8       2.581301297500028
     3       en5       In Service               ev10      2.974736350905304
    
  6. Store the information in variables:

    % Store information in structure.
    blkdetails = blkinfo(blkid)
    % Store status of entities in cell array.
    blkentities = {blkdetails.Entities.Status}'

    The output is:

    blkdetails =
    
             Time: 2.5813
            Block: 'sedemo_start_timer_read_timer/Infinite Server'
          BlockID: 'blk4'
        BlockType: 'InfiniteServer'
         Capacity: Inf
         Entities: [1x3 struct]
    
    
    blkentities =
    
        'In Service'
        'Advancing'
        'In Service'
    
  7. Get more information about one of the entities by using data from the blkdetails structure as an input argument to the eninfo function:

    adv_eninfo = eninfo(blkdetails.Entities(1).ID);
    time_in_system = adv_eninfo.Timers.ElapsedTime

    The output is:

    time_in_system =
    
        1.5813
    
  8. End the debugger session. At the prompt, enter:

    sedb.quit

See Also

Was this topic helpful?