Set Model Reference Discrete Sample Time Inheritance - MATLAB & Simulink (original) (raw)

Main Content

Disallow model reference discrete sample time inheritance for a System objectâ„¢. The System object defined in this example has one input, so by default, it allows sample time inheritance. To override the default and disallow inheritance, the class definition file for this example includes theallowModelReferenceDiscreteSampleTimeInheritanceImpl method, with its output set to false.

methods (Access = protected) function flag = ... allowModelReferenceDiscreteSampleTimeInheritanceImpl(obj) flag = false; end end

View the method in the complete class definition file.

classdef MyCounter < matlab.System

% MyCounter Count values

properties
   Threshold = 1;
end

properties (DiscreteState)
   Count
end

methods (Static, Access = protected)
  function header = getHeaderImpl
     header = matlab.system.display.Header('MyCounter',...
       'Title','My Enhanced Counter',...
       'Text', 'This counter is an enhanced version.');
  end
end

methods (Access = protected)
   function flag = ...
        allowModelReferenceDiscreteSampleTimeInheritanceImpl(obj)
      flag = false
   end
   function setupImpl(obj,u)
      obj.Count = 0;
   end
   function y = stepImpl(obj,u)
      if (u > obj.Threshold)
         obj.Count = obj.Count + 1;
      end
      y = obj.Count;
   end
   function resetImpl(obj)
      obj.Count = 0;
   end
end

end

See Also

Functions

Classes