{
  "schema": "spec-platform/v1",
  "kind": "timingchart",
  "v": 5,
  "steps": 16,
  "stepW": 44,
  "rowH": 48,
  "edgeMode": "v",
  "meta": {
    "title": "ロボットと加工機の取出インターロック",
    "note": "干渉領域外はロボットコントローラの干渉領域の機能で、外にいるとき ON で出す（プログラムで出さない）。ロボットのいる場所に入ってくる動き（扉閉・起動・軸移動）には、いつも干渉領域外を条件に入れる。クランプはロボットが中にいる間はロボットの要求でだけ動かす。上限：干渉領域外 OFF から ON まで 10 秒、干渉領域外 ON から取出完了 ON まで 1 秒、取出許可 OFF から取出完了 OFF まで 1 秒。取出許可 ON から干渉領域外 OFF までは上限を置かず「ロボット待ち」と表示する。人の安全（安全柵の扉・非常停止）はこの信号ではなく安全回路で扱う",
    "stepMs": 500,
    "master": "加工機",
    "slave": "ロボット"
  },
  "library": [],
  "rows": [
    {
      "id": "r_wait",
      "name": "bUnloadWait",
      "type": "BOOL",
      "comment": "取出待ち（加工完了で ON・取出完了で OFF）",
      "role": "I",
      "values": [
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        false,
        false,
        false,
        false
      ]
    },
    {
      "id": "r_open",
      "name": "bDoorOpenEnd",
      "type": "BOOL",
      "comment": "扉 開端",
      "role": "I",
      "values": [
        false,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true
      ]
    },
    {
      "id": "r_permit",
      "name": "bUnloadPermit",
      "type": "BOOL",
      "comment": "取出許可（自動運転中・取出待ち・扉開端）",
      "role": "M",
      "values": [
        false,
        false,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        false,
        false,
        false
      ]
    },
    {
      "id": "r_clear",
      "name": "bRobotClear",
      "type": "BOOL",
      "comment": "干渉領域外（外で ON。中にいるのは 3.5 s）",
      "role": "S",
      "values": [
        true,
        true,
        true,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        true,
        true,
        true,
        true,
        true,
        true
      ]
    },
    {
      "id": "r_done",
      "name": "bUnloadDone",
      "type": "BOOL",
      "comment": "取出完了（ワークを持って出た）",
      "role": "S",
      "values": [
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        true,
        true,
        true,
        false,
        false
      ]
    }
  ],
  "variables": [
    {
      "id": "r_wait",
      "name": "bUnloadWait",
      "type": "BOOL",
      "role": "I",
      "comment": "取出待ち（加工完了で ON・取出完了で OFF）",
      "address": "",
      "bit": null,
      "initialValue": "1"
    },
    {
      "id": "r_open",
      "name": "bDoorOpenEnd",
      "type": "BOOL",
      "role": "I",
      "comment": "扉 開端",
      "address": "",
      "bit": null,
      "initialValue": "0"
    },
    {
      "id": "r_permit",
      "name": "bUnloadPermit",
      "type": "BOOL",
      "role": "M",
      "comment": "取出許可（自動運転中・取出待ち・扉開端）",
      "address": "",
      "bit": null,
      "initialValue": "0"
    },
    {
      "id": "r_clear",
      "name": "bRobotClear",
      "type": "BOOL",
      "role": "S",
      "comment": "干渉領域外（外で ON。中にいるのは 3.5 s）",
      "address": "",
      "bit": null,
      "initialValue": "1"
    },
    {
      "id": "r_done",
      "name": "bUnloadDone",
      "type": "BOOL",
      "role": "S",
      "comment": "取出完了（ワークを持って出た）",
      "address": "",
      "bit": null,
      "initialValue": "0"
    }
  ],
  "triggers": [
    {
      "from": {
        "varId": "r_open",
        "step": 1
      },
      "to": {
        "varId": "r_permit",
        "step": 2
      }
    },
    {
      "from": {
        "varId": "r_permit",
        "step": 2
      },
      "to": {
        "varId": "r_clear",
        "step": 3
      }
    },
    {
      "from": {
        "varId": "r_clear",
        "step": 10
      },
      "to": {
        "varId": "r_done",
        "step": 11
      }
    },
    {
      "from": {
        "varId": "r_done",
        "step": 11
      },
      "to": {
        "varId": "r_wait",
        "step": 12
      }
    },
    {
      "from": {
        "varId": "r_wait",
        "step": 12
      },
      "to": {
        "varId": "r_permit",
        "step": 13
      }
    },
    {
      "from": {
        "varId": "r_permit",
        "step": 13
      },
      "to": {
        "varId": "r_done",
        "step": 14
      }
    }
  ]
}
