PetriNets.Modules

PetriNets.Modules.SingleComponent PetriNets.Modules.SingleComponentAlt PetriNets.Modules.SingleComponentAlt1 PetriNets.Modules.OR3 PetriNets.Modules.SingleComponentNonFunctional PetriNets.Modules.Nonfunctional PetriNets.Modules.NonfunctionalBIRNG PetriNets.Modules.FunctionalBIRNG PetriNets.Modules.EvalBlock


PetriNets.Modules.SingleComponent PetriNets.Modules.SingleComponent

PetriNets.Modules.SingleComponent

Modelica definition

model SingleComponent
  Modelica.Blocks.Interfaces.BooleanOutPort BFunctional;
  Extensions.TDelayExp DelayLifeExp(mean=9, seed=2354);
  Place11 Nonfunctional;
  Extensions.TDelayExp DelayRepairExp(mean=1, seed=984446);
  Place11 Functional(initialState=true);
equation
  connect(DelayLifeExp.outTransition, Nonfunctional.inTransition);
  connect(Nonfunctional.outTransition, DelayRepairExp.inTransition);
  connect(Functional.outTransition, DelayLifeExp.inTransition);
  connect(Functional.inTransition, DelayRepairExp.outTransition);
  BFunctional.signal[1] = Functional.state;
end SingleComponent;

PetriNets.Modules.SingleComponentAlt PetriNets.Modules.SingleComponentAlt

PetriNets.Modules.SingleComponentAlt

Modelica definition

model SingleComponentAlt
  Modelica.Blocks.Interfaces.BooleanOutPort BFunctional;
  Extensions.TDelayExp DelayLifeExp(mean=9, seed=87466351);
  Place11 Nonfunctional;
  Extensions.TDelayExp DelayRepairExp(mean=1, seed=31876165);
  Place11 Functional(initialState=true);
equation
  connect(DelayLifeExp.outTransition, Nonfunctional.inTransition);
  connect(Nonfunctional.outTransition, DelayRepairExp.inTransition);
  connect(Functional.outTransition, DelayLifeExp.inTransition);
  connect(Functional.inTransition, DelayRepairExp.outTransition);
  BFunctional.signal[1] = Functional.state;
end SingleComponentAlt;

PetriNets.Modules.SingleComponentAlt1 PetriNets.Modules.SingleComponentAlt1

PetriNets.Modules.SingleComponentAlt1

Modelica definition

model SingleComponentAlt1
  Modelica.Blocks.Interfaces.BooleanOutPort BFunctional;
  Extensions.TDelayExp DelayLifeExp(mean=9, seed=76481354);
  Place11 Nonfunctional;
  Extensions.TDelayExp DelayRepairExp(mean=1, seed=188463);
  Place11 Functional(initialState=true);
equation
  connect(DelayLifeExp.outTransition, Nonfunctional.inTransition);
  connect(Nonfunctional.outTransition, DelayRepairExp.inTransition);
  connect(Functional.outTransition, DelayLifeExp.inTransition);
  connect(Functional.inTransition, DelayRepairExp.outTransition);
  BFunctional.signal[1] = Functional.state;
end SingleComponentAlt1;

PetriNets.Modules.OR3 PetriNets.Modules.OR3

PetriNets.Modules.OR3

Modelica definition

model OR3
  Modelica.Blocks.Interfaces.BooleanInPort inPort1(final n=1);
  Modelica.Blocks.Interfaces.BooleanInPort inPort2(final n=1);
  Modelica.Blocks.Interfaces.BooleanOutPort outPort(final n=1);
  Modelica.Blocks.Interfaces.BooleanInPort inPort3(final n=1);
equation
  outPort.signal[1] = inPort1.signal[1] or inPort2.signal[1] or
    inPort3.signal[1];
end OR3;

PetriNets.Modules.SingleComponentNonFunctional PetriNets.Modules.SingleComponentNonFunctional

PetriNets.Modules.SingleComponentNonFunctional

Parameters

NameDefaultDescription
meanLife10Mean lifetime
meanRepair1Mean repairtime
seedLife2545 
seedRepair9832747 

Modelica definition

model SingleComponentNonFunctional
  parameter Real meanLife=10 "Mean lifetime";
  parameter Real meanRepair=1 "Mean repairtime";
  parameter Integer seedLife=2545;
  parameter Integer seedRepair=9832747;
  Modelica.Blocks.Interfaces.BooleanOutPort BNonFunctional;
  Extensions.TDelayExp DelayLifeExp(mean=meanLife, seed=seedLife);
  Place11 Nonfunctional;
  Extensions.TDelayExp DelayRepairExp(mean=meanRepair, seed=seedRepair);
  Place11 Functional(initialState=true);
equation
  connect(DelayLifeExp.outTransition, Nonfunctional.inTransition);
  connect(Nonfunctional.outTransition, DelayRepairExp.inTransition);
  connect(Functional.outTransition, DelayLifeExp.inTransition);
  connect(Functional.inTransition, DelayRepairExp.outTransition);
  BNonFunctional.signal[1] = not Functional.state;
end SingleComponentNonFunctional;

PetriNets.Modules.Nonfunctional PetriNets.Modules.Nonfunctional

PetriNets.Modules.Nonfunctional

Parameters

NameDefaultDescription
meanLife60*24*10Mean lifetime, exponential distribution
seedLife2545 
meanRepair60*3Mean repairtime, normal distribution
standardDeviationRepair60*1Standard deviation of repair-time, normal distribution
seed1Repair1469 
seed2Repair8769821 

