{
  "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": 5,
      "callStack": [
        {
          "procedure": "main",
          "pc": 5
        }
      ],
      "scopeStack": [
        {
          "id": "global",
          "variables": {}
        },
        {
          "id": "main",
          "variables": {}
        }
      ],
      "alarmQueue": [],
      "trace": [
        {
          "time": 0,
          "kind": "load",
          "procedure": "main",
          "pc": 0,
          "message": "Loaded W2ProcFuncCall",
          "source": {
            "kind": "RAW_STATEMENT",
            "id": "main:RAW_STATEMENT:17:5",
            "sourceMap": {
              "line": 17,
              "column": 5
            },
            "procedureId": "main"
          },
          "data": {
            "moduleName": "W2ProcFuncCall"
          },
          "id": 1
        },
        {
          "time": 0,
          "kind": "instruction",
          "procedure": "main",
          "pc": 1,
          "instructionKind": "RAW_STATEMENT",
          "source": {
            "kind": "RAW_STATEMENT",
            "id": "main:RAW_STATEMENT:17:5",
            "sourceMap": {
              "line": 17,
              "column": 5
            },
            "procedureId": "main"
          },
          "id": 2
        },
        {
          "time": 0,
          "kind": "diagnostic",
          "procedure": "main",
          "pc": 1,
          "message": "Execution exceeded 1 steps",
          "source": {
            "kind": "RAW_STATEMENT",
            "id": "main:RAW_STATEMENT:18:5",
            "sourceMap": {
              "line": 18,
              "column": 5
            },
            "procedureId": "main"
          },
          "diagnostic": {
            "severity": "error",
            "code": "VC_STEP_LIMIT_EXCEEDED",
            "message": "Execution exceeded 1 steps"
          },
          "id": 3
        },
        {
          "time": 0,
          "kind": "instruction",
          "procedure": "main",
          "pc": 2,
          "instructionKind": "RAW_STATEMENT",
          "source": {
            "kind": "RAW_STATEMENT",
            "id": "main:RAW_STATEMENT:18:5",
            "sourceMap": {
              "line": 18,
              "column": 5
            },
            "procedureId": "main"
          },
          "id": 4
        },
        {
          "time": 0,
          "kind": "instruction",
          "procedure": "read_part",
          "pc": 0,
          "instructionKind": "CALL",
          "message": "Call read_part",
          "source": {
            "kind": "CALL",
            "sourceMap": {
              "line": 19,
              "column": 5
            },
            "procedureId": "read_part"
          },
          "id": 5
        },
        {
          "time": 0,
          "kind": "instruction",
          "procedure": "read_part",
          "pc": 1,
          "instructionKind": "RAW_STATEMENT",
          "source": {
            "kind": "RAW_STATEMENT",
            "id": "read_part:RAW_STATEMENT:8:5",
            "sourceMap": {
              "line": 8,
              "column": 5
            },
            "procedureId": "read_part"
          },
          "id": 6
        },
        {
          "time": 0,
          "kind": "diagnostic",
          "procedure": "main",
          "pc": 3,
          "message": "Execution exceeded 3 steps",
          "source": {
            "kind": "CALL",
            "id": "main:CALL:20:5",
            "sourceMap": {
              "line": 20,
              "column": 5
            },
            "procedureId": "main"
          },
          "diagnostic": {
            "severity": "error",
            "code": "VC_STEP_LIMIT_EXCEEDED",
            "message": "Execution exceeded 3 steps"
          },
          "id": 7
        },
        {
          "time": 0.1,
          "kind": "instruction",
          "procedure": "increment_retry",
          "pc": 0,
          "instructionKind": "CALL",
          "message": "Call increment_retry",
          "source": {
            "kind": "CALL",
            "sourceMap": {
              "line": 20,
              "column": 5
            },
            "procedureId": "increment_retry"
          },
          "id": 8
        },
        {
          "time": 0.1,
          "kind": "instruction",
          "procedure": "increment_retry",
          "pc": 1,
          "instructionKind": "RAW_STATEMENT",
          "source": {
            "kind": "RAW_STATEMENT",
            "id": "increment_retry:RAW_STATEMENT:11:5",
            "sourceMap": {
              "line": 11,
              "column": 5
            },
            "procedureId": "increment_retry"
          },
          "id": 9
        },
        {
          "time": 0.1,
          "kind": "instruction",
          "procedure": "main",
          "pc": 5,
          "instructionKind": "EXEC_IF",
          "source": {
            "kind": "EXEC_IF",
            "id": "main:EXEC_IF:21:5",
            "sourceMap": {
              "line": 21,
              "column": 5
            },
            "procedureId": "main"
          },
          "id": 10
        },
        {
          "time": 0.1,
          "kind": "instruction",
          "procedure": "main",
          "pc": 5,
          "instructionKind": "RETURN",
          "source": {
            "kind": "RETURN",
            "id": "main:RETURN:24:5",
            "sourceMap": {
              "line": 24,
              "column": 5
            },
            "procedureId": "main"
          },
          "id": 11
        }
      ],
      "currentSource": {
        "kind": "RETURN",
        "id": "main:RETURN:24:5",
        "sourceMap": {
          "line": 24,
          "column": 5
        },
        "procedureId": "main"
      },
      "completed": true
    },
    "motion": {
      "items": [],
      "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
      },
      "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.1,
          "writer": "script",
          "target": {
            "domain": "di",
            "index": 5,
            "raw": "io.di[5]"
          },
          "previous": false,
          "value": true,
          "kind": "script"
        },
        {
          "id": 11,
          "time": 0.1,
          "writer": "script",
          "target": {
            "domain": "di",
            "index": 6,
            "raw": "io.di[6]"
          },
          "previous": true,
          "value": false,
          "kind": "script"
        },
        {
          "id": 12,
          "time": 0.1,
          "writer": "script",
          "target": {
            "domain": "di",
            "index": 7,
            "raw": "io.di[7]"
          },
          "previous": false,
          "value": true,
          "kind": "script"
        }
      ],
      "diagnostics": [],
      "scripts": [
        {
          "name": "W2_80_ProcFuncCall-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": [],
      "operationIds": [],
      "diagnostics": []
    }
  }
}
