{
  "commands": [
    {
      "command": "loadProgram",
      "before": "unloaded",
      "after": "stopped",
      "result": "ok",
      "diagnostics": []
    },
    {
      "command": "start",
      "before": "stopped",
      "after": "running",
      "result": "blocked",
      "diagnostics": [
        {
          "severity": "error",
          "code": "VC_STEP_LIMIT_EXCEEDED",
          "message": "Execution exceeded 1 steps"
        }
      ]
    },
    {
      "command": "stepInto",
      "before": "paused",
      "after": "paused",
      "result": "executed",
      "diagnostics": []
    },
    {
      "command": "hold",
      "before": "paused",
      "after": "hold",
      "result": "ok",
      "diagnostics": []
    },
    {
      "command": "resume",
      "before": "hold",
      "after": "running",
      "result": "blocked",
      "diagnostics": [
        {
          "severity": "error",
          "code": "VC_STEP_LIMIT_EXCEEDED",
          "message": "Execution exceeded 3 steps"
        }
      ]
    },
    {
      "command": "stepMotion",
      "before": "running",
      "after": "running",
      "result": "ok",
      "diagnostics": []
    },
    {
      "command": "stop",
      "before": "paused",
      "after": "stopped",
      "result": "ok",
      "diagnostics": []
    },
    {
      "command": "resetFault",
      "before": "stopped",
      "after": "stopped",
      "result": "ok",
      "diagnostics": []
    }
  ],
  "snapshot": {
    "state": {
      "state": "stopped",
      "diagnostics": []
    },
    "runtime": {
      "loaded": true,
      "procedure": "main",
      "pc": 10,
      "callStack": [
        {
          "procedure": "main",
          "pc": 10
        }
      ],
      "scopeStack": [
        {
          "id": "global",
          "variables": {
            "$wait:main:3": 0,
            "$wait:main:4": 0,
            "$wait:main:5": 0.1,
            "$wait:main:6": 0.1,
            "$wait:main:7": 0.1
          }
        },
        {
          "id": "main",
          "variables": {}
        }
      ],
      "alarmQueue": [],
      "trace": [
        {
          "time": 0,
          "kind": "load",
          "procedure": "main",
          "pc": 0,
          "message": "Loaded W2IOWaitPulse",
          "source": {
            "kind": "IO_WRITE",
            "id": "main:IO_WRITE:12:5",
            "sourceMap": {
              "line": 12,
              "column": 5
            },
            "procedureId": "main"
          },
          "data": {
            "moduleName": "W2IOWaitPulse"
          },
          "id": 1
        },
        {
          "time": 0,
          "kind": "io",
          "procedure": "main",
          "pc": 0,
          "instructionKind": "IO_WRITE",
          "source": {
            "kind": "IO_WRITE",
            "id": "main:IO_WRITE:12:5",
            "sourceMap": {
              "line": 12,
              "column": 5
            },
            "procedureId": "main"
          },
          "data": {
            "result": [
              {
                "id": 10,
                "time": 0,
                "writer": "program",
                "target": {
                  "domain": "do",
                  "index": 1,
                  "raw": "io.do[1]"
                },
                "value": true,
                "kind": "write"
              }
            ]
          },
          "id": 2
        },
        {
          "time": 0,
          "kind": "io",
          "procedure": "main",
          "pc": 1,
          "instructionKind": "IO_WRITE",
          "source": {
            "kind": "IO_WRITE",
            "id": "main:IO_WRITE:12:5",
            "sourceMap": {
              "line": 12,
              "column": 5
            },
            "procedureId": "main"
          },
          "id": 3
        },
        {
          "time": 0,
          "kind": "diagnostic",
          "procedure": "main",
          "pc": 1,
          "message": "Execution exceeded 1 steps",
          "source": {
            "kind": "IO_WRITE",
            "id": "main:IO_WRITE:13:5",
            "sourceMap": {
              "line": 13,
              "column": 5
            },
            "procedureId": "main"
          },
          "diagnostic": {
            "severity": "error",
            "code": "VC_STEP_LIMIT_EXCEEDED",
            "message": "Execution exceeded 1 steps"
          },
          "id": 4
        },
        {
          "time": 0,
          "kind": "io",
          "procedure": "main",
          "pc": 1,
          "instructionKind": "IO_WRITE",
          "source": {
            "kind": "IO_WRITE",
            "id": "main:IO_WRITE:13:5",
            "sourceMap": {
              "line": 13,
              "column": 5
            },
            "procedureId": "main"
          },
          "data": {
            "result": [
              {
                "id": 11,
                "time": 0,
                "writer": "program",
                "target": {
                  "domain": "ao",
                  "index": 1,
                  "raw": "io.ao[1]"
                },
                "value": 0.75,
                "kind": "write"
              }
            ]
          },
          "id": 5
        },
        {
          "time": 0,
          "kind": "io",
          "procedure": "main",
          "pc": 2,
          "instructionKind": "IO_WRITE",
          "source": {
            "kind": "IO_WRITE",
            "id": "main:IO_WRITE:13:5",
            "sourceMap": {
              "line": 13,
              "column": 5
            },
            "procedureId": "main"
          },
          "id": 6
        },
        {
          "time": 0,
          "kind": "io",
          "procedure": "main",
          "pc": 2,
          "instructionKind": "IO_WRITE",
          "source": {
            "kind": "IO_WRITE",
            "id": "main:IO_WRITE:14:5",
            "sourceMap": {
              "line": 14,
              "column": 5
            },
            "procedureId": "main"
          },
          "data": {
            "result": [
              {
                "id": 12,
                "time": 0,
                "writer": "program",
                "target": {
                  "domain": "go",
                  "index": 1,
                  "raw": "io.go[1]"
                },
                "value": 3,
                "kind": "write"
              }
            ]
          },
          "id": 7
        },
        {
          "time": 0,
          "kind": "io",
          "procedure": "main",
          "pc": 3,
          "instructionKind": "IO_WRITE",
          "source": {
            "kind": "IO_WRITE",
            "id": "main:IO_WRITE:14:5",
            "sourceMap": {
              "line": 14,
              "column": 5
            },
            "procedureId": "main"
          },
          "id": 8
        },
        {
          "time": 0,
          "kind": "wait",
          "procedure": "main",
          "pc": 3,
          "instructionKind": "WAIT",
          "source": {
            "kind": "WAIT",
            "id": "main:WAIT:15:5",
            "sourceMap": {
              "line": 15,
              "column": 5
            },
            "procedureId": "main"
          },
          "data": {
            "status": "satisfied",
            "elapsed": 0
          },
          "id": 9
        },
        {
          "time": 0,
          "kind": "instruction",
          "procedure": "main",
          "pc": 4,
          "instructionKind": "WAIT",
          "source": {
            "kind": "WAIT",
            "id": "main:WAIT:15:5",
            "sourceMap": {
              "line": 15,
              "column": 5
            },
            "procedureId": "main"
          },
          "id": 10
        },
        {
          "time": 0,
          "kind": "wait",
          "procedure": "main",
          "pc": 4,
          "instructionKind": "WAIT",
          "source": {
            "kind": "WAIT",
            "id": "main:WAIT:16:5",
            "sourceMap": {
              "line": 16,
              "column": 5
            },
            "procedureId": "main"
          },
          "data": {
            "status": "satisfied",
            "elapsed": 0
          },
          "id": 11
        },
        {
          "time": 0,
          "kind": "instruction",
          "procedure": "main",
          "pc": 5,
          "instructionKind": "WAIT",
          "source": {
            "kind": "WAIT",
            "id": "main:WAIT:16:5",
            "sourceMap": {
              "line": 16,
              "column": 5
            },
            "procedureId": "main"
          },
          "id": 12
        },
        {
          "time": 0,
          "kind": "diagnostic",
          "procedure": "main",
          "pc": 5,
          "message": "Execution exceeded 3 steps",
          "source": {
            "kind": "WAIT",
            "id": "main:WAIT:17:5",
            "sourceMap": {
              "line": 17,
              "column": 5
            },
            "procedureId": "main"
          },
          "diagnostic": {
            "severity": "error",
            "code": "VC_STEP_LIMIT_EXCEEDED",
            "message": "Execution exceeded 3 steps"
          },
          "id": 13
        },
        {
          "time": 0.1,
          "kind": "wait",
          "procedure": "main",
          "pc": 5,
          "instructionKind": "WAIT",
          "source": {
            "kind": "WAIT",
            "id": "main:WAIT:17:5",
            "sourceMap": {
              "line": 17,
              "column": 5
            },
            "procedureId": "main"
          },
          "data": {
            "status": "satisfied",
            "elapsed": 0
          },
          "id": 14
        },
        {
          "time": 0.1,
          "kind": "instruction",
          "procedure": "main",
          "pc": 6,
          "instructionKind": "WAIT",
          "source": {
            "kind": "WAIT",
            "id": "main:WAIT:17:5",
            "sourceMap": {
              "line": 17,
              "column": 5
            },
            "procedureId": "main"
          },
          "id": 15
        },
        {
          "time": 0.1,
          "kind": "wait",
          "procedure": "main",
          "pc": 6,
          "instructionKind": "WAIT",
          "source": {
            "kind": "WAIT",
            "id": "main:WAIT:18:5",
            "sourceMap": {
              "line": 18,
              "column": 5
            },
            "procedureId": "main"
          },
          "data": {
            "status": "satisfied",
            "elapsed": 0
          },
          "id": 16
        },
        {
          "time": 0.1,
          "kind": "instruction",
          "procedure": "main",
          "pc": 7,
          "instructionKind": "WAIT",
          "source": {
            "kind": "WAIT",
            "id": "main:WAIT:18:5",
            "sourceMap": {
              "line": 18,
              "column": 5
            },
            "procedureId": "main"
          },
          "id": 17
        },
        {
          "time": 0.1,
          "kind": "wait",
          "procedure": "main",
          "pc": 7,
          "instructionKind": "WAIT",
          "source": {
            "kind": "WAIT",
            "id": "main:WAIT:19:5",
            "sourceMap": {
              "line": 19,
              "column": 5
            },
            "procedureId": "main"
          },
          "data": {
            "status": "satisfied",
            "elapsed": 0
          },
          "id": 18
        },
        {
          "time": 0.1,
          "kind": "instruction",
          "procedure": "main",
          "pc": 8,
          "instructionKind": "WAIT",
          "source": {
            "kind": "WAIT",
            "id": "main:WAIT:19:5",
            "sourceMap": {
              "line": 19,
              "column": 5
            },
            "procedureId": "main"
          },
          "id": 19
        },
        {
          "time": 0.1,
          "kind": "io",
          "procedure": "main",
          "pc": 8,
          "instructionKind": "PULSE",
          "source": {
            "kind": "PULSE",
            "id": "main:PULSE:20:5",
            "sourceMap": {
              "line": 20,
              "column": 5
            },
            "procedureId": "main"
          },
          "data": {
            "result": [
              {
                "id": 16,
                "time": 0.1,
                "writer": "program",
                "target": {
                  "domain": "do",
                  "index": 2,
                  "raw": "io.do[2]"
                },
                "value": true,
                "kind": "pulse_set"
              }
            ]
          },
          "id": 20
        },
        {
          "time": 0.1,
          "kind": "io",
          "procedure": "main",
          "pc": 9,
          "instructionKind": "PULSE",
          "source": {
            "kind": "PULSE",
            "id": "main:PULSE:20:5",
            "sourceMap": {
              "line": 20,
              "column": 5
            },
            "procedureId": "main"
          },
          "id": 21
        },
        {
          "time": 0.1,
          "kind": "motion",
          "procedure": "main",
          "pc": 9,
          "instructionKind": "RUN_PATH",
          "source": {
            "kind": "RUN_PATH",
            "id": "main:RUN_PATH:21:5",
            "sourceMap": {
              "line": 21,
              "column": 5
            },
            "procedureId": "main"
          },
          "data": {
            "queued": true
          },
          "id": 22
        },
        {
          "time": 0.1,
          "kind": "instruction",
          "procedure": "main",
          "pc": 10,
          "instructionKind": "RUN_PATH",
          "source": {
            "kind": "RUN_PATH",
            "id": "main:RUN_PATH:21:5",
            "sourceMap": {
              "line": 21,
              "column": 5
            },
            "procedureId": "main"
          },
          "id": 23
        }
      ],
      "completed": true
    },
    "motion": {
      "items": [
        {
          "id": "mq_1",
          "kind": "path",
          "source": {
            "kind": "path",
            "pathId": "io_path",
            "instruction": {
              "kind": "RUN_PATH",
              "pathId": "io_path",
              "sourceMap": {
                "line": 21,
                "column": 5
              }
            },
            "sourceMap": {
              "line": 21,
              "column": 5
            }
          },
          "request": {
            "pathId": "io_path",
            "startJoints": [
              0,
              0,
              0,
              0,
              0,
              0
            ],
            "segments": [
              {
                "id": "p0",
                "motion": "MOVEJ",
                "target": {
                  "joints": [
                    0,
                    0,
                    0,
                    0,
                    0,
                    0
                  ],
                  "id": "home"
                },
                "targetId": "home",
                "speed": {
                  "kind": "joint_percent",
                  "value": 0.35000000000000003
                },
                "zone": {
                  "kind": "fine"
                },
                "sourceMap": {
                  "line": 8,
                  "column": 14
                }
              }
            ],
            "events": [
              {
                "id": "event_0",
                "timing": "at",
                "pointId": "p0",
                "distance": 0.01,
                "kind": "pulse",
                "sourceMap": {
                  "line": 9,
                  "column": 35
                },
                "data": {
                  "statement": "pulse io . do [ 20 ] duration 50 + 50 ms",
                  "tokens": [
                    {
                      "kind": "keyword",
                      "raw": "pulse",
                      "value": "pulse",
                      "range": {
                        "start": {
                          "offset": 286,
                          "line": 9,
                          "column": 35
                        },
                        "end": {
                          "offset": 291,
                          "line": 9,
                          "column": 40
                        }
                      }
                    },
                    {
                      "kind": "keyword",
                      "raw": "io",
                      "value": "io",
                      "range": {
                        "start": {
                          "offset": 292,
                          "line": 9,
                          "column": 41
                        },
                        "end": {
                          "offset": 294,
                          "line": 9,
                          "column": 43
                        }
                      }
                    },
                    {
                      "kind": "punctuation",
                      "raw": ".",
                      "value": ".",
                      "range": {
                        "start": {
                          "offset": 294,
                          "line": 9,
                          "column": 43
                        },
                        "end": {
                          "offset": 295,
                          "line": 9,
                          "column": 44
                        }
                      }
                    },
                    {
                      "kind": "identifier",
                      "raw": "do",
                      "value": "do",
                      "range": {
                        "start": {
                          "offset": 295,
                          "line": 9,
                          "column": 44
                        },
                        "end": {
                          "offset": 297,
                          "line": 9,
                          "column": 46
                        }
                      }
                    },
                    {
                      "kind": "punctuation",
                      "raw": "[",
                      "value": "[",
                      "range": {
                        "start": {
                          "offset": 297,
                          "line": 9,
                          "column": 46
                        },
                        "end": {
                          "offset": 298,
                          "line": 9,
                          "column": 47
                        }
                      }
                    },
                    {
                      "kind": "number",
                      "raw": "20",
                      "value": 20,
                      "range": {
                        "start": {
                          "offset": 298,
                          "line": 9,
                          "column": 47
                        },
                        "end": {
                          "offset": 300,
                          "line": 9,
                          "column": 49
                        }
                      }
                    },
                    {
                      "kind": "punctuation",
                      "raw": "]",
                      "value": "]",
                      "range": {
                        "start": {
                          "offset": 300,
                          "line": 9,
                          "column": 49
                        },
                        "end": {
                          "offset": 301,
                          "line": 9,
                          "column": 50
                        }
                      }
                    },
                    {
                      "kind": "identifier",
                      "raw": "duration",
                      "value": "duration",
                      "range": {
                        "start": {
                          "offset": 302,
                          "line": 9,
                          "column": 51
                        },
                        "end": {
                          "offset": 310,
                          "line": 9,
                          "column": 59
                        }
                      }
                    },
                    {
                      "kind": "number",
                      "raw": "50",
                      "value": 50,
                      "range": {
                        "start": {
                          "offset": 311,
                          "line": 9,
                          "column": 60
                        },
                        "end": {
                          "offset": 313,
                          "line": 9,
                          "column": 62
                        }
                      }
                    },
                    {
                      "kind": "operator",
                      "raw": "+",
                      "value": "+",
                      "range": {
                        "start": {
                          "offset": 314,
                          "line": 9,
                          "column": 63
                        },
                        "end": {
                          "offset": 315,
                          "line": 9,
                          "column": 64
                        }
                      }
                    },
                    {
                      "kind": "number",
                      "raw": "50 ms",
                      "value": 50,
                      "range": {
                        "start": {
                          "offset": 316,
                          "line": 9,
                          "column": 65
                        },
                        "end": {
                          "offset": 321,
                          "line": 9,
                          "column": 70
                        }
                      },
                      "unit": {
                        "raw": "ms",
                        "kind": "time",
                        "siUnit": "s",
                        "normalizedValue": 0.05
                      }
                    }
                  ]
                }
              }
            ],
            "sampleTime": 0.02
          },
          "status": "queued"
        }
      ],
      "activeIndex": 0,
      "virtualTime": 0.1
    },
    "io": {
      "time": 0.1,
      "image": {
        "io.di[1]": true,
        "io.di[2]": false,
        "io.di[3]": true,
        "io.di[4]": false,
        "io.di[5]": true,
        "io.di[6]": false,
        "io.di[7]": true,
        "io.di[10]": true,
        "io.ai[2]": 0.75,
        "io.do[1]": true,
        "io.ao[1]": 0.75,
        "io.go[1]": 3,
        "io.do[2]": true
      },
      "events": [
        {
          "id": 1,
          "time": 0,
          "writer": "script",
          "target": {
            "domain": "di",
            "index": 1,
            "raw": "io.di[1]"
          },
          "value": true,
          "kind": "script"
        },
        {
          "id": 2,
          "time": 0,
          "writer": "script",
          "target": {
            "domain": "di",
            "index": 2,
            "raw": "io.di[2]"
          },
          "value": false,
          "kind": "script"
        },
        {
          "id": 3,
          "time": 0,
          "writer": "script",
          "target": {
            "domain": "di",
            "index": 3,
            "raw": "io.di[3]"
          },
          "value": true,
          "kind": "script"
        },
        {
          "id": 4,
          "time": 0,
          "writer": "script",
          "target": {
            "domain": "di",
            "index": 4,
            "raw": "io.di[4]"
          },
          "value": false,
          "kind": "script"
        },
        {
          "id": 5,
          "time": 0,
          "writer": "script",
          "target": {
            "domain": "di",
            "index": 5,
            "raw": "io.di[5]"
          },
          "value": false,
          "kind": "script"
        },
        {
          "id": 6,
          "time": 0,
          "writer": "script",
          "target": {
            "domain": "di",
            "index": 6,
            "raw": "io.di[6]"
          },
          "value": true,
          "kind": "script"
        },
        {
          "id": 7,
          "time": 0,
          "writer": "script",
          "target": {
            "domain": "di",
            "index": 7,
            "raw": "io.di[7]"
          },
          "value": false,
          "kind": "script"
        },
        {
          "id": 8,
          "time": 0,
          "writer": "script",
          "target": {
            "domain": "di",
            "index": 10,
            "raw": "io.di[10]"
          },
          "value": true,
          "kind": "script"
        },
        {
          "id": 9,
          "time": 0,
          "writer": "script",
          "target": {
            "domain": "ai",
            "index": 2,
            "raw": "io.ai[2]"
          },
          "value": 0.75,
          "kind": "script"
        },
        {
          "id": 10,
          "time": 0,
          "writer": "program",
          "target": {
            "domain": "do",
            "index": 1,
            "raw": "io.do[1]"
          },
          "value": true,
          "kind": "write"
        },
        {
          "id": 11,
          "time": 0,
          "writer": "program",
          "target": {
            "domain": "ao",
            "index": 1,
            "raw": "io.ao[1]"
          },
          "value": 0.75,
          "kind": "write"
        },
        {
          "id": 12,
          "time": 0,
          "writer": "program",
          "target": {
            "domain": "go",
            "index": 1,
            "raw": "io.go[1]"
          },
          "value": 3,
          "kind": "write"
        },
        {
          "id": 13,
          "time": 0.1,
          "writer": "script",
          "target": {
            "domain": "di",
            "index": 5,
            "raw": "io.di[5]"
          },
          "previous": false,
          "value": true,
          "kind": "script"
        },
        {
          "id": 14,
          "time": 0.1,
          "writer": "script",
          "target": {
            "domain": "di",
            "index": 6,
            "raw": "io.di[6]"
          },
          "previous": true,
          "value": false,
          "kind": "script"
        },
        {
          "id": 15,
          "time": 0.1,
          "writer": "script",
          "target": {
            "domain": "di",
            "index": 7,
            "raw": "io.di[7]"
          },
          "previous": false,
          "value": true,
          "kind": "script"
        },
        {
          "id": 16,
          "time": 0.1,
          "writer": "program",
          "target": {
            "domain": "do",
            "index": 2,
            "raw": "io.do[2]"
          },
          "value": true,
          "kind": "pulse_set"
        }
      ],
      "diagnostics": [],
      "scripts": [
        {
          "name": "W2_60_IOWaitPulse-edge-script",
          "nextIndex": 3,
          "elapsed": 0.1,
          "steps": [
            {
              "delay": 0.02,
              "target": {
                "domain": "di",
                "index": 5,
                "raw": "io.di[5]"
              },
              "value": true
            },
            {
              "delay": 0.04,
              "target": {
                "domain": "di",
                "index": 6,
                "raw": "io.di[6]"
              },
              "value": false
            },
            {
              "delay": 0.06,
              "target": {
                "domain": "di",
                "index": 7,
                "raw": "io.di[7]"
              },
              "value": true
            }
          ],
          "done": true
        }
      ]
    },
    "bridge": {
      "pathIds": [
        "io_path"
      ],
      "operationIds": [],
      "diagnostics": []
    }
  }
}