Modelica definition

model Nonfunctional
  parameter Real meanLife=60*24*10
    "Mean lifetime, exponential distribution";
  parameter Integer seedLife=2545;
  
  parameter Real meanRepair=60*3
    "Mean repairtime, normal distribution";
  parameter Real standardDeviationRepair=60*1
    "Standard deviation of repair-time, normal distribution";
  parameter Integer seed1Repair=1469;
  parameter Integer seed2Repair=8769821;
  Modelica.Blocks.Interfaces.BooleanOutPort BNonFunctional;
  Extensions.TDelayExp DelayLifeExp(mean=meanLife, seed=seedLife);
  Place11 Nonfunctional;
  Place11 Functional(initialState=true);
  Extensions.TDelayNormal DelayRepairNormal(
    mean=meanRepair,
    standardDev=standardDeviationRepair,
    seed1=seed1Repair,
    seed2=seed2Repair);
equation
  connect(DelayLifeExp.outTransition, Nonfunctional.inTransition);
  connect(Functional.outTransition, DelayLifeExp.inTransition);
  connect(DelayRepairNormal.outTransition, Functional.inTransition);
  connect(Nonfunctional.outTransition, DelayRepairNormal.inTransition);
  BNonFunctional.signal[1] = not Functional.state;
end Nonfunctional;

PetriNets.Modules.NonfunctionalBIRNG PetriNets.Modules.NonfunctionalBIRNG

PetriNets.Modules.NonfunctionalBIRNG

Parameters

NameDefaultDescription
meanLife60*24*10Mean lifetime, exponential distribution
meanRepair60*3Mean repairtime, normal distribution
standardDeviationRepair60*1Standard deviation of repair-time, normal distribution

Modelica definition

model NonfunctionalBIRNG
  parameter Real meanLife=60*24*10
    "Mean lifetime, exponential distribution";
  parameter Real meanRepair=60*3
    "Mean repairtime, normal distribution";
  parameter Real standardDeviationRepair=60*1
    "Standard deviation of repair-time, normal distribution";
  
  Modelica.Blocks.Interfaces.BooleanOutPort BNonFunctional;
  Place11 Nonfunctional;
  Place11 Functional(initialState=true);
  Extensions.TDelayExpBIRNG TDelayExpBIRNG1(mean=meanLife);
  Extensions.TDelayNormalBIRNG TDelayNormalBIRNG1(center=meanRepair,
      standardDev=standardDeviationRepair);
equation
  connect(TDelayNormalBIRNG1.outTransition, Functional.inTransition);
  connect(Nonfunctional.outTransition, TDelayNormalBIRNG1.inTransition);
  connect(Functional.outTransition, TDelayExpBIRNG1.inTransition);
  connect(TDelayExpBIRNG1.outTransition, Nonfunctional.inTransition);
  BNonFunctional.signal[1] = not Functional.state;
end NonfunctionalBIRNG;

PetriNets.Modules.FunctionalBIRNG PetriNets.Modules.FunctionalBIRNG

PetriNets.Modules.FunctionalBIRNG

Parameters

NameDefaultDescription
meanLife60*24*10Mean lifetime, exponential distribution
meanRepair60*3Mean repairtime, normal distribution
standardDeviationRepair60*1Standard deviation of repair-time, normal distribution

Modelica definition

model FunctionalBIRNG
  parameter Real meanLife=60*24*10
    "Mean lifetime, exponential distribution";
  parameter Real meanRepair=60*3
    "Mean repairtime, normal distribution";
  parameter Real standardDeviationRepair=60*1
    "Standard deviation of repair-time, normal distribution";
  
  Modelica.Blocks.Interfaces.BooleanOutPort BNonFunctional;
  Place11 Nonfunctional;
  Place11 Functional(initialState=true);
  Extensions.TDelayExpBIRNG TDelayExpBIRNG1(mean=meanLife);
  Extensions.TDelayNormalBIRNG TDelayNormalBIRNG1(center=meanRepair,
      standardDev=standardDeviationRepair);
equation
  connect(TDelayNormalBIRNG1.outTransition, Functional.inTransition);
  connect(Nonfunctional.outTransition, TDelayNormalBIRNG1.inTransition);
  connect(Functional.outTransition, TDelayExpBIRNG1.inTransition);
  connect(TDelayExpBIRNG1.outTransition, Nonfunctional.inTransition);
  BNonFunctional.signal[1] = Functional.state;
end FunctionalBIRNG;

PetriNets.Modules.EvalBlock PetriNets.Modules.EvalBlock

PetriNets.Modules.EvalBlock

Modelica definition

model EvalBlock
  Real Q;
  Real WeightedSum;
  Real Qavg;
  Real told;
  Real tnew;
  Real tdelta;
  Modelica.Blocks.Interfaces.InPort InTokens;
  Modelica.Blocks.Interfaces.BooleanInPort InChange;
algorithm
  
  when InChange.signal[1] then
    Q := InTokens.signal[1];
    told := tnew;
    tnew := time;
    tdelta := tnew - told;
    WeightedSum := WeightedSum + Q*tdelta;
    Qavg := WeightedSum/(time + 1e-3);
  end when;
end EvalBlock;

HTML-documentation generated by Dymola Tue Apr 30 22:44:02 2002 .