452 lines
10 KiB
JSON
452 lines
10 KiB
JSON
{
|
|
"suite_id": "working2-abb120-spec",
|
|
"robot_id": "abb_irb120_3_58",
|
|
"spec_source": "work/doc/通用机器人编程语法规范.md",
|
|
"program_root": "kdl-wasm/web/tests/fixtures/abb120/spec-programs",
|
|
"runtime_commands": [
|
|
"loadProgram",
|
|
"start",
|
|
"stepInto",
|
|
"hold",
|
|
"resume",
|
|
"stepMotion",
|
|
"stop",
|
|
"resetFault"
|
|
],
|
|
"programs": [
|
|
{
|
|
"program_id": "W2_00_MinimalModule",
|
|
"file": "runtime/W2_00_MinimalModule.grl",
|
|
"coverage_level": "Runtime",
|
|
"spec_sections": [
|
|
4,
|
|
5,
|
|
6,
|
|
9,
|
|
10,
|
|
23
|
|
],
|
|
"expected_status": "pass",
|
|
"expected_diagnostics": []
|
|
},
|
|
{
|
|
"program_id": "W2_10_DataTargetToolFrame",
|
|
"file": "runtime/W2_10_DataTargetToolFrame.grl",
|
|
"coverage_level": "Runtime",
|
|
"spec_sections": [
|
|
6,
|
|
8,
|
|
9
|
|
],
|
|
"expected_status": "pass",
|
|
"expected_diagnostics": []
|
|
},
|
|
{
|
|
"program_id": "W2_20_ExpressionMath",
|
|
"file": "runtime/W2_20_ExpressionMath.grl",
|
|
"coverage_level": "Runtime",
|
|
"spec_sections": [
|
|
7,
|
|
9,
|
|
13
|
|
],
|
|
"expected_status": "pass",
|
|
"expected_diagnostics": []
|
|
},
|
|
{
|
|
"program_id": "W2_30_MotionAllTypes",
|
|
"file": "runtime/W2_30_MotionAllTypes.grl",
|
|
"coverage_level": "Runtime",
|
|
"spec_sections": [
|
|
8,
|
|
9,
|
|
10
|
|
],
|
|
"expected_status": "pass",
|
|
"expected_diagnostics": []
|
|
},
|
|
{
|
|
"program_id": "W2_40_PathEvents",
|
|
"file": "runtime/W2_40_PathEvents.grl",
|
|
"coverage_level": "Runtime",
|
|
"spec_sections": [
|
|
11,
|
|
13,
|
|
19
|
|
],
|
|
"expected_status": "pass",
|
|
"expected_diagnostics": []
|
|
},
|
|
{
|
|
"program_id": "W2_50_OperationProcess",
|
|
"file": "runtime/W2_50_OperationProcess.grl",
|
|
"coverage_level": "Runtime",
|
|
"spec_sections": [
|
|
12,
|
|
13
|
|
],
|
|
"expected_status": "pass",
|
|
"expected_diagnostics": []
|
|
},
|
|
{
|
|
"program_id": "W2_60_IOWaitPulse",
|
|
"file": "runtime/W2_60_IOWaitPulse.grl",
|
|
"coverage_level": "Runtime",
|
|
"spec_sections": [
|
|
13
|
|
],
|
|
"expected_status": "pass",
|
|
"expected_diagnostics": []
|
|
},
|
|
{
|
|
"program_id": "W2_70_ControlFlow",
|
|
"file": "runtime/W2_70_ControlFlow.grl",
|
|
"coverage_level": "Runtime",
|
|
"spec_sections": [
|
|
14
|
|
],
|
|
"expected_status": "pass",
|
|
"expected_diagnostics": []
|
|
},
|
|
{
|
|
"program_id": "W2_80_ProcFuncCall",
|
|
"file": "runtime/W2_80_ProcFuncCall.grl",
|
|
"coverage_level": "Runtime",
|
|
"spec_sections": [
|
|
15
|
|
],
|
|
"expected_status": "pass",
|
|
"expected_diagnostics": []
|
|
},
|
|
{
|
|
"program_id": "W2_90_ExceptionAlarm",
|
|
"file": "runtime/W2_90_ExceptionAlarm.grl",
|
|
"coverage_level": "Runtime",
|
|
"spec_sections": [
|
|
16,
|
|
17
|
|
],
|
|
"expected_status": "pass",
|
|
"expected_diagnostics": [
|
|
"GRL_P1_UNIMPLEMENTED"
|
|
]
|
|
},
|
|
{
|
|
"program_id": "W2_99_FullSpecExample",
|
|
"file": "runtime/W2_99_FullSpecExample.grl",
|
|
"coverage_level": "Runtime",
|
|
"spec_sections": [
|
|
24
|
|
],
|
|
"expected_status": "pass",
|
|
"expected_diagnostics": []
|
|
},
|
|
{
|
|
"program_id": "W2_E10_ExpressionDiagnostics",
|
|
"file": "static/W2_E10_ExpressionDiagnostics.grl",
|
|
"coverage_level": "Static",
|
|
"spec_sections": [
|
|
7,
|
|
22
|
|
],
|
|
"expected_status": "diagnostic",
|
|
"expected_diagnostics": [
|
|
"GRL_EXPR_UNKNOWN_SYMBOL",
|
|
"GRL_EXPR_UNKNOWN_FUNCTION",
|
|
"GRL_EXPR_ARITY",
|
|
"GRL_EXPR_DOMAIN",
|
|
"GRL_EXPR_DIV_ZERO",
|
|
"GRL_EXPR_UNIT_MISMATCH"
|
|
]
|
|
},
|
|
{
|
|
"program_id": "W2_E20_SemanticDiagnostics",
|
|
"file": "static/W2_E20_SemanticDiagnostics.grl",
|
|
"coverage_level": "Static",
|
|
"spec_sections": [
|
|
6,
|
|
15,
|
|
22
|
|
],
|
|
"expected_status": "diagnostic",
|
|
"expected_diagnostics": [
|
|
"GRL_SYMBOL_DUPLICATE",
|
|
"GRL_ARGUMENT_NOT_LVALUE",
|
|
"GRL_CALL_TARGET_NOT_FOUND",
|
|
"GRL_FUNC_SIDE_EFFECT",
|
|
"GRL_TARGET_NOT_FOUND"
|
|
]
|
|
},
|
|
{
|
|
"program_id": "W2_E30_MotionDiagnostics",
|
|
"file": "error/W2_E30_MotionDiagnostics.grl",
|
|
"coverage_level": "Static",
|
|
"spec_sections": [
|
|
8,
|
|
9,
|
|
10,
|
|
11,
|
|
22
|
|
],
|
|
"expected_status": "diagnostic",
|
|
"expected_diagnostics": [
|
|
"KDL_JOINT_LIMIT",
|
|
"KDL_TARGET_UNREACHABLE",
|
|
"GRL_PATH_EMPTY"
|
|
]
|
|
},
|
|
{
|
|
"program_id": "W2_E40_ControlFlowDiagnostics",
|
|
"file": "static/W2_E40_ControlFlowDiagnostics.grl",
|
|
"coverage_level": "Static",
|
|
"spec_sections": [
|
|
14,
|
|
22
|
|
],
|
|
"expected_status": "diagnostic",
|
|
"expected_diagnostics": [
|
|
"GRL_BREAK_OUTSIDE_FLOW",
|
|
"GRL_CONTINUE_OUTSIDE_LOOP",
|
|
"GRL_JUMP_INTO_BLOCK",
|
|
"GRL_SWITCH_CASE_DUPLICATE",
|
|
"GRL_SWITCH_CASE_NOT_CONSTANT",
|
|
"GRL_LABEL_NOT_FOUND"
|
|
]
|
|
},
|
|
{
|
|
"program_id": "W2_E50_RuntimeTimeout",
|
|
"file": "error/W2_E50_RuntimeTimeout.grl",
|
|
"coverage_level": "Runtime",
|
|
"spec_sections": [
|
|
13,
|
|
16
|
|
],
|
|
"expected_status": "diagnostic",
|
|
"expected_diagnostics": [
|
|
"VC_WAIT_TIMEOUT"
|
|
]
|
|
},
|
|
{
|
|
"program_id": "W2_P10_BrandHints",
|
|
"file": "post/W2_P10_BrandHints.grl",
|
|
"coverage_level": "Post",
|
|
"spec_sections": [
|
|
18,
|
|
20
|
|
],
|
|
"expected_status": "pass",
|
|
"expected_diagnostics": [
|
|
"GRL_POST_HINT_IGNORED"
|
|
]
|
|
},
|
|
{
|
|
"program_id": "W2_P20_CrossBrandMotion",
|
|
"file": "post/W2_P20_CrossBrandMotion.grl",
|
|
"coverage_level": "Post",
|
|
"spec_sections": [
|
|
20
|
|
],
|
|
"expected_status": "pass",
|
|
"expected_diagnostics": []
|
|
},
|
|
{
|
|
"program_id": "W2_P30_Roundtrip",
|
|
"file": "post/W2_P30_Roundtrip.grl",
|
|
"coverage_level": "Post",
|
|
"spec_sections": [
|
|
19,
|
|
20,
|
|
21
|
|
],
|
|
"expected_status": "pass",
|
|
"expected_diagnostics": []
|
|
}
|
|
],
|
|
"coverage_matrix": [
|
|
{
|
|
"spec_section": 4,
|
|
"coverage_level": "Runtime/Static",
|
|
"program_ids": [
|
|
"W2_00_MinimalModule"
|
|
]
|
|
},
|
|
{
|
|
"spec_section": 5,
|
|
"coverage_level": "Runtime",
|
|
"program_ids": [
|
|
"W2_00_MinimalModule"
|
|
]
|
|
},
|
|
{
|
|
"spec_section": 6,
|
|
"coverage_level": "Runtime/Static",
|
|
"program_ids": [
|
|
"W2_10_DataTargetToolFrame",
|
|
"W2_E20_SemanticDiagnostics"
|
|
]
|
|
},
|
|
{
|
|
"spec_section": 7,
|
|
"coverage_level": "Runtime/Static/Post",
|
|
"program_ids": [
|
|
"W2_20_ExpressionMath",
|
|
"W2_E10_ExpressionDiagnostics",
|
|
"W2_P20_CrossBrandMotion"
|
|
]
|
|
},
|
|
{
|
|
"spec_section": 8,
|
|
"coverage_level": "Runtime/Static",
|
|
"program_ids": [
|
|
"W2_10_DataTargetToolFrame",
|
|
"W2_E30_MotionDiagnostics"
|
|
]
|
|
},
|
|
{
|
|
"spec_section": 9,
|
|
"coverage_level": "Runtime/Post",
|
|
"program_ids": [
|
|
"W2_20_ExpressionMath",
|
|
"W2_30_MotionAllTypes",
|
|
"W2_P20_CrossBrandMotion"
|
|
]
|
|
},
|
|
{
|
|
"spec_section": 10,
|
|
"coverage_level": "Runtime/Static/Post",
|
|
"program_ids": [
|
|
"W2_30_MotionAllTypes",
|
|
"W2_E30_MotionDiagnostics",
|
|
"W2_P20_CrossBrandMotion"
|
|
]
|
|
},
|
|
{
|
|
"spec_section": 11,
|
|
"coverage_level": "Runtime/Static",
|
|
"program_ids": [
|
|
"W2_40_PathEvents",
|
|
"W2_E30_MotionDiagnostics"
|
|
]
|
|
},
|
|
{
|
|
"spec_section": 12,
|
|
"coverage_level": "Runtime/Post",
|
|
"program_ids": [
|
|
"W2_50_OperationProcess",
|
|
"W2_P30_Roundtrip"
|
|
]
|
|
},
|
|
{
|
|
"spec_section": 13,
|
|
"coverage_level": "Runtime",
|
|
"program_ids": [
|
|
"W2_60_IOWaitPulse",
|
|
"W2_E50_RuntimeTimeout"
|
|
]
|
|
},
|
|
{
|
|
"spec_section": 14,
|
|
"coverage_level": "Runtime/Static",
|
|
"program_ids": [
|
|
"W2_70_ControlFlow",
|
|
"W2_E40_ControlFlowDiagnostics"
|
|
]
|
|
},
|
|
{
|
|
"spec_section": 15,
|
|
"coverage_level": "Runtime/Static",
|
|
"program_ids": [
|
|
"W2_80_ProcFuncCall",
|
|
"W2_E20_SemanticDiagnostics"
|
|
]
|
|
},
|
|
{
|
|
"spec_section": 16,
|
|
"coverage_level": "Runtime/Static",
|
|
"program_ids": [
|
|
"W2_90_ExceptionAlarm",
|
|
"W2_E50_RuntimeTimeout"
|
|
]
|
|
},
|
|
{
|
|
"spec_section": 17,
|
|
"coverage_level": "Runtime/Static",
|
|
"program_ids": [
|
|
"W2_90_ExceptionAlarm"
|
|
]
|
|
},
|
|
{
|
|
"spec_section": 18,
|
|
"coverage_level": "Post",
|
|
"program_ids": [
|
|
"W2_P10_BrandHints"
|
|
]
|
|
},
|
|
{
|
|
"spec_section": 19,
|
|
"coverage_level": "Post",
|
|
"program_ids": [
|
|
"W2_P30_Roundtrip"
|
|
]
|
|
},
|
|
{
|
|
"spec_section": 20,
|
|
"coverage_level": "Post",
|
|
"program_ids": [
|
|
"W2_P20_CrossBrandMotion"
|
|
]
|
|
},
|
|
{
|
|
"spec_section": 21,
|
|
"coverage_level": "Runtime/Static",
|
|
"program_ids": [
|
|
"W2_00_MinimalModule",
|
|
"W2_E10_ExpressionDiagnostics"
|
|
]
|
|
},
|
|
{
|
|
"spec_section": 22,
|
|
"coverage_level": "Runtime/Static",
|
|
"program_ids": [
|
|
"W2_E10_ExpressionDiagnostics",
|
|
"W2_E20_SemanticDiagnostics",
|
|
"W2_E30_MotionDiagnostics",
|
|
"W2_E40_ControlFlowDiagnostics",
|
|
"W2_E50_RuntimeTimeout"
|
|
]
|
|
},
|
|
{
|
|
"spec_section": 23,
|
|
"coverage_level": "Runtime/Static",
|
|
"program_ids": [
|
|
"W2_00_MinimalModule"
|
|
]
|
|
},
|
|
{
|
|
"spec_section": 24,
|
|
"coverage_level": "Runtime/Post",
|
|
"program_ids": [
|
|
"W2_99_FullSpecExample",
|
|
"W2_P30_Roundtrip"
|
|
]
|
|
},
|
|
{
|
|
"spec_section": 25,
|
|
"coverage_level": "Runtime/Static/Post",
|
|
"program_ids": [
|
|
"W2_00_MinimalModule",
|
|
"W2_10_DataTargetToolFrame",
|
|
"W2_20_ExpressionMath",
|
|
"W2_30_MotionAllTypes",
|
|
"W2_40_PathEvents",
|
|
"W2_50_OperationProcess",
|
|
"W2_60_IOWaitPulse",
|
|
"W2_70_ControlFlow",
|
|
"W2_80_ProcFuncCall",
|
|
"W2_90_ExceptionAlarm",
|
|
"W2_P20_CrossBrandMotion"
|
|
]
|
|
}
|
|
]
|
|
}
|