Products & Services Solutions Academia Support User Community Company

Learn more about SimEvents   

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. Proceed in the simulation. At the sedebug>> 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.510000
    
    %==============================================================================%
    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 =
    
    blk7
  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 get information about the block and the status of entities in it:

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

    The output is:

    Infinite Server Current State                         T = 2.581301297500028
    Block (blk7): 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
    
    
    blkdetails = 
    
             Time: 2.5813
            Block: 'sedemo_start_timer_read_timer/Infinite Server'
          BlockID: 'blk7'
        BlockType: 'Infinite Server'
         Capacity: Inf
         Entities: [1x3 struct]
    
    
    blkentities = 
    
        'In Service'
        'Advancing'
        'In Service'
  6. 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
  7. End the debugger session. At the sedebug>> prompt, enter:

    sedb.quit

See Also

sedb.blkinfo

How To

  


Related Products & Applications

Learn more about Simulink through this collection of videos, articles, technical literature and the Getting Started with Simulink Guide.

 © 1984-2009- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS