ObjectStab.petri1

ObjectStab.petri1.PlaceCut ObjectStab.petri1.TransitionCut ObjectStab.petri1.ConditionCut ObjectStab.petri1.StartPlace ObjectStab.petri1.Place ObjectStab.petri1.Transition ObjectStab.petri1.Parallel ObjectStab.petri1.Synchronize

Information

This is the Dymola library for Petri net, and has been converted into
a Modelica package for convenience.


ObjectStab.petri1.StartPlace ObjectStab.petri1.StartPlace

ObjectStab.petri1.StartPlace

Modelica definition

model StartPlace 
  constant Boolean DymolaCompatibility=true;
  Boolean state(start=true);
  PlaceCut place(booleans=[state]);
equation 
  
  when Initial(Time) then
    state = true;
  end when;
end StartPlace;

ObjectStab.petri1.Place ObjectStab.petri1.Place

ObjectStab.petri1.Place

Modelica definition

model Place 
  constant Boolean DymolaCompatibility=true;
  Boolean state(start=false);
  PlaceCut place(booleans=[state]);
equation 
  
  when Initial(Time) then
    state = false;
  end when;
end Place;

ObjectStab.petri1.Transition ObjectStab.petri1.Transition

ObjectStab.petri1.Transition

Parameters

NameDefaultDescription
condLabel" "Condition as string (e.g. x > 0)

Modelica definition

model Transition 
  constant Boolean DymolaCompatibility=true;
  parameter String condLabel=" " 
    "Condition as string (e.g. x > 0)";
  Real status;
  Boolean condition(start=false);
  Boolean inState(start=false);
  Boolean outState(start=false);
  TransitionCut in_(booleans=[inState]);
  
  TransitionCut out(booleans=[outState]);
  
  ConditionCut c1(booleans=[condition]);
  
  ConditionCut c2(booleans=[condition]);
equation 
  
  when inState and condition and not Initial(Time) then
    status = SetBoolean2(inState, false, outState, true);
  end when;
end Transition;

ObjectStab.petri1.PlaceCut ObjectStab.petri1.PlaceCut

Cut of a petri net place (or state of a state machine)

ObjectStab.petri1.PlaceCut

Modelica definition

connector PlaceCut 
  "Cut of a petri net place (or state of a state machine)" 
  constant Boolean DymolaCompatibility=true;
  extends CutBase;
end PlaceCut;

ObjectStab.petri1.TransitionCut ObjectStab.petri1.TransitionCut

Cut of a petri net transition

ObjectStab.petri1.TransitionCut

Modelica definition

connector TransitionCut "Cut of a petri net transition" 
  constant Boolean DymolaCompatibility=true;
  extends CutBase;
end TransitionCut;

ObjectStab.petri1.ConditionCut ObjectStab.petri1.ConditionCut

Condition cut of a petri net transition

ObjectStab.petri1.ConditionCut

Modelica definition

connector ConditionCut "Condition cut of a petri net transition" 
  constant Boolean DymolaCompatibility=true;
  extends CutBase;
end ConditionCut;

ObjectStab.petri1.Parallel ObjectStab.petri1.Parallel

ObjectStab.petri1.Parallel

Parameters

NameDefaultDescription
condLabel""Condition as string (e.g. x > 0)

Modelica definition

model Parallel 
  constant Boolean DymolaCompatibility=true;
  parameter String condLabel="" 
    "Condition as string (e.g. x > 0)";
  Real status;
  Boolean inState;
  Boolean outState1;
  Boolean outState2;
  Boolean condition;
  TransitionCut in_(booleans=[inState]);
  
  TransitionCut out1(booleans=[outState1]);
  
  TransitionCut out2(booleans=[outState2]);
  
  ConditionCut c1(booleans=[condition]);
  
  ConditionCut c2(booleans=[condition]);
equation 
  
  when inState and condition and not Initial(Time) then
    status = SetBoolean3(inState, false, outState1, true, outState2, true);
  end when;
end Parallel;

ObjectStab.petri1.Synchronize ObjectStab.petri1.Synchronize

ObjectStab.petri1.Synchronize

Parameters

NameDefaultDescription
condLabel""Condition as string (e.g. x > 0)

Modelica definition

model Synchronize 
  constant Boolean DymolaCompatibility=true;
  parameter String condLabel="" 
    "Condition as string (e.g. x > 0)";
  Real status;
  Boolean inState1;
  Boolean inState2;
  Boolean outState;
  Boolean condition;
  TransitionCut in1(booleans=[inState1]);
  
  TransitionCut in2(booleans=[inState2]);
  
  TransitionCut out(booleans=[outState]);
  
  ConditionCut c1(booleans=[condition]);
  
  ConditionCut c2(booleans=[condition]);
equation 
  
  when inState1 and inState2 and condition and not Initial(Time) then
    status = SetBoolean3(inState1, false, inState2, false, outState, true);
  end when;
end Synchronize;

HTML-documentation generated by Dymola Thu Jun 29 23:18:08 2000 .