Add ABB120 demo suite and docs
This commit is contained in:
@@ -0,0 +1,440 @@
|
||||
{
|
||||
"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_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": "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": "Static",
|
||||
"program_ids": [
|
||||
"W2_E10_ExpressionDiagnostics",
|
||||
"W2_E20_SemanticDiagnostics",
|
||||
"W2_E30_MotionDiagnostics",
|
||||
"W2_E40_ControlFlowDiagnostics",
|
||||
"W2_E50_RuntimeTimeout"
|
||||
]
|
||||
},
|
||||
{
|
||||
"spec_section": 23,
|
||||
"coverage_level": "Static",
|
||||
"program_ids": [
|
||||
"W2_00_MinimalModule"
|
||||
]
|
||||
},
|
||||
{
|
||||
"spec_section": 24,
|
||||
"coverage_level": "Runtime",
|
||||
"program_ids": [
|
||||
"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"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user