638 lines
28 KiB
HTML
638 lines
28 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
|
||
<meta name="description" content="docmd is a Node.js command-line tool for generating beautiful, lightweight static documentation sites from Markdown files.">
|
||
<link rel="canonical" href="/Rockwell/Optix/DotNet/tpdDiangosticGenerator/">
|
||
<meta property="og:title" content="tpdDiangosticGenerator | docmd">
|
||
<meta property="og:description" content="docmd is a Node.js command-line tool for generating beautiful, lightweight static documentation sites from Markdown files.">
|
||
<meta property="og:url" content="/Rockwell/Optix/DotNet/tpdDiangosticGenerator/">
|
||
<meta property="og:site_name" content="docmd">
|
||
<meta property="og:image" content="/assets/images/docmd-preview.png">
|
||
<meta property="og:type" content="website">
|
||
<meta name="twitter:card" content="summary_large_image">
|
||
<meta name="twitter:title" content="tpdDiangosticGenerator | docmd">
|
||
<meta name="twitter:description" content="docmd is a Node.js command-line tool for generating beautiful, lightweight static documentation sites from Markdown files.">
|
||
<meta name="twitter:image" content="/assets/images/docmd-preview.png">
|
||
|
||
|
||
<title>tpdDiangosticGenerator : docmd</title>
|
||
|
||
|
||
<link rel="shortcut icon" href="../../../assets/favicon.ico" type="image/x-icon">
|
||
|
||
|
||
<script>// Source file from the docmd project — https://github.com/mgks/docmd
|
||
|
||
/*
|
||
* Initialize the theme from localStorage
|
||
*/
|
||
|
||
(function() {
|
||
try {
|
||
const storedTheme = localStorage.getItem('docmd-theme');
|
||
if (storedTheme) {
|
||
document.documentElement.setAttribute('data-theme', storedTheme);
|
||
|
||
// Also update highlight CSS link to match the stored theme
|
||
const highlightThemeLink = document.getElementById('highlight-theme');
|
||
if (highlightThemeLink) {
|
||
const baseHref = highlightThemeLink.getAttribute('data-base-href');
|
||
if (baseHref) {
|
||
const newHref = baseHref + `docmd-highlight-${storedTheme}.css`;
|
||
highlightThemeLink.setAttribute('href', newHref);
|
||
}
|
||
}
|
||
}
|
||
} catch (e) {
|
||
console.error('Error applying theme from localStorage', e);
|
||
}
|
||
})();</script>
|
||
|
||
<link rel="stylesheet" href="../../../assets/css/docmd-main.css">
|
||
|
||
|
||
<link rel="stylesheet" id="highlight-theme" href="../../../assets/css/docmd-highlight-light.css" data-base-href="../../../assets/css/">
|
||
|
||
|
||
<link rel="stylesheet" href="../../../assets/css/docmd-theme-sky.css">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<!-- Google Analytics GA4 -->
|
||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-8QVBDQ4KM1"></script>
|
||
<script>
|
||
window.dataLayer = window.dataLayer || [];
|
||
function gtag(){dataLayer.push(arguments);}
|
||
gtag('js', new Date());
|
||
gtag('config', 'G-8QVBDQ4KM1');
|
||
</script>
|
||
|
||
</head>
|
||
<body class="sidebar-collapsible"
|
||
data-theme="light" data-default-collapsed="false"
|
||
data-copy-code-enabled="true">
|
||
<aside class="sidebar">
|
||
<div class="sidebar-header">
|
||
|
||
<a href="/" class="logo-link">
|
||
<img src="../../../assets/images/docmd-logo-light.png" alt="docmd logo" class="logo-light" >
|
||
<img src="../../../assets/images/docmd-logo-dark.png" alt="docmd logo" class="logo-dark" >
|
||
</a>
|
||
|
||
</div>
|
||
|
||
<nav class="sidebar-nav" aria-label="Main navigation">
|
||
<ul>
|
||
|
||
<li class="" >
|
||
<a href="../../../" class="" >
|
||
<svg class="lucide-icon icon-home" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||
<path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8" />
|
||
<path d="M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z" />
|
||
</svg>
|
||
<span class="nav-item-title">Welcome</span>
|
||
|
||
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="collapsible" data-nav-id="#">
|
||
<a href="#" class="" >
|
||
<svg class="lucide-icon icon-rocket" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||
<path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z" />
|
||
<path d="m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z" />
|
||
<path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0" />
|
||
<path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5" />
|
||
</svg>
|
||
<span class="nav-item-title">Getting Started</span>
|
||
<svg class="lucide-icon icon-chevron-right collapse-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||
<path d="m9 18 6-6-6-6" />
|
||
</svg>
|
||
|
||
</a>
|
||
|
||
<ul class="submenu">
|
||
|
||
<li class="" >
|
||
<a href="https://docmd.mgks.dev" class="" target="_blank" rel="noopener">
|
||
<svg class="lucide-icon icon-scroll" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||
<path d="M19 17V5a2 2 0 0 0-2-2H4" />
|
||
<path d="M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3" />
|
||
</svg>
|
||
<span class="nav-item-title">Documentation</span>
|
||
|
||
<svg class="lucide-icon icon-external-link nav-external-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||
<path d="M15 3h6v6" />
|
||
<path d="M10 14 21 3" />
|
||
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
|
||
</svg>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="" >
|
||
<a href="https://docmd.mgks.dev/getting-started/installation" class="" target="_blank" rel="noopener">
|
||
<svg class="lucide-icon icon-download" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||
<path d="M12 15V3" />
|
||
<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" />
|
||
<path d="m7 10 5 5 5-5" />
|
||
</svg>
|
||
<span class="nav-item-title">Installation</span>
|
||
|
||
<svg class="lucide-icon icon-external-link nav-external-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||
<path d="M15 3h6v6" />
|
||
<path d="M10 14 21 3" />
|
||
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
|
||
</svg>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="" >
|
||
<a href="https://docmd.mgks.dev/getting-started/basic-usage" class="" target="_blank" rel="noopener">
|
||
<svg class="lucide-icon icon-play" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||
<path d="M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z" />
|
||
</svg>
|
||
<span class="nav-item-title">Basic Usage</span>
|
||
|
||
<svg class="lucide-icon icon-external-link nav-external-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||
<path d="M15 3h6v6" />
|
||
<path d="M10 14 21 3" />
|
||
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
|
||
</svg>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="" >
|
||
<a href="https://docmd.mgks.dev/content" class="" target="_blank" rel="noopener">
|
||
<svg class="lucide-icon icon-layout-template" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||
<rect width="18" height="7" x="3" y="3" rx="1" />
|
||
<rect width="9" height="7" x="3" y="14" rx="1" />
|
||
<rect width="5" height="7" x="16" y="14" rx="1" />
|
||
</svg>
|
||
<span class="nav-item-title">Content</span>
|
||
|
||
<svg class="lucide-icon icon-external-link nav-external-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||
<path d="M15 3h6v6" />
|
||
<path d="M10 14 21 3" />
|
||
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
|
||
</svg>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
</li>
|
||
|
||
<li class="" >
|
||
<a href="https://github.com/mgks/docmd" class="" target="_blank" rel="noopener">
|
||
<svg class="lucide-icon icon-github" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||
<path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4" />
|
||
<path d="M9 18c-4.51 2-5-2-7-2" />
|
||
</svg>
|
||
<span class="nav-item-title">GitHub</span>
|
||
|
||
<svg class="lucide-icon icon-external-link nav-external-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||
<path d="M15 3h6v6" />
|
||
<path d="M10 14 21 3" />
|
||
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
|
||
</svg>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="" >
|
||
<a href="https://github.com/sponsors/mgks" class="" target="_blank" rel="noopener">
|
||
<svg class="lucide-icon icon-heart" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||
<path d="M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5" />
|
||
</svg>
|
||
<span class="nav-item-title">Support the Project</span>
|
||
|
||
<svg class="lucide-icon icon-external-link nav-external-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||
<path d="M15 3h6v6" />
|
||
<path d="M10 14 21 3" />
|
||
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
|
||
</svg>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</aside>
|
||
<div class="main-content-wrapper">
|
||
<div class="page-header">
|
||
<div class="header-left">
|
||
|
||
<button id="sidebar-toggle-button" class="sidebar-toggle-button" aria-label="Toggle Sidebar">
|
||
<svg class="lucide-icon icon-panel-left-close" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||
<rect width="18" height="18" x="3" y="3" rx="2" />
|
||
<path d="M9 3v18" />
|
||
<path d="m16 15-3-3 3-3" />
|
||
</svg>
|
||
</button>
|
||
|
||
<h1>tpdDiangosticGenerator</h1>
|
||
</div>
|
||
|
||
<div class="header-right">
|
||
<button id="theme-toggle-button" aria-label="Toggle theme" class="theme-toggle-button theme-toggle-header">
|
||
|
||
<svg class="lucide-icon icon-sun icon-sun" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||
<circle cx="12" cy="12" r="4" />
|
||
<path d="M12 2v2" />
|
||
<path d="M12 20v2" />
|
||
<path d="m4.93 4.93 1.41 1.41" />
|
||
<path d="m17.66 17.66 1.41 1.41" />
|
||
<path d="M2 12h2" />
|
||
<path d="M20 12h2" />
|
||
<path d="m6.34 17.66-1.41 1.41" />
|
||
<path d="m19.07 4.93-1.41 1.41" />
|
||
</svg>
|
||
<svg class="lucide-icon icon-moon icon-moon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||
<path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401" />
|
||
</svg>
|
||
</button>
|
||
</div>
|
||
|
||
</div>
|
||
<main class="content-area">
|
||
<div class="content-layout">
|
||
<div class="main-content">
|
||
<h1 id="tpddiangosticgenerator">⚙️ tpdDiangosticGenerator</h1>
|
||
<p>La classe <strong>tpdDiangosticGenerator</strong> è il cuore pulsante del sistema diagnostico. Si occupa di <strong>generare automaticamente</strong> i modelli diagnostici e i pulsanti di navigazione per diverse componenti hardware e di sicurezza del progetto.</p>
|
||
<p>Con questa classe, la configurazione e la gestione della diagnostica diventano semplici, rapide e centralizzate.</p>
|
||
<hr>
|
||
<h2 id="panoramica-generale">🚦 Panoramica generale</h2>
|
||
<p>Il generatore lavora su due fronti principali:</p>
|
||
<ul>
|
||
<li><strong>Modelli diagnostici</strong>: rappresentazioni strutturate di assi, alimentatori, sicurezza, ecc.</li>
|
||
<li><strong>Pulsanti di navigazione</strong>: bottoni che permettono di accedere rapidamente alle schermate diagnostiche relative ai modelli.</li>
|
||
</ul>
|
||
<hr>
|
||
<h2 id="metodi-principali">🛠️ Metodi principali</h2>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Metodo</th>
|
||
<th>Descrizione</th>
|
||
<th>Note</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><code>GenerateALL()</code></td>
|
||
<td>Genera <strong>tutti</strong> i modelli e i pulsanti, invocando i metodi specifici sottostanti.</td>
|
||
<td>Metodo “one-shot”</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>GenerateAllModels()</code></td>
|
||
<td>Invoca la generazione di tutti i modelli specifici (assi, PSU, sicurezza, ecc.)</td>
|
||
<td></td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>GenerateAllButtons()</code></td>
|
||
<td>Invoca la generazione di tutti i pulsanti specifici per ogni modello diagnostico</td>
|
||
<td></td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>GenerateAxisModel()</code></td>
|
||
<td>Genera i modelli degli assi sulla base dei tag <code>stStandardAxis</code>.</td>
|
||
<td>Usa <code>AxisType</code></td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>GenerateAxisButtons()</code></td>
|
||
<td>Crea i pulsanti di navigazione collegati agli assi, puntando alla pagina diagnostica asse <code>_810_DiagAxis</code></td>
|
||
<td></td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>GeneratePSUModel()</code></td>
|
||
<td>Genera i modelli per le unità di alimentazione (<code>PSUType</code>).</td>
|
||
<td></td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>GeneratePSUButtons()</code></td>
|
||
<td>Pulsanti per le PSU, con link alla pagina <code>_814_DiagPSU</code>.</td>
|
||
<td></td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>GenerateDCSModel()</code></td>
|
||
<td>Genera modelli per i componenti di sicurezza <code>SafetyDCSType</code> basati su tag <code>DCI_STOP</code>.</td>
|
||
<td></td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>GenerateCROUTModel()</code></td>
|
||
<td>Modelli sicurezza <code>SafetyCROUTType</code> basati su tag <code>CONFIGURABLE_ROUT</code>.</td>
|
||
<td></td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>GenerateFPMSModel()</code></td>
|
||
<td>Modelli sicurezza <code>SafetyFPMSType</code> basati su tag <code>FIVE_POS_MODE_SELECTOR</code>.</td>
|
||
<td></td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>GenerateSafetyButtons()</code></td>
|
||
<td>Pulsanti per la sicurezza, puntano a <code>_830_DiagSafety</code>.</td>
|
||
<td></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<hr>
|
||
<h2 id="come-funziona-sotto-il-cofano">🧰 Come funziona “sotto il cofano”</h2>
|
||
<p>Il fulcro del generatore è il metodo privato <code>GenerateModels</code>, che:</p>
|
||
<ol><li>Cerca nelle cartelle di comunicazione i <strong>tag</strong> corrispondenti al tipo specificato (es. <code>stStandardAxis</code>).</li>
|
||
<li>Per ogni tag, crea (o trova) un <strong>modello</strong> corrispondente nella cartella modelli.</li>
|
||
<li>Imposta un nome leggibile e associa un puntatore al tag originale.</li>
|
||
</ol>
|
||
<p>Analogamente, <code>GenerateButtons</code> crea per ogni modello un pulsante di navigazione nella pagina diagnostica dedicata, utilizzando un template di pulsante personalizzato.</p>
|
||
<hr>
|
||
<h2 id="funzioni-di-supporto-utili">💡 Funzioni di supporto utili</h2>
|
||
<ul>
|
||
<li><code>ExtractReadableName(string variableName)</code>: estrae un nome utente-friendly da un nome di variabile tecnica, inserendo spazi e capitalizzando correttamente.<br>
|
||
<em>Es.:</em> <code>"Axis_X1"</code> → <code>"X 1"</code></li>
|
||
</ul>
|
||
<hr>
|
||
<h1 id="in-depth-funzioni-di-tpddiangosticgenerator">🔍 In Depth: Funzioni di tpdDiangosticGenerator</h1>
|
||
<hr>
|
||
<h3 id="generateall"><code>GenerateALL()</code></h3>
|
||
<blockquote>
|
||
<p><strong>Descrizione:</strong><br>
|
||
Metodo principale “one-shot” che rigenera <strong>tutti i modelli diagnostici</strong> e <strong>tutti i pulsanti di navigazione</strong> in un solo colpo.<br>
|
||
È pensato per un uso “a caldo” dopo modifiche estese ai tag o alla struttura del progetto.</p>
|
||
</blockquote>
|
||
<blockquote>
|
||
<p><strong>Dettagli tecnici:</strong><br>
|
||
Invoca internamente <code>GenerateAllModels()</code> e <code>GenerateAllButtons()</code>, orchestrando così la generazione completa della diagnostica.</p>
|
||
</blockquote>
|
||
<blockquote>
|
||
<p><strong>Esempio d’uso:</strong></p>
|
||
<pre class="hljs"><code>diagnosticGenerator.GenerateALL();
|
||
</code></pre>
|
||
</blockquote>
|
||
<blockquote>
|
||
<p><strong>Nota da interfaccia Optix:</strong><br>
|
||
È possibile eseguire questo metodo cliccando con il tasto destro sull’oggetto <strong>design time NetLogic</strong> o sul suo genitore e selezionando <strong>Execute GenerateALL</strong>.</p>
|
||
</blockquote>
|
||
<hr>
|
||
<h3 id="generateallmodels"><code>GenerateAllModels()</code></h3>
|
||
<blockquote>
|
||
<p><strong>Descrizione:</strong><br>
|
||
Chiama i generatori specifici per ogni categoria di modello diagnostico (assi, PSU, sicurezza), in modo ordinato e modulare.</p>
|
||
</blockquote>
|
||
<blockquote>
|
||
<p><strong>Modelli generati:</strong></p>
|
||
<ul>
|
||
<li>Assi (Axis)</li>
|
||
<li>Alimentatori (PSU)</li>
|
||
<li>Componenti di sicurezza (DCS, CROUT, FPMS)</li>
|
||
</ul>
|
||
</blockquote>
|
||
<hr>
|
||
<h3 id="generateallbuttons"><code>GenerateAllButtons()</code></h3>
|
||
<blockquote>
|
||
<p><strong>Descrizione:</strong><br>
|
||
Genera i pulsanti di navigazione associati ai modelli diagnostici appena creati, suddivisi per categoria (assi, PSU, sicurezza).</p>
|
||
</blockquote>
|
||
<hr>
|
||
<h3 id="generateaxismodel"><code>GenerateAxisModel()</code></h3>
|
||
<blockquote>
|
||
<p><strong>Descrizione:</strong><br>
|
||
Scansiona i tag di tipo <code>stStandardAxis</code> presenti nei driver di comunicazione e genera i modelli <code>AxisType</code> corrispondenti.</p>
|
||
</blockquote>
|
||
<blockquote>
|
||
<p><strong>Dettagli:</strong><br>
|
||
Imposta la proprietà <code>AxisPointer</code> del modello con il riferimento al tag originale.</p>
|
||
</blockquote>
|
||
<hr>
|
||
<h3 id="generateaxisbuttons"><code>GenerateAxisButtons()</code></h3>
|
||
<blockquote>
|
||
<p><strong>Descrizione:</strong><br>
|
||
Per ogni modello asse generato, crea un pulsante di navigazione che punta alla schermata diagnostica asse <code>_810_DiagAxis</code>.</p>
|
||
</blockquote>
|
||
<hr>
|
||
<h3 id="generatepsumodel"><code>GeneratePSUModel()</code></h3>
|
||
<blockquote>
|
||
<p><strong>Descrizione:</strong><br>
|
||
Genera i modelli <code>PSUType</code> per tutti i tag di tipo <code>stPowerSupply</code> trovati, collegandoli opportunamente.</p>
|
||
</blockquote>
|
||
<hr>
|
||
<h3 id="generatepsubuttons"><code>GeneratePSUButtons()</code></h3>
|
||
<blockquote>
|
||
<p><strong>Descrizione:</strong><br>
|
||
Crea i pulsanti di navigazione per ogni modello PSU, collegati alla pagina <code>_814_DiagPSU</code>.</p>
|
||
</blockquote>
|
||
<hr>
|
||
<h3 id="generatedcsmodel"><code>GenerateDCSModel()</code></h3>
|
||
<blockquote>
|
||
<p><strong>Descrizione:</strong><br>
|
||
Genera modelli diagnostici per i componenti di sicurezza <code>SafetyDCSType</code> basandosi sui tag <code>DCI_STOP</code>.</p>
|
||
</blockquote>
|
||
<hr>
|
||
<h3 id="generatecroutmodel"><code>GenerateCROUTModel()</code></h3>
|
||
<blockquote>
|
||
<p><strong>Descrizione:</strong><br>
|
||
Genera modelli <code>SafetyCROUTType</code> per tag <code>CONFIGURABLE_ROUT</code> correlati ai sistemi di sicurezza configurabili.</p>
|
||
</blockquote>
|
||
<hr>
|
||
<h3 id="generatefpmsmodel"><code>GenerateFPMSModel()</code></h3>
|
||
<blockquote>
|
||
<p><strong>Descrizione:</strong><br>
|
||
Genera modelli <code>SafetyFPMSType</code> basati sui tag <code>FIVE_POS_MODE_SELECTOR</code>, tipici di selettori modalità a 5 posizioni.</p>
|
||
</blockquote>
|
||
<hr>
|
||
<h3 id="generatesafetybuttons"><code>GenerateSafetyButtons()</code></h3>
|
||
<blockquote>
|
||
<p><strong>Descrizione:</strong><br>
|
||
Crea i pulsanti di navigazione per tutti i modelli di sicurezza, puntando alla schermata <code>_830_DiagSafety</code>.</p>
|
||
</blockquote>
|
||
<hr>
|
||
<h3 id="extractreadablenamestring-variablename"><code>ExtractReadableName(string variableName)</code></h3>
|
||
<blockquote>
|
||
<p><strong>Descrizione:</strong><br>
|
||
Estrae un nome leggibile e “user-friendly” da un nome tecnico di variabile.<br>
|
||
Ad esempio: <code>"Axis_X1"</code> diventa <code>"X 1"</code>.</p>
|
||
</blockquote>
|
||
<blockquote>
|
||
<p><strong>Come funziona:</strong></p>
|
||
<ul>
|
||
<li>Prende l’ultima parte dopo l’ultimo underscore</li>
|
||
<li>Inserisce spazi prima di lettere maiuscole o cifre</li>
|
||
<li>Formattta la stringa con la prima lettera maiuscola, il resto minuscolo</li>
|
||
</ul>
|
||
</blockquote>
|
||
<hr>
|
||
<h3 id="generatemodelsstring-modelfolderpath-string-tagtypename-type-modeltype-string-pointervariablename"><code>GenerateModels(string modelFolderPath, string tagTypeName, Type modelType, string pointerVariableName)</code></h3>
|
||
<blockquote>
|
||
<p><strong>Descrizione:</strong><br>
|
||
Metodo generico interno per creare i modelli diagnostici.</p>
|
||
<ul>
|
||
<li>Cerca nelle cartelle di comunicazione i tag con il tipo specificato.</li>
|
||
<li>Per ciascun tag, crea o recupera un modello corrispondente nella cartella modelli.</li>
|
||
<li>Imposta il nome leggibile e il puntatore al tag originale.</li>
|
||
</ul>
|
||
</blockquote>
|
||
<hr>
|
||
<h3 id="generatebuttonsstring-modelfolderpath-string-diagnosticpagepath"><code>GenerateButtons(string modelFolderPath, string diagnosticPagePath)</code></h3>
|
||
<blockquote>
|
||
<p><strong>Descrizione:</strong><br>
|
||
Per ogni modello nella cartella indicata, crea (o riusa) un pulsante di navigazione nella pagina diagnostica specificata.<br>
|
||
Usa un template di pulsante predefinito per mantenere l’uniformità grafica e funzionale.</p>
|
||
</blockquote>
|
||
<hr>
|
||
<h3 id="createmodeltagstructure-tag-type-modeltype-folder-modelsfolder"><code>CreateModel(TagStructure tag, Type modelType, Folder modelsFolder)</code></h3>
|
||
<blockquote>
|
||
<p><strong>Descrizione:</strong><br>
|
||
Crea un nuovo oggetto modello con il nome del tag e del tipo specificato, e lo inserisce nella cartella dei modelli.</p>
|
||
</blockquote>
|
||
<hr>
|
||
<h3 id="populatemodeliuaobject-model-tagstructure-tag-string-pointervariablename"><code>PopulateModel(IUAObject model, TagStructure tag, string pointerVariableName)</code></h3>
|
||
<blockquote>
|
||
<p><strong>Descrizione:</strong><br>
|
||
Riempie il modello con un nome leggibile e imposta la variabile puntatore con il NodeId del tag originale.</p>
|
||
</blockquote>
|
||
<hr>
|
||
<h3 id="createbuttonstring-browsename-screentype-diagnosticscreen"><code>CreateButton(string browseName, ScreenType diagnosticScreen)</code></h3>
|
||
<blockquote>
|
||
<p><strong>Descrizione:</strong><br>
|
||
Crea un nuovo pulsante di navigazione utilizzando il template <code>tpButtNavigationDiagnostic</code>, lo aggiunge al layout della schermata diagnostica e lo restituisce per ulteriori configurazioni.</p>
|
||
</blockquote>
|
||
<hr>
|
||
|
||
|
||
|
||
</div>
|
||
|
||
<!-- DEBUG: {"headingsLength":23} -->
|
||
|
||
<!-- TOC sidebar -->
|
||
<div class="toc-sidebar">
|
||
|
||
|
||
<div class="toc-container">
|
||
<h2 class="toc-title">On This Page</h2>
|
||
<ul class="toc-list">
|
||
|
||
<li class="toc-item toc-level-2">
|
||
<a href="#panoramica-generale" class="toc-link">🚦 Panoramica generale</a>
|
||
</li>
|
||
|
||
<li class="toc-item toc-level-2">
|
||
<a href="#metodi-principali" class="toc-link">🛠️ Metodi principali</a>
|
||
</li>
|
||
|
||
<li class="toc-item toc-level-2">
|
||
<a href="#come-funziona-sotto-il-cofano" class="toc-link">🧰 Come funziona “sotto il cofano”</a>
|
||
</li>
|
||
|
||
<li class="toc-item toc-level-2">
|
||
<a href="#funzioni-di-supporto-utili" class="toc-link">💡 Funzioni di supporto utili</a>
|
||
</li>
|
||
|
||
<li class="toc-item toc-level-3">
|
||
<a href="#generateall" class="toc-link">GenerateALL()</a>
|
||
</li>
|
||
|
||
<li class="toc-item toc-level-3">
|
||
<a href="#generateallmodels" class="toc-link">GenerateAllModels()</a>
|
||
</li>
|
||
|
||
<li class="toc-item toc-level-3">
|
||
<a href="#generateallbuttons" class="toc-link">GenerateAllButtons()</a>
|
||
</li>
|
||
|
||
<li class="toc-item toc-level-3">
|
||
<a href="#generateaxismodel" class="toc-link">GenerateAxisModel()</a>
|
||
</li>
|
||
|
||
<li class="toc-item toc-level-3">
|
||
<a href="#generateaxisbuttons" class="toc-link">GenerateAxisButtons()</a>
|
||
</li>
|
||
|
||
<li class="toc-item toc-level-3">
|
||
<a href="#generatepsumodel" class="toc-link">GeneratePSUModel()</a>
|
||
</li>
|
||
|
||
<li class="toc-item toc-level-3">
|
||
<a href="#generatepsubuttons" class="toc-link">GeneratePSUButtons()</a>
|
||
</li>
|
||
|
||
<li class="toc-item toc-level-3">
|
||
<a href="#generatedcsmodel" class="toc-link">GenerateDCSModel()</a>
|
||
</li>
|
||
|
||
<li class="toc-item toc-level-3">
|
||
<a href="#generatecroutmodel" class="toc-link">GenerateCROUTModel()</a>
|
||
</li>
|
||
|
||
<li class="toc-item toc-level-3">
|
||
<a href="#generatefpmsmodel" class="toc-link">GenerateFPMSModel()</a>
|
||
</li>
|
||
|
||
<li class="toc-item toc-level-3">
|
||
<a href="#generatesafetybuttons" class="toc-link">GenerateSafetyButtons()</a>
|
||
</li>
|
||
|
||
<li class="toc-item toc-level-3">
|
||
<a href="#extractreadablenamestring-variablename" class="toc-link">ExtractReadableName(string variableName)</a>
|
||
</li>
|
||
|
||
<li class="toc-item toc-level-3">
|
||
<a href="#generatemodelsstring-modelfolderpath-string-tagtypename-type-modeltype-string-pointervariablename" class="toc-link">GenerateModels(string modelFolderPath, string tagTypeName, Type modelType, string pointerVariableName)</a>
|
||
</li>
|
||
|
||
<li class="toc-item toc-level-3">
|
||
<a href="#generatebuttonsstring-modelfolderpath-string-diagnosticpagepath" class="toc-link">GenerateButtons(string modelFolderPath, string diagnosticPagePath)</a>
|
||
</li>
|
||
|
||
<li class="toc-item toc-level-3">
|
||
<a href="#createmodeltagstructure-tag-type-modeltype-folder-modelsfolder" class="toc-link">CreateModel(TagStructure tag, Type modelType, Folder modelsFolder)</a>
|
||
</li>
|
||
|
||
<li class="toc-item toc-level-3">
|
||
<a href="#populatemodeliuaobject-model-tagstructure-tag-string-pointervariablename" class="toc-link">PopulateModel(IUAObject model, TagStructure tag, string pointerVariableName)</a>
|
||
</li>
|
||
|
||
<li class="toc-item toc-level-3">
|
||
<a href="#createbuttonstring-browsename-screentype-diagnosticscreen" class="toc-link">CreateButton(string browseName, ScreenType diagnosticScreen)</a>
|
||
</li>
|
||
|
||
</ul>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</main>
|
||
<footer class="page-footer">
|
||
<div class="footer-content">
|
||
<div class="user-footer">
|
||
© 2025 Project.
|
||
</div>
|
||
<div class="branding-footer">
|
||
Build with <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z"></path><path d="M12 5 9.04 7.96a2.17 2.17 0 0 0 0 3.08c.82.82 2.13.85 3 .07l2.07-1.9a2.82 2.82 0 0 1 3.79 0l2.96 2.66"></path><path d="m18 15-2-2"></path><path d="m15 18-2-2"></path></svg> <a href="https://docmd.mgks.dev" target="_blank" rel="noopener">docmd.</a>
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
</div>
|
||
|
||
<script src="../../../assets/js/docmd-main.js"></script>
|
||
|
||
|
||
<script src="../../../assets/js/docmd-image-lightbox.js"></script>
|
||
|
||
|
||
|
||
|
||
|
||
</body>
|
||
</html> |