所属产品: Mingcedar Studio DESIGNER
Open Diagnosis 打开诊断 | Mingcedar Studio
点击组件,请求 Mingcedar 打开对应设备的诊断弹窗。
<div class="manual-doc-article manual-doc-article-section"><h2 id="open-diagnosis">交互: Open Diagnosis 打开诊断</h2>
点击组件,请求 Mingcedar 打开对应设备的诊断弹窗。
<div class="doc-card-list">
<article class="doc-card">
<h3 id="open-diagnosis-item-1">功能说明</h3>
<p>将 Open Diagnosis 绑定到设备图形。诊断窗口由 Mingcedar 提供,须在已配置诊断模板的 Mingcedar 中验证;本地 HTML 无法验证。</p>
</article>
<article class="doc-card">
<h3 id="open-diagnosis-item-2">字段配置</h3>
<p>除 Setup Script 和 Condition 外,填写 Popup Target 的四个参数,均为 JavaScript 字符串表达式,可用常量或动态拼接。界面标签与宿主参数对应如下:</p>
<ul>
<li>Setup Script:准备逻辑。可在这里读标签、定义变量,供下面字段引用(如 var dev = 'F01';)。</li>
<li>PLC:目标所在的 PLC / 设备站名(对应载荷 PLC)。默认 'PLC'。</li>
<li>Template(对应载荷 ID):宿主中诊断模板的编码,决定加载哪个模板。默认 'device-default'。</li>
<li>Status Prefix(对应载荷 DiagnosisControl):设备状态 Tag 的前缀,宿主将它与 PLC 和模板后缀组合为完整 Tag 名称。默认空 ''。</li>
<li>Title(对应载荷 GroupRightIndex):弹窗显示的设备名称或标题,不参与状态 Tag 前缀拼接。默认 'ObjectName'。</li>
<li>Condition(对应载荷 Enabled):是否允许触发的开关,true 才会执行,false 则点击不弹窗。默认 true。</li>
<li>模板实例可直接填写 <code>'<PLC>'</code>、<code>'<DIAGNOSIS_TEMPLATE>'</code>、<code>'<STATUS_PREFIX>'</code>、<code>'<TITLE>'</code> 等字符串占位;保存后由模板实例替换。</li>
</ul>
<div class="manual-code" data-code-language="javascript"><div class="manual-code-toolbar"><span>JavaScript</span><span class="manual-code-tools"><small>JavaScript</small><button type="button" data-copy-code data-copied="已复制" data-failed="请选中代码后复制" aria-label="复制代码: JavaScript">复制代码</button><span class="manual-code-status" role="status"></span></span></div><pre tabindex="0" class="docs-code-block shiki github-light" style="background-color:#fff;color:#24292e" tabindex="0"><code><span class="line"><span style="color:#6A737D">// Setup Script</span></span>
<span class="line"><span style="color:#D73A49">var</span><span style="color:#24292E"> deviceId </span><span style="color:#D73A49">=</span><span style="color:#032F62"> 'PUMP_01'</span><span style="color:#24292E">;</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6A737D">// 各目标字段(字符串表达式)</span></span>
<span class="line"><span style="color:#6F42C1">PLC</span><span style="color:#24292E">: </span><span style="color:#032F62">'PLC_LINE01'</span></span>
<span class="line"><span style="color:#6F42C1">Template</span><span style="color:#24292E">(</span><span style="color:#005CC5">ID</span><span style="color:#24292E">): </span><span style="color:#032F62">'device-default'</span></span>
<span class="line"><span style="color:#24292E">Status </span><span style="color:#6F42C1">Prefix</span><span style="color:#24292E">(DiagnosisControl): </span><span style="color:#032F62">'AREA01.PUMP01'</span><span style="color:#6A737D"> // 状态 Tag 前缀</span></span>
<span class="line"><span style="color:#6F42C1">Title</span><span style="color:#24292E">(GroupRightIndex): deviceId </span><span style="color:#6A737D">// 标题显示 PUMP_01</span></span>
<span class="line"><span style="color:#6F42C1">Condition</span><span style="color:#24292E">(Enabled): </span><span style="color:#005CC5">true</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6A737D">// 运行时等价于:</span></span>
<span class="line"><span style="color:#24292E">hqVisuDesigner.</span><span style="color:#6F42C1">openDiagnosis</span><span style="color:#24292E">({</span></span>
<span class="line"><span style="color:#24292E"> PLC: </span><span style="color:#032F62">'PLC_LINE01'</span><span style="color:#24292E">, ID: </span><span style="color:#032F62">'device-default'</span><span style="color:#24292E">,</span></span>
<span class="line"><span style="color:#24292E"> DiagnosisControl: </span><span style="color:#032F62">'AREA01.PUMP01'</span><span style="color:#24292E">,</span></span>
<span class="line"><span style="color:#24292E"> GroupRightIndex: </span><span style="color:#032F62">'PUMP_01'</span></span>
<span class="line"><span style="color:#24292E">});</span></span></code></pre></div>
</article>
<article class="doc-card">
<h3 id="open-diagnosis-item-3">适用场景</h3>
<p>在设备总览页点击泵、阀或电机查看诊断。复用模板时,可在 Setup Script 中按所选设备生成目标。</p>
</article>
<article class="doc-card doc-card-warn">
<h3 id="open-diagnosis-item-4">注意事项</h3>
<ul>
<li>Status Prefix / DiagnosisControl 填状态 Tag 前缀。例如 PLC 填 PLC_LINE01、Status Prefix 填 AREA01.PUMP01,模板后缀为 RUN 时,完整 Tag 为 PLC_LINE01.AREA01.PUMP01.RUN。Title / GroupRightIndex 只用于显示设备名称。</li>
<li>编辑器里看到的标签(Template / Status Prefix / Title)与传给宿主机的参数名(ID / DiagnosisControl / GroupRightIndex)不是同一个词,排错时按上面的对应关系看。</li>
<li>四个目标字段是字符串表达式:写常量要带引号(如 'PLC1'),写动态值才用变量名(如 dev)。</li>
<li>Condition / Enabled 为 false 时点击不会有任何反应,调试“点了没弹窗”时先确认它没被关掉。</li>
<li>弹窗由宿主机打开,效果取决于宿主机是否配置了对应的诊断模板(Template / ID);脱离 Mingcedar 宿主机时不生效。</li>
</ul>
</article>
</div>
<div class="docs-note-grid manual-doc-image-grid">
<figure class="docs-note-card manual-doc-image-card" id="open-diagnosis-image-1">
<img src="/WEB_img/HQPPT/current/diagnosis/normal.png" alt="Open Diagnosis 打开诊断行为编辑器" loading="lazy" decoding="async" />
<figcaption>
<strong>图示 1: Open Diagnosis 编辑器</strong>
<p>填 PLC、Template、Status Prefix、Title 等目标参数,点击时请求宿主机弹出设备诊断窗口。</p>
</figcaption>
</figure>
</div>
</div>