所属产品: Mingcedar Studio DESIGNER
State Color 状态颜色 | Mingcedar Studio
根据布尔条件选择 TRUE 或 FALSE 外观,控制填充、边框和可见性;对应状态需在 Apply result 中启用。适用于运行/停止、开/关、自动/手动等两态组件。
<div class="manual-doc-article manual-doc-article-section"><h2 id="state-color">颜色: State Color 状态颜色</h2>
根据布尔条件选择 TRUE 或 FALSE 外观,控制填充、边框和可见性;对应状态需在 Apply result 中启用。适用于运行/停止、开/关、自动/手动等两态组件。
<div class="doc-card-list">
<article class="doc-card doc-card-tip">
<h3 id="state-color-item-1">功能说明</h3>
<p>State Color 位于 Visual States,根据 Condition 选择 TRUE state 或 FALSE state。只有在 Apply result 中启用的状态才会应用填充、边框和可见性;Condition 为 false 不等于停止显示或隐藏组件。数值区间使用 Range Color 或 Discrete Color,多个条件的优先级使用 Multi-State Color。</p>
</article>
<article class="doc-card doc-card-warn">
<h3 id="state-color-item-2">字段配置</h3>
<p>将 State Color 绑定到组件并打开编辑器。在 Setup Script 中准备数据,Condition 返回布尔值;在 Action 中启用需要应用的状态和输出通道。以下示例按注释分别填写到对应字段。</p>
<ul>
<li>Setup Script:可选,仅为当前行为准备变量和中间结果。</li>
<li>Condition:布尔表达式,例如 ReadTagBoolean("PLC_LINE01.PUMP01.RUN", false),或引用 Setup Script 中的 running。</li>
<li>Apply result:TRUE 默认启用;需要条件为假时应用静止样式,应启用 FALSE。</li>
<li>Output channel:按需要启用 Fill color、Border color 和 Visibility,并分别配置 TRUE state、FALSE state。</li>
<li>Quality Override:Follow data quality (border / hide) 启用质量覆盖;配置 Good、Bad,并按需要启用 Hide when quality is bad。</li>
<li>Save / Ctrl+S:校验并保存;Cancel / Esc:放弃本次修改。</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"> running </span><span style="color:#D73A49">=</span><span style="color:#6F42C1"> ReadTagBoolean</span><span style="color:#24292E">(</span><span style="color:#032F62">"PLC_LINE01.PUMP01.RUN"</span><span style="color:#24292E">, </span><span style="color:#005CC5">false</span><span style="color:#24292E">);</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6A737D">// Condition</span></span>
<span class="line"><span style="color:#24292E">running</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6A737D">// Action:启用 TRUE、FALSE 和 Fill color</span></span>
<span class="line"><span style="color:#6A737D">// TRUE state:#22C55E</span></span>
<span class="line"><span style="color:#6A737D">// FALSE state:#94A3B8</span></span></code></pre></div>
</article>
<article class="doc-card">
<h3 id="state-color-item-3">适用场景</h3>
<p>适用于两种状态的颜色或显隐配置。</p>
<ul>
<li>泵/电机运行指示灯:运行=绿,停止=灰/橙</li>
<li>阀门开关状态:开=绿,关=红</li>
<li>自动/手动、就地/远程等两态标记</li>
<li>某个布尔报警块:报警时显示并变红,正常时隐藏</li>
</ul>
</article>
<article class="doc-card doc-card-warn">
<h3 id="state-color-item-4">限制与常见问题</h3>
<p>FALSE 默认关闭;仅配置 FALSE state 的颜色而未启用 FALSE,不会应用该状态。Condition 需要布尔值,不能把完整 Tag 名称或颜色字符串当作条件。当前 State Color 支持 Quality Override:数据质量异常时恢复基础外观,并按配置显示 Bad 边框或隐藏。质量正常时,已启用的状态边框优先于 Good 边框色;数据质量与运行、停止、报警状态应分别配置。</p>
</article>
</div>
<div class="docs-note-grid manual-doc-image-grid">
<figure class="docs-note-card manual-doc-image-card" id="state-color-image-1">
<img src="/WEB_img/HQPPT/current/color/state.png" alt="State Color 状态颜色编辑器" loading="lazy" decoding="async" />
<figcaption>
<strong>图示 1: State Color 编辑器</strong>
<p>在编辑器里写条件,分别配置真/假两套填充、边框和显隐。</p>
</figcaption>
</figure>
</div>
</div>