Files
KDL_WORK/kdl-wasm/web/app/virtual-controller.html
2026-06-28 08:20:33 +08:00

85 lines
3.4 KiB
HTML

<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>ABB120 Virtual Controller</title>
<link rel="stylesheet" href="./virtual-controller.css">
</head>
<body>
<main class="workbench" data-robot="abb_irb120_3_58">
<header class="command-bar">
<strong>ABB120 Station</strong>
<button type="button" data-command="load">Load</button>
<button type="button" data-command="run">Run</button>
<button type="button" data-command="pause">Pause</button>
<button type="button" data-command="step">Step</button>
<button type="button" data-command="stop">Stop</button>
<button type="button" data-command="reset">Reset</button>
<button type="button" data-command="export">Export</button>
</header>
<aside class="object-tree">
<h2>Station</h2>
<ul>
<li>Robot: abb_irb120_3_58</li>
<li>Tool: tool0</li>
<li>Frame: world</li>
<li>Path: pick_place</li>
<li>Operation: pick_op</li>
<li>Program: main</li>
<li>Reports</li>
</ul>
</aside>
<section class="viewport" aria-label="station viewport">
<div class="robot-arm">
<span class="joint j1"></span>
<span class="link l1"></span>
<span class="joint j2"></span>
<span class="link l2"></span>
<span class="joint j3"></span>
<span class="link l3"></span>
<span class="joint j4"></span>
</div>
<svg viewBox="0 0 480 240" role="img" aria-label="path trace">
<path d="M70 170 C150 80 260 80 410 150" fill="none" stroke="#1f7a8c" stroke-width="4"/>
<circle cx="70" cy="170" r="6"/>
<circle cx="250" cy="90" r="6"/>
<circle cx="410" cy="150" r="6"/>
</svg>
</section>
<aside class="pendant">
<h2>Controller</h2>
<dl>
<dt>State</dt><dd data-field="state">ready</dd>
<dt>Mode</dt><dd data-field="mode">auto</dd>
<dt>Motors</dt><dd data-field="motors">on</dd>
<dt>PC</dt><dd data-field="pc">main:0</dd>
<dt>Joints</dt><dd data-field="joints">[0, 0, 0, 0, 0, 0]</dd>
<dt>TCP</dt><dd data-field="tcp">[0, 0, 580, 0, 0, 0]</dd>
</dl>
</aside>
<section class="editor">
<nav>
<button type="button" data-tab="grl" aria-pressed="true">GRL</button>
<button type="button" data-tab="abb">ABB</button>
<button type="button" data-tab="fanuc">FANUC</button>
<button type="button" data-tab="kuka">KUKA</button>
</nav>
<pre data-field="editor">proc main()
run_path pick_place
end</pre>
</section>
<section class="bottom-panel">
<div><strong>Log</strong><span data-field="log">ready</span></div>
<div><strong>Diagnostics</strong><span data-field="diagnostics">ready</span></div>
<div><strong>IO</strong><span data-field="io">do[1]=false, di[1]=false</span><button type="button" data-io="di1">DI1</button></div>
<div><strong>Wait</strong><span data-field="wait">none</span></div>
<div><strong>Motion Queue</strong><span data-field="queue">empty</span></div>
<div><strong>Trace</strong><span data-field="trace">0 events</span></div>
<div><strong>Reports</strong><span data-field="reports">A120-REPORT</span></div>
</section>
</main>
<script src="./virtual-controller.js"></script>
</body>
</html>