洗衣机petri网

Washing machine petri net

第一次做Petri网,想给洗衣机建模。我已经开始了,到目前为止看起来是这样的:

您有任何更正或帮助吗?我显然知道它不正确,但我是初学者,不知道你们可能会看到的错误。提前致谢。

显然您缺少停止进程的某些条件。现在一旦你开始你的洗涤将无限循环。

对您网络工作方式的第一条评论:

  • 没有返回 off 状态的箭头。那么一旦你打开洗衣机,你是不是就再也关不掉了?
  • draindry 都返回到 idle。但是当idle有token的时候,要么去delicate,要么去T1。条件("program" 由操作员选择)不会消失,因此它们会被一次又一次地触发。

考虑到最后一点,我建议在程序结束时设置不同的空闲时间以避免这种循环。如果您必须多次通过同一状态但根据进度采取不同的操作,则必须使用更多令牌。

关于网络形式的一些评论:

  • 您不需要在每个圆弧上都加上 1。您可以通过省略 1 并在弧上指示一个数字来使其更具可读性,仅当需要多个标记时。
  • 通常,过渡不与圆弧对齐(尽管没有禁止),而是垂直于流(此处为水平)
  • 原则上,"places"(节点)代表状态或资源,"transitions"(矩形)代表改变状态的事件(或消耗资源的动作)。您的命名约定应该更好地反映这一点

我认为如果未启用,最好让过渡图形不带阴影或不填充。如果启用,我个人将其填充为绿色。

如果您想让别人检查您是否在 Petri 网中正确建模了逻辑,那么最好在散文中包含对系统逻辑的描述。