function Test_1_sfcn(block)
  setup(block);


function setup(block)
  
  %% Register number of input and output ports
  block.NumInputPorts  = 1;
  block.NumOutputPorts = 1; 


  %% Setup functional port properties to dynamically
  %% inherited.
  block.SetPreCompInpPortInfoToDynamic;
  block.SetPreCompOutPortInfoToDynamic;
 
  block.InputPort(1).Dimensions        = 1;
  block.InputPort(1).DirectFeedthrough = true;
  
  block.OutputPort(1).Dimensions       = 1;
  
  %% Set block sample time to variable sample time
  block.SampleTimes = [-1 0];
  
  %% Register methods
  block.RegBlockMethod('PostPropagationSetup',    @DoPostPropSetup);
  block.RegBlockMethod('InitializeConditions',    @InitConditions); 
  block.RegBlockMethod('Outputs',                 @Output);  
  block.RegBlockMethod('Update',                  @Update);  
  
%endfunction

function DoPostPropSetup(block)

  %% Setup Dwork
  block.NumDworks = 1;
  block.Dwork(1).Name = 'X'; 
  block.Dwork(1).Dimensions      = 1;
  block.Dwork(1).DatatypeID      = 0;
  block.Dwork(1).Complexity      = 'Real';
  block.Dwork(1).UsedAsDiscState = true;
  
%endfunction

function InitConditions(block)

  %% Initialize Dwork
  block.Dwork(1).Data = 0;
  
%endfunction

function Output(block)
  
  
  t = block.Dwork(1).Data;      % Eingang ist clock ist t
  block.OutputPort(1).Data = t; % Gebe Zeit am Ausgang aus
  
  path = gcs;
  path_bla = [path,'/bla'];
  
  if t==10
    set_param(path_bla,'Value','9999');
  end
  
  if t==50
     set_param(path_bla,'Value','1111');
  end 
 

function Update(block)

block.Dwork(1).Data = block.InputPort(1).Data(1);
  
%endfunction



