Aggiunta folder ScadaInterface
This commit is contained in:
parent
9caf5929f9
commit
0dde33c428
|
|
@ -0,0 +1,120 @@
|
|||
// config.js: basic config for docmd
|
||||
module.exports = {
|
||||
// Core Site Metadata
|
||||
siteTitle: 'docmd',
|
||||
// Define a base URL for your site, crucial for SEO and absolute paths
|
||||
// No trailing slash
|
||||
siteUrl: '', // Replace with your actual deployed URL
|
||||
|
||||
// Logo Configuration
|
||||
logo: {
|
||||
light: '/assets/images/docmd-logo-light.png', // Path relative to outputDir root
|
||||
dark: '/assets/images/docmd-logo-dark.png', // Path relative to outputDir root
|
||||
alt: 'docmd logo', // Alt text for the logo
|
||||
href: '/', // Link for the logo, defaults to site root
|
||||
},
|
||||
|
||||
// Directory Configuration
|
||||
srcDir: 'docs', // Source directory for Markdown files
|
||||
outputDir: 'site', // Directory for generated static site
|
||||
|
||||
// Sidebar Configuration
|
||||
sidebar: {
|
||||
collapsible: true, // or false to disable
|
||||
defaultCollapsed: false, // or true to start collapsed
|
||||
},
|
||||
|
||||
// Theme Configuration
|
||||
theme: {
|
||||
name: 'sky', // Themes: 'default', 'sky'
|
||||
defaultMode: 'light', // Initial color mode: 'light' or 'dark'
|
||||
enableModeToggle: true, // Show UI button to toggle light/dark modes
|
||||
positionMode: 'top', // 'top' or 'bottom' for the theme toggle
|
||||
codeHighlight: true, // Enable/disable codeblock highlighting and import of highlight.js
|
||||
customCss: [ // Array of paths to custom CSS files
|
||||
// '/assets/css/custom.css', // Custom TOC styles
|
||||
]
|
||||
},
|
||||
|
||||
// Custom JavaScript Files
|
||||
customJs: [ // Array of paths to custom JS files, loaded at end of body
|
||||
// '/assets/js/custom-script.js', // Paths relative to outputDir root
|
||||
'/assets/js/docmd-image-lightbox.js', // Image lightbox functionality
|
||||
],
|
||||
|
||||
// Content Processing
|
||||
autoTitleFromH1: true, // Set to true to automatically use the first H1 as page title
|
||||
copyCode: true, // Enable/disable the copy code button on code blocks
|
||||
|
||||
// Plugins Configuration
|
||||
// Plugins are configured here. docmd will look for these keys.
|
||||
plugins: {
|
||||
// SEO Plugin Configuration
|
||||
// Most SEO data is pulled from page frontmatter (title, description, image, etc.)
|
||||
// These are fallbacks or site-wide settings.
|
||||
seo: {
|
||||
// Default meta description if a page doesn't have one in its frontmatter
|
||||
defaultDescription: 'docmd is a Node.js command-line tool for generating beautiful, lightweight static documentation sites from Markdown files.',
|
||||
openGraph: { // For Facebook, LinkedIn, etc.
|
||||
// siteName: 'docmd Documentation', // Optional, defaults to config.siteTitle
|
||||
// Default image for og:image if not specified in page frontmatter
|
||||
// Path relative to outputDir root
|
||||
defaultImage: '/assets/images/docmd-preview.png',
|
||||
},
|
||||
twitter: { // For Twitter Cards
|
||||
cardType: 'summary_large_image', // 'summary', 'summary_large_image'
|
||||
// siteUsername: '@docmd_handle', // Your site's Twitter handle (optional)
|
||||
// creatorUsername: '@your_handle', // Default author handle (optional, can be overridden in frontmatter)
|
||||
}
|
||||
},
|
||||
// Analytics Plugin Configuration
|
||||
analytics: {
|
||||
// Google Analytics 4 (GA4)
|
||||
googleV4: {
|
||||
measurementId: 'G-8QVBDQ4KM1' // Replace with your actual GA4 Measurement ID
|
||||
}
|
||||
},
|
||||
// Enable Sitemap plugin
|
||||
sitemap: {
|
||||
defaultChangefreq: 'weekly',
|
||||
defaultPriority: 0.8
|
||||
}
|
||||
// Add other future plugin configurations here by their key
|
||||
},
|
||||
|
||||
// Navigation Structure (Sidebar)
|
||||
// Icons are kebab-case names from Lucide Icons (https://lucide.dev/)
|
||||
navigation: [
|
||||
{ title: 'Welcome', path: '/', icon: 'home' }, // Corresponds to docs/index.md
|
||||
{
|
||||
title: 'Getting Started',
|
||||
icon: 'rocket',
|
||||
path: '#',
|
||||
collapsible: true, // This makes the menu section collapsible
|
||||
children: [
|
||||
{ title: 'Documentation', path: 'https://docmd.mgks.dev', icon: 'scroll', external: true },
|
||||
{ title: 'Installation', path: 'https://docmd.mgks.dev/getting-started/installation', icon: 'download', external: true },
|
||||
{ title: 'Basic Usage', path: 'https://docmd.mgks.dev/getting-started/basic-usage', icon: 'play', external: true },
|
||||
{ title: 'Content', path: 'https://docmd.mgks.dev/content', icon: 'layout-template', external: true },
|
||||
],
|
||||
},
|
||||
// External links:
|
||||
{ title: 'GitHub', path: 'https://github.com/mgks/docmd', icon: 'github', external: true },
|
||||
{ title: 'Support the Project', path: 'https://github.com/sponsors/mgks', icon: 'heart', external: true },
|
||||
],
|
||||
|
||||
// Sponsor Ribbon Configuration
|
||||
Sponsor: {
|
||||
enabled: false,
|
||||
title: 'Support docmd',
|
||||
link: 'https://github.com/sponsors/mgks',
|
||||
},
|
||||
|
||||
// Footer Configuration
|
||||
// Markdown is supported here.
|
||||
footer: '© ' + new Date().getFullYear() + ' Project.',
|
||||
|
||||
// Favicon Configuration
|
||||
// Path relative to outputDir root
|
||||
favicon: '/assets/favicon.ico',
|
||||
};
|
||||
|
|
@ -0,0 +1,162 @@
|
|||
---
|
||||
id: MachineAnalytics_SCADA_Flowpack_MachineAnalytics_Documentation
|
||||
sidebar_position: 0
|
||||
sidebar_label: Documentazione Tecnica – Flowpack MachineAnalytics & SCADA
|
||||
pagination_prev: null
|
||||
hide_table_of_contents: TRUE
|
||||
---
|
||||
|
||||
# Documentazione Tecnica – Flowpack MachineAnalytics & SCADA
|
||||
|
||||
---
|
||||
|
||||
## Sommario
|
||||
|
||||
- [Struttura SCADA Interface – Cambio Ricetta & Aggiornamento Produzione](sections/00-SCADAInterface_Structure.md#struttura-scada-interface--cambio-ricetta--aggiornamento-produzione)
|
||||
- [Status Macchina e Interfaccia SCADA](sections/01-ScadaInterfaceMasterStructure.md#status-macchina-e-interfaccia-scada)
|
||||
- [Gestione Cambio Ricetta](sections/02-GestioneRicette.md#gestione-cambio-ricetta)
|
||||
- [Statistiche Flowpack](sections/03-StatisticheFlowpack.md#statistiche-flowpack)
|
||||
- [Analytics & Allarmi](sections/04-AnalyticsAllarmi.md#analytics--allarmi)
|
||||
- [Ranking Allarmi (Frequenza/Downtime)](sections/05-RankingAllarmi.md#ranking-allarmi-frequenzadowntime)
|
||||
- [Tempi Macchina](sections/06-TempiMacchina.md#tempi-macchina)
|
||||
- [Timestamp & Reset](sections/07-TimestampReset.md#timestamp--reset)
|
||||
- [Popup & Logica HMI](sections/08-PopupLogicaHMI.md#popup--logica-hmi)
|
||||
- [Note di Interfaccia e Utilizzo](sections/10-NoteInterfacciaUtilizzo.md#note-di-interfaccia-e-utilizzo)
|
||||
- [Espansioni Future](#espansioni-future)
|
||||
|
||||
---
|
||||
|
||||
## Sessioni aggiunte (in alto)
|
||||
|
||||
- Documentazione generata da Ufficio Sviluppo TecnoPack Group Spa
|
||||
- Versione: 2025-09-26
|
||||
- Repository di riferimento: [DFFM-maker/ai-assistant](https://github.com/DFFM-maker/ai-assistant)
|
||||
|
||||
---
|
||||
|
||||
## Introduzione
|
||||
|
||||
Questa documentazione descrive la struttura, i dati e i flussi di comunicazione della macchina Flowpack integrata con sistemi SCADA/MES.
|
||||
Il sistema è pensato per massima compatibilità, chiarezza e performance, sia per la gestione locale che per l’integrazione con supervisori industriali.
|
||||
|
||||
---
|
||||
|
||||
## Protocollo di Comunicazione
|
||||
|
||||
La comunicazione tra PLC e sistemi SCADA/MES avviene tramite **protocollo OPC-UA**, garantendo:
|
||||
- Interoperabilità tra piattaforme
|
||||
- Sicurezza nella trasmissione dati
|
||||
- Scalabilità per future espansioni
|
||||
|
||||
---
|
||||
|
||||
## Struttura Dati Principale
|
||||
|
||||
La struttura dati centrale è la **ST_ScadaInterface**.
|
||||
Questa aggrega tutte le variabili, array, handshake e KPI necessari per la supervisione, la diagnostica e la gestione della produzione.
|
||||
|
||||
```plaintext
|
||||
ST_ScadaInterface
|
||||
├── Egress (PLC → SCADA)
|
||||
│ ├── Status macchina e produzione
|
||||
│ ├── Ricette attive e lista ricette
|
||||
│ ├── Statistiche Flowpack
|
||||
│ ├── Analytics allarmi e ranking
|
||||
│ ├── Tempi macchina, timestamp e reset
|
||||
│ ├── Variabili di handshake e popup operatore
|
||||
├── Ingress (SCADA → PLC)
|
||||
│ ├── Comandi cambio ricetta/produzione
|
||||
│ ├── Reset statistiche/counters
|
||||
│ ├── Parametri di produzione richiesti
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Macro-sezioni
|
||||
### [Struttura SCADA Interface – Cambio Ricetta & Aggiornamento Produzione](sections/00-SCADAInterface_Structure.md#struttura-scada-interface--cambio-ricetta--aggiornamento-produzione)
|
||||
|
||||
Questa sezione raccoglie tutte le variabili, i flussi di handshake e le logiche di stato che governano lo scambio dati tra PLC e SCADA/MES per:
|
||||
- **Cambio ricetta**: gestione richiesta, conferma operatore, popup HMI, timer di reset, logging eventi.
|
||||
- **Aggiornamento dati produzione**: gestione cambio lotto/ordine, quantità, info aggiuntive, conferma e tracciamento.
|
||||
- Tutti i segnali di stato e i comandi per garantire sicurezza, tracciabilità e interoperabilità tra sistemi.
|
||||
|
||||
Include:
|
||||
- Tabelle dettagliate di variabili Egress/Ingress.
|
||||
- Tree strutturale delle variabili di scambio.
|
||||
- Diagrammi di stato per cambio ricetta e produzione (Mermaid).
|
||||
- Note avanzate e best practice per configurazione, audit e troubleshooting.
|
||||
|
||||
Questa macro-sezione è la base architetturale per l’integrazione e la supervisione della macchina tramite SCADA/MES.
|
||||
|
||||
### [Status Macchina e Interfaccia SCADA](sections/01-ScadaInterfaceMasterStructure.md#status-macchina-e-interfaccia-scada)
|
||||
|
||||
- Variabili di stato (IsRunning, IsStopped, IsInEmergency, ecc.)
|
||||
- Handshake per comandi remoti e conferme operatore
|
||||
- Heartbeat e monitor connessione PLC-SCADA
|
||||
|
||||
### [Gestione Ricette](sections/02-GestioneRicette.md#gestione-ricette)
|
||||
|
||||
- Scambio ricette tra PLC e SCADA: `ActualRecipeIndex`, `ActualRecipeName`, `RecipeList[0..40]`
|
||||
- Handshake cambio ricetta: `RecipeChangeRequest`, `RecipeChangeACK`, `RecipeChangeOK`, `RecipeChangeReject`, `RecipeChangePostpone`
|
||||
- Popup e logica HMI per conferma operatore
|
||||
|
||||
### [Statistiche Flowpack](sections/03-StatisticheFlowpack.md#statistiche-flowpack)
|
||||
|
||||
- Dati produzione: `Products_In_Total`, `Products_Out_Good`, `Products_Out_Rejected`
|
||||
- Dettaglio scarti: `Reject_EmptyPackets`, `Reject_DoublePackets`, ecc.
|
||||
- Percentuali di produzione/scarto
|
||||
- Velocità attuale e di riferimento
|
||||
|
||||
### [Analytics & Allarmi](sections/04-AnalyticsAllarmi.md#analytics--allarmi)
|
||||
|
||||
- KPI allarmi: `State`, `Count`, `TotalActiveTime_ms`, `MTTR_sec`, `MTBF_h`
|
||||
- Array compatto allarmi: `Alarms_Packed[0..80]` per sistemi SCADA con limiti di tag
|
||||
- Spiegazione dei ranking e KPI per manutenzione predittiva
|
||||
|
||||
### [Ranking Allarmi (Frequenza/Downtime)](sections/05-RankingAllarmi.md#ranking-allarmi-frequenzadowntime)
|
||||
|
||||
- `TopAlarms_ByFrequency[0..99]` per allarmi più frequenti
|
||||
- `TopAlarms_ByDowntime[0..99]` per allarmi che causano più fermo
|
||||
- Visualizzazione e priorità interventi
|
||||
|
||||
### [Tempi Macchina](sections/06-TempiMacchina.md#tempi-macchina)
|
||||
|
||||
- Statistiche dettagliate: `TotalTime`, `RunTime`, `StopTime`, `EmergencyTime`, `DownstreamTime`, `UpstreamTime`
|
||||
- Reset counters per cambio batch/turno
|
||||
|
||||
### [Timestamp & Reset](sections/07-TimestampReset.md#timestamp--reset)
|
||||
|
||||
- Tracciamento avvio/fine produzione e ultimo reset (`ProductionStart_Timestamp`, `ProductionStop_Timestamp`, `ProductionLastReset_Timestamp`)
|
||||
- Comando `ResetCounters` per azzeramento sicuro
|
||||
|
||||
### [Popup & Logica HMI](sections/08-PopupLogicaHMI.md#popup--logica-hmi)
|
||||
|
||||
- Flusso handshake ricette/produzione con popup e timer reset (OK/Reject: 2s, Postpone: 30s)
|
||||
- Variabili di stato per conferma/rifiuto operatore
|
||||
|
||||
---
|
||||
|
||||
## Note di Interfaccia e Utilizzo
|
||||
|
||||
- Tutte le variabili sono pronte per mapping OPC-UA, con naming standard e struttura chiara.
|
||||
- Gli array compatti sono pensati per ridurre costi/licenze e rendere la supervisione più efficiente.
|
||||
- Diagrammi di stato e tree strutturali facilitano la configurazione e il troubleshooting.
|
||||
- Documentazione pronta per training, onboarding e audit.
|
||||
|
||||
---
|
||||
|
||||
## Espansioni Future
|
||||
|
||||
- Integrazione con moduli OEE, predictive maintenance, reportistica avanzata
|
||||
- Estensione delle strutture per nuovi KPI, ranking, ricette
|
||||
- Logging centralizzato e dashboard custom
|
||||
|
||||
---
|
||||
|
||||
## Sessioni aggiunte (in basso)
|
||||
|
||||
- Documento generato da Ufficio Sviluppo TecnoPack Group Spa
|
||||
- Versione: 2025-09-26
|
||||
|
||||
|
||||
---
|
||||
|
|
@ -0,0 +1,183 @@
|
|||
---
|
||||
id: MachineAnalytics_SCADA_SCADAInterface_Structure
|
||||
sidebar_position: 0
|
||||
sidebar_label: Struttura SCADA Interface – Cambio Ricetta & Aggiornamento Produzione
|
||||
pagination_prev: Omron/MachineAnalytics_SCADA/MachineAnalytics_SCADA_Flowpack_MachineAnalytics_Documentation
|
||||
hide_table_of_contents: true
|
||||
---
|
||||
|
||||
# Struttura SCADA Interface – Cambio Ricetta & Aggiornamento Produzione
|
||||
|
||||
---
|
||||
|
||||
## 1. 📋 Tabella Variabili di Scambio PLC–SCADA
|
||||
|
||||
### 🟢 EGRESS (PLC → SCADA)
|
||||
|
||||
| 🏷️ Nome | 🗃️ Tipo | 🔀 Direzione | 🪄 Icona | 📝 Descrizione Operativa |
|
||||
|--------------------------|-------------|--------------|---------|---------------------------------------------|
|
||||
| ▶️ IsRunning | BOOL | Output | 🚦 | Macchina in marcia |
|
||||
| ⏹️ IsStopped | BOOL | Output | 🛑 | Macchina ferma |
|
||||
| 🆘 IsInEmergency | BOOL | Output | 🚨 | Emergenza attiva |
|
||||
| ⬇️ IsWaitingDownstream | BOOL | Output | ⏳ | Attesa segnale macchina a valle |
|
||||
| ⬆️ IsWaitingUpstream | BOOL | Output | ⏳ | Attesa prodotto da macchina a monte |
|
||||
| 🛎️ IsAlarmActive | BOOL | Output | 🛎️ | Allarme attivo |
|
||||
| 🔁 RecipeChangeACK | BOOL | Output | ✅ | Ack cambio ricetta |
|
||||
| 🟢 RecipeChangeOK | BOOL | Output | 🟩 | Cambio ricetta OK |
|
||||
| ❌ RecipeChangeReject | BOOL | Output | ❌ | Cambio ricetta rifiutato |
|
||||
| ⏸️ RecipeChangePostpone | BOOL | Output | ⏸️ | Cambio ricetta posticipato |
|
||||
| 🔁 ProductionChangeACK | BOOL | Output | ✅ | Ack cambio produzione |
|
||||
| 🟢 ProductionChangeOK | BOOL | Output | 🟩 | Produzione aggiornata OK |
|
||||
| ❌ ProductionChangeReject| BOOL | Output | ❌ | Aggiornamento produzione rifiutato |
|
||||
| ⏸️ ProductionChangePostpone| BOOL | Output | ⏸️ | Aggiornamento produzione posticipato |
|
||||
| 📄 ActualRecipeIndex | DINT | Output | #️⃣ | Indice ricetta attiva |
|
||||
| 📄 ActualRecipeName | STRING[38] | Output | 📝 | Nome ricetta attiva |
|
||||
| 🏷️ ActualProductionInfo | STRING[38] | Output | 🏷️ | Lotto/ordine attivo |
|
||||
| #️⃣ ActualProductionCode | DINT | Output | #️⃣ | Codice lotto/ordine attivo |
|
||||
| 📦 ActualProductionQuantity | DINT | Output | 📦 | Quantità lotto/ordine attiva |
|
||||
| 🚀 ActualSpeed | REAL | Output | 🚀 | Velocità attuale [Pacchi/min] |
|
||||
| 🎯 ReferenceSpeed | REAL | Output | 🎯 | Velocità di riferimento da ricetta |
|
||||
|
||||
---
|
||||
|
||||
### 🔵 INGRESS (SCADA → PLC)
|
||||
|
||||
| 🏷️ Nome | 🗃️ Tipo | 🔀 Direzione | 🪄 Icona | 📝 Descrizione Operativa |
|
||||
|---------------------------|-------------|--------------|---------|---------------------------------------------|
|
||||
| 🔄 RecipeChangeRequest | BOOL | Input | 📥 | Richiesta cambio ricetta |
|
||||
| #️⃣ RecipeIndexRequest | DINT | Input | #️⃣ | Indice ricetta richiesta |
|
||||
| 🏷️ RecipeProductionInfoRequest | STRING[38]| Input | 🏷️ | Lotto/ordine richiesto per ricetta |
|
||||
| #️⃣ RecipeProductionCodeRequest | DINT | Input | #️⃣ | Codice lotto/ordine richiesto per ricetta |
|
||||
| 📦 RecipeProductionQuantityRequest | DINT | Input | 📦 | Quantità lotto/ordine richiesta per ricetta |
|
||||
| 🔄 ProductionChangeRequest| BOOL | Input | 📥 | Richiesta cambio produzione |
|
||||
| #️⃣ ProductionCodeRequest | DINT | Input | #️⃣ | Codice lotto/ordine richiesta |
|
||||
| 📦 ProductionQuantityRequest | DINT | Input | 📦 | Quantità lotto/ordine richiesta |
|
||||
| 🏷️ ProductionInfoRequest | STRING[38] | Input | 🏷️ | Lotto/ordine richiesto |
|
||||
|
||||
---
|
||||
|
||||
## 2. 🌳 Tree Strutturale SCADA Egress/Ingress
|
||||
|
||||
```plaintext
|
||||
ST_ScadaInterface
|
||||
├── Egress
|
||||
│ ├── RecipeChangeACK ✅
|
||||
│ ├── RecipeChangeOK 🟩
|
||||
│ ├── RecipeChangeReject ❌
|
||||
│ ├── RecipeChangePostpone ⏸️
|
||||
│ ├── ProductionChangeACK ✅
|
||||
│ ├── ProductionChangeOK 🟩
|
||||
│ ├── ProductionChangeReject ❌
|
||||
│ ├── ProductionChangePostpone ⏸️
|
||||
│ ├── ActualRecipeIndex #️⃣
|
||||
│ ├── ActualRecipeName 📝
|
||||
│ ├── ActualProductionInfo 🏷️
|
||||
│ ├── ActualProductionCode #️⃣
|
||||
│ ├── ActualProductionQuantity 📦
|
||||
│ ├── ActualSpeed 🚀
|
||||
│ ├── ReferenceSpeed 🎯
|
||||
│ ├── ...altre variabili di status...
|
||||
├── Ingress
|
||||
│ ├── RecipeChangeRequest 📥
|
||||
│ ├── RecipeIndexRequest #️⃣
|
||||
│ ├── RecipeProductionInfoRequest 🏷️
|
||||
│ ├── RecipeProductionCodeRequest #️⃣
|
||||
│ ├── RecipeProductionQuantityRequest 📦
|
||||
│ ├── ProductionChangeRequest 📥
|
||||
│ ├── ProductionCodeRequest #️⃣
|
||||
│ ├── ProductionQuantityRequest 📦
|
||||
│ ├── ProductionInfoRequest 🏷️
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. 🚦 Diagramma Stato Cambio Ricetta – Mermaid
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
style WaitIdle fill:#bef5cb,stroke:#34c759,color:#000
|
||||
style RequestReceived fill:#fff7aa,stroke:#ffd60a,color:#000
|
||||
style AckSent fill:#e3eeff,stroke:#007aff,color:#000
|
||||
style WaitingForHMI fill:#ffdde2,stroke:#ff375f,color:#000
|
||||
style ProcessingAccepted fill:#e3ffe3,stroke:#30db5b,color:#000
|
||||
style ProcessingRejected fill:#ffd6d6,stroke:#ff3b30,color:#000
|
||||
style Postponed fill:#e6ddff,stroke:#5856d6,color:#000
|
||||
|
||||
WaitIdle["🟢 Idle<br><sub>(Attesa richiesta)</sub>"]
|
||||
RequestReceived["📥 RequestReceived<br><sub>Richiesta SCADA, <b>RecipeChangeRequest</b> / <b>RecipeIndexRequest</b></sub>"]
|
||||
AckSent["✅ AckSent<br><sub>ACK inviato a SCADA</sub>"]
|
||||
WaitingForHMI["🧑🔧 WaitingForHMI<br><sub>Popup HMI operatore</sub>"]
|
||||
ProcessingAccepted["🟩 Accepted<br><sub>RecipeChangeOK (reset dopo 2s)</sub>"]
|
||||
ProcessingRejected["❌ Rejected<br><sub>RecipeChangeReject (reset dopo 2s)</sub>"]
|
||||
Postponed["⏸️ Postponed<br><sub>RecipeChangePostpone (reset dopo 30s)</sub>"]
|
||||
|
||||
WaitIdle -->|📥 RecipeChangeRequest| RequestReceived
|
||||
RequestReceived -->|✅ RecipeChangeACK| AckSent
|
||||
AckSent -->|🧑🔧 Handshake HMI| WaitingForHMI
|
||||
WaitingForHMI -->|🟩 Operatore ACCETTA| ProcessingAccepted
|
||||
WaitingForHMI -->|❌ Operatore RIFIUTA| ProcessingRejected
|
||||
WaitingForHMI -->|⏸️ Operatore POSTICIPA| Postponed
|
||||
ProcessingAccepted -->|⏱️ Reset 2s| WaitIdle
|
||||
ProcessingRejected -->|⏱️ Reset 2s| WaitIdle
|
||||
Postponed -->|⏱️ Reset 30s| AckSent
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. 🚦 Diagramma Stato Aggiornamento Produzione – Mermaid
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
style WaitIdle fill:#bef5cb,stroke:#34c759,color:#000
|
||||
style RequestReceived fill:#fff7aa,stroke:#ffd60a,color:#000
|
||||
style AckSent fill:#e3eeff,stroke:#007aff,color:#000
|
||||
style WaitingForHMI fill:#ffdde2,stroke:#ff375f,color:#000
|
||||
style ProcessingAccepted fill:#e3ffe3,stroke:#30db5b,color:#000
|
||||
style ProcessingRejected fill:#ffd6d6,stroke:#ff3b30,color:#000
|
||||
style Postponed fill:#e6ddff,stroke:#5856d6,color:#000
|
||||
|
||||
WaitIdle["🟢 Idle<br><sub>(Attesa richiesta)</sub>"]
|
||||
RequestReceived["📥 RequestReceived<br><sub>Richiesta SCADA, <b>ProductionChangeRequest</b> / <b>ProductionCodeRequest</b></sub>"]
|
||||
AckSent["✅ AckSent<br><sub>ACK inviato a SCADA</sub>"]
|
||||
WaitingForHMI["🧑🔧 WaitingForHMI<br><sub>Popup HMI operatore</sub>"]
|
||||
ProcessingAccepted["🟩 Accepted<br><sub>ProductionChangeOK (reset dopo 2s)</sub>"]
|
||||
ProcessingRejected["❌ Rejected<br><sub>ProductionChangeReject (reset dopo 2s)</sub>"]
|
||||
Postponed["⏸️ Postponed<br><sub>ProductionChangePostpone (reset dopo 30s)</sub>"]
|
||||
|
||||
WaitIdle -->|📥 ProductionChangeRequest| RequestReceived
|
||||
RequestReceived -->|✅ ProductionChangeACK| AckSent
|
||||
AckSent -->|🧑🔧 Handshake HMI| WaitingForHMI
|
||||
WaitingForHMI -->|🟩 Operatore ACCETTA| ProcessingAccepted
|
||||
WaitingForHMI -->|❌ Operatore RIFIUTA| ProcessingRejected
|
||||
WaitingForHMI -->|⏸️ Operatore POSTICIPA| Postponed
|
||||
ProcessingAccepted -->|⏱️ Reset 2s| WaitIdle
|
||||
ProcessingRejected -->|⏱️ Reset 2s| WaitIdle
|
||||
Postponed -->|⏱️ Reset 30s| AckSent
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. 🗒️ Note Avanzate & Best Practice
|
||||
|
||||
- Tutte le variabili sono pronte per mapping OPC-UA con UAexpert.
|
||||
- Il protocollo di handshake per cambio ricetta e produzione garantisce sicurezza operativa e audit trail.
|
||||
- Le state machine (diagrammi sopra) sono progettate per evitare race condition e garantire la conferma operatore su azioni critiche.
|
||||
- Logging centralizzato sugli eventi di stato per tracciabilità (audit, troubleshooting).
|
||||
- Struttura pronta per estensioni future (aggiunta KPI, OEE, manutenzione predittiva).
|
||||
|
||||
---
|
||||
|
||||
## 6. 🔗 Link alle macro-sezioni
|
||||
|
||||
- [Gestione Cambio Ricetta](02-GestioneRicette.md#gestione-cambio-ricetta)
|
||||
- [Aggiornamento Info Produzione](09-ProductionInfoUpdate.md#aggiornamento-info-produzione)
|
||||
- [Statistiche Flowpack](03-StatisticheFlowpack.md#statistiche-flowpack)
|
||||
- [Analytics & Allarmi](04-AnalyticsAllarmi.md#analytics--allarmi)
|
||||
- [Ranking Allarmi (Frequenza/Downtime)](05-RankingAllarmi.md#ranking-allarmi-frequenzadowntime)
|
||||
- [Tempi Macchina](06-TempiMacchina.md#tempi-macchina)
|
||||
- [Timestamp & Reset](07-TimestampReset.md#timestamp--reset)
|
||||
- [Popup & Logica HMI](08-PopupLogicaHMI.md#popup--logica-hmi)
|
||||
|
||||
---
|
||||
|
||||
*Documento pronto per validazioni, pubblicazione tecnica e onboarding team SCADA/MES.*
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
---
|
||||
id: MachineAnalytics_SCADA_ScadaInterfaceMasterStructure
|
||||
sidebar_position: 1
|
||||
sidebar_label: Stati Macchina e Interfaccia SCADA
|
||||
pagination_prev: Omron/MachineAnalytics_SCADA/MachineAnalytics_SCADA_Flowpack_MachineAnalytics_Documentation
|
||||
hide_table_of_contents: true
|
||||
---
|
||||
|
||||
# Stati Macchina e Interfaccia SCADA
|
||||
|
||||
---
|
||||
|
||||
## Tabella Variabili di Scambio
|
||||
|
||||
| 🏷️ Nome | 🗃️ Tipo | 🔀 Direzione | 🪄 Icona | 📝 Descrizione Operativa |
|
||||
|--------------------------|-------------|--------------|---------|---------------------------------------------|
|
||||
| IsRunning | BOOL | Output | 🚦 | Macchina in marcia |
|
||||
| IsStopped | BOOL | Output | 🛑 | Macchina ferma |
|
||||
| IsInEmergency | BOOL | Output | 🚨 | Emergenza attiva |
|
||||
| IsWaitingDownstream | BOOL | Output | ⏳ | Attesa segnale macchina a valle |
|
||||
| IsWaitingUpstream | BOOL | Output | ⏳ | Attesa prodotto da macchina a monte |
|
||||
| IsAlarmActive | BOOL | Output | 🛎️ | Allarme attivo |
|
||||
| Heartbeat | BOOL | Output | ❤️ | Segnale di vita PLC |
|
||||
| ...altre variabili status... | ... | ... | ... | ... |
|
||||
|
||||
---
|
||||
|
||||
## Tree Strutturale
|
||||
|
||||
```plaintext
|
||||
ST_ScadaInterface
|
||||
├── Egress
|
||||
│ ├── IsRunning 🚦
|
||||
│ ├── IsStopped 🛑
|
||||
│ ├── IsInEmergency 🚨
|
||||
│ ├── IsWaitingDownstream ⏳
|
||||
│ ├── IsWaitingUpstream ⏳
|
||||
│ ├── IsAlarmActive 🛎️
|
||||
│ ├── Heartbeat ❤️
|
||||
│ ├── ...altre variabili...
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Diagramma Stato Macchina – Mermaid
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
style Running fill:#e3ffe3,stroke:#30db5b,color:#000
|
||||
style Stopped fill:#ffd6d6,stroke:#ff3b30,color:#000
|
||||
style Emergency fill:#ffe6cc,stroke:#ff9800,color:#000
|
||||
style WaitingDown fill:#fff7aa,stroke:#ffd60a,color:#000
|
||||
style WaitingUp fill:#e6ddff,stroke:#5856d6,color:#000
|
||||
|
||||
Running["🚦 Running"]
|
||||
Stopped["🛑 Stopped"]
|
||||
Emergency["🚨 Emergency"]
|
||||
WaitingDown["⏳ WaitingDownstream"]
|
||||
WaitingUp["⏳ WaitingUpstream"]
|
||||
|
||||
Running -->|Stop| Stopped
|
||||
Stopped -->|Start| Running
|
||||
Running -->|Emergency| Emergency
|
||||
Emergency -->|Reset| Stopped
|
||||
Running -->|WaitDownstream| WaitingDown
|
||||
Running -->|WaitUpstream| WaitingUp
|
||||
WaitingDown -->|Resume| Running
|
||||
WaitingUp -->|Resume| Running
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Spiegazione Operativa
|
||||
|
||||
- Le variabili di status consentono al sistema SCADA di monitorare in tempo reale lo stato macchina, i blocchi di processo e le condizioni di allarme/emergenza.
|
||||
- Il segnale **Heartbeat** serve per verificare la corretta comunicazione tra PLC e SCADA.
|
||||
- Il diagramma mostra i principali stati logici e i flussi di transizione tipici per troubleshooting e training.
|
||||
|
||||
---
|
||||
|
||||
*Sezione pronta per mapping OPC-UA e integrazione in sistemi SCADA/MES.*
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
---
|
||||
id: MachineAnalytics_SCADA_GestioneRicette
|
||||
sidebar_position: 2
|
||||
sidebar_label: Gestione Ricette
|
||||
pagination_prev: Omron/MachineAnalytics_SCADA/MachineAnalytics_SCADA_Flowpack_MachineAnalytics_Documentation
|
||||
hide_table_of_contents: False
|
||||
---
|
||||
|
||||
# Gestione Ricette
|
||||
|
||||
---
|
||||
|
||||
## Tabella Variabili di Scambio
|
||||
|
||||
| 🏷️ Nome | 🗃️ Tipo | 🔀 Direzione | 🪄 Icona | 📝 Descrizione Operativa |
|
||||
|--------------------------|---------------------|-------------|---------|-------------------------------------------|
|
||||
| ActualRecipeIndex | DINT | Output | #️⃣ | Indice ricetta attualmente attiva |
|
||||
| ActualRecipeName | STRING[38] | Output | 📝 | Nome ricetta attiva |
|
||||
| RecipeList[0..40] | ST_Scada_Recipe | Output | 📋 | Elenco ricette disponibili su PLC |
|
||||
| RecipeChangeRequest | BOOL | Input | 📥 | Comando richiesta cambio ricetta |
|
||||
| RecipeIndexRequest | DINT | Input | #️⃣ | Indice ricetta da attivare |
|
||||
| RecipeProductionInfoRequest | STRING[38] | Input | 🏷️ | Lotto/ordine richiesto per ricetta |
|
||||
| RecipeProductionCodeRequest | DINT | Input | #️⃣ | Codice lotto/ordine richiesto per ricetta |
|
||||
| RecipeProductionQuantityRequest| DINT | Input | 📦 | Quantità lotto/ordine richiesta per ricetta|
|
||||
|
||||
---
|
||||
|
||||
## Tree Strutturale
|
||||
|
||||
```plaintext
|
||||
ST_ScadaInterface
|
||||
├── Egress
|
||||
│ ├── ActualRecipeIndex #️⃣
|
||||
│ ├── ActualRecipeName 📝
|
||||
│ ├── RecipeList[0..40] 📋
|
||||
│ │ ├── Index : DINT
|
||||
│ │ ├── Name : STRING[38]
|
||||
├── Ingress
|
||||
│ ├── RecipeChangeRequest 📥
|
||||
│ ├── RecipeIndexRequest #️⃣
|
||||
│ ├── RecipeProductionInfoRequest 🏷️
|
||||
│ ├── RecipeProductionCodeRequest #️⃣
|
||||
│ ├── RecipeProductionQuantityRequest 📦
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Diagramma Flusso Gestione Ricette – Mermaid
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
Idle["🟦 Idle<br><sub>(Attesa richiesta)</sub>"]
|
||||
RequestReceived["📥 RequestReceived<br><sub>RecipeChangeRequest / RecipeIndexRequest</sub>"]
|
||||
AckSent["✅ AckSent<br><sub>ACK inviato a SCADA</sub>"]
|
||||
WaitingForHMI["🧑🔧 WaitingForHMI<br><sub>Popup HMI operatore</sub>"]
|
||||
Accepted["🟩 Accepted<br><sub>RecipeChangeOK (reset 2s)</sub>"]
|
||||
Rejected["❌ Rejected<br><sub>RecipeChangeReject (reset 2s)</sub>"]
|
||||
Postponed["⏸️ Postponed<br><sub>RecipeChangePostpone (reset 30s)</sub>"]
|
||||
|
||||
Idle -->|📥 RecipeChangeRequest| RequestReceived
|
||||
RequestReceived -->|✅ RecipeChangeACK| AckSent
|
||||
AckSent -->|🧑🔧 Handshake HMI| WaitingForHMI
|
||||
WaitingForHMI -->|🟩 Operatore ACCETTA| Accepted
|
||||
WaitingForHMI -->|❌ Operatore RIFIUTA| Rejected
|
||||
WaitingForHMI -->|⏸️ Operatore POSTICIPA| Postponed
|
||||
Accepted -->|⏱️ Reset 2s| Idle
|
||||
Rejected -->|⏱️ Reset 2s| Idle
|
||||
Postponed -->|⏱️ Reset 30s| AckSent
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Spiegazione Operativa
|
||||
|
||||
- L’array `RecipeList` contiene tutte le ricette disponibili e permette la visualizzazione e selezione da SCADA/HMI.
|
||||
- Le variabili di handshake e popup gestiscono in modo sicuro il cambio ricetta, con conferma operatore.
|
||||
- Il diagramma mostra il flusso di stato, utile per troubleshooting e validazione.
|
||||
|
||||
---
|
||||
|
||||
*Sezione pronta per mapping OPC-UA e integrazione in sistemi SCADA/MES. Modifica e amplia secondo le tue variabili specifiche!*
|
||||
|
|
@ -0,0 +1,102 @@
|
|||
---
|
||||
id: MachineAnalytics_SCADA_StatisticheFlowpack
|
||||
sidebar_position: 3
|
||||
sidebar_label: Statistiche Flowpack
|
||||
pagination_prev: Omron/MachineAnalytics_SCADA/MachineAnalytics_SCADA_Flowpack_MachineAnalytics_Documentation
|
||||
hide_table_of_contents: True
|
||||
---
|
||||
|
||||
# Statistiche Flowpack
|
||||
|
||||
---
|
||||
|
||||
## Tabella Variabili di Scambio Statistiche Flowpack
|
||||
|
||||
### 🟢 EGRESS (PLC → SCADA)
|
||||
|
||||
| 🏷️ Nome | 🗃️ Tipo | 🔀 Direzione | 🪄 Icona | 📝 Descrizione Operativa |
|
||||
|------------------------------------|----------------------------|-------------|---------|--------------------------------------------|
|
||||
| FlowpackAnalytics.Production | ST_Flowpack_ProductionCounts | Output | 📦 | Dati produzione (totali, buoni, scartati) |
|
||||
| FlowpackAnalytics.Rejects | ST_Flowpack_RejectReasons | Output | ❌ | Dettaglio motivi scarto |
|
||||
| FlowpackAnalytics.Percentages | ST_Flowpack_Percentages | Output | 📊 | Percentuali produzione/scarti |
|
||||
| ActualSpeed | REAL | Output | 🚀 | Velocità attuale [Pacchi/min] |
|
||||
| ReferenceSpeed | REAL | Output | 🎯 | Velocità di riferimento da ricetta |
|
||||
|
||||
---
|
||||
|
||||
### 🔵 INGRESS (SCADA → PLC)
|
||||
|
||||
*(Nessuna variabile di comando diretta per produzione Flowpack; solo monitoraggio/statistiche)*
|
||||
|
||||
---
|
||||
|
||||
## Tree Strutturale Statistiche Flowpack
|
||||
|
||||
```plaintext
|
||||
ST_ScadaInterface
|
||||
├── Egress
|
||||
│ ├── FlowpackAnalytics
|
||||
│ │ ├── Production 📦
|
||||
│ │ │ ├── Products_In_Total : DINT
|
||||
│ │ │ ├── Products_Out_Good : DINT
|
||||
│ │ │ ├── Products_Out_Rejected : DINT
|
||||
│ │ ├── Rejects ❌
|
||||
│ │ │ ├── Reject_EmptyPackets : DINT
|
||||
│ │ │ ├── Reject_DoublePackets : DINT
|
||||
│ │ │ ├── Reject_CrushedByCrimper : DINT
|
||||
│ │ │ ├── Reject_ChainPackets : DINT
|
||||
│ │ │ ├── Reject_PictureCardMissPackets : DINT
|
||||
│ │ │ ├── Reject_CameraNoGoodPackets : DINT
|
||||
│ │ ├── Percentages 📊
|
||||
│ │ │ ├── Perc_Good_vs_In : DINT
|
||||
│ │ │ ├── Perc_RejectedEmptyPackets : DINT
|
||||
│ │ │ ├── Perc_RejectedDoublePackets : DINT
|
||||
│ │ │ ├── Perc_RejectedCrushedByCrimper : DINT
|
||||
│ │ │ ├── Perc_RejectedChainPackets : DINT
|
||||
│ │ │ ├── Perc_RejectedPictureCardMissPackets : DINT
|
||||
│ │ │ ├── Perc_RejectedCameraNoGoodPackets : DINT
|
||||
│ ├── ActualSpeed 🚀
|
||||
│ ├── ReferenceSpeed 🎯
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Diagramma Flusso Statistiche Flowpack – Mermaid
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
style Production fill:#e3ffe3,stroke:#30db5b,color:#000
|
||||
style Rejects fill:#ffd6d6,stroke:#ff3b30,color:#000
|
||||
style Percentages fill:#fff7aa,stroke:#ffd60a,color:#000
|
||||
style ActualSpeed fill:#e3eeff,stroke:#007aff,color:#000
|
||||
style ReferenceSpeed fill:#e6ddff,stroke:#5856d6,color:#000
|
||||
|
||||
Production["📦 Production<br><sub>Totali/Scarti/Buoni</sub>"]
|
||||
Rejects["❌ Rejects<br><sub>Motivi Scarto</sub>"]
|
||||
Percentages["📊 Percentages<br><sub>Percentuali</sub>"]
|
||||
ActualSpeed["🚀 ActualSpeed<br><sub>Pacchi/min attuale</sub>"]
|
||||
ReferenceSpeed["🎯 ReferenceSpeed<br><sub>Da ricetta</sub>"]
|
||||
|
||||
Production --> Percentages
|
||||
Rejects --> Percentages
|
||||
Production --> ActualSpeed
|
||||
Production --> ReferenceSpeed
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Spiegazione Statistiche Flowpack
|
||||
|
||||
- **Production**: tiene traccia di tutti i prodotti processati, divisi tra totali, buoni e scartati.
|
||||
- **Rejects**: dettaglia la causa di ogni scarto (vuoti, doppi, schiacciati, NG camera, ecc.) per analisi qualità e manutenzione.
|
||||
- **Percentages**: percentuali calcolate su buoni/scartati, utili per KPI e controllo efficienza.
|
||||
- **ActualSpeed/ReferenceSpeed**: confronto tra velocità reale e quella impostata da ricetta, per monitoraggio produzione.
|
||||
|
||||
Questi dati consentono a SCADA/MES di:
|
||||
- Visualizzare dashboard di efficienza reale
|
||||
- Analizzare cause di scarto e qualità prodotto
|
||||
- Fare trend analysis e reportistica OEE
|
||||
|
||||
---
|
||||
|
||||
*Sezione pronta per essere integrata in sistemi SCADA/MES tramite protocollo OPC-UA.*
|
||||
|
|
@ -0,0 +1,91 @@
|
|||
---
|
||||
id: MachineAnalytics_SCADA_AnalyticsAllarmi
|
||||
sidebar_position: 4
|
||||
sidebar_label: Analytics & Allarmi
|
||||
pagination_prev: Omron/MachineAnalytics_SCADA/MachineAnalytics_SCADA_Flowpack_MachineAnalytics_Documentation
|
||||
hide_table_of_contents: True
|
||||
---
|
||||
|
||||
# Analytics & Allarmi
|
||||
|
||||
---
|
||||
|
||||
## Tabella Variabili di Scambio Analytics & Allarmi
|
||||
|
||||
### 🟢 EGRESS (PLC → SCADA)
|
||||
|
||||
| 🏷️ Nome | 🗃️ Tipo | 🔀 Direzione | 🪄 Icona | 📝 Descrizione Operativa |
|
||||
|-------------------------------|----------------------|-------------|---------|------------------------------------------------|
|
||||
| Alarms_Packed[0..80] | ST_AlarmAnalytics | Output | 🛎️ | Array compatto allarmi |
|
||||
| AlarmAnalytics[].State | BOOL | Output | 📶 | Stato allarme (attivo/disattivo) |
|
||||
| AlarmAnalytics[].Count | DINT | Output | 🔢 | Numero attivazioni |
|
||||
| AlarmAnalytics[].TotalActiveTime_ms | DINT | Output | ⏱️ | Tempo totale attivo (ms) |
|
||||
| AlarmAnalytics[].MTTR_sec | REAL | Output | 🕒 | Mean Time To Repair (sec) |
|
||||
| AlarmAnalytics[].MTBF_h | REAL | Output | ⏳ | Mean Time Between Failure (h) |
|
||||
|
||||
---
|
||||
|
||||
### 🔵 INGRESS (SCADA → PLC)
|
||||
|
||||
*(Nessuna variabile di comando diretta per allarmi; solo monitoraggio/statistiche)*
|
||||
|
||||
---
|
||||
|
||||
## Tree Strutturale Analytics & Allarmi
|
||||
|
||||
```plaintext
|
||||
ST_ScadaInterface
|
||||
├── Egress
|
||||
│ ├── Alarms_Packed[0..80] 🛎️
|
||||
│ │ ├── State : BOOL 📶
|
||||
│ │ ├── Count : DINT 🔢
|
||||
│ │ ├── TotalActiveTime_ms : DINT ⏱️
|
||||
│ │ ├── MTTR_sec : REAL 🕒
|
||||
│ │ ├── MTBF_h : REAL ⏳
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Diagramma Analytics & Allarmi – Mermaid
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
style AlarmsPacked fill:#e3eeff,stroke:#007aff,color:#000
|
||||
style State fill:#e3ffe3,stroke:#30db5b,color:#000
|
||||
style Count fill:#fff7aa,stroke:#ffd60a,color:#000
|
||||
style TotalActiveTime fill:#ffd6d6,stroke:#ff3b30,color:#000
|
||||
style MTTR fill:#e6ddff,stroke:#5856d6,color:#000
|
||||
style MTBF fill:#ffe6cc,stroke:#ff9800,color:#000
|
||||
|
||||
AlarmsPacked["🛎️ Alarms_Packed[0..80]"]
|
||||
State["📶 State"]
|
||||
Count["🔢 Count"]
|
||||
TotalActiveTime["⏱️ TotalActiveTime_ms"]
|
||||
MTTR["🕒 MTTR_sec"]
|
||||
MTBF["⏳ MTBF_h"]
|
||||
|
||||
AlarmsPacked --> State
|
||||
AlarmsPacked --> Count
|
||||
AlarmsPacked --> TotalActiveTime
|
||||
AlarmsPacked --> MTTR
|
||||
AlarmsPacked --> MTBF
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Spiegazione Operativa
|
||||
|
||||
- **Alarms_Packed**: array compatto che aggrega lo stato e le statistiche di ogni allarme, ottimizzato per sistemi con limiti di tag OPC-UA/SCADA.
|
||||
- **State**: indica se l’allarme è attivo (TRUE) o inattivo (FALSE).
|
||||
- **Count**: numero totale di attivazioni dell’allarme, utile per ranking e analisi manutentiva.
|
||||
- **TotalActiveTime_ms**: tempo totale in cui l’allarme è stato attivo, utile per downtime analysis.
|
||||
- **MTTR/MTBF**: KPI fondamentali per la manutenzione predittiva e l’efficienza.
|
||||
|
||||
Questi dati permettono a SCADA/MES di:
|
||||
- Visualizzare lo storico e lo stato real-time degli allarmi
|
||||
- Costruire dashboard di ranking/frequenza/downtime
|
||||
- Ottimizzare manutenzione e produzione
|
||||
|
||||
---
|
||||
|
||||
*Sezione pronta per mapping OPC-UA e integrazione in sistemi SCADA/MES. Modifica e amplia secondo le tue variabili specifiche!*
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
---
|
||||
id: MachineAnalytics_SCADA_RankingAllarmi
|
||||
sidebar_position: 5
|
||||
sidebar_label: Ranking Allarmi (Frequenza/Downtime)
|
||||
pagination_prev: Omron/MachineAnalytics_SCADA/MachineAnalytics_SCADA_Flowpack_MachineAnalytics_Documentation
|
||||
hide_table_of_contents: True
|
||||
---
|
||||
|
||||
# Ranking Allarmi (Frequenza/Downtime)
|
||||
|
||||
---
|
||||
|
||||
## Tabella Variabili di Scambio Ranking Allarmi
|
||||
|
||||
### 🟢 EGRESS (PLC → SCADA)
|
||||
|
||||
| 🏷️ Nome | 🗃️ Tipo | 🔀 Direzione | 🪄 Icona | 📝 Descrizione Operativa |
|
||||
|-------------------------------|-------------------|-------------|---------|----------------------------------------|
|
||||
| TopAlarms_ByFrequency[0..99] | ST_TopAlarmEntry | Output | 📈 | Classifica allarmi più frequenti |
|
||||
| TopAlarms_ByDowntime[0..99] | ST_TopAlarmEntry | Output | ⏱️ | Classifica allarmi per downtime |
|
||||
|
||||
---
|
||||
|
||||
## Tree Strutturale Ranking Allarmi
|
||||
|
||||
```plaintext
|
||||
ST_ScadaInterface
|
||||
├── Egress
|
||||
│ ├── TopAlarms_ByFrequency[0..99] 📈
|
||||
│ │ ├── AlarmId : DINT
|
||||
│ │ ├── Value : LREAL
|
||||
│ ├── TopAlarms_ByDowntime[0..99] ⏱️
|
||||
│ │ ├── AlarmId : DINT
|
||||
│ │ ├── Value : LREAL
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Diagramma Ranking Allarmi – Mermaid
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
style Analytics fill:#e3eeff,stroke:#007aff,color:#000
|
||||
style RankingFrequency fill:#fff7aa,stroke:#ffd60a,color:#000
|
||||
style RankingDowntime fill:#ffd6d6,stroke:#ff3b30,color:#000
|
||||
|
||||
Analytics["🛎️ AlarmAnalytics"]
|
||||
RankingFrequency["📈 TopAlarms_ByFrequency"]
|
||||
RankingDowntime["⏱️ TopAlarms_ByDowntime"]
|
||||
|
||||
Analytics --> RankingFrequency
|
||||
Analytics --> RankingDowntime
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Spiegazione Ranking Allarmi
|
||||
|
||||
- **TopAlarms_ByFrequency**: mostra i 100 allarmi con più attivazioni, utile per identificare le cause più ricorrenti di fermo o disturbo.
|
||||
- **TopAlarms_ByDowntime**: mostra i 100 allarmi che hanno causato più tempo di fermo, fondamentale per la manutenzione e l’ottimizzazione produttiva.
|
||||
- Permette di visualizzare rapidamente le priorità di intervento e di migliorare la qualità della produzione agendo sui punti più critici.
|
||||
|
||||
---
|
||||
|
||||
*Sezione pronta per mapping OPC-UA e integrazione in sistemi SCADA/MES. Modifica e amplia secondo le tue variabili specifiche!*
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
---
|
||||
id: MachineAnalytics_SCADA_TempiMacchina
|
||||
sidebar_position: 6
|
||||
sidebar_label: Tempi Macchina
|
||||
hide_table_of_contents: False
|
||||
---
|
||||
|
||||
# Tempi Macchina
|
||||
|
||||
---
|
||||
|
||||
## Tabella Variabili di Scambio Tempi Macchina
|
||||
|
||||
### 🟢 EGRESS (PLC → SCADA)
|
||||
|
||||
| 🏷️ Nome | 🗃️ Tipo | 🔀 Direzione | 🪄 Icona | 📝 Descrizione Operativa |
|
||||
|-----------------------|----------|-------------|---------|--------------------------------------------|
|
||||
| TotalTime | DINT | Output | ⏱️ | Tempo totale di funzionamento |
|
||||
| RunTime | DINT | Output | 🚦 | Tempo in marcia |
|
||||
| StopTime | DINT | Output | 🛑 | Tempo in stop |
|
||||
| EmergencyTime | DINT | Output | 🚨 | Tempo in emergenza |
|
||||
| DownstreamTime | DINT | Output | ⏳ | Tempo in attesa macchina a valle |
|
||||
| UpstreamTime | DINT | Output | ⏳ | Tempo in attesa prodotto da monte |
|
||||
|
||||
---
|
||||
|
||||
### 🔵 INGRESS (SCADA → PLC)
|
||||
|
||||
| 🏷️ Nome | 🗃️ Tipo | 🔀 Direzione | 🪄 Icona | 📝 Descrizione Operativa |
|
||||
|-------------------|-----------|-------------|---------|------------------------------------------------|
|
||||
| ResetCounters | BOOL | Input | 🔄 | Comando reset tempi/statistiche |
|
||||
|
||||
---
|
||||
|
||||
## Tree Strutturale Tempi Macchina
|
||||
|
||||
```plaintext
|
||||
ST_ScadaInterface
|
||||
├── Egress
|
||||
│ ├── TotalTime ⏱️
|
||||
│ ├── RunTime 🚦
|
||||
│ ├── StopTime 🛑
|
||||
│ ├── EmergencyTime 🚨
|
||||
│ ├── DownstreamTime ⏳
|
||||
│ ├── UpstreamTime ⏳
|
||||
├── Ingress
|
||||
│ ├── ResetCounters 🔄
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Diagramma Flusso Tempi Macchina – Mermaid
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
style TotalTime fill:#e3eeff,stroke:#007aff,color:#000
|
||||
style RunTime fill:#e3ffe3,stroke:#30db5b,color:#000
|
||||
style StopTime fill:#ffd6d6,stroke:#ff3b30,color:#000
|
||||
style EmergencyTime fill:#ffe6cc,stroke:#ff9800,color:#000
|
||||
style DownstreamTime fill:#fff7aa,stroke:#ffd60a,color:#000
|
||||
style UpstreamTime fill:#e6ddff,stroke:#5856d6,color:#000
|
||||
|
||||
TotalTime["⏱️ TotalTime"]
|
||||
RunTime["🚦 RunTime"]
|
||||
StopTime["🛑 StopTime"]
|
||||
EmergencyTime["🚨 EmergencyTime"]
|
||||
DownstreamTime["⏳ DownstreamTime"]
|
||||
UpstreamTime["⏳ UpstreamTime"]
|
||||
|
||||
TotalTime --> RunTime
|
||||
TotalTime --> StopTime
|
||||
TotalTime --> EmergencyTime
|
||||
TotalTime --> DownstreamTime
|
||||
TotalTime --> UpstreamTime
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Spiegazione Operativa
|
||||
|
||||
- Le variabili di tempo permettono di monitorare l’efficienza della macchina, i fermi e le attese, dando una visione chiara per la reportistica OEE.
|
||||
- Il comando **ResetCounters** consente di azzerare i tempi per cambio batch, turno o manutenzione.
|
||||
- La struttura è pronta per essere mappata su sistemi SCADA/MES e per analisi di produttività.
|
||||
|
||||
---
|
||||
|
||||
*Sezione pronta per mapping OPC-UA e integrazione in sistemi SCADA/MES. Modifica e amplia secondo le tue variabili specifiche!*
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
---
|
||||
id: MachineAnalytics_SCADA_TimestampReset
|
||||
sidebar_position: 7
|
||||
sidebar_label: Timestamp & Reset
|
||||
pagination_prev: Omron/MachineAnalytics_SCADA/MachineAnalytics_SCADA_Flowpack_MachineAnalytics_Documentation
|
||||
hide_table_of_contents: True
|
||||
---
|
||||
|
||||
# Timestamp & Reset
|
||||
|
||||
---
|
||||
|
||||
## Tabella Variabili di Scambio Timestamp & Reset
|
||||
|
||||
### 🟢 EGRESS (PLC → SCADA)
|
||||
|
||||
| 🏷️ Nome | 🗃️ Tipo | 🔀 Direzione | 🪄 Icona | 📝 Descrizione Operativa |
|
||||
|---------------------------------|----------|-------------|---------|---------------------------------------------------|
|
||||
| ProductionStart_Timestamp | DT | Output | 🟢 | Timestamp avvio produzione |
|
||||
| ProductionStop_Timestamp | DT | Output | 🔴 | Timestamp fine produzione |
|
||||
| ProductionLastReset_Timestamp | DT | Output | 🔄 | Timestamp ultimo reset statistico |
|
||||
|
||||
---
|
||||
|
||||
### 🔵 INGRESS (SCADA → PLC)
|
||||
|
||||
| 🏷️ Nome | 🗃️ Tipo | 🔀 Direzione | 🪄 Icona | 📝 Descrizione Operativa |
|
||||
|----------------|---------|-------------|---------|--------------------------------------------|
|
||||
| ResetCounters | BOOL | Input | 🚦 | Comando reset timestamp/statistiche |
|
||||
|
||||
---
|
||||
|
||||
## Tree Strutturale Timestamp & Reset
|
||||
|
||||
```plaintext
|
||||
ST_ScadaInterface
|
||||
├── Egress
|
||||
│ ├── ProductionStart_Timestamp 🟢
|
||||
│ ├── ProductionStop_Timestamp 🔴
|
||||
│ ├── ProductionLastReset_Timestamp 🔄
|
||||
├── Ingress
|
||||
│ ├── ResetCounters 🚦
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Diagramma Flusso Timestamp & Reset – Mermaid
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
style Start fill:#e3ffe3,stroke:#30db5b,color:#000
|
||||
style Stop fill:#ffd6d6,stroke:#ff3b30,color:#000
|
||||
style LastReset fill:#ffe6cc,stroke:#ff9800,color:#000
|
||||
|
||||
Start["🟢 ProductionStart_Timestamp"]
|
||||
Stop["🔴 ProductionStop_Timestamp"]
|
||||
LastReset["🔄 ProductionLastReset_Timestamp"]
|
||||
ResetCounters["🚦 ResetCounters"]
|
||||
|
||||
ResetCounters --> LastReset
|
||||
Start --> Stop
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Spiegazione Operativa
|
||||
|
||||
- I timestamp consentono la tracciabilità degli eventi di produzione e facilitano audit, reportistica e troubleshooting.
|
||||
- Il comando **ResetCounters** permette di azzerare le statistiche e aggiornare il timestamp di reset, utile per la gestione di batch, turni o manutenzione.
|
||||
|
||||
---
|
||||
|
||||
*Sezione pronta per mapping OPC-UA e integrazione in sistemi SCADA/MES. Modifica e amplia secondo le tue variabili specifiche!*
|
||||
|
|
@ -0,0 +1,79 @@
|
|||
---
|
||||
id: MachineAnalytics_SCADA_PopupLogicaHMI
|
||||
sidebar_position: 8
|
||||
sidebar_label: Popup & Logica HMI
|
||||
pagination_prev: Omron/MachineAnalytics_SCADA/MachineAnalytics_SCADA_Flowpack_MachineAnalytics_Documentation
|
||||
hide_table_of_contents: True
|
||||
---
|
||||
|
||||
# Popup & Logica HMI
|
||||
|
||||
---
|
||||
|
||||
## Tabella Variabili di Scambio – Popup & Logica HMI
|
||||
|
||||
| 🏷️ Nome | 🗃️ Tipo | 🔀 Direzione | 🪄 Icona | 📝 Descrizione Operativa |
|
||||
|--------------------------|-------------|--------------|---------|---------------------------------------------------|
|
||||
| RecipeChangeRequest | BOOL | Input | 📥 | Richiesta cambio ricetta da SCADA |
|
||||
| RecipeChangeACK | BOOL | Output | ✅ | Conferma ricezione richiesta cambio ricetta |
|
||||
| RecipeChangeOK | BOOL | Output | 🟩 | Conferma cambio ricetta accettato (reset 2s) |
|
||||
| RecipeChangeReject | BOOL | Output | ❌ | Cambio ricetta rifiutato (reset 2s) |
|
||||
| RecipeChangePostpone | BOOL | Output | ⏸️ | Cambio ricetta posticipato (reset 30s) |
|
||||
| Popup_Timer2s | INT | Output | ⏱️ | Timer reset popup OK/Reject (2s) |
|
||||
| Popup_Timer30s | INT | Output | ⏱️ | Timer reset popup Postpone (30s) |
|
||||
|
||||
---
|
||||
|
||||
## Tree Strutturale Popup & Logica HMI
|
||||
|
||||
```plaintext
|
||||
ST_ScadaInterface
|
||||
├── Ingress
|
||||
│ ├── RecipeChangeRequest 📥
|
||||
├── Egress
|
||||
│ ├── RecipeChangeACK ✅
|
||||
│ ├── RecipeChangeOK 🟩
|
||||
│ ├── RecipeChangeReject ❌
|
||||
│ ├── RecipeChangePostpone ⏸️
|
||||
│ ├── Popup_Timer2s ⏱️
|
||||
│ ├── Popup_Timer30s ⏱️
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Diagramma Flusso Popup & Logica HMI – Mermaid
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
style Request fill:#e3eeff,stroke:#007aff,color:#000
|
||||
style ACK fill:#e3ffe3,stroke:#30db5b,color:#000
|
||||
style OK fill:#d6ffe3,stroke:#30db5b,color:#000
|
||||
style Reject fill:#ffd6d6,stroke:#ff3b30,color:#000
|
||||
style Postpone fill:#ffe6cc,stroke:#ff9800,color:#000
|
||||
|
||||
Request["📥 RecipeChangeRequest"]
|
||||
ACK["✅ RecipeChangeACK"]
|
||||
OK["🟩 RecipeChangeOK (reset 2s)"]
|
||||
Reject["❌ RecipeChangeReject (reset 2s)"]
|
||||
Postpone["⏸️ RecipeChangePostpone (reset 30s)"]
|
||||
|
||||
Request --> ACK
|
||||
ACK --> OK
|
||||
ACK --> Reject
|
||||
ACK --> Postpone
|
||||
OK -->|Timer2s| Request
|
||||
Reject -->|Timer2s| Request
|
||||
Postpone -->|Timer30s| ACK
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Spiegazione Operativa
|
||||
|
||||
- Il flusso di handshake gestisce il cambio ricetta in modo sicuro, con popup per la conferma dell’operatore e timer di reset automatico.
|
||||
- Le variabili permettono il dialogo tra SCADA, PLC e HMI, garantendo tracciabilità e controllo sull’azione.
|
||||
- Il timer per OK/Reject è di 2 secondi, mentre per Postpone è di 30 secondi, come da best practice industriale.
|
||||
|
||||
---
|
||||
|
||||
*Sezione pronta per mapping OPC-UA e integrazione in sistemi SCADA/MES. Modifica e amplia secondo le tue variabili specifiche!*
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
---
|
||||
id: MachineAnalytics_SCADA_NoteInterfacciaUtilizzo
|
||||
sidebar_position: 10
|
||||
sidebar_label: Note di Interfaccia e Utilizzo
|
||||
hide_table_of_contents: False
|
||||
---
|
||||
|
||||
# Note di Interfaccia e Utilizzo
|
||||
|
||||
---
|
||||
|
||||
## Linee guida operative
|
||||
|
||||
- **Tutte le variabili sono accessibili via OPC-UA:**
|
||||
Utilizza UAexpert per esplorare i nodi, verificare tipi e mapping.
|
||||
- **Flow di handshake ricetta/produzione:**
|
||||
Segui i diagrammi di stato nelle sezioni dedicate per troubleshooting e validazione.
|
||||
- **Timer di reset (2s, 30s):**
|
||||
Questi garantiscono la coerenza nei popup HMI e negli acknowledgement. Non modificare senza validazione.
|
||||
- **In caso di errori di mapping:**
|
||||
Verifica nomi, tipi dati e direzione (Input/Output) direttamente dal client OPC-UA.
|
||||
- **Logging eventi:**
|
||||
Il log centralizzato delle transizioni di stato aiuta nell’audit e nel troubleshooting.
|
||||
- **Variabili di stato macchina:**
|
||||
Utili per dashboard OEE, analisi produttività e allarmi.
|
||||
- **FAQ rapida:**
|
||||
- Cosa fare se il cambio ricetta non viene accettato?
|
||||
→ Verifica stato handshake e popup HMI, controlla le variabili di stato.
|
||||
- Come viene visualizzato il popup di conferma su HMI?
|
||||
→ Gestito tramite flag e timer nelle variabili dedicate (vedi diagrammi di stato).
|
||||
|
||||
---
|
||||
|
||||
## Best Practice
|
||||
|
||||
- Mantieni la nomenclatura delle variabili coerente tra PLC, SCADA e documentazione.
|
||||
- Aggiorna la documentazione in caso di modifiche all’interfaccia o nuovi tag.
|
||||
- Segnala nel log ogni evento critico (cambio ricetta, lotto, produzione, allarme) per audit e analisi.
|
||||
- Utilizza sempre strumenti di test come UAexpert prima di rilasciare in produzione.
|
||||
|
||||
---
|
||||
|
||||
*Sezione pensata per facilitare l’integrazione, la validazione e l’utilizzo quotidiano della piattaforma SCADA/MES.*
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
---
|
||||
id: MachineAnalytics_SCADA_FAQ_Troubleshooting
|
||||
sidebar_position: 11
|
||||
sidebar_label: FAQ & Troubleshooting
|
||||
hide_table_of_contents: False
|
||||
unlisted: true
|
||||
displayed_sidebar: null
|
||||
---
|
||||
|
||||
# FAQ & Troubleshooting
|
||||
|
||||
---
|
||||
|
||||
## Domande frequenti
|
||||
|
||||
### ❓ Il cambio ricetta non viene accettato, cosa posso controllare?
|
||||
|
||||
- Verifica che la richiesta sia valida (`RecipeChangeRequest` attivo, indice ricetta corretto).
|
||||
- Assicurati che il flag di controllo remoto sia abilitato (`RemoteControlEn`).
|
||||
- Controlla lo stato della macchina: deve essere in condizioni accettabili per il cambio (non in emergenza, non in ciclo).
|
||||
- Consulta il log eventi: cerca messaggi di stato “Rejected” o “Postponed”.
|
||||
- Controlla che il popup HMI sia effettivamente visibile e attenda la conferma operatore.
|
||||
|
||||
---
|
||||
|
||||
### ❓ Non vedo il popup di conferma su HMI, come lo attivo?
|
||||
|
||||
- Verifica che la variabile di handshake (`AckChangeRecipeToHMI` o `ActivateUpdatePopup`) sia TRUE.
|
||||
- Assicurati che la macchina sia nello stato “WaitingForHMI” (vedi diagrammi di stato).
|
||||
- Controlla che il timer di reset non abbia già azzerato la richiesta.
|
||||
- Se usi UAexpert: cerca la variabile specifica e verifica il valore in tempo reale.
|
||||
|
||||
---
|
||||
|
||||
### ❓ La produzione non aggiorna i dati richiesti, dove può essere il problema?
|
||||
|
||||
- Controlla che la richiesta (`ProductionChangeRequest`) sia attiva.
|
||||
- Verifica che i dati (`ProductionCodeRequest`, `ProductionQuantityRequest`, ecc.) siano valorizzati correttamente.
|
||||
- Accertati che il popup HMI sia gestito e che l’operatore abbia confermato (“OK”).
|
||||
- Consulta il log per eventuali “Rejected” o “Postponed”.
|
||||
|
||||
---
|
||||
|
||||
### ❓ Alcune variabili non sono visibili via OPC-UA
|
||||
|
||||
- Usa UAexpert per esplorare la struttura e validare la presenza dei nodi.
|
||||
- Verifica la configurazione del server OPC-UA (tag esposti, permessi).
|
||||
- Controlla la versione e la configurazione di runtime del PLC.
|
||||
- Assicurati che le variabili siano attive e valorizzate nel ciclo PLC.
|
||||
|
||||
---
|
||||
|
||||
### ❓ Gli allarmi non arrivano sul client SCADA
|
||||
|
||||
- Controlla le variabili di stato (`IsAlarmActive`, `Alarms_Packed[]`).
|
||||
- Verifica la configurazione e il mapping dei tag OPC-UA.
|
||||
- Consulta la sezione “Analytics & Allarmi” per struttura e flusso dati.
|
||||
|
||||
---
|
||||
|
||||
## Suggerimenti operativi per troubleshooting
|
||||
|
||||
- **Log eventi:**
|
||||
Consulta sempre il log centralizzato per capire cause e sequenza delle transizioni di stato.
|
||||
- **Diagrammi di stato:**
|
||||
Usa i diagrammi come guida rapida per capire dove si trova la macchina nel ciclo di richiesta/accettazione.
|
||||
- **UAexpert:**
|
||||
Strumento essenziale per validare mapping, visualizzare variabili, testare handshake in tempo reale.
|
||||
- **Verifica timer:**
|
||||
Se una variabile “OK” o “Reject” si azzera troppo presto, controlla la configurazione dei timer di reset.
|
||||
- **Documentazione sempre aggiornata:**
|
||||
Se modifichi il PLC, aggiorna subito la documentazione delle variabili e i diagrammi di stato.
|
||||
|
||||
---
|
||||
|
||||
*Se trovi nuove domande o casi ricorrenti, aggiorna questa sezione per tenere la squadra sempre operativa!*
|
||||
|
|
@ -0,0 +1,148 @@
|
|||
---
|
||||
id: GestioneSiteManager1
|
||||
sidebar_position: 2
|
||||
title: 'Secomea SiteManager 1549 Dev Separation'
|
||||
sidebar_label: SiteManager 1549 Dev Separation
|
||||
pagination_prev: null
|
||||
hide_table_of_contents: true
|
||||
---
|
||||
|
||||
|
||||
|
||||
Term
|
||||
: Definition for the term.
|
||||
: Another definition for the same term.
|
||||
|
||||
Another Term
|
||||
: Definition of another term.
|
||||
|
||||
|
||||
:::info Obiettivo
|
||||
Avere due reti separate e sicure, accessibili in modo indipendente tramite GateManager.
|
||||
|
||||
Questa guida è pensata per tecnici e amministratori di sistema che devono configurare un SiteManager per isolare la rete di una macchina (DEV2) dalla rete di impianto principale (DEV1).
|
||||
:::
|
||||
|
||||
### **1️⃣ Accesso all'interfaccia di Configurazione**
|
||||
1️
|
||||
|
||||
1. Prima di iniziare, accedi all'interfaccia web del SiteManager.
|
||||
|
||||
Apri un browser e collegati all'indirizzo IP del SiteManager.
|
||||
|
||||
Accedi tramite la rete locale (porta DEV1) o, se già configurato, attraverso il GateManager.
|
||||
|
||||
Una volta dentro, naviga nel menu
|
||||
|
||||
System per visualizzare tutte le interfacce di rete.
|
||||
|
||||
|
||||
2️⃣ Configurazione della Porta DEV2
|
||||
Ora configuriamo la porta DEV2 per operare come una rete indipendente.
|
||||
|
||||
Dal menu
|
||||
|
||||
System, clicca sulla scheda DEV2.
|
||||
|
||||
Imposta i seguenti parametri nella pagina di configurazione:
|
||||
|
||||
|
||||
Mode: Seleziona Separation dal menu a tendina.
|
||||
|
||||
|
||||
|
||||
IP Address: Assegna l'indirizzo IP che farà da gateway per la nuova rete (es. 172.16.223.254).
|
||||
|
||||
|
||||
|
||||
|
||||
Subnet Mask: Inserisci la maschera di sottorete corrispondente (es. 255.255.240.0).
|
||||
|
||||
|
||||
Clicca su
|
||||
|
||||
Save per memorizzare le impostazioni.
|
||||
|
||||
|
||||
Apparirà un avviso per il riavvio. Clicca sul pulsante
|
||||
|
||||
Reboot per rendere effettive le modifiche.
|
||||
|
||||
|
||||
<br/>
|
||||
<img src="/img/screenshots/sitemanager/dev2_separation.jpg" alt="Configurazione Porta DEV2 in Separation Mode" style={{ maxWidth: '70%', borderRadius: '8px' }} />
|
||||
|
||||
:::danger Attenzione
|
||||
Il riavvio è un passaggio obbligatorio. Senza di esso, la porta DEV2 non funzionerà nella nuova modalità. Il riavvio cancella i log di sistema.
|
||||
|
||||
|
||||
|
||||
|
||||
:::
|
||||
|
||||
3️⃣ Creazione dell'Agente Layer 2
|
||||
Dopo il riavvio, la porta DEV2 è attiva sulla sua nuova rete. Ora dobbiamo creare un "Agente" per potervi accedere da remoto.
|
||||
|
||||
Spostati nella sezione GateManager -> Agents.
|
||||
|
||||
Crea un nuovo agente.
|
||||
|
||||
Come
|
||||
|
||||
Device Type, seleziona Layer2 (GENERIC).
|
||||
|
||||
|
||||
Una volta creato, clicca sull'icona
|
||||
|
||||
Edit (matita) per configurarlo.
|
||||
|
||||
4️⃣ Associazione Agente-Interfaccia
|
||||
Questo è il passaggio cruciale per collegare l'agente software alla porta fisica corretta.
|
||||
|
||||
All'interno delle impostazioni dell'agente, trova il menu a tendina Interface.
|
||||
|
||||
Seleziona
|
||||
|
||||
DEV2 dall'elenco.
|
||||
|
||||
|
||||
Clicca su
|
||||
|
||||
Save e poi su Back per tornare alla lista agenti.
|
||||
|
||||
<br/>
|
||||
<img src="/img/screenshots/sitemanager/agent_interface_dev2.jpg" alt="Associazione Agente a Interfaccia DEV2" style={{ maxWidth: '70%', borderRadius: '8px' }} />
|
||||
|
||||
:::tip
|
||||
Non è necessario compilare i campi "Device IP Address" o "Device MAC Address" a meno che tu non voglia limitare l'accesso a un singolo dispositivo specifico su quella rete.
|
||||
|
||||
|
||||
:::
|
||||
|
||||
5️⃣ ✔️ Verifica Finale
|
||||
Se la configurazione è andata a buon fine, il risultato sarà immediatamente visibile sul GateManager.
|
||||
|
||||
Doppia Connessione: Vedrai due agenti Layer 2 attivi per lo stesso SiteManager:
|
||||
|
||||
Un agente per la rete su
|
||||
|
||||
DEV1.
|
||||
|
||||
Un agente per la nuova rete su
|
||||
|
||||
DEV2.
|
||||
|
||||
Questo conferma che le reti sono isolate e accessibili in modo indipendente.
|
||||
|
||||
:::info Nota Pratica
|
||||
Per convenzione, su alcuni impianti (es. Rockwell) si preferisce usare le porte
|
||||
|
||||
DEV1 e DEV3. La procedura per configurare la porta DEV3 è identica a quella descritta per la DEV2.
|
||||
|
||||
|
||||
:::
|
||||
|
||||
🔗 Risorse Utili
|
||||
|
||||
|
||||
Help Online del SiteManager: L'interfaccia del dispositivo contiene una sezione di aiuto dettagliata per ogni parametro di configurazione.
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
title: "Welcome"
|
||||
description: "Your documentation starts here."
|
||||
---
|
||||
|
||||
# Hello, docmd!
|
||||
|
||||
Start writing your Markdown content here.
|
||||
16
package.json
16
package.json
|
|
@ -15,11 +15,11 @@
|
|||
"typecheck": "tsc"
|
||||
},
|
||||
"dependencies": {
|
||||
"@docusaurus/core": "^3.8.1",
|
||||
"@docusaurus/plugin-pwa": "^3.8.1",
|
||||
"@docusaurus/preset-classic": "^3.8.1",
|
||||
"@docusaurus/theme-classic": "^3.8.1",
|
||||
"@docusaurus/theme-mermaid": "^3.8.1",
|
||||
"@docusaurus/core": "^3.9.0",
|
||||
"@docusaurus/plugin-pwa": "^3.9.0",
|
||||
"@docusaurus/preset-classic": "^3.9.0",
|
||||
"@docusaurus/theme-classic": "^3.9.0",
|
||||
"@docusaurus/theme-mermaid": "^3.9.0",
|
||||
"@easyops-cn/docusaurus-search-local": "^0.52.1",
|
||||
"@mdx-js/react": "^3.0.0",
|
||||
"clsx": "^2.0.0",
|
||||
|
|
@ -28,9 +28,9 @@
|
|||
"react-dom": "^19.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@docusaurus/module-type-aliases": "3.8.1",
|
||||
"@docusaurus/tsconfig": "3.8.1",
|
||||
"@docusaurus/types": "3.8.1",
|
||||
"@docusaurus/module-type-aliases": "^3.9.0",
|
||||
"@docusaurus/tsconfig": "^3.9.0",
|
||||
"@docusaurus/types": "^3.9.0",
|
||||
"typescript": "~5.6.2"
|
||||
},
|
||||
"browserslist": {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,478 @@
|
|||
<!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="/HyperV/Gestione/">
|
||||
<meta property="og:title" content="Gestione VM Hyper-V | 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="/HyperV/Gestione/">
|
||||
<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="Gestione VM Hyper-V | 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>Gestione VM Hyper-V : 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>Gestione VM Hyper-V</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">
|
||||
<h3 id="gestione-vm-hyper-v">🖥️ Gestione VM Hyper-V</h3>
|
||||
<p>🎨 Guida passo-passo per configurare e gestire macchine virtuali Hyper-V</p>
|
||||
<p>💡 <strong>L’obiettivo:</strong> avere un ambiente pronto per import/export VM e gestione dischi senza errori</p>
|
||||
<p>Questa guida è pensata per sviluppatori e amministratori di sistema che necessitano di un ambiente Hyper-V organizzato e efficiente per la gestione delle macchine virtuali.</p>
|
||||
<hr>
|
||||
<h3 id="0-installazione-e-rimozione-di-hyper-v">0️⃣ Installazione e Rimozione di Hyper-V</h3>
|
||||
<p>Prima di iniziare, è fondamentale avere un’installazione pulita di Hyper-V.</p>
|
||||
<h4 id="installazione-di-hyper-v-se-non-presente"><strong>Installazione di Hyper-V (se non presente)</strong></h4>
|
||||
<ol><li>Apri <strong>PowerShell come Amministratore</strong>.</li>
|
||||
<li>Esegui il comando seguente per installare tutti i componenti di Hyper-V:<pre class="hljs"><code><span class="hljs-built_in">Enable-WindowsOptionalFeature</span> <span class="hljs-literal">-Online</span> <span class="hljs-literal">-FeatureName</span> Microsoft<span class="hljs-literal">-Hyper-V-All</span> <span class="hljs-literal">-All</span> <span class="hljs-literal">-NoRestart</span>
|
||||
</code></pre>
|
||||
</li>
|
||||
<li>Al termine, <strong>riavvia il computer</strong> per completare l’installazione.</li>
|
||||
</ol>
|
||||
<h4 id="rimozione-di-versioni-precedenti-o-corrotte-opzionale"><strong>Rimozione di versioni precedenti o corrotte (Opzionale)</strong></h4>
|
||||
<p>Se sospetti un’installazione problematica, puoi eseguire una pulizia completa.</p>
|
||||
<ol><li>Apri <strong>PowerShell come Amministratore</strong>.</li>
|
||||
<li>Esegui il comando per disabilitare e rimuovere tutte le funzionalità di Hyper-V:<pre class="hljs"><code><span class="hljs-built_in">Disable-WindowsOptionalFeature</span> <span class="hljs-literal">-Online</span> <span class="hljs-literal">-FeatureName</span> Microsoft<span class="hljs-literal">-Hyper-V-All</span> <span class="hljs-literal">-NoRestart</span>
|
||||
</code></pre>
|
||||
</li>
|
||||
</ol>
|
||||
<p>:::danger Attenzione<br>
|
||||
Questo comando rimuove tutti i componenti di Hyper-V. Sarà necessario un riavvio per completare la disinstallazione.</p>
|
||||
<hr>
|
||||
<h3 id="1-requisiti-software">1️⃣ Requisiti Software</h3>
|
||||
<p>Per seguire questa guida è necessario avere un ambiente PowerShell moderno e correttamente configurato.</p>
|
||||
<p>:::info Prerequisito<br>
|
||||
Se non hai ancora installato e configurato PowerShell 7, segui prima la nostra guida dedicata.</p>
|
||||
<p>➡️ <strong><a href="./configurazione-ambiente-powershell.md">Guida alla Configurazione dell’Ambiente PowerShell</a></strong></p>
|
||||
<ul>
|
||||
<li><strong>Script <code>VmManage.ps1</code></strong><br>
|
||||
Questo strumento facilita le operazioni di import ed export.
|
||||
<ul>
|
||||
<li><strong>Percorso di rete:</strong> <code>\\tecnopack.local\sviluppo\Virtuale_Machines\Virtual_Machine-Hyper-V\VMScript\VmManage.ps1</code></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<hr>
|
||||
<h3 id="2-configurazione-dei-commutatori-virtuali-virtual-switch">2️⃣ Configurazione dei Commutatori Virtuali (Virtual Switch)</h3>
|
||||
<p>I commutatori virtuali sono essenziali per connettere le VM alla rete.</p>
|
||||
<h4 id="rimozione-sicura-dei-virtual-switch-esistenti"><strong>Rimozione sicura dei Virtual Switch esistenti</strong></h4>
|
||||
<p>Per evitare conflitti, è consigliabile rimuovere le configurazioni precedenti.</p>
|
||||
<ol><li>Apri <strong>PowerShell come Amministratore</strong>.</li>
|
||||
<li>Elenca gli switch esistenti per verificarli:<br>
|
||||
<code>powershell Get-VMSwitch </code></li>
|
||||
<li>Assicurati che tutte le VM siano spente.</li>
|
||||
<li>Rimuovi tutti gli switch con un singolo comando:<pre class="hljs"><code><span class="hljs-built_in">Get-VMSwitch</span> | <span class="hljs-built_in">Remove-VMSwitch</span> <span class="hljs-literal">-Force</span>
|
||||
</code></pre>
|
||||
</li>
|
||||
</ol>
|
||||
<h4 id="creazione-dei-nuovi-commutatori"><strong>Creazione dei nuovi Commutatori</strong></h4>
|
||||
<ol><li>Apri <strong>Gestione Hyper-V</strong> dal menu Start.</li>
|
||||
<li>Nel pannello Azioni a destra, clicca su <strong>Gestione commutatori virtuali…</strong>.</li>
|
||||
</ol>
|
||||
<ul>
|
||||
<li><p><strong>Commutatore 1: Wifi</strong></p>
|
||||
<ul>
|
||||
<li><strong>Tipo:</strong> Esterno</li>
|
||||
<li><strong>Scheda di rete:</strong> Seleziona la tua scheda di rete Wi-Fi.</li>
|
||||
<li><strong>Scopo:</strong> Permette alle VM di connettersi tramite la rete wireless.<br>
|
||||
<br/><br>
|
||||
<img src=“/img/screenshots/hyperv/switch_wifi.jpg” alt=“Configurazione Commutatore Wifi” style={{ maxWidth: ‘60%’, borderRadius: ‘8px’ }} /></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p><strong>Commutatore 2: LAN</strong></p>
|
||||
<ul>
|
||||
<li><strong>Tipo:</strong> Esterno</li>
|
||||
<li><strong>Scheda di rete:</strong> Seleziona la tua scheda di rete cablata (Ethernet).</li>
|
||||
<li><strong>Scopo:</strong> Permette alle VM di connettersi tramite la rete cablata.<br>
|
||||
<br/><br>
|
||||
<img src=“/img/screenshots/hyperv/switch_lan.jpg” alt=“Configurazione Commutatore LAN” style={{ maxWidth: ‘60%’, borderRadius: ‘8px’ }} /></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<hr>
|
||||
<h3 id="3-impostazioni-dei-percorsi-di-hyper-v">3️⃣ Impostazioni dei Percorsi di Hyper-V</h3>
|
||||
<p>Una corretta organizzazione dei file previene problemi futuri. Imposta questi percorsi <strong>prima</strong> di creare o importare VM.</p>
|
||||
<ul>
|
||||
<li><strong>Dischi rigidi virtuali:</strong> <code>D:\VMs</code></li>
|
||||
<li><strong>Macchine virtuali:</strong> <code>D:\VMs</code></li>
|
||||
</ul>
|
||||
<p>:::tip<br>
|
||||
Usare una cartella radice unica come <code>D:\VMs</code> per dischi e configurazioni semplifica il backup e la gestione. Hyper-V creerà automaticamente sottocartelle con i nomi delle VM.</p>
|
||||
<hr>
|
||||
<h3 id="4-utilizzo-dello-script-vmmanageps1">4️⃣ 🚀 Utilizzo dello script <code>VmManage.ps1</code></h3>
|
||||
<p>Questo script automatizza le operazioni di esportazione e importazione.</p>
|
||||
<h4 id="41-preparazione"><strong>4.1 Preparazione</strong></h4>
|
||||
<ol><li>Copia l’intera cartella <code>VMScript</code> in una directory locale (es. <code>Documenti</code>).</li>
|
||||
<li>Apri <strong>PowerShell 7 come Amministratore</strong>.</li>
|
||||
<li>Naviga nella cartella dove hai copiato lo script:<pre class="hljs"><code><span class="hljs-built_in">cd</span> ~\Documenti\VMScript
|
||||
</code></pre>
|
||||
</li>
|
||||
</ol>
|
||||
<h4 id="42-abilitazione-ed-esecuzione-dello-script"><strong>4.2 Abilitazione ed Esecuzione dello Script</strong></h4>
|
||||
<p>Per motivi di sicurezza, PowerShell blocca l’esecuzione di script di default. Per abilitare l’esecuzione solo per la sessione corrente, esegui questo comando:</p>
|
||||
<pre class="hljs"><code><span class="hljs-built_in">Set-ExecutionPolicy</span> <span class="hljs-literal">-Scope</span> <span class="hljs-keyword">Process</span> <span class="hljs-literal">-ExecutionPolicy</span> Bypass
|
||||
</code></pre>
|
||||
<p>:::info Nota<br>
|
||||
Questo comando imposta il criterio di esecuzione solo per la finestra di PowerShell corrente. Una volta chiusa, la policy tornerà al suo valore predefinito. È una pratica sicura per eseguire script attendibili.</p>
|
||||
<p>Ora, esegui lo script:</p>
|
||||
<pre class="hljs"><code>.\VmManage.ps1
|
||||
</code></pre>
|
||||
<p>Lo script mostrerà un menu interattivo per scegliere l’operazione.<br>
|
||||
<img src=“/img/screenshots/hyperv/Script1.jpg” alt=“Menu principale dello script” style={{ maxWidth: ‘70%’, borderRadius: ‘8px’ }} /></p>
|
||||
<p>Export (E): Spegne la VM, ne crea una copia in una cartella con timestamp (es. VM_Export_2023-10-27_10-30-00), e la riavvia. Ideale per creare backup sicuri.<br>
|
||||
<img src=“/img/screenshots/hyperv/ScriptE.jpg” alt=“Processo di Esportazione” style={{ maxWidth: ‘70%’, borderRadius: ‘8px’ }} /></p>
|
||||
<p>Import (I): Ti guida nell’importazione di una VM, chiedendoti un nuovo nome e la cartella di destinazione. Controlla lo spazio su disco prima di iniziare.<br>
|
||||
<img src=“/img/screenshots/hyperv/ScriptI.jpg” alt=“Processo di Importazione” style={{ maxWidth: ‘70%’, borderRadius: ‘8px’ }} /></p>
|
||||
<p>4.3 Note Pratiche<br>
|
||||
✅ Esegui sempre PowerShell come Amministratore.</p>
|
||||
<p>✅ Mantieni i percorsi delle VM organizzati come configurato al punto 3.</p>
|
||||
<p>✅ Scegli nomi chiari e descrittivi per le VM importate.</p>
|
||||
<p>🔗 Risorse Utili<br>
|
||||
Documentazione ufficiale Hyper-V di Microsoft: Per approfondimenti e risoluzione di problemi.</p>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":12} -->
|
||||
|
||||
<!-- 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-3">
|
||||
<a href="#gestione-vm-hyper-v" class="toc-link">🖥️ Gestione VM Hyper-V</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#0-installazione-e-rimozione-di-hyper-v" class="toc-link">0️⃣ Installazione e Rimozione di Hyper-V</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#installazione-di-hyper-v-se-non-presente" class="toc-link">Installazione di Hyper-V (se non presente)</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#rimozione-di-versioni-precedenti-o-corrotte-opzionale" class="toc-link">Rimozione di versioni precedenti o corrotte (Opzionale)</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#1-requisiti-software" class="toc-link">1️⃣ Requisiti Software</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#2-configurazione-dei-commutatori-virtuali-virtual-switch" class="toc-link">2️⃣ Configurazione dei Commutatori Virtuali (Virtual Switch)</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#rimozione-sicura-dei-virtual-switch-esistenti" class="toc-link">Rimozione sicura dei Virtual Switch esistenti</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#creazione-dei-nuovi-commutatori" class="toc-link">Creazione dei nuovi Commutatori</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#3-impostazioni-dei-percorsi-di-hyper-v" class="toc-link">3️⃣ Impostazioni dei Percorsi di Hyper-V</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#4-utilizzo-dello-script-vmmanageps1" class="toc-link">4️⃣ 🚀 Utilizzo dello script VmManage.ps1</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#41-preparazione" class="toc-link">4.1 Preparazione</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#42-abilitazione-ed-esecuzione-dello-script" class="toc-link">4.2 Abilitazione ed Esecuzione dello Script</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>
|
||||
|
|
@ -0,0 +1,390 @@
|
|||
<!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="/HyperV/configurazione-ambiente-powershell/">
|
||||
<meta property="og:title" content="Configurazione Ambiente PowerShell per Sviluppo | 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="/HyperV/configurazione-ambiente-powershell/">
|
||||
<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="Configurazione Ambiente PowerShell per Sviluppo | 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>Configurazione Ambiente PowerShell per Sviluppo : 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>Configurazione Ambiente PowerShell per Sviluppo</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">
|
||||
<h3 id="guida-rapida-setup-ambiente-di-sviluppo-powershell">🖥️ Guida Rapida: Setup Ambiente di Sviluppo PowerShell</h3>
|
||||
<p>Questo documento descrive la procedura in due passaggi per configurare un ambiente di sviluppo PowerShell 7 completo, partendo da un’installazione pulita di Windows.</p>
|
||||
<p>:::info Nota sulla Sicurezza e l’Accesso Offline<br>
|
||||
Questa procedura è stata progettata per garantire la massima sicurezza e conformità con le policy aziendali. Tutti i file di installazione necessari (Git, PowerShell 7, ecc.) vengono prelevati da una condivisione di rete interna sicura. In questo modo, non è richiesta una connessione a Internet durante il setup sul computer client e si evitano blocchi da parte dei sistemi di sicurezza come Fortinet, assicurando un’installazione rapida, offline e standardizzata.</p>
|
||||
<p>:::info Prerequisiti</p>
|
||||
<ol><li>Accesso alla rete aziendale (per raggiungere lo script sulla condivisione).</li>
|
||||
<li>Un Personal Access Token (PAT) di GitLab con permessi di lettura sul repository.</li>
|
||||
</ol>
|
||||
<h2>:::</h2>
|
||||
<h3 id="1-eseguire-lo-script-di-bootstrap-bootstrap-devenvps1"><strong>1️⃣ Eseguire lo Script di Bootstrap (Bootstrap-DevEnv.ps1)</strong></h3>
|
||||
<p>Questo primo script si occupa di installare Git e di clonare il repository con tutti gli strumenti necessari.</p>
|
||||
<ol><li><p>Apri una console Windows PowerShell. Non è necessario aprirla come Amministratore.</p>
|
||||
</li>
|
||||
<li><p>Copia lo script in locale. Per evitare problemi di sicurezza con l’esecuzione di script da percorsi di rete, il primo passo è copiare lo script in una cartella temporanea sul tuo PC. Esegui questo comando:</p>
|
||||
</li>
|
||||
</ol>
|
||||
<pre class="hljs"><code><span class="hljs-built_in">Copy-Item</span> <span class="hljs-literal">-Path</span> <span class="hljs-string">"\\tecnopack.local\sviluppo\utility\Bootstrap-DevEnv.ps1"</span> <span class="hljs-literal">-Destination</span> <span class="hljs-string">"<span class="hljs-variable">$env:TEMP</span>\Bootstrap-DevEnv.ps1"</span>
|
||||
</code></pre>
|
||||
<p>Esegui lo script locale. Ora, lancia la copia dello script che hai appena creato. Questo comando ignorerà temporaneamente i criteri di sicurezza solo per questa esecuzione.</p>
|
||||
<pre class="hljs"><code>PowerShell <span class="hljs-literal">-ExecutionPolicy</span> Bypass <span class="hljs-operator">-File</span> <span class="hljs-string">"<span class="hljs-variable">$env:TEMP</span>\Bootstrap-DevEnv.ps1"</span> <span class="hljs-literal">-GitLabToken</span> <span class="hljs-string">"IL_TUO_TOKEN_QUI"</span>
|
||||
</code></pre>
|
||||
<p>:::danger Importante:<br>
|
||||
Sostituisci “IL_TUO_TOKEN_QUI” con il tuo token GitLab personale che ti forniranno i Gitlab-Admin.</p>
|
||||
<h2>:::</h2>
|
||||
<h3 id="2-eseguire-lo-script-di-setup-finale-setup-powershell7devps1"><strong>2️⃣ Eseguire lo Script di Setup Finale (Setup-PowerShell7Dev.ps1)</strong></h3>
|
||||
<p>Una volta che il primo script ha terminato, il repository si troverà nella cartella Documenti. Ora puoi lanciare lo script che installerà e configurerà PowerShell 7, i font e il terminale.</p>
|
||||
<p>Apri una nuova console PowerShell come amministratore.</p>
|
||||
<p>Naviga nella cartella del repository appena clonato con il seguente comando:</p>
|
||||
<pre class="hljs"><code><span class="hljs-built_in">cd</span> <span class="hljs-variable">$env:USERPROFILE</span>\Documents\Script\Repos\hyperv<span class="hljs-literal">-vmscripts</span>
|
||||
</code></pre>
|
||||
<p>Lancia lo script di setup:</p>
|
||||
<pre class="hljs"><code>PowerShell <span class="hljs-literal">-ExecutionPolicy</span> Bypass <span class="hljs-operator">-File</span> <span class="hljs-string">".\Setup-PowerShell7Dev.ps1"</span>
|
||||
</code></pre>
|
||||
<p>Attendi che completi tutti i passaggi (installerà PowerShell 7, Oh My Posh, i font e aggiornerà le impostazioni di Windows Terminal).</p>
|
||||
<h3 id="3-completamento"><strong>️3️⃣ Completamento</strong></h3>
|
||||
<p>Al termine del secondo script, la configurazione è completa.</p>
|
||||
<p>Chiudi tutte le finestre di PowerShell e riavvia Windows Terminal.</p>
|
||||
<p>Dovresti trovare un nuovo profilo chiamato “PowerShell 7 - Dev” (o simile) che si avvia con la versione 7 e mostra il prompt personalizzato da Oh My Posh.</p>
|
||||
<h3 id="4-impostare-powershell-7-come-predefinito"><strong>4️⃣ Impostare PowerShell 7 come predefinito</strong></h3>
|
||||
<p>Per evitare di usare la vecchia versione, impostala come predefinita in <strong>Windows Terminal</strong>.</p>
|
||||
<ol><li>Apri <strong>Windows Terminal</strong>.</li>
|
||||
<li>Vai su <strong>Impostazioni</strong> (o <code>Ctrl + ,</code>).</li>
|
||||
<li>Nella sezione <strong>Profilo di avvio</strong>, seleziona “PowerShell” (icona scura).<br>
|
||||
<img src=“/img/screenshots/hyperv/wt-startup-profile.png” alt=“Selezione del profilo di avvio” style={{ maxWidth: ‘70%’, borderRadius: ‘8px’ }} /></li>
|
||||
<li><strong>Salva</strong> le modifiche.</li>
|
||||
</ol>
|
||||
<hr>
|
||||
<h4 id="prossimi-passi"><strong>Prossimi Passi</strong></h4>
|
||||
<p>Ora che il tuo ambiente è pronto, puoi tornare alla guida per la gestione delle macchine virtuali.</p>
|
||||
<p>➡️ <strong>Vai alla <a href="./Gestione.md">Guida alla Gestione di VM Hyper-V</a></strong></p>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":6} -->
|
||||
|
||||
<!-- 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-3">
|
||||
<a href="#guida-rapida-setup-ambiente-di-sviluppo-powershell" class="toc-link">🖥️ Guida Rapida: Setup Ambiente di Sviluppo PowerShell</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#1-eseguire-lo-script-di-bootstrap-bootstrap-devenvps1" class="toc-link">1️⃣ Eseguire lo Script di Bootstrap (Bootstrap-DevEnv.ps1)</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#2-eseguire-lo-script-di-setup-finale-setup-powershell7devps1" class="toc-link">2️⃣ Eseguire lo Script di Setup Finale (Setup-PowerShell7Dev.ps1)</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#3-completamento" class="toc-link">️3️⃣ Completamento</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#4-impostare-powershell-7-come-predefinito" class="toc-link">4️⃣ Impostare PowerShell 7 come predefinito</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#prossimi-passi" class="toc-link">Prossimi Passi</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>
|
||||
|
|
@ -0,0 +1,309 @@
|
|||
<!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="/Omron/Omron/">
|
||||
<meta property="og:title" content="Untitled | 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="/Omron/Omron/">
|
||||
<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="Untitled | 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> : 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></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">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":0} -->
|
||||
|
||||
<!-- TOC sidebar -->
|
||||
<div class="toc-sidebar">
|
||||
|
||||
|
||||
</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>
|
||||
|
|
@ -0,0 +1,672 @@
|
|||
<!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="/Omron/Statistiche/0-ScadaInterfaceMasterStructure/">
|
||||
<meta property="og:title" content="Architettura ScadaInterface | 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="/Omron/Statistiche/0-ScadaInterfaceMasterStructure/">
|
||||
<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="Architettura ScadaInterface | 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>Architettura ScadaInterface : 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>Architettura ScadaInterface</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="architettura-scadainterface">🛠️ Architettura ScadaInterface</h1>
|
||||
<h2 id="scopo">⚙️ Scopo</h2>
|
||||
<p>Per garantire una comunicazione robusta e manutenibile tra il PLC e il sistema SCADA, è stata creata una struttura dati dedicata e unificata.<br>
|
||||
Questa struttura, un’istanza di <code>ST_ScadaInterface</code>, funge da unica <em>fonte di verità</em> per tutti i dati scambiati tramite OPC UA.</p>
|
||||
<p>È una struttura di tipo <strong>NJ</strong>, progettata per sfruttare la comunicazione basata su “tag”, ed è suddivisa in due parti logiche:</p>
|
||||
<ul>
|
||||
<li><strong>Egress</strong>: Dati che fluiscono <strong>DAL PLC ALLO SCADA</strong> (sola lettura per lo SCADA).</li>
|
||||
<li><strong>Ingress</strong>: Dati e comandi che fluiscono <strong>DALLO SCADA AL PLC</strong> (scrivibili dallo SCADA).</li>
|
||||
</ul>
|
||||
<hr>
|
||||
<h2 id="struttura-master">⚙️ Struttura Master</h2>
|
||||
<p>Per prima cosa, definiamo la struttura principale che conterrà i due flussi di dati.</p>
|
||||
<pre class="hljs"><code>(* Struttura master per l'interfaccia SCADA *)
|
||||
TYPE ST_ScadaInterface :
|
||||
STRUCT NJ
|
||||
Ingress : ST_Ingress; // Dati IN ENTRATA dallo SCADA
|
||||
Egress : ST_Egress; // Dati IN USCITA verso lo SCADA
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
</code></pre>
|
||||
<hr>
|
||||
<h2 id="struttura-st_egress-plc-scada">⚙️ Struttura <code>ST_Egress</code> (PLC → SCADA)</h2>
|
||||
<p>Questa struttura contiene tutte le informazioni di stato, le analisi di produzione e i dati macchina che il PLC rende disponibili al sistema SCADA.</p>
|
||||
<h3 id="flag-di-stato-macchina">⚙️ Flag di Stato Macchina</h3>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Nome Variabile</th>
|
||||
<th>Tipo Dati</th>
|
||||
<th>Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>IsRunning</td>
|
||||
<td><code>BOOL</code></td>
|
||||
<td>Flag VERO quando la macchina è in uno stato di marcia.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>IsStopped</td>
|
||||
<td><code>BOOL</code></td>
|
||||
<td>Flag VERO quando la macchina è ferma.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>IsInEmergency</td>
|
||||
<td><code>BOOL</code></td>
|
||||
<td>Flag VERO quando un’emergenza è attiva.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>IsWaitingDownstream</td>
|
||||
<td><code>BOOL</code></td>
|
||||
<td>Flag VERO quando in attesa di un segnale dalla macchina a valle.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>IsWaitingUpstream</td>
|
||||
<td><code>BOOL</code></td>
|
||||
<td>Flag VERO quando in attesa di un prodotto dalla macchina a monte.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>IsAlarmActive</td>
|
||||
<td><code>BOOL</code></td>
|
||||
<td>Flag VERO quando un qualsiasi allarme macchina è attivo.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3 id="flag-di-handshake-e-controllo">⚙️ Flag di Handshake e Controllo</h3>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Nome Variabile</th>
|
||||
<th>Tipo Dati</th>
|
||||
<th>Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>AckChangeRecipe</td>
|
||||
<td><code>BOOL</code></td>
|
||||
<td>Conferma (Ack) del PLC a un comando di cambio ricetta.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>RemoteControlEnable</td>
|
||||
<td><code>BOOL</code></td>
|
||||
<td>Flag che indica se il controllo remoto da SCADA è abilitato.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ProductionChangeOK</td>
|
||||
<td><code>BOOL</code></td>
|
||||
<td>Conferma del PLC che il cambio produzione è avvenuto con successo.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>RecipeChangeOK</td>
|
||||
<td><code>BOOL</code></td>
|
||||
<td>Conferma del PLC che il cambio ricetta è avvenuto con successo.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>RecipeChangeReject</td>
|
||||
<td><code>BOOL</code></td>
|
||||
<td>Flag che indica che il cambio ricetta è stato rifiutato dall’Operatore.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>RecipeChangePostpone</td>
|
||||
<td><code>BOOL</code></td>
|
||||
<td>Flag che indica che il cambio ricetta è stato rimandato dall’Operatore.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>MesCommunicationFault</td>
|
||||
<td><code>BOOL</code></td>
|
||||
<td>Flag VERO se c’è un errore di comunicazione con il MES.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3 id="informazioni-ricetta-e-produzione">⚙️ Informazioni Ricetta e Produzione</h3>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Nome Variabile</th>
|
||||
<th>Tipo Dati</th>
|
||||
<th>Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>ActualRecipeIndex</td>
|
||||
<td><code>DINT</code></td>
|
||||
<td>Indice della ricetta attualmente attiva.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ActualRecipeName</td>
|
||||
<td><code>STRING[38]</code></td>
|
||||
<td>Nome della ricetta attualmente attiva.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ActualProductionInfo</td>
|
||||
<td><code>STRING[38]</code></td>
|
||||
<td>Descrizione del lotto/ordine di produzione attuale.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ActualProductionCode</td>
|
||||
<td><code>DINT</code></td>
|
||||
<td>Codice del lotto/ordine di produzione attuale.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>MachineStatus</td>
|
||||
<td><code>DINT</code></td>
|
||||
<td>Codice di stato generale della macchina (come da visualizzazione HMI).</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3 id="watchdog-di-comunicazione">⚙️ Watchdog di Comunicazione</h3>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Nome Variabile</th>
|
||||
<th>Tipo Dati</th>
|
||||
<th>Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>PlcWatchdog</td>
|
||||
<td><code>DINT</code></td>
|
||||
<td>Contatore di watchdog del PLC inviato allo SCADA.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3 id="strutture-dati-di-analisi">⚙️ Strutture Dati di Analisi</h3>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Nome Variabile</th>
|
||||
<th>Tipo Dati</th>
|
||||
<th>Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>TimeAnalytics</td>
|
||||
<td><code>ST_MachineTimers</code></td>
|
||||
<td>Statistiche dettagliate basate sul tempo.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ProductionAnalytics</td>
|
||||
<td><code>ST_ProductionAnalytics</code></td>
|
||||
<td>Statistiche dettagliate basate sulla produzione.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3 id="dati-allarmi">⚙️ Dati Allarmi</h3>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Nome Variabile</th>
|
||||
<th>Tipo Dati</th>
|
||||
<th>Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>AlarmAnalytics</td>
|
||||
<td><code>ARRAY[0..1399] OF ST_AlarmAnalytics</code></td>
|
||||
<td>Dati analitici per ogni singolo allarme.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>TopAlarms_ByFrequency</td>
|
||||
<td><code>ARRAY[0..99] OF ST_TopAlarmEntry</code></td>
|
||||
<td>Classifica degli allarmi più frequenti.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>TopAlarms_ByDowntime</td>
|
||||
<td><code>ARRAY[0..99] OF ST_TopAlarmEntry</code></td>
|
||||
<td>Classifica degli allarmi che causano più downtime.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Alarms_Packed</td>
|
||||
<td><code>ARRAY[0..80] OF WORD</code></td>
|
||||
<td>Array compatto per visualizzazione rapida degli allarmi.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr>
|
||||
<h2 id="struttura-st_ingress-scada-plc">⚙️ Struttura <code>ST_Ingress</code> (SCADA → PLC)</h2>
|
||||
<p>Questa struttura contiene tutti i comandi e i setpoint che il sistema SCADA può inviare al PLC.</p>
|
||||
<h3 id="comandi-di-controllo-produzione">⚙️ Comandi di Controllo Produzione</h3>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Nome Variabile</th>
|
||||
<th>Tipo Dati</th>
|
||||
<th>Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>ProductionChangeRequest</td>
|
||||
<td><code>BOOL</code></td>
|
||||
<td>Comando da SCADA per richiedere un cambio produzione/lotto.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>RecipeChangeRequest</td>
|
||||
<td><code>BOOL</code></td>
|
||||
<td>Comando da SCADA per richiedere un cambio ricetta.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ResetCounters</td>
|
||||
<td><code>BOOL</code></td>
|
||||
<td>Comando da SCADA per resettare le statistiche.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>RemoteStopMachine</td>
|
||||
<td><code>BOOL</code></td>
|
||||
<td>Comando da SCADA per arrestare la macchina da remoto.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3 id="richieste-dati-ricetta-e-produzione">⚙️ Richieste Dati Ricetta e Produzione</h3>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Nome Variabile</th>
|
||||
<th>Tipo Dati</th>
|
||||
<th>Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>RequestRecipeIndex</td>
|
||||
<td><code>DINT</code></td>
|
||||
<td>Indice della ricetta richiesta.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>RequestProductionQuantity</td>
|
||||
<td><code>DINT</code></td>
|
||||
<td>Quantità di produzione richiesta.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>RequestProductionCode</td>
|
||||
<td><code>DINT</code></td>
|
||||
<td>Codice del lotto/ordine di produzione richiesto.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>RequestProductionInfo</td>
|
||||
<td><code>STRING[38]</code></td>
|
||||
<td>Descrizione del lotto/ordine richiesta.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3 id="watchdog-di-comunicazione">⚙️ Watchdog di Comunicazione</h3>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Nome Variabile</th>
|
||||
<th>Tipo Dati</th>
|
||||
<th>Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>ScadaWatchdog</td>
|
||||
<td><code>DINT</code></td>
|
||||
<td>Contatore di watchdog dello SCADA ricevuto dal PLC.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":14} -->
|
||||
|
||||
<!-- 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="#scopo" class="toc-link">⚙️ Scopo</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#struttura-master" class="toc-link">⚙️ Struttura Master</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#struttura-st_egress-plc-scada" class="toc-link">⚙️ Struttura ST_Egress (PLC → SCADA)</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#flag-di-stato-macchina" class="toc-link">⚙️ Flag di Stato Macchina</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#flag-di-handshake-e-controllo" class="toc-link">⚙️ Flag di Handshake e Controllo</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#informazioni-ricetta-e-produzione" class="toc-link">⚙️ Informazioni Ricetta e Produzione</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#watchdog-di-comunicazione" class="toc-link">⚙️ Watchdog di Comunicazione</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#strutture-dati-di-analisi" class="toc-link">⚙️ Strutture Dati di Analisi</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#dati-allarmi" class="toc-link">⚙️ Dati Allarmi</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#struttura-st_ingress-scada-plc" class="toc-link">⚙️ Struttura ST_Ingress (SCADA → PLC)</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#comandi-di-controllo-produzione" class="toc-link">⚙️ Comandi di Controllo Produzione</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#richieste-dati-ricetta-e-produzione" class="toc-link">⚙️ Richieste Dati Ricetta e Produzione</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#watchdog-di-comunicazione" class="toc-link">⚙️ Watchdog di Comunicazione</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>
|
||||
|
|
@ -0,0 +1,401 @@
|
|||
<!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="/Omron/Statistiche/1-SottoStrutture/">
|
||||
<meta property="og:title" content="Sotto Struttura ScadaInterface | 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="/Omron/Statistiche/1-SottoStrutture/">
|
||||
<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="Sotto Struttura ScadaInterface | 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>Sotto Struttura ScadaInterface : 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>Sotto Struttura ScadaInterface</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">
|
||||
<h2 id="sotto-strutture-di-scadainterface">Sotto-Strutture di <code>ScadaInterface</code></h2>
|
||||
<p>Questa sezione descrive in dettaglio le strutture dati “mattoncino” utilizzate all’interno dell’interfaccia SCADA.</p>
|
||||
<h3 id="struttura-st_statestatistics">Struttura <code>ST_StateStatistics</code></h3>
|
||||
<p>Questa è la struttura base per l’analisi dei tempi. Contiene i dati calcolati per un <strong>singolo stato macchina</strong> (es. Marcia, Arresto, etc.). Viene riutilizzata per ogni stato che si desidera monitorare.</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="text-align:left">Nome Variabile</th>
|
||||
<th style="text-align:left">Tipo Dati</th>
|
||||
<th style="text-align:left">Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Hours</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Le ore totali accumulate per lo stato.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Minutes</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">I minuti totali accumulati per lo stato (0-59).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Percentage</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">La percentuale del tempo totale in cui lo stato è stato attivo. Il valore è un intero con due decimali fissi (es. <code>1234</code> rappresenta <code>12.34%</code>).</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3 id="struttura-st_machinetimers">Struttura <code>ST_MachineTimers</code></h3>
|
||||
<p>Questa struttura raggruppa tutte le analisi dei tempi in un unico blocco, rendendo i dati facili da navigare per lo SCADA. Ogni membro di questa struttura è del tipo <code>ST_StateStatistics</code> definito sopra.</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="text-align:left">Nome Variabile</th>
|
||||
<th style="text-align:left">Tipo Dati</th>
|
||||
<th style="text-align:left">Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>TotalTime</code></td>
|
||||
<td style="text-align:left"><code>ST_StateStatistics</code></td>
|
||||
<td style="text-align:left">Contiene il tempo totale di monitoraggio. La percentuale di questo stato è sempre 100%.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>RunTime</code></td>
|
||||
<td style="text-align:left"><code>ST_StateStatistics</code></td>
|
||||
<td style="text-align:left">Contiene i dati relativi al tempo in cui la macchina è stata in marcia (<code>Running</code>).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>StopTime</code></td>
|
||||
<td style="text-align:left"><code>ST_StateStatistics</code></td>
|
||||
<td style="text-align:left">Contiene i dati relativi al tempo in cui la macchina è stata in arresto (<code>Stopped</code>).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>EmergencyTime</code></td>
|
||||
<td style="text-align:left"><code>ST_StateStatistics</code></td>
|
||||
<td style="text-align:left">Contiene i dati relativi al tempo in cui la macchina è stata in emergenza (<code>Emergency</code>).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>DownstreamTime</code></td>
|
||||
<td style="text-align:left"><code>ST_StateStatistics</code></td>
|
||||
<td style="text-align:left">Contiene i dati relativi al tempo passato in attesa di un segnale dalla macchina a valle.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>UpstreamTime</code></td>
|
||||
<td style="text-align:left"><code>ST_StateStatistics</code></td>
|
||||
<td style="text-align:left">Contiene i dati relativi al tempo passato in attesa di un prodotto dalla macchina a monte.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":3} -->
|
||||
|
||||
<!-- 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="#sotto-strutture-di-scadainterface" class="toc-link">Sotto-Strutture di ScadaInterface</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#struttura-st_statestatistics" class="toc-link">Struttura ST_StateStatistics</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#struttura-st_machinetimers" class="toc-link">Struttura ST_MachineTimers</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>
|
||||
|
|
@ -0,0 +1,427 @@
|
|||
<!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="/Omron/Statistiche/2-scada-interface-stat-allarmi/">
|
||||
<meta property="og:title" content="Statistiche Allarmi | 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="/Omron/Statistiche/2-scada-interface-stat-allarmi/">
|
||||
<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="Statistiche Allarmi | 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>Statistiche Allarmi : 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>Statistiche Allarmi</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="strutture-per-le-statistiche-degli-allarmi">Strutture per le Statistiche degli Allarmi</h1>
|
||||
<p>Questa sezione descrive l’architettura dei dati utilizzati per l’analisi avanzata degli allarmi, che include il calcolo di KPI come MTTR (Tempo Medio di Riparazione) e MTBF (Tempo Medio tra i Guasti), e la gestione di classifiche (“Top Alarms”) per identificare i problemi più critici.</p>
|
||||
<hr>
|
||||
<h3 id="struttura-st_alarmanalytics">Struttura <code>ST_AlarmAnalytics</code></h3>
|
||||
<p>Questa è la struttura “mattoncino” che contiene tutte le analisi calcolate per un <strong>singolo allarme</strong>.</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="text-align:left">Nome Variabile</th>
|
||||
<th style="text-align:left">Tipo Dati</th>
|
||||
<th style="text-align:left">Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>State</code></td>
|
||||
<td style="text-align:left"><code>BOOL</code></td>
|
||||
<td style="text-align:left">Stato attuale dell’allarme (<code>VERO</code> = Attivo).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Count</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Conteggio totale delle occorrenze (Frequenza) di questo allarme.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>TotalActiveTime_ms</code></td>
|
||||
<td style="text-align:left"><code>LINT</code></td>
|
||||
<td style="text-align:left">Tempo totale, in millisecondi, in cui questo allarme è rimasto attivo.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>MTTR_sec</code></td>
|
||||
<td style="text-align:left"><code>LREAL</code></td>
|
||||
<td style="text-align:left"><strong>Tempo Medio di Riparazione</strong> (Mean Time To Repair), in secondi. Indica il tempo medio necessario per risolvere l’allarme.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>MTBF_h</code></td>
|
||||
<td style="text-align:left"><code>LREAL</code></td>
|
||||
<td style="text-align:left"><strong>Tempo Medio tra i Guasti</strong> (Mean Time Between Failures), in ore. Indica il tempo medio di buon funzionamento tra un’occorrenza e l’altra di questo allarme.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr>
|
||||
<h3 id="struttura-st_topalarmentry">Struttura <code>ST_TopAlarmEntry</code></h3>
|
||||
<p>Questa struttura rappresenta una singola riga all’interno di una classifica di allarmi (“Top Alarms”). Viene usata per le due classifiche principali: quella per frequenza e quella per tempo di fermo.</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="text-align:left">Nome Variabile</th>
|
||||
<th style="text-align:left">Tipo Dati</th>
|
||||
<th style="text-align:left">Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>AlarmId</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">L’ID numerico dell’allarme. Un valore di <code>-1</code> indica uno slot vuoto nella classifica.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Value</code></td>
|
||||
<td style="text-align:left"><code>LREAL</code></td>
|
||||
<td style="text-align:left">Il valore utilizzato per ordinare la classifica (può essere la frequenza o il tempo totale di attività in millisecondi).</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr>
|
||||
<h3 id="dati-allarmi-nella-struttura-st_egress">Dati Allarmi nella Struttura <code>ST_Egress</code></h3>
|
||||
<p>Infine, la struttura <code>ST_Egress</code> (dati in uscita verso lo SCADA) contiene gli array che rendono disponibili tutte queste informazioni.</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="text-align:left">Nome Variabile</th>
|
||||
<th style="text-align:left">Tipo Dati</th>
|
||||
<th style="text-align:left">Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>AlarmAnalytics</code></td>
|
||||
<td style="text-align:left"><code>ARRAY[0..1399] OF ST_AlarmAnalytics</code></td>
|
||||
<td style="text-align:left">Un array che contiene i dati analitici dettagliati per ogni singolo allarme.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>TopAlarms_ByFrequency</code></td>
|
||||
<td style="text-align:left"><code>ARRAY[0..99] OF ST_TopAlarmEntry</code></td>
|
||||
<td style="text-align:left">La classifica dei 100 allarmi più frequenti.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>TopAlarms_ByDowntime</code></td>
|
||||
<td style="text-align:left"><code>ARRAY[0..99] OF ST_TopAlarmEntry</code></td>
|
||||
<td style="text-align:left">La classifica dei 100 allarmi che hanno causato il maggior tempo di fermo.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Alarms_Packed</code></td>
|
||||
<td style="text-align:left"><code>ARRAY[0..80] OF WORD</code></td>
|
||||
<td style="text-align:left">Un array compatto di word per una rappresentazione rapida e a basso livello dello stato di tutti gli allarmi.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":4} -->
|
||||
|
||||
<!-- 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-3">
|
||||
<a href="#struttura-st_alarmanalytics" class="toc-link">Struttura ST_AlarmAnalytics</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#struttura-st_topalarmentry" class="toc-link">Struttura ST_TopAlarmEntry</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#dati-allarmi-nella-struttura-st_egress" class="toc-link">Dati Allarmi nella Struttura ST_Egress</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>
|
||||
|
|
@ -0,0 +1,485 @@
|
|||
<!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="/Omron/Statistiche/3-scada-interface-stat-flowpack/">
|
||||
<meta property="og:title" content="Statistiche Flowpack | 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="/Omron/Statistiche/3-scada-interface-stat-flowpack/">
|
||||
<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="Statistiche Flowpack | 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>Statistiche Flowpack : 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>Statistiche Flowpack</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="strutture-per-le-statistiche-della-flowpack">Strutture per le Statistiche della Flowpack</h1>
|
||||
<p>Questa sezione descrive l’architettura dei dati utilizzati per raccogliere e analizzare i conteggi di produzione, specifici per la macchina <strong>Flowpack</strong>.</p>
|
||||
<hr>
|
||||
<h3 id="struttura-st_flowpack_productioncounts">Struttura <code>ST_Flowpack_ProductionCounts</code></h3>
|
||||
<p>Questa è la struttura che contiene i conteggi di produzione principali (ingresso e uscita) per la Flowpack.</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="text-align:left">Nome Variabile</th>
|
||||
<th style="text-align:left">Tipo Dati</th>
|
||||
<th style="text-align:left">Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Products_In_Total</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Contatore totale dei prodotti in ingresso alla macchina.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Products_Out_Good</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Contatore totale dei prodotti in uscita conformi (buoni).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Products_Out_Rejected</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Contatore totale dei prodotti in uscita scartati (somma di tutte le cause).</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr>
|
||||
<h3 id="struttura-st_flowpack_rejectreasons">Struttura <code>ST_Flowpack_RejectReasons</code></h3>
|
||||
<p>Questa struttura raggruppa i contatori per ogni singola causa di scarto specifica della Flowpack.</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="text-align:left">Nome Variabile</th>
|
||||
<th style="text-align:left">Tipo Dati</th>
|
||||
<th style="text-align:left">Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Reject_EmptyPackets</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Scarto per buste vuote.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Reject_DoublePackets</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Scarto per buste doppie.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Reject_CrushedByCrimper</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Scarto per prodotto schiacciato dalle ganasce saldanti.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Reject_ChainPackets</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Scarto per problemi legati alla catena di trasporto.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Reject_PictureCardMissPackets</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Scarto per mancata inserzione della figurina/card.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Reject_CameraNoGoodPPackets</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Scarto rilevato dal sistema di visione (telecamera).</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr>
|
||||
<h3 id="struttura-st_flowpack_percentages">Struttura <code>ST_Flowpack_Percentages</code></h3>
|
||||
<p>Questa struttura contiene tutte le percentuali calcolate per la Flowpack, pronte per la visualizzazione.</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="text-align:left">Nome Variabile</th>
|
||||
<th style="text-align:left">Tipo Dati</th>
|
||||
<th style="text-align:left">Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Perc_Good_vs_In</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">% di prodotti buoni rispetto al totale entrato.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Perc_RejectedEmptyPackets</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Ripartizione % degli scarti per “Buste Vuote”.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Perc_RejectedDoublePackets</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Ripartizione % degli scarti per “Buste Doppie”.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Perc_RejectedCrushedByCrimper</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Ripartizione % degli scarti per “Schiacciamento Ganasce”.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Perc_RejectedChainPackets</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Ripartizione % degli scarti per “Problemi Catena”.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Perc_RejectedPictureCardMissPackets</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Ripartizione % degli scarti per “Mancata Figurina”.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Perc_RejectedCameraNoGoodPPackets</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Ripartizione % degli scarti per “Telecamera”.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr>
|
||||
<h3 id="struttura-dt_flowpack_analytics">Struttura <code>DT_Flowpack_Analytics</code></h3>
|
||||
<p>Infine, questa è la struttura “contenitore” che unisce tutti i dati della Flowpack in un unico blocco logico.</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="text-align:left">Nome Variabile</th>
|
||||
<th style="text-align:left">Tipo Dati</th>
|
||||
<th style="text-align:left">Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Production</code></td>
|
||||
<td style="text-align:left"><code>ST_Flowpack_ProductionCounts</code></td>
|
||||
<td style="text-align:left">La struttura che contiene i conteggi di produzione IN/OUT.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Rejects</code></td>
|
||||
<td style="text-align:left"><code>ST_Flowpack_RejectReasons</code></td>
|
||||
<td style="text-align:left">La struttura che contiene i dettagli delle cause di scarto.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Percentages</code></td>
|
||||
<td style="text-align:left"><code>ST_Flowpack_Percentages</code></td>
|
||||
<td style="text-align:left">La struttura che contiene tutte le percentuali calcolate.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":5} -->
|
||||
|
||||
<!-- 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-3">
|
||||
<a href="#struttura-st_flowpack_productioncounts" class="toc-link">Struttura ST_Flowpack_ProductionCounts</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#struttura-st_flowpack_rejectreasons" class="toc-link">Struttura ST_Flowpack_RejectReasons</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#struttura-st_flowpack_percentages" class="toc-link">Struttura ST_Flowpack_Percentages</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#struttura-dt_flowpack_analytics" class="toc-link">Struttura DT_Flowpack_Analytics</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>
|
||||
|
|
@ -0,0 +1,527 @@
|
|||
<!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="/Omron/Statistiche/4-Statistiche-Row-Distribution/">
|
||||
<meta property="og:title" content="Statistiche Row Distribution | 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="/Omron/Statistiche/4-Statistiche-Row-Distribution/">
|
||||
<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="Statistiche Row Distribution | 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>Statistiche Row Distribution : 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>Statistiche Row Distribution</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="strutture-per-le-statistiche-di-produzione">Strutture per le Statistiche di Produzione</h1>
|
||||
<p>Questa sezione descrive l’architettura dei dati utilizzati per raccogliere e analizzare i conteggi di produzione, specifici per la macchina <strong>Row Distribution</strong>.</p>
|
||||
<hr>
|
||||
<h3 id="struttura-st_channeldata">Struttura <code>ST_ChannelData</code></h3>
|
||||
<p>Questa è la struttura “mattoncino” che contiene tutti i conteggi grezzi e le percentuali calcolate per un <strong>singolo canale</strong> o impilatore.</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="text-align:left">Nome Variabile</th>
|
||||
<th style="text-align:left">Tipo Dati</th>
|
||||
<th style="text-align:left">Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align:left"><strong>— Conteggi Grezzi —</strong></td>
|
||||
<td style="text-align:left"></td>
|
||||
<td style="text-align:left"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>PiecesEntered</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Pezzi totali entrati sull’impilatore del canale.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Pieces_Stacked</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Prodotti totali impilati da questo canale.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Stacks_Sent</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Pile totali inviate con successo da questo canale.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>StacksRejected</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Pile totali scartate da questo canale.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Rejects_Trapdoor</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Pezzi scartati alla botola per questo canale (è il totale degli scarti).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Rejects_RecipeMismatch</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Pezzi scartati a causa di ricetta non conforme.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Rejects_Jam</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Pezzi scartati a causa di un inceppo nell’impilatore.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Rejects_Clump</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Pezzi scartati a causa di ammassi o accumuli.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><strong>— Percentuali Calcolate (per canale) —</strong></td>
|
||||
<td style="text-align:left"></td>
|
||||
<td style="text-align:left"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Perc_Rejected_Trapdoor</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">% di pezzi scartati alla botola rispetto al totale entrato.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Perc_Pieces_Stacked</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">% di pezzi impilati rispetto al totale entrato.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Perc_Stacks_Sent</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">% di pile inviate rispetto al totale pile gestite (inviate + scartate).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Perc_Stacks_Rejected</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">% di pile scartate rispetto al totale pile gestite.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Perc_Reject_RecipeMismatch</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Ripartizione % degli scarti per “Ricetta non conforme”.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Perc_Reject_Clump</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Ripartizione % degli scarti per “Ammassi”.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Perc_Reject_Jam</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Ripartizione % degli scarti per “Inceppo”.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr>
|
||||
<h3 id="struttura-st_productiontotals">Struttura <code>ST_ProductionTotals</code></h3>
|
||||
<p>Questa struttura raggruppa tutti i <strong>conteggi globali</strong> della macchina, ottenuti sommando i dati dei singoli canali o da contatori generali.</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="text-align:left">Nome Variabile</th>
|
||||
<th style="text-align:left">Tipo Dati</th>
|
||||
<th style="text-align:left">Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>IncomingRanks</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Ranghi totali inseriti sulla linea di distribuzione.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>RanksDischarged_Module1</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Ranghi totali scaricati verso la Flowpack 1.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>RanksDischarged_Module2</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Ranghi totali scaricati verso la Flowpack 2.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>RanksDischarged_Module3</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Ranghi totali scaricati verso la Flowpack 3.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>RanksDischarged_Buffer</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Ranghi totali scaricati verso il nastro buffer.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>TotalStacksSent</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Pile totali inviate ai moduli a valle.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>StacksOnLastRank</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Numero di pile presenti sull’ultimo rango caricato.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>TotalStacksOnStackers</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Numero istantaneo di pile fisicamente presenti su tutti gli impilatori.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>TotalStacksRejected</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Numero totale di pile scartate.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>TotalProductsEntered</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Prodotti totali “equivalenti” entrati nella linea.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>TotalRejectedProducts_Trapdoor</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Prodotti totali scartati alla botola.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>GrandTotalProductsHandled</code></td>
|
||||
<td style="text-align:left"><code>DINT</code></td>
|
||||
<td style="text-align:left">Somma totale di tutti i prodotti gestiti (Entrati + Scartati).</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr>
|
||||
<h3 id="struttura-st_productionanalytics">Struttura <code>ST_ProductionAnalytics</code></h3>
|
||||
<p>Infine, questa è la struttura “contenitore” che unisce i dati dei canali e i totali in un unico blocco logico per la <strong>Row Distribution</strong>.</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="text-align:left">Nome Variabile</th>
|
||||
<th style="text-align:left">Tipo Dati</th>
|
||||
<th style="text-align:left">Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Channels</code></td>
|
||||
<td style="text-align:left"><code>ARRAY[0..4] OF ST_ChannelData</code></td>
|
||||
<td style="text-align:left">Un array che contiene i dati dettagliati per ognuno dei 5 canali.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left"><code>Totals</code></td>
|
||||
<td style="text-align:left"><code>ST_ProductionTotals</code></td>
|
||||
<td style="text-align:left">La struttura che contiene tutti i conteggi globali della macchina.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":4} -->
|
||||
|
||||
<!-- 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-3">
|
||||
<a href="#struttura-st_channeldata" class="toc-link">Struttura ST_ChannelData</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#struttura-st_productiontotals" class="toc-link">Struttura ST_ProductionTotals</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#struttura-st_productionanalytics" class="toc-link">Struttura ST_ProductionAnalytics</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>
|
||||
|
|
@ -0,0 +1,384 @@
|
|||
<!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="/Omron/Statistiche/flusso-comunicazione/">
|
||||
<meta property="og:title" content="Flusso di Scambio Dati (PLC-HMI-SCADA) | 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="/Omron/Statistiche/flusso-comunicazione/">
|
||||
<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="Flusso di Scambio Dati (PLC-HMI-SCADA) | 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>Flusso di Scambio Dati (PLC-HMI-SCADA) : 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>Flusso di Scambio Dati (PLC-HMI-SCADA)</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="flusso-di-scambio-dati-plc-hmi-scada">Flusso di Scambio Dati (PLC-HMI-SCADA)</h1>
|
||||
<h2 id="panoramica">Panoramica</h2>
|
||||
<p>Questo documento descrive la logica e la sequenza dinamica di “handshake” utilizzate per la comunicazione tra il PLC, l’interfaccia operatore (HMI) e il sistema di supervisione (SCADA). L’obiettivo è garantire uno scambio dati robusto e a prova di errore per le operazioni critiche come il cambio produzione e il monitoraggio della connessione.</p>
|
||||
<h2 id="processo-principale-cambio-ricettaproduzione">Processo Principale: Cambio Ricetta/Produzione</h2>
|
||||
<p>Il processo di cambio ricetta è l’interazione più complessa e viene gestito da una macchina a stati (<code>S60_RecipeManagement</code>) nel PLC per garantire che ogni passo venga eseguito nella sequenza corretta.</p>
|
||||
<h3 id="sequenza-di-scambio-dati">Sequenza di Scambio Dati</h3>
|
||||
<p>Il “dialogo” tra i tre sistemi segue questi passaggi:</p>
|
||||
<ol><li><p><strong>Abilitazione (HMI):</strong> L’operatore abilita il controllo remoto sull’HMI.</p>
|
||||
<ul>
|
||||
<li><code>HMI -> PLC</code>: Imposta <code>MachineAnalytics.HMI_Interface.RemoteControlEn = TRUE</code>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p><strong>Richiesta (SCADA):</strong> Lo SCADA invia i dati per la nuova produzione (Indice Ricetta, Codice Lotto, etc.) e imposta il bit di richiesta.</p>
|
||||
<ul>
|
||||
<li><code>SCADA -> PLC</code>: Imposta <code>ScadaInterface.Ingress.ProductionChangeRequest = TRUE</code>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p><strong>Ack a SCADA (PLC):</strong> Il PLC valida la richiesta. Se è corretta, risponde immediatamente:</p>
|
||||
<ul>
|
||||
<li><code>PLC -> SCADA</code>: Invia la conferma di ricezione (<code>Egress.AckChangeRecipe = TRUE</code>).</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p><strong>Completamento Handshake (SCADA):</strong> Lo SCADA, non appena riceve l’Ack, sa che il PLC ha preso in carico la richiesta e <strong>abbassa subito</strong> il suo bit di richiesta.</p>
|
||||
<ul>
|
||||
<li><code>SCADA -> PLC</code>: Imposta <code>Ingress.ProductionChangeRequest = FALSE</code>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p><strong>Completamento Handshake (PLC):</strong> Il PLC, vedendo che la richiesta è stata abbassata, abbassa a sua volta il suo <code>AckChangeRecipe</code>. L’handshake iniziale è concluso e il PLC procede autonomamente.</p>
|
||||
</li>
|
||||
<li><p><strong>Attivazione Pop-up (PLC):</strong> Il PLC attiva il flag per l’apertura del pop-up sull’HMI.</p>
|
||||
<ul>
|
||||
<li><code>PLC -> HMI</code>: Imposta <code>HMI_Interface.AckChangeRecipeToHMI = TRUE</code>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p><strong>Visualizzazione (HMI):</strong> L’HMI mostra il pop-up di conferma all’operatore con i dati della ricetta richiesta.</p>
|
||||
</li>
|
||||
<li><p><strong>Risposta (Operatore):</strong> L’operatore sceglie una delle opzioni sul pop-up:</p>
|
||||
<ul>
|
||||
<li><strong>ACCETTA:</strong> L’HMI imposta <code>HMI_Interface.RecipeChangeOk = TRUE</code>. Il PLC esegue l’azione (carica la ricetta, aggiorna i dati) e invia l’esito positivo allo SCADA (<code>Egress.RecipeChangeOK = TRUE</code> per 2 secondi).</li>
|
||||
<li><strong>RIFIUTA (o preme X):</strong> L’HMI imposta <code>HMI_Interface.RejectRecipeChange = TRUE</code> (o <code>CloseMESWindow</code>). Il PLC invia l’esito negativo allo SCADA (<code>Egress.RecipeChangeReject = TRUE</code> per 2 secondi).</li>
|
||||
<li><strong>POSTICIPA:</strong> L’HMI imposta <code>HMI_Interface.BatchChangePopupDismiss = TRUE</code>. Il PLC invia lo stato di attesa allo SCADA (<code>Egress.RecipeChangePostpone = TRUE</code>), avvia un timer (30 secondi) e, alla scadenza, torna al <strong>Passo 6</strong> per far riapparire il pop-up.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ol>
|
||||
<hr>
|
||||
<h2 id="handshake-di-base-watchdog-heartbeat">Handshake di Base: Watchdog (Heartbeat)</h2>
|
||||
<p>Per garantire che la comunicazione sia sempre attiva, è implementato un meccanismo di “heartbeat” a bit alternato.</p>
|
||||
<ul>
|
||||
<li><strong>Dal PLC allo SCADA:</strong> Il PLC inverte il valore del bit <code>ScadaInterface.Egress.PlcHeartbeat_Toggle</code> ogni secondo.</li>
|
||||
<li><strong>Dallo SCADA al PLC:</strong> Lo SCADA deve leggere <code>PlcHeartbeat_Toggle</code> e ricopiarne il valore nel bit <code>ScadaInterface.Ingress.ScadaHeartbeat_Echo</code>.</li>
|
||||
<li><strong>Controllo del PLC:</strong> Se <code>PlcHeartbeat_Toggle</code> e <code>ScadaHeartbeat_Echo</code> rimangono diversi per più di un tempo di timeout (es. 3 secondi), il PLC imposta a <code>VERO</code> il flag <code>ScadaInterface.Egress.MesCommunicationFault</code>.</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":5} -->
|
||||
|
||||
<!-- 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" class="toc-link">Panoramica</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#processo-principale-cambio-ricettaproduzione" class="toc-link">Processo Principale: Cambio Ricetta/Produzione</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#sequenza-di-scambio-dati" class="toc-link">Sequenza di Scambio Dati</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#handshake-di-base-watchdog-heartbeat" class="toc-link">Handshake di Base: Watchdog (Heartbeat)</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>
|
||||
|
|
@ -0,0 +1,420 @@
|
|||
<!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="/Omron/Statistiche/flusso-comunicazione1/">
|
||||
<meta property="og:title" content="Flusso di Scambio Dati (PLC - HMI - SCADA) | 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="/Omron/Statistiche/flusso-comunicazione1/">
|
||||
<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="Flusso di Scambio Dati (PLC - HMI - SCADA) | 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>Flusso di Scambio Dati (PLC - HMI - SCADA) : 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>Flusso di Scambio Dati (PLC - HMI - SCADA)</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">
|
||||
<hr>
|
||||
<h2 id="id-flusso-comunicazione1-sidebar_position-6-title-flusso-di-scambio-dati-plc-hmi-scada-sidebar_label-flusso-di-comunicazione-pagination_prev-null-hide_table_of_contents-true">id: flusso-comunicazione1<br>
|
||||
sidebar_position: 6<br>
|
||||
title: Flusso di Scambio Dati (PLC-HMI-SCADA)<br>
|
||||
sidebar_label: Flusso di Comunicazione<br>
|
||||
pagination_prev: null<br>
|
||||
hide_table_of_contents: true</h2>
|
||||
<h1 id="flusso-di-scambio-dati-plc-hmi-scada">Flusso di Scambio Dati (PLC - HMI - SCADA)</h1>
|
||||
<p>Questo documento descrive il processo di scambio dati tra PLC, HMI e SCADA<br>
|
||||
per la gestione del <strong>cambio ricetta</strong> e del <strong>meccanismo di heartbeat (watchdog)</strong>.</p>
|
||||
<hr>
|
||||
<h2 id="sequence-diagram-cambio-ricetta-e-heartbeat">Sequence Diagram – Cambio Ricetta e Heartbeat</h2>
|
||||
<pre class="hljs"><code>sequenceDiagram
|
||||
autonumber
|
||||
participant HMI as HMI (Operatore)
|
||||
participant PLC as PLC
|
||||
participant SCADA as SCADA
|
||||
|
||||
Note over HMI: Operatore abilita controllo remoto
|
||||
HMI->>PLC: RemoteControlEn = TRUE
|
||||
|
||||
Note over SCADA: Invio nuova produzione (indice ricetta, lotto, …)
|
||||
SCADA->>PLC: ProductionChangeRequest = TRUE
|
||||
|
||||
PLC-->>SCADA: AckChangeRecipe = TRUE
|
||||
SCADA-->>PLC: ProductionChangeRequest = FALSE
|
||||
PLC-->>SCADA: AckChangeRecipe = FALSE
|
||||
|
||||
PLC-->>HMI: AckChangeRecipeToHMI = TRUE (apri pop-up)
|
||||
|
||||
alt Operatore ACCETTA
|
||||
HMI->>PLC: RecipeChangeOk = TRUE
|
||||
PLC->>PLC: Carica ricetta / aggiorna dati
|
||||
PLC-->>SCADA: RecipeChangeOK = TRUE (2s)
|
||||
else Operatore RIFIUTA (o chiude)
|
||||
HMI->>PLC: RejectRecipeChange = TRUE (o CloseMESWindow)
|
||||
PLC-->>SCADA: RecipeChangeReject = TRUE (2s)
|
||||
else Operatore POSTICIPA
|
||||
HMI->>PLC: BatchChangePopupDismiss = TRUE
|
||||
PLC->>PLC: Avvia timer 30s
|
||||
PLC-->>SCADA: RecipeChangePostpone = TRUE
|
||||
PLC-->>HMI: (allo scadere 30s) ri-apri pop-up
|
||||
end
|
||||
|
||||
par Heartbeat / Watchdog
|
||||
loop ogni 1s
|
||||
PLC-->>SCADA: PlcHeartbeat_Toggle (inverti bit)
|
||||
SCADA-->>PLC: ScadaHeartbeat_Echo = PlcHeartbeat_Toggle
|
||||
end
|
||||
PLC->>PLC: Se mismatch > 3s ⇒ MesCommunicationFault = TRUE
|
||||
end
|
||||
</code></pre>
|
||||
<hr>
|
||||
<h2 id="state-diagram-macchina-a-stati-s60_recipemanagement">State Diagram – Macchina a stati (S60_RecipeManagement)</h2>
|
||||
<pre class="hljs"><code>stateDiagram-v2
|
||||
[*] --> Idle
|
||||
|
||||
Idle --> Handshake_In: ProductionChangeRequest ↑
|
||||
Handshake_In --> Wait_Request_Low: AckChangeRecipe = TRUE
|
||||
Wait_Request_Low --> Popup_To_HMI: ProductionChangeRequest = FALSE, AckChangeRecipe = FALSE
|
||||
|
||||
Popup_To_HMI --> Wait_Operator: AckChangeRecipeToHMI = TRUE
|
||||
|
||||
state Wait_Operator {
|
||||
[*] --> AwaitChoice
|
||||
AwaitChoice --> ApplyRecipe: RecipeChangeOk = TRUE
|
||||
AwaitChoice --> RejectRecipe: RejectRecipeChange = TRUE
|
||||
AwaitChoice --> Postpone: BatchChangePopupDismiss = TRUE
|
||||
|
||||
ApplyRecipe --> ReportOK: (carica/aggiorna dati)
|
||||
ReportOK --> [*]
|
||||
|
||||
RejectRecipe --> ReportReject
|
||||
ReportReject --> [*]
|
||||
|
||||
Postpone --> Timer30s
|
||||
Timer30s --> Popup_To_HMI: allo scadere 30s (riapri pop-up)
|
||||
}
|
||||
|
||||
note right of ReportOK
|
||||
Egress.RecipeChangeOK = TRUE (2s)
|
||||
end note
|
||||
|
||||
note right of ReportReject
|
||||
Egress.RecipeChangeReject = TRUE (2s)
|
||||
end note
|
||||
</code></pre>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":4} -->
|
||||
|
||||
<!-- 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="#id-flusso-comunicazione1-sidebar_position-6-title-flusso-di-scambio-dati-plc-hmi-scada-sidebar_label-flusso-di-comunicazione-pagination_prev-null-hide_table_of_contents-true" class="toc-link">id: flusso-comunicazione1
|
||||
sidebar_position: 6
|
||||
title: Flusso di Scambio Dati (PLC-HMI-SCADA)
|
||||
sidebar_label: Flusso di Comunicazione
|
||||
pagination_prev: null
|
||||
hide_table_of_contents: true</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#sequence-diagram-cambio-ricetta-e-heartbeat" class="toc-link">Sequence Diagram – Cambio Ricetta e Heartbeat</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#state-diagram-macchina-a-stati-s60_recipemanagement" class="toc-link">State Diagram – Macchina a stati (S60_RecipeManagement)</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>
|
||||
|
|
@ -0,0 +1,404 @@
|
|||
<!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="/Omron/Statistiche/flusso-comunicazione2/">
|
||||
<meta property="og:title" content="Flusso di Scambio Dati (PLC-HMI-SCADA) | 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="/Omron/Statistiche/flusso-comunicazione2/">
|
||||
<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="Flusso di Scambio Dati (PLC-HMI-SCADA) | 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>Flusso di Scambio Dati (PLC-HMI-SCADA) : 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>Flusso di Scambio Dati (PLC-HMI-SCADA)</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="flusso-di-scambio-dati-plc-hmi-scada">Flusso di Scambio Dati (PLC - HMI - SCADA)</h1>
|
||||
<p>Questo documento descrive il processo di scambio dati tra PLC, HMI e SCADA<br>
|
||||
per la gestione del <strong>cambio ricetta</strong> e del <strong>meccanismo di heartbeat (watchdog)</strong>.</p>
|
||||
<hr>
|
||||
<h2 id="sequence-diagram-cambio-ricetta-e-heartbeat">Sequence Diagram – Cambio Ricetta e Heartbeat</h2>
|
||||
<pre class="hljs"><code>sequenceDiagram
|
||||
autonumber
|
||||
participant HMI as HMI (Operatore)
|
||||
participant PLC as PLC
|
||||
participant SCADA as SCADA
|
||||
|
||||
Note over HMI: Operatore abilita controllo remoto
|
||||
HMI->>PLC: RemoteControlEn = TRUE
|
||||
|
||||
Note over SCADA: Invio nuova produzione (indice ricetta, lotto, …)
|
||||
SCADA->>PLC: ProductionChangeRequest = TRUE
|
||||
|
||||
PLC-->>SCADA: AckChangeRecipe = TRUE
|
||||
SCADA-->>PLC: ProductionChangeRequest = FALSE
|
||||
PLC-->>SCADA: AckChangeRecipe = FALSE
|
||||
|
||||
PLC-->>HMI: AckChangeRecipeToHMI = TRUE (apri pop-up)
|
||||
|
||||
alt Operatore ACCETTA
|
||||
HMI->>PLC: RecipeChangeOk = TRUE
|
||||
PLC->>PLC: Carica ricetta / aggiorna dati
|
||||
PLC-->>SCADA: RecipeChangeOK = TRUE (2s)
|
||||
else Operatore RIFIUTA (o chiude)
|
||||
HMI->>PLC: RejectRecipeChange = TRUE (o CloseMESWindow)
|
||||
PLC-->>SCADA: RecipeChangeReject = TRUE (2s)
|
||||
else Operatore POSTICIPA
|
||||
HMI->>PLC: BatchChangePopupDismiss = TRUE
|
||||
PLC->>PLC: Avvia timer 30s
|
||||
PLC-->>SCADA: RecipeChangePostpone = TRUE
|
||||
PLC-->>HMI: (allo scadere 30s) ri-apri pop-up
|
||||
end
|
||||
|
||||
par Heartbeat / Watchdog
|
||||
loop ogni 1s
|
||||
PLC-->>SCADA: PlcHeartbeat_Toggle (inverti bit)
|
||||
SCADA-->>PLC: ScadaHeartbeat_Echo = PlcHeartbeat_Toggle
|
||||
end
|
||||
PLC->>PLC: Se mismatch > 3s ⇒ MesCommunicationFault = TRUE
|
||||
end
|
||||
</code></pre>
|
||||
<hr>
|
||||
<h2 id="state-diagram-macchina-a-stati-s60_recipemanagement">State Diagram – Macchina a stati (S60_RecipeManagement)</h2>
|
||||
<pre class="hljs"><code>stateDiagram-v2
|
||||
[*] --> Idle
|
||||
|
||||
Idle --> Handshake_In: ProductionChangeRequest ↑
|
||||
Handshake_In --> Wait_Request_Low: AckChangeRecipe = TRUE
|
||||
Wait_Request_Low --> Popup_To_HMI: ProductionChangeRequest = FALSE, AckChangeRecipe = FALSE
|
||||
|
||||
Popup_To_HMI --> Wait_Operator: AckChangeRecipeToHMI = TRUE
|
||||
|
||||
state Wait_Operator {
|
||||
[*] --> AwaitChoice
|
||||
AwaitChoice --> ApplyRecipe: RecipeChangeOk = TRUE
|
||||
AwaitChoice --> RejectRecipe: RejectRecipeChange = TRUE
|
||||
AwaitChoice --> Postpone: BatchChangePopupDismiss = TRUE
|
||||
|
||||
ApplyRecipe --> ReportOK: (carica/aggiorna dati)
|
||||
ReportOK --> [*]
|
||||
|
||||
RejectRecipe --> ReportReject
|
||||
ReportReject --> [*]
|
||||
|
||||
Postpone --> Timer30s
|
||||
Timer30s --> Popup_To_HMI: allo scadere 30s (riapri pop-up)
|
||||
}
|
||||
|
||||
note right of ReportOK
|
||||
Egress.RecipeChangeOK = TRUE (2s)
|
||||
end note
|
||||
|
||||
note right of ReportReject
|
||||
Egress.RecipeChangeReject = TRUE (2s)
|
||||
end note
|
||||
</code></pre>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":3} -->
|
||||
|
||||
<!-- 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="#sequence-diagram-cambio-ricetta-e-heartbeat" class="toc-link">Sequence Diagram – Cambio Ricetta e Heartbeat</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#state-diagram-macchina-a-stati-s60_recipemanagement" class="toc-link">State Diagram – Macchina a stati (S60_RecipeManagement)</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>
|
||||
|
|
@ -0,0 +1,420 @@
|
|||
<!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/CreareUnPulsanteDiNavigazione/">
|
||||
<meta property="og:title" content="Creare un pulsante di navigazione | 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/CreareUnPulsanteDiNavigazione/">
|
||||
<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="Creare un pulsante di navigazione | 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>Creare un pulsante di navigazione : 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>Creare un pulsante di navigazione</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">
|
||||
<p>import useBaseUrl from ‘@docusaurus/useBaseUrl’;</p>
|
||||
<h1 id="creare-un-pulsante-di-navigazione">🔘 Creare un Pulsante di Navigazione</h1>
|
||||
<p>Hai creato la tua nuova pagina (bravo! 👏), ma ora serve un modo per arrivarci, no? È il momento di aggiungere un <strong>pulsante di navigazione</strong>.</p>
|
||||
<p>In questa guida vedremo come creare un pulsante per navigare da una schermata all’altra utilizzando i <strong>componenti custom</strong> messi a disposizione nel progetto Optix.</p>
|
||||
<hr>
|
||||
<h2 id="principio-di-funzionamento">🧭 Principio di funzionamento</h2>
|
||||
<p>I pulsanti di navigazione disponibili sono diversi, ma condividono <strong>lo stesso principio base</strong>:</p>
|
||||
<blockquote>
|
||||
<p>🎯 A ogni pulsante viene associata una <strong>pagina di destinazione</strong> tramite il parametro <code>Panel</code>.</p>
|
||||
</blockquote>
|
||||
<hr>
|
||||
<h2 id="tipi-di-pulsanti-di-navigazione">🧮 Tipi di pulsanti di navigazione</h2>
|
||||
<p>A seconda del contesto in cui ti trovi, scegli il <strong>template più adatto</strong> tra quelli disponibili. Ogni pulsante è pensato per uno scenario d’uso specifico.</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Template</th>
|
||||
<th>Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>tpAxHomeButton</code></td>
|
||||
<td>🔁 Pulsante per il comando di <strong>azzeramento di un singolo asse</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>tpDualAxHomeButton</code></td>
|
||||
<td>🔀 Variante del precedente, consente l’<strong>azzeramento simultaneo di più assi</strong>. Utile quando gli azzeramenti devono essere coordinati tra più assi.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>tpButtNavigationLateral</code></td>
|
||||
<td>🧭 Pulsante da utilizzare nel <strong>menù laterale principale</strong> dell’interfaccia (quello sempre visibile sulla sinistra). Garantisce coerenza visiva e funzionale.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>tpButtNavigationSetup</code></td>
|
||||
<td>⚙️ Pulsante standard per la <strong>navigazione nelle pagine di setup</strong>. Ha uno stile neutro e coerente con l’ambiente di configurazione.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>tpButtNavigationAdvMenu</code></td>
|
||||
<td>🧩 Pulsante progettato per i <strong>menù a griglia</strong> come il menù avzato o vari sottomenù o con layout esplorativi. Ideale per strutture ad accesso rapido o dinamico.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>tpButtNavigationDiagnostic</code></td>
|
||||
<td>🧯 Pulsante per la <strong>navigazione alle pagine di diagnostica</strong>. Include un <strong>badge di stato</strong> che può mostrare la presenza di un fault o anomalia.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<blockquote>
|
||||
<p>💡 <strong>Suggerimento</strong>: usa il pulsante giusto per ogni contesto. Non è solo una questione estetica: migliora l’usabilità e rende l’interfaccia più intuitiva per l’operatore.</p>
|
||||
</blockquote>
|
||||
<hr>
|
||||
<h2 id="come-crearne-uno">🛠️ Come crearne uno</h2>
|
||||
<p>Per inserire un nuovo pulsante di navigazione:</p>
|
||||
<ol><li><strong>Fai clic destro</strong> sul contenitore in cui desideri aggiungerlo (può essere una <code>Panel</code>, una <code>GroupBox</code>, ecc.).</li>
|
||||
<li>Seleziona:<br>
|
||||
<code>New > tpTemplates > tpButtons > Navigation > <tipo desiderato></code></li>
|
||||
</ol>
|
||||
<p>📷 <em>Esempio:</em></p>
|
||||
<p><img src={useBaseUrl(‘/img/screenshots/optix/create-navigation-button.jpg’)} alt=“Creazione pulsante di navigazione” style={{ maxWidth: ‘100%’, borderRadius: ‘8px’, marginTop: ‘1rem’ }} /></p>
|
||||
<hr>
|
||||
<h2 id="parametrizzazione-del-pulsante">⚙️ Parametrizzazione del pulsante</h2>
|
||||
<p>Dopo aver creato il pulsante, selezionalo e imposta la <strong>pagina di destinazione</strong>:</p>
|
||||
<ol><li>Vai nel menu delle <strong>proprietà a sinistra</strong></li>
|
||||
<li>Trova il parametro <code>Panel</code></li>
|
||||
<li>Seleziona la pagina a cui vuoi che il pulsante navighi</li>
|
||||
</ol>
|
||||
<p>📷 <em>Esempio:</em></p>
|
||||
<p><img src={useBaseUrl(‘/img/screenshots/optix/parametrize-navigation-button.jpg’)} alt=“Parametri del pulsante di navigazione” style={{ maxWidth: ‘100%’, borderRadius: ‘8px’, marginTop: ‘1rem’ }} /></p>
|
||||
<hr>
|
||||
<h2 id="e-ora">🚀 E ora?</h2>
|
||||
<p>Fatto! A questo punto, il tuo pulsante è operativo: durante il runtime, cliccandoci sopra, l’utente verrà portato direttamente alla pagina che hai configurato.</p>
|
||||
<hr>
|
||||
<blockquote>
|
||||
<p>🧙♂️ <strong>Pro tip</strong>: dai un nome chiaro al tuo pulsante e alla pagina di destinazione. Ti ringrazierai tra qualche progetto, fidati.</p>
|
||||
</blockquote>
|
||||
<hr>
|
||||
<h2 id="conclusione">✅ Conclusione</h2>
|
||||
<p>Creare pulsanti di navigazione è semplice e potente. Ti permette di costruire un’esperienza utente fluida, organizzata e professionale, mantenendo la coerenza con il resto dell’interfaccia.</p>
|
||||
<p>E poi… vuoi mettere la soddisfazione di cliccare su un bottone che <em>funziona davvero</em>?</p>
|
||||
<p>🚪➡️ <em>Vai e clicca, l’interfaccia ti aspetta!</em></p>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":7} -->
|
||||
|
||||
<!-- 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="#principio-di-funzionamento" class="toc-link">🧭 Principio di funzionamento</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#tipi-di-pulsanti-di-navigazione" class="toc-link">🧮 Tipi di pulsanti di navigazione</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#come-crearne-uno" class="toc-link">🛠️ Come crearne uno</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#parametrizzazione-del-pulsante" class="toc-link">⚙️ Parametrizzazione del pulsante</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#e-ora" class="toc-link">🚀 E ora?</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#conclusione" class="toc-link">✅ Conclusione</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>
|
||||
|
|
@ -0,0 +1,452 @@
|
|||
<!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/CreareUnaNuovaPagina/">
|
||||
<meta property="og:title" content="Creare una nuova pagina | 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/CreareUnaNuovaPagina/">
|
||||
<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="Creare una nuova pagina | 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>Creare una nuova pagina : 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>Creare una nuova pagina</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">
|
||||
<p>import useBaseUrl from ‘@docusaurus/useBaseUrl’;</p>
|
||||
<h2 id="creare-una-nuova-pagina-in-optix">🛠️ Creare una nuova pagina in Optix</h2>
|
||||
<p>Creare una nuova pagina nel progetto <strong>Optix</strong> è molto semplice, ma richiede l’uso di un tipo derivato, non della pagina base standard. Questo perché la nostra struttura adotta proprietà estese per funzionalità avanzate.</p>
|
||||
<hr>
|
||||
<h3 id="dove-creare-la-pagina">📁 Dove creare la pagina</h3>
|
||||
<p>Per iniziare:</p>
|
||||
<ol><li>Fai <strong>clic destro</strong> sulla cartella <code>Screens</code> o su una delle sue sottocartelle.</li>
|
||||
<li>Seleziona:<br>
|
||||
<code>New > All > User interface > tpTemplates > tpScreens > tpBaseScreen</code></li>
|
||||
</ol>
|
||||
<p><img src={useBaseUrl(‘img/screenshots/optix/createBasePage.jpg’)} alt=“Creazione pagina base in Optix” style={{ maxWidth: ‘100%’, marginTop: ‘1rem’, borderRadius: ‘8px’ }} /></p>
|
||||
<hr>
|
||||
<h3 id="parametri-fondamentali">⚙️ Parametri fondamentali</h3>
|
||||
<p>Una volta creata la pagina, selezionala dal menu laterale e configura i seguenti parametri nel pannello di sinistra:</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th><strong>Parametro</strong></th>
|
||||
<th><strong>Descrizione</strong></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>PageNumber</code></td>
|
||||
<td>Il numero identificativo univoco della pagina. Serve sia alla documentazione che alla navigazione gestita da PLC. <strong>Deve essere univoco!</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PageName</code></td>
|
||||
<td>Il nome della pagina. È un campo di tipo <strong>Localized Text</strong>, quindi può essere collegato al dizionario delle traduzioni. Verrà visualizzato insieme al <code>PageNumber</code> nell’<strong>Header</strong> del pannello.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PageType</code></td>
|
||||
<td>Definisce il tipo di pagina tramite un <strong>enumeratore</strong>. Questo valore influisce sul colore dell’header e sulla logica di accesso.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Father</code></td>
|
||||
<td>Indica la <strong>pagina padre</strong>, ovvero quella a cui tornare premendo “indietro” nell’header del pannello.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr>
|
||||
<h3 id="pagetype-elenco-dei-tipi-disponibili">🧭 PageType — Elenco dei tipi disponibili</h3>
|
||||
<p>Qui sotto trovi l’elenco dei valori disponibili per <code>PageType</code>:</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th><strong>Valore</strong></th>
|
||||
<th><strong>Display Name</strong></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>Home</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1</td>
|
||||
<td>Menù</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2</td>
|
||||
<td>Allarmi</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>3</td>
|
||||
<td>Modalità operativa</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>4</td>
|
||||
<td>Ricette</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>5</td>
|
||||
<td>Abilitazioni</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>6–7</td>
|
||||
<td>–Reserved–</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>8</td>
|
||||
<td>Masse saldanti</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>9</td>
|
||||
<td>–Reserved–</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>10</td>
|
||||
<td>Mini setup</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>11</td>
|
||||
<td>Full setup</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>12</td>
|
||||
<td>Diagnostica</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>13–19</td>
|
||||
<td>–Reserved–</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>20</td>
|
||||
<td>Altro</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<blockquote>
|
||||
<p>⚠️ Attenzione: I valori “Reserved” non devono essere utilizzati a meno di indicazioni specifiche da parte del team di sviluppo.</p>
|
||||
</blockquote>
|
||||
<hr>
|
||||
<h3 id="conclusione">✅ Conclusione</h3>
|
||||
<p>Seguendo questi semplici passaggi, sarai in grado di creare una pagina completamente funzionale all’interno dell’ambiente Optix, con parametri ben configurati per garantire compatibilità, navigazione e coerenza visiva.</p>
|
||||
<p>Grandi cose ti aspettano, giovane Padawan! 🧙♂️✨</p>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":5} -->
|
||||
|
||||
<!-- 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="#creare-una-nuova-pagina-in-optix" class="toc-link">🛠️ Creare una nuova pagina in Optix</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#dove-creare-la-pagina" class="toc-link">📁 Dove creare la pagina</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#parametri-fondamentali" class="toc-link">⚙️ Parametri fondamentali</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#pagetype-elenco-dei-tipi-disponibili" class="toc-link">🧭 PageType — Elenco dei tipi disponibili</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#conclusione" class="toc-link">✅ Conclusione</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>
|
||||
|
|
@ -0,0 +1,416 @@
|
|||
<!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/IOCardConfig/">
|
||||
<meta property="og:title" content="IOCardConfig | 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/IOCardConfig/">
|
||||
<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="IOCardConfig | 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>IOCardConfig : 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>IOCardConfig</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="configurazione-delle-schede-io-iocardconfig">📦 Configurazione delle Schede IO (IOCardConfig)</h1>
|
||||
<p>La configurazione delle schede IO è un elemento fondamentale per il corretto funzionamento del sistema.</p>
|
||||
<p>Questa configurazione descrive tutte le caratteristiche delle schede Input/Output (IO) che possono essere sia normali sia di sicurezza (safety), e viene fornita in un file YAML che viene poi letto e interpretato dal software.</p>
|
||||
<hr>
|
||||
<h2 id="struttura-generale-della-configurazione">🧩 Struttura generale della configurazione</h2>
|
||||
<p>La configurazione è organizzata in due sezioni principali:</p>
|
||||
<ul>
|
||||
<li><strong>NormalIoCards</strong>: contiene la definizione delle schede IO normali.</li>
|
||||
<li><strong>SafetyIoCards</strong>: contiene la definizione delle schede IO di sicurezza.</li>
|
||||
</ul>
|
||||
<p>Ogni sezione è composta da un insieme di schede, ognuna identificata da un nome univoco (ad esempio <code>AB:1734_DI8:C:0:</code>). Per ogni scheda sono definiti i seguenti elementi:</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Proprietà</th>
|
||||
<th>Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>type</strong></td>
|
||||
<td>Tipo generico della scheda (es. IB8, OB8, IT2I) che indica la funzione o famiglia della scheda.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>nodeType</strong></td>
|
||||
<td>Nome del template grafico usato per rappresentare la scheda nell’interfaccia utente.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>iODirection</strong></td>
|
||||
<td>Direzione IO, indica se la scheda è di tipo input (“I”) o output (“O”).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>colors</strong></td>
|
||||
<td>Definizione dei colori usati nella UI per la scheda e i suoi LED (acceso/spento).</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr>
|
||||
<h2 id="specifiche-per-le-schede-di-sicurezza-safetyiocards">⚠️ Specifiche per le schede di sicurezza (SafetyIoCards)</h2>
|
||||
<p>Le schede di sicurezza hanno una proprietà in più rispetto a quelle normali:</p>
|
||||
<ul>
|
||||
<li><strong>outputType</strong>: indica il tipo di output associato alla scheda di sicurezza (es. <code>AB:1734_IB8S:O:0</code>).<br>
|
||||
Serve a collegare la scheda di input safety con il suo corrispettivo output, necessario per la logica di sicurezza.</li>
|
||||
</ul>
|
||||
<hr>
|
||||
<h2 id="dettaglio-sui-colori">🎨 Dettaglio sui colori</h2>
|
||||
<p>La sezione <code>colors</code> permette di personalizzare l’aspetto della scheda nell’interfaccia grafica, con valori numerici che rappresentano i colori:</p>
|
||||
<ul>
|
||||
<li><strong>card</strong>: colore principale della scheda.</li>
|
||||
<li><strong>led_on</strong>: colore del LED quando è acceso (es. LED verde acceso).</li>
|
||||
<li><strong>led_off</strong>: colore del LED quando è spento (es. LED rosso spento).</li>
|
||||
</ul>
|
||||
<hr>
|
||||
<h2 id="esempio-pratico-di-configurazione-yaml">📝 Esempio pratico di configurazione YAML</h2>
|
||||
<pre class="hljs"><code><span class="hljs-attr">normalIoCards:</span>
|
||||
<span class="hljs-attr">AB:1734_DI8:C:0:</span>
|
||||
<span class="hljs-attr">type:</span> <span class="hljs-string">IB8</span>
|
||||
<span class="hljs-attr">nodeType:</span> <span class="hljs-string">IOCard_8B</span>
|
||||
<span class="hljs-attr">iODirection:</span> <span class="hljs-string">I</span>
|
||||
<span class="hljs-attr">colors:</span>
|
||||
<span class="hljs-attr">card:</span> <span class="hljs-number">0xff1b83df</span>
|
||||
<span class="hljs-attr">led_on:</span> <span class="hljs-number">0xff00fa7e</span>
|
||||
<span class="hljs-attr">led_off:</span> <span class="hljs-number">0xff0f4d29</span>
|
||||
|
||||
<span class="hljs-attr">AB:1734_DOB8:C:0:</span>
|
||||
<span class="hljs-attr">type:</span> <span class="hljs-string">OB8</span>
|
||||
<span class="hljs-attr">nodeType:</span> <span class="hljs-string">IOCard_8B</span>
|
||||
<span class="hljs-attr">iODirection:</span> <span class="hljs-string">O</span>
|
||||
<span class="hljs-attr">colors:</span>
|
||||
<span class="hljs-attr">card:</span> <span class="hljs-number">0xff40aa84</span>
|
||||
<span class="hljs-attr">led_on:</span> <span class="hljs-number">0xffea2e2e</span>
|
||||
<span class="hljs-attr">led_off:</span> <span class="hljs-number">0xff500f0f</span>
|
||||
|
||||
<span class="hljs-attr">safetyIoCards:</span>
|
||||
<span class="hljs-attr">AB:1734_IB8S_Safety2:I:0:</span>
|
||||
<span class="hljs-attr">outputType:</span> <span class="hljs-string">AB:1734_IB8S:O:0</span>
|
||||
<span class="hljs-attr">type:</span> <span class="hljs-string">IB8S</span>
|
||||
<span class="hljs-attr">nodeType:</span> <span class="hljs-string">IOCard_8BS</span>
|
||||
<span class="hljs-attr">iODirection:</span> <span class="hljs-string">I</span>
|
||||
<span class="hljs-attr">colors:</span>
|
||||
<span class="hljs-attr">card:</span> <span class="hljs-number">0xffe4564b</span>
|
||||
<span class="hljs-attr">led_on:</span> <span class="hljs-number">0xff00fa7e</span>
|
||||
<span class="hljs-attr">led_off:</span> <span class="hljs-number">0xff0f4d29</span>
|
||||
</code></pre>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":5} -->
|
||||
|
||||
<!-- 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="#struttura-generale-della-configurazione" class="toc-link">🧩 Struttura generale della configurazione</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#specifiche-per-le-schede-di-sicurezza-safetyiocards" class="toc-link">⚠️ Specifiche per le schede di sicurezza (SafetyIoCards)</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#dettaglio-sui-colori" class="toc-link">🎨 Dettaglio sui colori</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#esempio-pratico-di-configurazione-yaml" class="toc-link">📝 Esempio pratico di configurazione YAML</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>
|
||||
|
|
@ -0,0 +1,367 @@
|
|||
<!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/TecnoPack/TecnoPack.AlarmImporter/">
|
||||
<meta property="og:title" content="AlarmImporter | 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/TecnoPack/TecnoPack.AlarmImporter/">
|
||||
<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="AlarmImporter | 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>AlarmImporter : 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>AlarmImporter</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="a-idtecnopack_alarmimportera-class-alarmimporter"><a id="TecnoPack_AlarmImporter"></a> Class AlarmImporter</h1>
|
||||
<p>Namespace: <a href="TecnoPack.md">TecnoPack</a><br>
|
||||
Assembly: CO0002_Templ_FlowpackHMI_V00_9_3.dll</p>
|
||||
<p>Classe statica per l’importazione di allarmi da file Excel (.xlsx)<br>
|
||||
nella struttura del progetto FTOptix, inclusi dizionari e traduzioni.</p>
|
||||
<pre class="hljs"><code><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">class</span> <span class="hljs-title">AlarmImporter</span>
|
||||
</code></pre>
|
||||
<h4 id="inheritance">Inheritance</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.object">object</a> ←<br>
|
||||
<a href="TecnoPack.AlarmImporter.md">AlarmImporter</a></p>
|
||||
<h4 id="inherited-members">Inherited Members</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object?, object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object?, object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a></p>
|
||||
<h2 id="methods">Methods</h2>
|
||||
<h3 id="a-idtecnopack_alarmimporter_importalarmsinsideowner_uamanagedcore_iuanode_system_string_system_string_a-importalarmsinsideowneriuanode-string-string"><a id="TecnoPack_AlarmImporter_ImportAlarmsInsideOwner_UAManagedCore_IUANode_System_String_System_String_"></a> ImportAlarmsInsideOwner(IUANode, string, string)</h3>
|
||||
<p>Importa allarmi da un file Excel nella struttura del progetto,<br>
|
||||
collegandoli al nodo logico specificato.</p>
|
||||
<pre class="hljs"><code><span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">ImportAlarmsInsideOwner</span>(<span class="hljs-params"><span class="hljs-keyword">this</span> IUANode owner, <span class="hljs-built_in">string</span> alrmFilePath, <span class="hljs-built_in">string</span> fileName</span>)
|
||||
</span></code></pre>
|
||||
<h4 id="parameters">Parameters</h4>
|
||||
<p><code>owner</code> IUANode</p>
|
||||
<p>Nodo logico a cui verranno aggiunti dizionari e allarmi.</p>
|
||||
<p><code>alrmFilePath</code> <a href="https://learn.microsoft.com/dotnet/api/system.string">string</a></p>
|
||||
<p>Percorso completo del file Excel contenente gli allarmi.</p>
|
||||
<p><code>fileName</code> <a href="https://learn.microsoft.com/dotnet/api/system.string">string</a></p>
|
||||
<p>Nome utilizzato per creare le sottocartelle nel progetto.</p>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":6} -->
|
||||
|
||||
<!-- 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-4">
|
||||
<a href="#inheritance" class="toc-link">Inheritance</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#inherited-members" class="toc-link">Inherited Members</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#methods" class="toc-link">Methods</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#a-idtecnopack_alarmimporter_importalarmsinsideowner_uamanagedcore_iuanode_system_string_system_string_a-importalarmsinsideowneriuanode-string-string" class="toc-link"> ImportAlarmsInsideOwner(IUANode, string, string)</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#parameters" class="toc-link">Parameters</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>
|
||||
|
|
@ -0,0 +1,426 @@
|
|||
<!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/TecnoPack/TecnoPack.BaseIOCardDefinition/">
|
||||
<meta property="og:title" content="BaseIOCardDefinition | 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/TecnoPack/TecnoPack.BaseIOCardDefinition/">
|
||||
<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="BaseIOCardDefinition | 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>BaseIOCardDefinition : 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>BaseIOCardDefinition</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="a-idtecnopack_baseiocarddefinitiona-class-baseiocarddefinition"><a id="TecnoPack_BaseIOCardDefinition"></a> Class BaseIOCardDefinition</h1>
|
||||
<p>Namespace: <a href="TecnoPack.md">TecnoPack</a><br>
|
||||
Assembly: CO0002_Templ_FlowpackHMI_V00_9_3.dll</p>
|
||||
<p>Classe base astratta per le definizioni di schede IO, contenente proprietà condivise tra le varie tipologie.</p>
|
||||
<pre class="hljs"><code><span class="hljs-keyword">public</span> <span class="hljs-keyword">abstract</span> <span class="hljs-keyword">class</span> <span class="hljs-title">BaseIOCardDefinition</span>
|
||||
</code></pre>
|
||||
<h4 id="inheritance">Inheritance</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.object">object</a> ←<br>
|
||||
<a href="TecnoPack.BaseIOCardDefinition.md">BaseIOCardDefinition</a></p>
|
||||
<h4 id="derived">Derived</h4>
|
||||
<p><a href="TecnoPack.NormalIOCardDefinition.md">NormalIOCardDefinition</a>,<br>
|
||||
<a href="TecnoPack.SafetyIOCardDefinition.md">SafetyIOCardDefinition</a></p>
|
||||
<h4 id="inherited-members">Inherited Members</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object?, object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object?, object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a></p>
|
||||
<h2 id="constructors">Constructors</h2>
|
||||
<h3 id="a-idtecnopack_baseiocarddefinition__ctora-baseiocarddefinition"><a id="TecnoPack_BaseIOCardDefinition__ctor"></a> BaseIOCardDefinition()</h3>
|
||||
<pre class="hljs"><code><span class="hljs-function"><span class="hljs-keyword">protected</span> <span class="hljs-title">BaseIOCardDefinition</span>()
|
||||
</span></code></pre>
|
||||
<h2 id="properties">Properties</h2>
|
||||
<h3 id="a-idtecnopack_baseiocarddefinition_colorsa-colors"><a id="TecnoPack_BaseIOCardDefinition_Colors"></a> Colors</h3>
|
||||
<p>Mappa tra nomi di colori e valori interi non negativi.<br>
|
||||
Può essere utilizzata per rappresentazioni grafiche o codifiche di stato.</p>
|
||||
<pre class="hljs"><code><span class="hljs-keyword">public</span> Dictionary<<span class="hljs-built_in">string</span>, <span class="hljs-built_in">uint</span>> Colors { <span class="hljs-keyword">get</span>; <span class="hljs-keyword">set</span>; }
|
||||
</code></pre>
|
||||
<h4 id="property-value">Property Value</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.collections.generic.dictionary-2">Dictionary</a><br>
|
||||
<<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.string">string</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.uint32">uint</a><br>
|
||||
></p>
|
||||
<h3 id="a-idtecnopack_baseiocarddefinition_iodirectiona-iodirection"><a id="TecnoPack_BaseIOCardDefinition_IODirection"></a> IODirection</h3>
|
||||
<p>Direzione del segnale IO: tipicamente “I” (Input) o “O” (Output).</p>
|
||||
<pre class="hljs"><code><span class="hljs-keyword">public</span> <span class="hljs-built_in">string</span> IODirection { <span class="hljs-keyword">get</span>; <span class="hljs-keyword">set</span>; }
|
||||
</code></pre>
|
||||
<h4 id="property-value">Property Value</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.string">string</a></p>
|
||||
<h3 id="a-idtecnopack_baseiocarddefinition_nodetypea-nodetype"><a id="TecnoPack_BaseIOCardDefinition_NodeType"></a> NodeType</h3>
|
||||
<p>Indica il tipo di nodo associato alla scheda, utile per raggruppamenti logici o di rete.</p>
|
||||
<pre class="hljs"><code><span class="hljs-keyword">public</span> <span class="hljs-built_in">string</span> NodeType { <span class="hljs-keyword">get</span>; <span class="hljs-keyword">set</span>; }
|
||||
</code></pre>
|
||||
<h4 id="property-value">Property Value</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.string">string</a></p>
|
||||
<h3 id="a-idtecnopack_baseiocarddefinition_typea-type"><a id="TecnoPack_BaseIOCardDefinition_Type"></a> Type</h3>
|
||||
<p>Specifica il tipo generale della scheda IO (ad esempio, “input” o “output”).</p>
|
||||
<pre class="hljs"><code><span class="hljs-keyword">public</span> <span class="hljs-built_in">string</span> Type { <span class="hljs-keyword">get</span>; <span class="hljs-keyword">set</span>; }
|
||||
</code></pre>
|
||||
<h4 id="property-value">Property Value</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.string">string</a></p>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":15} -->
|
||||
|
||||
<!-- 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-4">
|
||||
<a href="#inheritance" class="toc-link">Inheritance</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#derived" class="toc-link">Derived</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#inherited-members" class="toc-link">Inherited Members</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#constructors" class="toc-link">Constructors</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#a-idtecnopack_baseiocarddefinition__ctora-baseiocarddefinition" class="toc-link"> BaseIOCardDefinition()</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#properties" class="toc-link">Properties</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#a-idtecnopack_baseiocarddefinition_colorsa-colors" class="toc-link"> Colors</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#property-value" class="toc-link">Property Value</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#a-idtecnopack_baseiocarddefinition_iodirectiona-iodirection" class="toc-link"> IODirection</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#property-value" class="toc-link">Property Value</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#a-idtecnopack_baseiocarddefinition_nodetypea-nodetype" class="toc-link"> NodeType</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#property-value" class="toc-link">Property Value</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#a-idtecnopack_baseiocarddefinition_typea-type" class="toc-link"> Type</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#property-value" class="toc-link">Property Value</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>
|
||||
|
|
@ -0,0 +1,387 @@
|
|||
<!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/TecnoPack/TecnoPack.ConsoleLauncher/">
|
||||
<meta property="og:title" content="ConsoleLauncher | 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/TecnoPack/TecnoPack.ConsoleLauncher/">
|
||||
<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="ConsoleLauncher | 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>ConsoleLauncher : 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>ConsoleLauncher</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="a-idtecnopack_consolelaunchera-class-consolelauncher"><a id="TecnoPack_ConsoleLauncher"></a> Class ConsoleLauncher</h1>
|
||||
<p>Namespace: <a href="TecnoPack.md">TecnoPack</a><br>
|
||||
Assembly: CO0002_Templ_FlowpackHMI_V00_9_3.dll</p>
|
||||
<p>Classe statica responsabile dell’esecuzione di uno script batch da console<br>
|
||||
e della lettura dell’input prodotto dallo script stesso.</p>
|
||||
<pre class="hljs"><code><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">class</span> <span class="hljs-title">ConsoleLauncher</span>
|
||||
</code></pre>
|
||||
<h4 id="inheritance">Inheritance</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.object">object</a> ←<br>
|
||||
<a href="TecnoPack.ConsoleLauncher.md">ConsoleLauncher</a></p>
|
||||
<h4 id="inherited-members">Inherited Members</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object?, object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object?, object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a></p>
|
||||
<h2 id="methods">Methods</h2>
|
||||
<h3 id="a-idtecnopack_consolelauncher_launch_system_string_system_string_a-launchstring-string"><a id="TecnoPack_ConsoleLauncher_Launch_System_String_System_String_"></a> Launch(string, string)</h3>
|
||||
<p>Crea ed esegue uno script batch all’interno di una cartella temporanea,<br>
|
||||
attende la fine dell’esecuzione e restituisce l’input dell’utente letto da file.</p>
|
||||
<pre class="hljs"><code><span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-built_in">string</span> <span class="hljs-title">Launch</span>(<span class="hljs-params"><span class="hljs-built_in">string</span> tempFolder, <span class="hljs-built_in">string</span> script</span>)
|
||||
</span></code></pre>
|
||||
<h4 id="parameters">Parameters</h4>
|
||||
<p><code>tempFolder</code> <a href="https://learn.microsoft.com/dotnet/api/system.string">string</a></p>
|
||||
<p>Percorso della cartella temporanea dove verrà salvato ed eseguito lo script.</p>
|
||||
<p><code>script</code> <a href="https://learn.microsoft.com/dotnet/api/system.string">string</a></p>
|
||||
<p>Contenuto dello script batch da eseguire. Deve contenere il placeholder <code>#outputFilePath#</code><br>
|
||||
che verrà sostituito con il percorso reale del file di output.</p>
|
||||
<h4 id="returns">Returns</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.string">string</a></p>
|
||||
<p>Valore immesso dall’utente nello script batch, oppure <code>null</code> in caso di errore.</p>
|
||||
<h4 id="remarks">Remarks</h4>
|
||||
<p>Il metodo crea un file .bat e un file .txt temporanei, li elimina al termine dell’esecuzione.<br>
|
||||
Il valore inserito dall’utente viene letto dal file .txt generato dallo script batch.</p>
|
||||
<h4 id="exceptions">Exceptions</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.exception">Exception</a></p>
|
||||
<p>Eventuali eccezioni vengono intercettate internamente; viene restituito <code>null</code> in caso di errore.</p>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":9} -->
|
||||
|
||||
<!-- 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-4">
|
||||
<a href="#inheritance" class="toc-link">Inheritance</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#inherited-members" class="toc-link">Inherited Members</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#methods" class="toc-link">Methods</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#a-idtecnopack_consolelauncher_launch_system_string_system_string_a-launchstring-string" class="toc-link"> Launch(string, string)</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#parameters" class="toc-link">Parameters</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#returns" class="toc-link">Returns</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#remarks" class="toc-link">Remarks</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#exceptions" class="toc-link">Exceptions</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>
|
||||
|
|
@ -0,0 +1,412 @@
|
|||
<!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/TecnoPack/TecnoPack.DynamicLinkExtensions/">
|
||||
<meta property="og:title" content="DynamicLinkExtensions | 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/TecnoPack/TecnoPack.DynamicLinkExtensions/">
|
||||
<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="DynamicLinkExtensions | 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>DynamicLinkExtensions : 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>DynamicLinkExtensions</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="a-idtecnopack_dynamiclinkextensionsa-class-dynamiclinkextensions"><a id="TecnoPack_DynamicLinkExtensions"></a> Class DynamicLinkExtensions</h1>
|
||||
<p>Namespace: <a href="TecnoPack.md">TecnoPack</a><br>
|
||||
Assembly: CO0002_Templ_FlowpackHMI_V00_9_3.dll</p>
|
||||
<p>Classe di estensione per la creazione e gestione dei Dynamic Link su variabili UA in FTOptix.</p>
|
||||
<pre class="hljs"><code><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">class</span> <span class="hljs-title">DynamicLinkExtensions</span>
|
||||
</code></pre>
|
||||
<h4 id="inheritance">Inheritance</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.object">object</a> ←<br>
|
||||
<a href="TecnoPack.DynamicLinkExtensions.md">DynamicLinkExtensions</a></p>
|
||||
<h4 id="inherited-members">Inherited Members</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object?, object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object?, object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a></p>
|
||||
<h2 id="methods">Methods</h2>
|
||||
<h3 id="a-idtecnopack_dynamiclinkextensions_getelementsize_system_object_a-getelementsizeobject"><a id="TecnoPack_DynamicLinkExtensions_GetElementSize_System_Object_"></a> GetElementSize(object)</h3>
|
||||
<p>Restituisce la dimensione in byte dell’elemento di un array.</p>
|
||||
<pre class="hljs"><code><span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-built_in">int</span> <span class="hljs-title">GetElementSize</span>(<span class="hljs-params"><span class="hljs-built_in">object</span> obj</span>)
|
||||
</span></code></pre>
|
||||
<h4 id="parameters">Parameters</h4>
|
||||
<p><code>obj</code> <a href="https://learn.microsoft.com/dotnet/api/system.object">object</a></p>
|
||||
<p>Oggetto che deve essere un array di tipi valore.</p>
|
||||
<h4 id="returns">Returns</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></p>
|
||||
<p>Dimensione in byte dell’elemento dell’array.</p>
|
||||
<h4 id="exceptions">Exceptions</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.argumentexception">ArgumentException</a></p>
|
||||
<p>Se l’oggetto non è un array.</p>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.invalidoperationexception">InvalidOperationException</a></p>
|
||||
<p>Se il tipo dell’elemento non può essere determinato o non è un tipo valore.</p>
|
||||
<h3 id="a-idtecnopack_dynamiclinkextensions_setdynamiclink_uamanagedcore_iuavariable_uamanagedcore_iuavariable_ftoptix_corebase_dynamiclinkmode_system_nullable_system_uint32__system_nullable_system_uint32__a-setdynamiclinkiuavariable-iuavariable-dynamiclinkmode-uint-uint"><a id="TecnoPack_DynamicLinkExtensions_SetDynamicLink_UAManagedCore_IUAVariable_UAManagedCore_IUAVariable_FTOptix_CoreBase_DynamicLinkMode_System_Nullable_System_UInt32__System_Nullable_System_UInt32__"></a> SetDynamicLink(IUAVariable, IUAVariable, DynamicLinkMode, uint?, uint?)</h3>
|
||||
<p>Imposta un collegamento dinamico (Dynamic Link) su una variabile, anche in presenza di array complessi o con bit specifici.</p>
|
||||
<pre class="hljs"><code><span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">SetDynamicLink</span>(<span class="hljs-params"><span class="hljs-keyword">this</span> IUAVariable variable, IUAVariable source, DynamicLinkMode mode, <span class="hljs-built_in">uint</span>? sourceArrayIndex = <span class="hljs-literal">null</span>, <span class="hljs-built_in">uint</span>? sourceSubArrayIndex = <span class="hljs-literal">null</span></span>)
|
||||
</span></code></pre>
|
||||
<h4 id="parameters">Parameters</h4>
|
||||
<p><code>variable</code> IUAVariable</p>
|
||||
<p>La variabile di destinazione su cui verrà applicato il Dynamic Link.</p>
|
||||
<p><code>source</code> IUAVariable</p>
|
||||
<p>La variabile sorgente da cui leggere il valore.</p>
|
||||
<p><code>mode</code> DynamicLinkMode</p>
|
||||
<p>La modalità del Dynamic Link (lettura, scrittura, ecc.).</p>
|
||||
<p><code>sourceArrayIndex</code> <a href="https://learn.microsoft.com/dotnet/api/system.uint32">uint</a>?</p>
|
||||
<p>Indice dell’elemento da collegare in caso di array monodimensionale.</p>
|
||||
<p><code>sourceSubArrayIndex</code> <a href="https://learn.microsoft.com/dotnet/api/system.uint32">uint</a>?</p>
|
||||
<p>Indice del bit specifico da collegare, se applicabile.</p>
|
||||
<h4 id="exceptions">Exceptions</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.argumentexception">ArgumentException</a></p>
|
||||
<p>Viene sollevata se:</p>
|
||||
<ul>
|
||||
<li>L’indice specificato è fuori dai limiti dell’array.</li>
|
||||
<li>La sorgente è null.</li>
|
||||
<li>Il sotto-indice è maggiore della dimensione in bit dell’elemento.</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":11} -->
|
||||
|
||||
<!-- 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-4">
|
||||
<a href="#inheritance" class="toc-link">Inheritance</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#inherited-members" class="toc-link">Inherited Members</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#methods" class="toc-link">Methods</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#a-idtecnopack_dynamiclinkextensions_getelementsize_system_object_a-getelementsizeobject" class="toc-link"> GetElementSize(object)</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#parameters" class="toc-link">Parameters</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#returns" class="toc-link">Returns</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#exceptions" class="toc-link">Exceptions</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#a-idtecnopack_dynamiclinkextensions_setdynamiclink_uamanagedcore_iuavariable_uamanagedcore_iuavariable_ftoptix_corebase_dynamiclinkmode_system_nullable_system_uint32__system_nullable_system_uint32__a-setdynamiclinkiuavariable-iuavariable-dynamiclinkmode-uint-uint" class="toc-link"> SetDynamicLink(IUAVariable, IUAVariable, DynamicLinkMode, uint?, uint?)</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#parameters" class="toc-link">Parameters</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#exceptions" class="toc-link">Exceptions</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>
|
||||
|
|
@ -0,0 +1,402 @@
|
|||
<!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/TecnoPack/TecnoPack.IOCardConfig/">
|
||||
<meta property="og:title" content="IOCardConfig | 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/TecnoPack/TecnoPack.IOCardConfig/">
|
||||
<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="IOCardConfig | 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>IOCardConfig : 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>IOCardConfig</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="a-idtecnopack_iocardconfiga-class-iocardconfig"><a id="TecnoPack_IOCardConfig"></a> Class IOCardConfig</h1>
|
||||
<p>Namespace: <a href="TecnoPack.md">TecnoPack</a><br>
|
||||
Assembly: CO0002_Templ_FlowpackHMI_V00_9_3.dll</p>
|
||||
<p>Rappresenta la configurazione delle schede IO (Input/Output) del sistema.<br>
|
||||
Include la mappatura delle schede IO normali e di sicurezza.</p>
|
||||
<pre class="hljs"><code><span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">IOCardConfig</span>
|
||||
</code></pre>
|
||||
<h4 id="inheritance">Inheritance</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.object">object</a> ←<br>
|
||||
<a href="TecnoPack.IOCardConfig.md">IOCardConfig</a></p>
|
||||
<h4 id="inherited-members">Inherited Members</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object?, object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object?, object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a></p>
|
||||
<h2 id="remarks">Remarks</h2>
|
||||
<p>Le chiavi dei dizionari rappresentano identificativi univoci delle schede.<br>
|
||||
Ogni voce contiene la definizione completa di una scheda.</p>
|
||||
<h2 id="constructors">Constructors</h2>
|
||||
<h3 id="a-idtecnopack_iocardconfig__ctora-iocardconfig"><a id="TecnoPack_IOCardConfig__ctor"></a> IOCardConfig()</h3>
|
||||
<pre class="hljs"><code><span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">IOCardConfig</span>()
|
||||
</span></code></pre>
|
||||
<h2 id="properties">Properties</h2>
|
||||
<h3 id="a-idtecnopack_iocardconfig_normaliocardsa-normaliocards"><a id="TecnoPack_IOCardConfig_NormalIoCards"></a> NormalIoCards</h3>
|
||||
<p>Dizionario contenente le definizioni delle schede IO normali, indicizzate per identificatore.</p>
|
||||
<pre class="hljs"><code><span class="hljs-keyword">public</span> Dictionary<<span class="hljs-built_in">string</span>, NormalIOCardDefinition> NormalIoCards { <span class="hljs-keyword">get</span>; <span class="hljs-keyword">set</span>; }
|
||||
</code></pre>
|
||||
<h4 id="property-value">Property Value</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.collections.generic.dictionary-2">Dictionary</a><br>
|
||||
<<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.string">string</a>,<br>
|
||||
<a href="TecnoPack.NormalIOCardDefinition.md">NormalIOCardDefinition</a><br>
|
||||
></p>
|
||||
<h3 id="a-idtecnopack_iocardconfig_safetyiocardsa-safetyiocards"><a id="TecnoPack_IOCardConfig_SafetyIoCards"></a> SafetyIoCards</h3>
|
||||
<p>Dizionario contenente le definizioni delle schede IO di sicurezza, indicizzate per identificatore.</p>
|
||||
<pre class="hljs"><code><span class="hljs-keyword">public</span> Dictionary<<span class="hljs-built_in">string</span>, SafetyIOCardDefinition> SafetyIoCards { <span class="hljs-keyword">get</span>; <span class="hljs-keyword">set</span>; }
|
||||
</code></pre>
|
||||
<h4 id="property-value">Property Value</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.collections.generic.dictionary-2">Dictionary</a><br>
|
||||
<<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.string">string</a>,<br>
|
||||
<a href="TecnoPack.SafetyIOCardDefinition.md">SafetyIOCardDefinition</a><br>
|
||||
></p>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":11} -->
|
||||
|
||||
<!-- 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-4">
|
||||
<a href="#inheritance" class="toc-link">Inheritance</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#inherited-members" class="toc-link">Inherited Members</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#remarks" class="toc-link">Remarks</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#constructors" class="toc-link">Constructors</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#a-idtecnopack_iocardconfig__ctora-iocardconfig" class="toc-link"> IOCardConfig()</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#properties" class="toc-link">Properties</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#a-idtecnopack_iocardconfig_normaliocardsa-normaliocards" class="toc-link"> NormalIoCards</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#property-value" class="toc-link">Property Value</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#a-idtecnopack_iocardconfig_safetyiocardsa-safetyiocards" class="toc-link"> SafetyIoCards</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#property-value" class="toc-link">Property Value</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>
|
||||
|
|
@ -0,0 +1,432 @@
|
|||
<!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/TecnoPack/TecnoPack.InformationModelExtensions/">
|
||||
<meta property="og:title" content="InformationModelExtensions | 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/TecnoPack/TecnoPack.InformationModelExtensions/">
|
||||
<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="InformationModelExtensions | 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>InformationModelExtensions : 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>InformationModelExtensions</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="a-idtecnopack_informationmodelextensionsa-class-informationmodelextensions"><a id="TecnoPack_InformationModelExtensions"></a> Class InformationModelExtensions</h1>
|
||||
<p>Namespace: <a href="TecnoPack.md">TecnoPack</a><br>
|
||||
Assembly: CO0002_Templ_FlowpackHMI_V00_9_3.dll</p>
|
||||
<p>Contiene metodi di estensione per la gestione del modello informativo OPC UA all’interno del progetto FTOptix.</p>
|
||||
<pre class="hljs"><code><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">class</span> <span class="hljs-title">InformationModelExtensions</span>
|
||||
</code></pre>
|
||||
<h4 id="inheritance">Inheritance</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.object">object</a> ←<br>
|
||||
<a href="TecnoPack.InformationModelExtensions.md">InformationModelExtensions</a></p>
|
||||
<h4 id="inherited-members">Inherited Members</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object?, object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object?, object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a></p>
|
||||
<h2 id="remarks">Remarks</h2>
|
||||
<p>Questa classe fornisce utility per la creazione di dizionari di localizzazione, accesso ai namespace e generazione di riferimenti localizzati.<br>
|
||||
È definita come <code>partial</code> per consentire estensioni modulari in altri file.</p>
|
||||
<h2 id="methods">Methods</h2>
|
||||
<h3 id="a-idtecnopack_informationmodelextensions_createdictionary_system_string_a-createdictionarystring"><a id="TecnoPack_InformationModelExtensions_CreateDictionary_System_String_"></a> CreateDictionary(string)</h3>
|
||||
<p>Crea una variabile UA che funge da dizionario di localizzazione, con intestazione precompilata.</p>
|
||||
<pre class="hljs"><code><span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> IUAVariable <span class="hljs-title">CreateDictionary</span>(<span class="hljs-params"><span class="hljs-built_in">string</span> dictionaryName</span>)
|
||||
</span></code></pre>
|
||||
<h4 id="parameters">Parameters</h4>
|
||||
<p><code>dictionaryName</code> <a href="https://learn.microsoft.com/dotnet/api/system.string">string</a></p>
|
||||
<p>Nome della variabile che rappresenterà il dizionario nel modello. Questo nome sarà utilizzato anche in OPC UA.</p>
|
||||
<h4 id="returns">Returns</h4>
|
||||
<p>IUAVariable</p>
|
||||
<p>Una variabile UA (<code>IUAVariable</code>) con tipo <code>LocalizationDictionary</code>, inizializzata con una riga contenente l’intestazione:<br>
|
||||
la prima colonna è “Key”, le successive sono i codici delle lingue configurate nel progetto.</p>
|
||||
<h4 id="remarks">Remarks</h4>
|
||||
<p>Il dizionario è pronto per essere popolato con chiavi di traduzione e valori per ciascuna lingua.</p>
|
||||
<h3 id="a-idtecnopack_informationmodelextensions_getdefaultnamespaceindex_uamanagedcore_icontext_a-getdefaultnamespaceindexicontext"><a id="TecnoPack_InformationModelExtensions_GetDefaultNamespaceIndex_UAManagedCore_IContext_"></a> GetDefaultNamespaceIndex(IContext)</h3>
|
||||
<p>Restituisce l’indice del namespace predefinito per un determinato contesto.</p>
|
||||
<pre class="hljs"><code><span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-built_in">int</span> <span class="hljs-title">GetDefaultNamespaceIndex</span>(<span class="hljs-params">IContext context</span>)
|
||||
</span></code></pre>
|
||||
<h4 id="parameters">Parameters</h4>
|
||||
<p><code>context</code> IContext</p>
|
||||
<p>Il contesto corrente da cui ottenere l’indice del namespace.</p>
|
||||
<h4 id="returns">Returns</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></p>
|
||||
<p>L’indice del namespace predefinito. Se non è valido, restituisce quello del progetto corrente.</p>
|
||||
<h3 id="a-idtecnopack_informationmodelextensions_getlocalizedtextfromkey_system_string_a-getlocalizedtextfromkeystring"><a id="TecnoPack_InformationModelExtensions_GetLocalizedTextFromKey_System_String_"></a> GetLocalizedTextFromKey(string)</h3>
|
||||
<p>Restituisce un oggetto <code>LocalizedText</code> a partire da una chiave di traduzione.</p>
|
||||
<pre class="hljs"><code><span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> LocalizedText <span class="hljs-title">GetLocalizedTextFromKey</span>(<span class="hljs-params"><span class="hljs-built_in">string</span> key</span>)
|
||||
</span></code></pre>
|
||||
<h4 id="parameters">Parameters</h4>
|
||||
<p><code>key</code> <a href="https://learn.microsoft.com/dotnet/api/system.string">string</a></p>
|
||||
<p>La chiave della traduzione da cercare nel dizionario di localizzazione.</p>
|
||||
<h4 id="returns">Returns</h4>
|
||||
<p>LocalizedText</p>
|
||||
<p>Un oggetto <code>LocalizedText</code> che punta alla chiave specificata nel namespace del progetto corrente.</p>
|
||||
<h4 id="remarks">Remarks</h4>
|
||||
<p>Questo metodo non esegue il lookup della traduzione, ma crea un riferimento che può essere utilizzato nelle proprietà localizzabili.</p>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":16} -->
|
||||
|
||||
<!-- 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-4">
|
||||
<a href="#inheritance" class="toc-link">Inheritance</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#inherited-members" class="toc-link">Inherited Members</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#remarks" class="toc-link">Remarks</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#methods" class="toc-link">Methods</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#a-idtecnopack_informationmodelextensions_createdictionary_system_string_a-createdictionarystring" class="toc-link"> CreateDictionary(string)</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#parameters" class="toc-link">Parameters</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#returns" class="toc-link">Returns</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#remarks" class="toc-link">Remarks</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#a-idtecnopack_informationmodelextensions_getdefaultnamespaceindex_uamanagedcore_icontext_a-getdefaultnamespaceindexicontext" class="toc-link"> GetDefaultNamespaceIndex(IContext)</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#parameters" class="toc-link">Parameters</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#returns" class="toc-link">Returns</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#a-idtecnopack_informationmodelextensions_getlocalizedtextfromkey_system_string_a-getlocalizedtextfromkeystring" class="toc-link"> GetLocalizedTextFromKey(string)</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#parameters" class="toc-link">Parameters</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#returns" class="toc-link">Returns</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#remarks" class="toc-link">Remarks</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>
|
||||
|
|
@ -0,0 +1,359 @@
|
|||
<!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/TecnoPack/TecnoPack.NormalIOCardDefinition/">
|
||||
<meta property="og:title" content="NormalIOCardDefinition | 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/TecnoPack/TecnoPack.NormalIOCardDefinition/">
|
||||
<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="NormalIOCardDefinition | 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>NormalIOCardDefinition : 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>NormalIOCardDefinition</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="a-idtecnopack_normaliocarddefinitiona-class-normaliocarddefinition"><a id="TecnoPack_NormalIOCardDefinition"></a> Class NormalIOCardDefinition</h1>
|
||||
<p>Namespace: <a href="TecnoPack.md">TecnoPack</a><br>
|
||||
Assembly: CO0002_Templ_FlowpackHMI_V00_9_3.dll</p>
|
||||
<p>Definizione di una scheda IO normale.<br>
|
||||
Eredita le proprietà comuni dalla classe <xref href="TecnoPack.BaseIOCardDefinition" data-throw-if-not-resolved="false"></xref>.</p>
|
||||
<pre class="hljs"><code><span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">NormalIOCardDefinition</span> : <span class="hljs-title">BaseIOCardDefinition</span>
|
||||
</code></pre>
|
||||
<h4 id="inheritance">Inheritance</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.object">object</a> ←<br>
|
||||
<a href="TecnoPack.BaseIOCardDefinition.md">BaseIOCardDefinition</a> ←<br>
|
||||
<a href="TecnoPack.NormalIOCardDefinition.md">NormalIOCardDefinition</a></p>
|
||||
<h4 id="inherited-members">Inherited Members</h4>
|
||||
<p><a href="TecnoPack.BaseIOCardDefinition.md#TecnoPack_BaseIOCardDefinition_Type">BaseIOCardDefinition.Type</a>,<br>
|
||||
<a href="TecnoPack.BaseIOCardDefinition.md#TecnoPack_BaseIOCardDefinition_NodeType">BaseIOCardDefinition.NodeType</a>,<br>
|
||||
<a href="TecnoPack.BaseIOCardDefinition.md#TecnoPack_BaseIOCardDefinition_IODirection">BaseIOCardDefinition.IODirection</a>,<br>
|
||||
<a href="TecnoPack.BaseIOCardDefinition.md#TecnoPack_BaseIOCardDefinition_Colors">BaseIOCardDefinition.Colors</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object?, object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object?, object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a></p>
|
||||
<h2 id="constructors">Constructors</h2>
|
||||
<h3 id="a-idtecnopack_normaliocarddefinition__ctora-normaliocarddefinition"><a id="TecnoPack_NormalIOCardDefinition__ctor"></a> NormalIOCardDefinition()</h3>
|
||||
<pre class="hljs"><code><span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">NormalIOCardDefinition</span>()
|
||||
</span></code></pre>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":5} -->
|
||||
|
||||
<!-- 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-4">
|
||||
<a href="#inheritance" class="toc-link">Inheritance</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#inherited-members" class="toc-link">Inherited Members</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#constructors" class="toc-link">Constructors</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#a-idtecnopack_normaliocarddefinition__ctora-normaliocarddefinition" class="toc-link"> NormalIOCardDefinition()</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>
|
||||
|
|
@ -0,0 +1,378 @@
|
|||
<!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/TecnoPack/TecnoPack.SafetyIOCardDefinition/">
|
||||
<meta property="og:title" content="SafetyIOCardDefinition | 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/TecnoPack/TecnoPack.SafetyIOCardDefinition/">
|
||||
<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="SafetyIOCardDefinition | 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>SafetyIOCardDefinition : 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>SafetyIOCardDefinition</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="a-idtecnopack_safetyiocarddefinitiona-class-safetyiocarddefinition"><a id="TecnoPack_SafetyIOCardDefinition"></a> Class SafetyIOCardDefinition</h1>
|
||||
<p>Namespace: <a href="TecnoPack.md">TecnoPack</a><br>
|
||||
Assembly: CO0002_Templ_FlowpackHMI_V00_9_3.dll</p>
|
||||
<p>Definizione di una scheda IO di sicurezza.<br>
|
||||
Estende <xref href="TecnoPack.BaseIOCardDefinition" data-throw-if-not-resolved="false"></xref> aggiungendo il tipo di uscita.</p>
|
||||
<pre class="hljs"><code><span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">SafetyIOCardDefinition</span> : <span class="hljs-title">BaseIOCardDefinition</span>
|
||||
</code></pre>
|
||||
<h4 id="inheritance">Inheritance</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.object">object</a> ←<br>
|
||||
<a href="TecnoPack.BaseIOCardDefinition.md">BaseIOCardDefinition</a> ←<br>
|
||||
<a href="TecnoPack.SafetyIOCardDefinition.md">SafetyIOCardDefinition</a></p>
|
||||
<h4 id="inherited-members">Inherited Members</h4>
|
||||
<p><a href="TecnoPack.BaseIOCardDefinition.md#TecnoPack_BaseIOCardDefinition_Type">BaseIOCardDefinition.Type</a>,<br>
|
||||
<a href="TecnoPack.BaseIOCardDefinition.md#TecnoPack_BaseIOCardDefinition_NodeType">BaseIOCardDefinition.NodeType</a>,<br>
|
||||
<a href="TecnoPack.BaseIOCardDefinition.md#TecnoPack_BaseIOCardDefinition_IODirection">BaseIOCardDefinition.IODirection</a>,<br>
|
||||
<a href="TecnoPack.BaseIOCardDefinition.md#TecnoPack_BaseIOCardDefinition_Colors">BaseIOCardDefinition.Colors</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object?, object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object?, object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a></p>
|
||||
<h2 id="constructors">Constructors</h2>
|
||||
<h3 id="a-idtecnopack_safetyiocarddefinition__ctora-safetyiocarddefinition"><a id="TecnoPack_SafetyIOCardDefinition__ctor"></a> SafetyIOCardDefinition()</h3>
|
||||
<pre class="hljs"><code><span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">SafetyIOCardDefinition</span>()
|
||||
</span></code></pre>
|
||||
<h2 id="properties">Properties</h2>
|
||||
<h3 id="a-idtecnopack_safetyiocarddefinition_outputtypea-outputtype"><a id="TecnoPack_SafetyIOCardDefinition_OutputType"></a> OutputType</h3>
|
||||
<p>Specifica il tipo di uscita associato alla scheda di sicurezza.</p>
|
||||
<pre class="hljs"><code><span class="hljs-keyword">public</span> <span class="hljs-built_in">string</span> OutputType { <span class="hljs-keyword">get</span>; <span class="hljs-keyword">set</span>; }
|
||||
</code></pre>
|
||||
<h4 id="property-value">Property Value</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.string">string</a></p>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":8} -->
|
||||
|
||||
<!-- 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-4">
|
||||
<a href="#inheritance" class="toc-link">Inheritance</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#inherited-members" class="toc-link">Inherited Members</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#constructors" class="toc-link">Constructors</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#a-idtecnopack_safetyiocarddefinition__ctora-safetyiocarddefinition" class="toc-link"> SafetyIOCardDefinition()</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#properties" class="toc-link">Properties</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#a-idtecnopack_safetyiocarddefinition_outputtypea-outputtype" class="toc-link"> OutputType</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#property-value" class="toc-link">Property Value</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>
|
||||
|
|
@ -0,0 +1,413 @@
|
|||
<!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/TecnoPack/TecnoPack.ScriptBuilder/">
|
||||
<meta property="og:title" content="ScriptBuilder | 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/TecnoPack/TecnoPack.ScriptBuilder/">
|
||||
<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="ScriptBuilder | 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>ScriptBuilder : 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>ScriptBuilder</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="a-idtecnopack_scriptbuildera-class-scriptbuilder"><a id="TecnoPack_ScriptBuilder"></a> Class ScriptBuilder</h1>
|
||||
<p>Namespace: <a href="TecnoPack.md">TecnoPack</a><br>
|
||||
Assembly: CO0002_Templ_FlowpackHMI_V00_9_3.dll</p>
|
||||
<p>Classe statica responsabile della generazione di script batch dinamici<br>
|
||||
utilizzati per presentare opzioni all’utente e gestire l’input.</p>
|
||||
<pre class="hljs"><code><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">class</span> <span class="hljs-title">ScriptBuilder</span>
|
||||
</code></pre>
|
||||
<h4 id="inheritance">Inheritance</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.object">object</a> ←<br>
|
||||
<a href="TecnoPack.ScriptBuilder.md">ScriptBuilder</a></p>
|
||||
<h4 id="inherited-members">Inherited Members</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object?, object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object?, object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a></p>
|
||||
<h2 id="methods">Methods</h2>
|
||||
<h3 id="a-idtecnopack_scriptbuilder_filteroptionsbyletters_system_string_system_string___a-filteroptionsbylettersstring-string"><a id="TecnoPack_ScriptBuilder_FilterOptionsByLetters_System_String_System_String___"></a> FilterOptionsByLetters(string, string[])</h3>
|
||||
<p>Filtra l’elenco delle opzioni in base alle lettere selezionate dall’utente.<br>
|
||||
Ogni lettera corrisponde a un indice nell’array delle opzioni.</p>
|
||||
<pre class="hljs"><code><span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-built_in">string</span>[] <span class="hljs-title">FilterOptionsByLetters</span>(<span class="hljs-params"><span class="hljs-built_in">string</span> inputLetters, <span class="hljs-built_in">string</span>[] options</span>)
|
||||
</span></code></pre>
|
||||
<h4 id="parameters">Parameters</h4>
|
||||
<p><code>inputLetters</code> <a href="https://learn.microsoft.com/dotnet/api/system.string">string</a></p>
|
||||
<p>Lettere immesse dall’utente, ad esempio “AC”.</p>
|
||||
<p><code>options</code> <a href="https://learn.microsoft.com/dotnet/api/system.string">string</a>[]</p>
|
||||
<p>Array di stringhe con tutte le opzioni disponibili.</p>
|
||||
<h4 id="returns">Returns</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.string">string</a>[]</p>
|
||||
<p>Array di opzioni selezionate, senza duplicati.</p>
|
||||
<h4 id="examples">Examples</h4>
|
||||
<pre class="hljs"><code><span class="hljs-keyword">var</span> options = <span class="hljs-keyword">new</span>[] { <span class="hljs-string">"Flowpack"</span>, <span class="hljs-string">"RDS"</span>, <span class="hljs-string">"Shrinkwrapper"</span>, <span class="hljs-string">"Packer"</span> };
|
||||
<span class="hljs-keyword">var</span> selected = ScriptBuilder.FilterOptionsByLetters(<span class="hljs-string">"AC"</span>, options);
|
||||
<span class="hljs-comment">// selected = [ "Flowpack", "Shrinkwrapper" ]</span>
|
||||
</code></pre>
|
||||
<h3 id="a-idtecnopack_scriptbuilder_generateoptionscript_system_string_system_string___a-generateoptionscriptstring-string"><a id="TecnoPack_ScriptBuilder_GenerateOptionScript_System_String_System_String___"></a> GenerateOptionScript(string, string[])</h3>
|
||||
<p>Genera uno script batch che presenta un messaggio e una lista di opzioni numerate all’utente.<br>
|
||||
L’utente può selezionare una o più opzioni utilizzando lettere corrispondenti.</p>
|
||||
<pre class="hljs"><code><span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-built_in">string</span> <span class="hljs-title">GenerateOptionScript</span>(<span class="hljs-params"><span class="hljs-built_in">string</span> message, <span class="hljs-built_in">string</span>[] options</span>)
|
||||
</span></code></pre>
|
||||
<h4 id="parameters">Parameters</h4>
|
||||
<p><code>message</code> <a href="https://learn.microsoft.com/dotnet/api/system.string">string</a></p>
|
||||
<p>Messaggio da visualizzare prima delle opzioni.</p>
|
||||
<p><code>options</code> <a href="https://learn.microsoft.com/dotnet/api/system.string">string</a>[]</p>
|
||||
<p>Array di stringhe contenente le opzioni disponibili.</p>
|
||||
<h4 id="returns">Returns</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.string">string</a></p>
|
||||
<p>Script batch sotto forma di stringa.</p>
|
||||
<h4 id="exceptions">Exceptions</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.argumentexception">ArgumentException</a></p>
|
||||
<p>Sollevata se l’array delle opzioni è nullo o vuoto.</p>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":12} -->
|
||||
|
||||
<!-- 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-4">
|
||||
<a href="#inheritance" class="toc-link">Inheritance</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#inherited-members" class="toc-link">Inherited Members</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#methods" class="toc-link">Methods</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#a-idtecnopack_scriptbuilder_filteroptionsbyletters_system_string_system_string___a-filteroptionsbylettersstring-string" class="toc-link"> FilterOptionsByLetters(string, string[])</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#parameters" class="toc-link">Parameters</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#returns" class="toc-link">Returns</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#examples" class="toc-link">Examples</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#a-idtecnopack_scriptbuilder_generateoptionscript_system_string_system_string___a-generateoptionscriptstring-string" class="toc-link"> GenerateOptionScript(string, string[])</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#parameters" class="toc-link">Parameters</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#returns" class="toc-link">Returns</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#exceptions" class="toc-link">Exceptions</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>
|
||||
|
|
@ -0,0 +1,430 @@
|
|||
<!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/TecnoPack/TecnoPack.Utils/">
|
||||
<meta property="og:title" content="Utils | 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/TecnoPack/TecnoPack.Utils/">
|
||||
<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="Utils | 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>Utils : 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>Utils</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="a-idtecnopack_utilsa-class-utils"><a id="TecnoPack_Utils"></a> Class Utils</h1>
|
||||
<p>Namespace: <a href="TecnoPack.md">TecnoPack</a><br>
|
||||
Assembly: CO0002_Templ_FlowpackHMI_V00_9_3.dll</p>
|
||||
<p>Classe di utilità che fornisce metodi e costanti per la gestione di percorsi file e cartelle temporanee.</p>
|
||||
<pre class="hljs"><code><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">class</span> <span class="hljs-title">Utils</span>
|
||||
</code></pre>
|
||||
<h4 id="inheritance">Inheritance</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.object">object</a> ←<br>
|
||||
<a href="TecnoPack.Utils.md">Utils</a></p>
|
||||
<h4 id="inherited-members">Inherited Members</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object?, object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object?, object?)</a>,<br>
|
||||
<a href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a></p>
|
||||
<h2 id="fields">Fields</h2>
|
||||
<h3 id="a-idtecnopack_utils_temp_folder_resource_uria-temp_folder_resource_uri"><a id="TecnoPack_Utils_TEMP_FOLDER_RESOURCE_URI"></a> TEMP_FOLDER_RESOURCE_URI</h3>
|
||||
<p>Percorso fisso della cartella temporanea del progetto.<br>
|
||||
Qui vanno messi i file temporanei, sempre nello stesso posto senza troppi sbattimenti.</p>
|
||||
<pre class="hljs"><code><span class="hljs-keyword">public</span> <span class="hljs-keyword">const</span> <span class="hljs-built_in">string</span> TEMP_FOLDER_RESOURCE_URI = <span class="hljs-string">"%PROJECTDIR%/.temp"</span>
|
||||
</code></pre>
|
||||
<h4 id="field-value">Field Value</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.string">string</a></p>
|
||||
<h2 id="methods">Methods</h2>
|
||||
<h3 id="a-idtecnopack_utils_getfullpath_system_string_a-getfullpathstring"><a id="TecnoPack_Utils_GetFullPath_System_String_"></a> GetFullPath(string)</h3>
|
||||
<p>Risolve un percorso relativo e ne restituisce il percorso assoluto all’interno del progetto.<br>
|
||||
Così non ti sbagli più a indicare i percorsi.</p>
|
||||
<pre class="hljs"><code><span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-built_in">string</span> <span class="hljs-title">GetFullPath</span>(<span class="hljs-params"><span class="hljs-built_in">string</span> relativePath</span>)
|
||||
</span></code></pre>
|
||||
<h4 id="parameters">Parameters</h4>
|
||||
<p><code>relativePath</code> <a href="https://learn.microsoft.com/dotnet/api/system.string">string</a></p>
|
||||
<p>Il percorso relativo da risolvere (inserisci un valore valido).</p>
|
||||
<h4 id="returns">Returns</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.string">string</a></p>
|
||||
<p>Il percorso completo e assoluto corrispondente.</p>
|
||||
<h3 id="a-idtecnopack_utils_getrelativefileapathfromcaller_system_string_system_string_a-getrelativefileapathfromcallerstring-string"><a id="TecnoPack_Utils_GetRelativeFileapathFromCaller_System_String_System_String_"></a> GetRelativeFileapathFromCaller(string, string)</h3>
|
||||
<p>Restituisce il percorso completo di un file, partendo dal percorso del file sorgente che ha chiamato questo metodo.</p>
|
||||
<pre class="hljs"><code><span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-built_in">string</span> <span class="hljs-title">GetRelativeFileapathFromCaller</span>(<span class="hljs-params"><span class="hljs-built_in">string</span> relativeFileName, <span class="hljs-built_in">string</span> callerFilePath = <span class="hljs-string">""</span></span>)
|
||||
</span></code></pre>
|
||||
<h4 id="parameters">Parameters</h4>
|
||||
<p><code>relativeFileName</code> <a href="https://learn.microsoft.com/dotnet/api/system.string">string</a></p>
|
||||
<p>Il nome o percorso relativo del file da risolvere.</p>
|
||||
<p><code>callerFilePath</code> <a href="https://learn.microsoft.com/dotnet/api/system.string">string</a></p>
|
||||
<p>Il percorso completo del file sorgente chiamante, fornito automaticamente dal compilatore.<br>
|
||||
Non va passato manualmente.</p>
|
||||
<h4 id="returns">Returns</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.string">string</a></p>
|
||||
<p>Il percorso assoluto calcolato a partire dalla posizione del file chiamante e dal nome relativo.</p>
|
||||
<h3 id="a-idtecnopack_utils_gettempfoldera-gettempfolder"><a id="TecnoPack_Utils_GetTempFolder"></a> GetTempFolder()</h3>
|
||||
<p>Restituisce il percorso completo della cartella temporanea, pronta per essere usata.<br>
|
||||
Senza doverci pensare troppo.</p>
|
||||
<pre class="hljs"><code><span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-built_in">string</span> <span class="hljs-title">GetTempFolder</span>()
|
||||
</span></code></pre>
|
||||
<h4 id="returns">Returns</h4>
|
||||
<p><a href="https://learn.microsoft.com/dotnet/api/system.string">string</a></p>
|
||||
<p>Il percorso assoluto della cartella temporanea del progetto.</p>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":15} -->
|
||||
|
||||
<!-- 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-4">
|
||||
<a href="#inheritance" class="toc-link">Inheritance</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#inherited-members" class="toc-link">Inherited Members</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#fields" class="toc-link">Fields</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#a-idtecnopack_utils_temp_folder_resource_uria-temp_folder_resource_uri" class="toc-link"> TEMP_FOLDER_RESOURCE_URI</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#field-value" class="toc-link">Field Value</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#methods" class="toc-link">Methods</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#a-idtecnopack_utils_getfullpath_system_string_a-getfullpathstring" class="toc-link"> GetFullPath(string)</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#parameters" class="toc-link">Parameters</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#returns" class="toc-link">Returns</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#a-idtecnopack_utils_getrelativefileapathfromcaller_system_string_system_string_a-getrelativefileapathfromcallerstring-string" class="toc-link"> GetRelativeFileapathFromCaller(string, string)</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#parameters" class="toc-link">Parameters</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#returns" class="toc-link">Returns</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#a-idtecnopack_utils_gettempfoldera-gettempfolder" class="toc-link"> GetTempFolder()</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#returns" class="toc-link">Returns</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>
|
||||
|
|
@ -0,0 +1,337 @@
|
|||
<!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/TecnoPack/TecnoPack/">
|
||||
<meta property="og:title" content="TecnoPack | 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/TecnoPack/TecnoPack/">
|
||||
<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="TecnoPack | 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>TecnoPack : 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>TecnoPack</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="a-idtecnopacka-namespace-tecnopack"><a id="TecnoPack"></a> Namespace TecnoPack</h1>
|
||||
<h3 id="classes">Classes</h3>
|
||||
<p><a href="TecnoPack.AlarmImporter.md">AlarmImporter</a></p>
|
||||
<p>Classe statica per l’importazione di allarmi da file Excel (.xlsx)<br>
|
||||
nella struttura del progetto FTOptix, inclusi dizionari e traduzioni.</p>
|
||||
<p><a href="TecnoPack.BaseIOCardDefinition.md">BaseIOCardDefinition</a></p>
|
||||
<p>Classe base astratta per le definizioni di schede IO, contenente proprietà condivise tra le varie tipologie.</p>
|
||||
<p><a href="TecnoPack.ConsoleLauncher.md">ConsoleLauncher</a></p>
|
||||
<p>Classe statica responsabile dell’esecuzione di uno script batch da console<br>
|
||||
e della lettura dell’input prodotto dallo script stesso.</p>
|
||||
<p><a href="TecnoPack.DynamicLinkExtensions.md">DynamicLinkExtensions</a></p>
|
||||
<p>Classe di estensione per la creazione e gestione dei Dynamic Link su variabili UA in FTOptix.</p>
|
||||
<p><a href="TecnoPack.IOCardConfig.md">IOCardConfig</a></p>
|
||||
<p>Rappresenta la configurazione delle schede IO (Input/Output) del sistema.<br>
|
||||
Include la mappatura delle schede IO normali e di sicurezza.</p>
|
||||
<p><a href="TecnoPack.InformationModelExtensions.md">InformationModelExtensions</a></p>
|
||||
<p>Contiene metodi di estensione per la gestione del modello informativo OPC UA all’interno del progetto FTOptix.</p>
|
||||
<p><a href="TecnoPack.NormalIOCardDefinition.md">NormalIOCardDefinition</a></p>
|
||||
<p>Definizione di una scheda IO normale.<br>
|
||||
Eredita le proprietà comuni dalla classe <xref href="TecnoPack.BaseIOCardDefinition" data-throw-if-not-resolved="false"></xref>.</p>
|
||||
<p><a href="TecnoPack.SafetyIOCardDefinition.md">SafetyIOCardDefinition</a></p>
|
||||
<p>Definizione di una scheda IO di sicurezza.<br>
|
||||
Estende <xref href="TecnoPack.BaseIOCardDefinition" data-throw-if-not-resolved="false"></xref> aggiungendo il tipo di uscita.</p>
|
||||
<p><a href="TecnoPack.ScriptBuilder.md">ScriptBuilder</a></p>
|
||||
<p>Classe statica responsabile della generazione di script batch dinamici<br>
|
||||
utilizzati per presentare opzioni all’utente e gestire l’input.</p>
|
||||
<p><a href="TecnoPack.Utils.md">Utils</a></p>
|
||||
<p>Classe di utilità che fornisce metodi e costanti per la gestione di percorsi file e cartelle temporanee.</p>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":2} -->
|
||||
|
||||
<!-- TOC sidebar -->
|
||||
<div class="toc-sidebar">
|
||||
|
||||
|
||||
</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>
|
||||
|
|
@ -0,0 +1,560 @@
|
|||
<!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/tpDiagnosticQueryInterface/">
|
||||
<meta property="og:title" content="tpDiagnosticQueryInterface | 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/tpDiagnosticQueryInterface/">
|
||||
<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="tpDiagnosticQueryInterface | 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>tpDiagnosticQueryInterface : 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>tpDiagnosticQueryInterface</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="tpdiagnosticqueryinterface">⚙️ tpDiagnosticQueryInterface</h1>
|
||||
<p>La classe <strong>tpDiagnosticQueryInterface</strong> è una NetLogic che permette di eseguire query su un database SQLite e aggiornare variabili di output con i risultati in tempo reale.</p>
|
||||
<p>È pensata per interfacciarsi con un database di diagnostica e fornire dinamicamente dati a variabili HMI, abilitando l’aggiornamento automatico dei valori tramite query configurabili.</p>
|
||||
<hr>
|
||||
<h2 id="panoramica-generale">🚦 Panoramica generale</h2>
|
||||
<p>La logica si basa su:</p>
|
||||
<ul>
|
||||
<li>Una variabile <code>Query</code> che contiene la stringa SQL da eseguire.</li>
|
||||
<li>Una variabile <code>Enabled</code> che abilita o disabilita l’esecuzione della query.</li>
|
||||
<li>Una lista di variabili <code>OutVariables</code> che ricevono i valori dal primo record risultato della query.</li>
|
||||
<li>Un database SQLite a cui si accede tramite percorso predefinito.</li>
|
||||
</ul>
|
||||
<hr>
|
||||
<h2 id="funzionamento-principale">🛠️ Funzionamento principale</h2>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Elemento</th>
|
||||
<th>Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>Start()</code></td>
|
||||
<td>Inizializza riferimenti alle variabili, al database e si iscrive agli eventi di cambio variabile.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>UpdateStatus()</code></td>
|
||||
<td>Esegue la query SQL se abilitato, aggiorna le variabili di output con i risultati.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Stop()</code></td>
|
||||
<td>Pulisce le liste e rimuove gli handler eventi per evitare memory leak.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr>
|
||||
<h2 id="flusso-di-lavoro">🔄 Flusso di lavoro</h2>
|
||||
<ol><li>Alla partenza, recupera le variabili <code>Query</code> e <code>Enabled</code>, e il riferimento al database SQLite.</li>
|
||||
<li>Si iscrive agli eventi di cambio delle variabili <code>Query</code> e <code>Enabled</code>.</li>
|
||||
<li>Quando <code>Query</code> o <code>Enabled</code> cambiano, viene eseguita la query SQL se <code>Enabled</code> è true.</li>
|
||||
<li>Il primo record risultato viene scritto sulle variabili di output, fino a un massimo di variabili disponibili.</li>
|
||||
</ol>
|
||||
<hr>
|
||||
<h2 id="dettagli-importanti">💡 Dettagli importanti</h2>
|
||||
<ul>
|
||||
<li>Se la query SQL fallisce, viene loggato un messaggio d’errore molto colorito e dettagliato (con frase in dialetto veneziano).</li>
|
||||
<li>Le variabili di output sono i primi N figli dell’oggetto NetLogic, dove N è il numero di colonne del risultato SQL.</li>
|
||||
<li>L’aggiornamento supporta solo il primo record del risultato (riga zero).</li>
|
||||
</ul>
|
||||
<hr>
|
||||
<h2 id="come-configurare-le-variabili-di-output-su-netlogic-in-factory-talk-optix">🛠️ Come configurare le variabili di output su NetLogic in Factory Talk Optix</h2>
|
||||
<p>La classe si aspetta che sull’oggetto NetLogic siano create variabili aggiuntive per mappare i valori restituiti dalla query SQL.</p>
|
||||
<h3 id="1-creazione-delle-variabili-di-output">1. Creazione delle variabili di output</h3>
|
||||
<ul>
|
||||
<li><strong>Nome variabile:</strong> Devono avere nomi sequenziali nel formato <code>[0]</code>, <code>[1]</code>, <code>[2]</code>, ecc.</li>
|
||||
<li><strong>Come crearle:</strong>
|
||||
<ul>
|
||||
<li>Apri Factory Talk Optix e seleziona l’oggetto NetLogic in design time.</li>
|
||||
<li>Aggiungi variabili figlie di tipo <code>IUAVariable</code> o equivalente, con i nomi indicati sopra.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Tipo variabile:</strong> Può essere arbitrario (es. <code>String</code>, <code>Int32</code>, <code>Float</code>, ecc.) in base al tipo di dato atteso dalla colonna SQL.</li>
|
||||
</ul>
|
||||
<h3 id="2-gestione-delle-variabili-in-runtime">2. Gestione delle variabili in runtime</h3>
|
||||
<ul>
|
||||
<li>Il codice legge dinamicamente queste variabili usando la numerazione <code>[0]</code>, <code>[1]</code>, ecc., e le usa come destinazione per i valori estratti dal primo record della query.</li>
|
||||
<li>Se non esistono variabili per tutte le colonne, il ciclo si interrompe al primo nome mancante.</li>
|
||||
<li>È possibile aggiungere tutte le variabili necessarie in modo sequenziale, in base al numero di colonne della query.</li>
|
||||
</ul>
|
||||
<h3 id="3-tipo-arbitrario-e-flessibilit">3. Tipo arbitrario e flessibilità</h3>
|
||||
<ul>
|
||||
<li>Le variabili possono avere qualsiasi tipo supportato da Factory Talk Optix e compatibile con i tipi di dato SQL.</li>
|
||||
<li>Il codice scrive valori tramite <code>RemoteWrite</code> e usa <code>UAValue</code> che gestisce diversi tipi.</li>
|
||||
<li>È importante che il tipo della variabile corrisponda al tipo del dato restituito per evitare errori.</li>
|
||||
</ul>
|
||||
<hr>
|
||||
<h3 id="esempio-di-configurazione-variabili">🔧 Esempio di configurazione variabili</h3>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Nome variabile</th>
|
||||
<th>Tipo suggerito</th>
|
||||
<th>Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>[0]</code></td>
|
||||
<td><code>String</code></td>
|
||||
<td>Prima colonna risultato query</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>[1]</code></td>
|
||||
<td><code>Int32</code></td>
|
||||
<td>Seconda colonna risultato query</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>[2]</code></td>
|
||||
<td><code>Float</code></td>
|
||||
<td>Terza colonna risultato query</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>…</td>
|
||||
<td>…</td>
|
||||
<td>…</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr>
|
||||
<h3 id="nota-importante">⚠️ Nota importante</h3>
|
||||
<ul>
|
||||
<li>La classe attualmente supporta solo il primo record della query (riga zero).</li>
|
||||
<li>Per gestire più righe servirebbe implementare una logica di iterazione e mapping aggiuntiva.</li>
|
||||
</ul>
|
||||
<hr>
|
||||
<h2 id="metodi-principali">🧰 Metodi principali</h2>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Metodo</th>
|
||||
<th>Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>Start()</code></td>
|
||||
<td>Setup iniziale: recupera variabili e database, iscrive eventi, prepara lista variabili output.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>UpdateStatus()</code></td>
|
||||
<td>Esegue la query e aggiorna le variabili se abilitato.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>UpdateStatus(object, VariableChangeEventArgs)</code></td>
|
||||
<td>Overload che risponde agli eventi di cambio variabile, invocando il metodo senza parametri.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Stop()</code></td>
|
||||
<td>Pulizia delle risorse e rimozione degli eventi.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr>
|
||||
<h1 id="in-depth-funzioni-di-tpdiagnosticqueryinterface">🔍 In Depth: Funzioni di tpDiagnosticQueryInterface</h1>
|
||||
<hr>
|
||||
<h3 id="start"><code>Start()</code></h3>
|
||||
<blockquote>
|
||||
<p><strong>Descrizione:</strong><br>
|
||||
Metodo di inizializzazione chiamato all’avvio della NetLogic.<br>
|
||||
Recupera le variabili <code>Query</code> e <code>Enabled</code> e il database SQLite.<br>
|
||||
Registra gli eventi di cambio variabile per aggiornare lo stato.<br>
|
||||
Costruisce la lista <code>OutVariables</code> basandosi sui figli dell’oggetto NetLogic.</p>
|
||||
</blockquote>
|
||||
<blockquote>
|
||||
<p><strong>Eccezioni:</strong><br>
|
||||
Lancia eccezioni se le variabili o il database non vengono trovati, con messaggi personalizzati in dialetto veneziano.</p>
|
||||
</blockquote>
|
||||
<hr>
|
||||
<h3 id="updatestatus"><code>UpdateStatus()</code></h3>
|
||||
<blockquote>
|
||||
<p><strong>Descrizione:</strong><br>
|
||||
Controlla se la logica è abilitata leggendo la variabile <code>Enabled</code>.<br>
|
||||
Se abilitata, esegue la query SQL contenuta in <code>Query</code>.<br>
|
||||
Scrive il primo record dei risultati sulle variabili <code>OutVariables</code>.</p>
|
||||
</blockquote>
|
||||
<blockquote>
|
||||
<p><strong>Error Handling:</strong><br>
|
||||
In caso di errore nella query, logga un messaggio di errore molto colorito contenente dettagli tecnici.</p>
|
||||
</blockquote>
|
||||
<hr>
|
||||
<h3 id="updatestatusobject-sender-variablechangeeventargs-e"><code>UpdateStatus(object sender, VariableChangeEventArgs e)</code></h3>
|
||||
<blockquote>
|
||||
<p><strong>Descrizione:</strong><br>
|
||||
Handler evento che richiama semplicemente <code>UpdateStatus()</code> senza parametri per aggiornare lo stato quando <code>Query</code> o <code>Enabled</code> cambiano.</p>
|
||||
</blockquote>
|
||||
<hr>
|
||||
<h3 id="stop"><code>Stop()</code></h3>
|
||||
<blockquote>
|
||||
<p><strong>Descrizione:</strong><br>
|
||||
Pulizia e rimozione dei riferimenti alle variabili e agli eventi.<br>
|
||||
Serve a prevenire perdite di memoria quando la NetLogic viene fermata o distrutta.</p>
|
||||
</blockquote>
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":17} -->
|
||||
|
||||
<!-- 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="#funzionamento-principale" class="toc-link">🛠️ Funzionamento principale</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#flusso-di-lavoro" class="toc-link">🔄 Flusso di lavoro</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#dettagli-importanti" class="toc-link">💡 Dettagli importanti</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#come-configurare-le-variabili-di-output-su-netlogic-in-factory-talk-optix" class="toc-link">🛠️ Come configurare le variabili di output su NetLogic in Factory Talk Optix</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#1-creazione-delle-variabili-di-output" class="toc-link">1. Creazione delle variabili di output</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#2-gestione-delle-variabili-in-runtime" class="toc-link">2. Gestione delle variabili in runtime</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#3-tipo-arbitrario-e-flessibilit" class="toc-link">3. Tipo arbitrario e flessibilità</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#esempio-di-configurazione-variabili" class="toc-link">🔧 Esempio di configurazione variabili</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#nota-importante" class="toc-link">⚠️ Nota importante</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-3">
|
||||
<a href="#start" class="toc-link">Start()</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#updatestatus" class="toc-link">UpdateStatus()</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#updatestatusobject-sender-variablechangeeventargs-e" class="toc-link">UpdateStatus(object sender, VariableChangeEventArgs e)</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#stop" class="toc-link">Stop()</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>
|
||||
|
|
@ -0,0 +1,421 @@
|
|||
<!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/tpPopulateIONetworkDisplay/">
|
||||
<meta property="og:title" content="tpPopulateIONetworkDisplay | 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/tpPopulateIONetworkDisplay/">
|
||||
<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="tpPopulateIONetworkDisplay | 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>tpPopulateIONetworkDisplay : 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>tpPopulateIONetworkDisplay</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="tppopulateionetworkdisplay">🖥️ tpPopulateIONetworkDisplay</h1>
|
||||
<p>La classe <strong>tpPopulateIONetworkDisplay</strong> è una NetLogic che si occupa di comporre e mostrare nella UI la diagnostica completa di tutti gli IO rack remoti presenti nel sistema.<br>
|
||||
Questa classe raccoglie i dati dai dispositivi remoti configurati e crea dinamicamente i pannelli di visualizzazione per ciascun rack IO.</p>
|
||||
<hr>
|
||||
<h2 id="panoramica-generale">🚦 Panoramica generale</h2>
|
||||
<p>La logica si basa su:</p>
|
||||
<ul>
|
||||
<li>Un folder <code>CommDrivers</code> contenente i <code>TagStructure</code> relativi agli IO rack remoti.</li>
|
||||
<li>Un layout UI (<code>IONodesDisplay</code> di tipo <code>ColumnLayout</code>) dove vengono aggiunti dinamicamente i pannelli rappresentanti ogni IO rack.</li>
|
||||
<li>La comunicazione con ogni pannello remoto, che a sua volta usa la logica <strong>tpPopulateIORack</strong> per popolare i dettagli dello rack.</li>
|
||||
</ul>
|
||||
<hr>
|
||||
<h2 id="funzionamento-principale">🛠️ Funzionamento principale</h2>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Elemento</th>
|
||||
<th>Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>Populate()</code></td>
|
||||
<td>Metodo pubblico esportato che avvia un task asincrono per la composizione dinamica della UI.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>populateTask()</code></td>
|
||||
<td>Metodo che esegue la scansione dei tag di tipo <code>TagStructure</code> e costruisce i pannelli remoti.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>getRemoteIONodes(UAReference r)</code></td>
|
||||
<td>Metodo helper che crea un pannello remoto per ogni rack IO e ne avvia il popolamento UI.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr>
|
||||
<h2 id="in-depth-funzioni-di-tppopulateionetworkdisplay">🔍 In Depth: Funzioni di tpPopulateIONetworkDisplay</h2>
|
||||
<hr>
|
||||
<h3 id="populate"><code>Populate()</code></h3>
|
||||
<blockquote>
|
||||
<p><strong>Descrizione:</strong><br>
|
||||
Metodo esportato per avviare la composizione della diagnostica IO in modo asincrono, evitando il blocco del thread UI.</p>
|
||||
</blockquote>
|
||||
<hr>
|
||||
<h3 id="populatetask"><code>populateTask()</code></h3>
|
||||
<blockquote>
|
||||
<p><strong>Descrizione:</strong></p>
|
||||
<ol><li>Recupera il folder <code>CommDrivers</code> contenente i tag strutturati degli IO rack.</li>
|
||||
<li>Pulisce il layout UI <code>IONodesDisplay</code> per prepararlo a contenere i nuovi pannelli.</li>
|
||||
<li>Costruisce un array con i nomi dei tag attesi (<code>AB:1734_{slot}SLOT:I:0</code> da 1 a 64).</li>
|
||||
<li>Filtra i nodi di tipo <code>TagStructureType</code> corrispondenti ai nomi attesi.</li>
|
||||
<li>Per ciascun nodo valido, richiama il metodo <code>getRemoteIONodes</code> per creare il pannello remoto.</li>
|
||||
</ol>
|
||||
</blockquote>
|
||||
<hr>
|
||||
<h3 id="getremoteionodesuareference-r"><code>getRemoteIONodes(UAReference r)</code></h3>
|
||||
<blockquote>
|
||||
<p><strong>Descrizione:</strong></p>
|
||||
<ol><li>Ottiene il nodo <code>TagStructure</code> di destinazione dal riferimento passato.</li>
|
||||
<li>Estrae il nome del dispositivo remoto (<code>remoteIOName</code>).</li>
|
||||
<li>Crea un pannello (<code>PanelType</code>) figlio del pannello <code>RemoteIO</code>, con nome uguale al dispositivo remoto.</li>
|
||||
<li>Imposta la variabile <code>RemoteIOName</code> del pannello appena creato con il nome del dispositivo remoto.</li>
|
||||
<li>Aggiunge il pannello al layout <code>IONodesDisplay</code>.</li>
|
||||
<li>Effettua una pausa di 250ms (necessaria per problemi di sincronizzazione con dispositivi Rockwell).</li>
|
||||
<li>Invoca il metodo <code>Populate()</code> della NetLogic <a href="./tpPopulateIORack.md"><code>PopulateIORack</code></a> contenuta all’interno del pannello per popolare i dettagli.</li>
|
||||
</ol>
|
||||
</blockquote>
|
||||
<hr>
|
||||
<h2 id="note-importanti">⚠️ Note importanti</h2>
|
||||
<ul>
|
||||
<li>La classe presuppone che i dispositivi remoti e i relativi tag strutturati siano correttamente configurati nel folder <code>CommDrivers</code>.</li>
|
||||
<li>La sincronizzazione e il caricamento dei pannelli sono gestiti con una breve pausa, necessaria per garantire la corretta inizializzazione su dispositivi Rockwell.</li>
|
||||
<li>Ogni pannello remoto utilizza la logica <a href="./tpPopulateIORack.md"><strong>tpPopulateIORack</strong></a> per il popolamento dei dettagli del rack.</li>
|
||||
</ul>
|
||||
<hr>
|
||||
<p>Se vuoi vedere come funziona il popolamento di ogni singolo rack IO, dai un’occhiata alla documentazione di <a href="./tpPopulateIORack.md">tpPopulateIORack</a>.</p>
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":8} -->
|
||||
|
||||
<!-- 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="#funzionamento-principale" class="toc-link">🛠️ Funzionamento principale</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#in-depth-funzioni-di-tppopulateionetworkdisplay" class="toc-link">🔍 In Depth: Funzioni di tpPopulateIONetworkDisplay</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#populate" class="toc-link">Populate()</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#populatetask" class="toc-link">populateTask()</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#getremoteionodesuareference-r" class="toc-link">getRemoteIONodes(UAReference r)</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#note-importanti" class="toc-link">⚠️ Note importanti</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>
|
||||
|
|
@ -0,0 +1,485 @@
|
|||
<!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/tpPopulateIORack/">
|
||||
<meta property="og:title" content="tpPopulateIORack | 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/tpPopulateIORack/">
|
||||
<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="tpPopulateIORack | 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>tpPopulateIORack : 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>tpPopulateIORack</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="tppopulateiorack">⚙️ tpPopulateIORack</h1>
|
||||
<p>La classe <strong>tpPopulateIORack</strong> è una NetLogic che si occupa di popolare dinamicamente la UI con le schede IO (Input/Output) di un rack remoto, basandosi su una configurazione YAML e strutture dati presenti nel progetto Factory Talk Optix.</p>
|
||||
<blockquote>
|
||||
<p>⚠️ <strong>Nota:</strong> La configurazione YAML viene deserializzata in oggetti C# di tipo <strong>IOCardConfig</strong> (definiti in un file dedicato, <a href="./IOCardConfig.md">IOCardConfig.md</a>).<br>
|
||||
Questa classe rappresenta la struttura dei dati usata per leggere la configurazione e differenziare schede normali e safety.</p>
|
||||
</blockquote>
|
||||
<hr>
|
||||
<h2 id="panoramica-generale">🚦 Panoramica generale</h2>
|
||||
<p>La logica si basa su:</p>
|
||||
<ul>
|
||||
<li>Un file di configurazione YAML (<code>io_card_config.yaml</code>) che descrive le caratteristiche e tipologie delle schede IO, corrispondente alla classe <code>IOCardConfig</code>.</li>
|
||||
<li>Folder di progetto contenenti i template grafici (di tipo <code>RectangleType</code>) per le schede IO da istanziare.</li>
|
||||
<li>Un folder <code>CommDrivers</code> che contiene le variabili remote corrispondenti ai dispositivi IO fisici.</li>
|
||||
<li>Un layout UI (<code>RemoteIOBackplane</code>) dove vengono aggiunte dinamicamente le schede.</li>
|
||||
</ul>
|
||||
<hr>
|
||||
<h2 id="funzionamento-principale">🛠️ Funzionamento principale</h2>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Elemento</th>
|
||||
<th>Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>Populate()</code></td>
|
||||
<td>Metodo pubblico esportato per avviare il popolamento tramite task asincrono a lunga durata.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>LoadConfiguration()</code></td>
|
||||
<td>Legge e deserializza il file YAML con la configurazione delle schede IO in oggetti <code>IOCardConfig</code>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>InitializeNodeTypes()</code></td>
|
||||
<td>Recupera i template grafici (RectangleType) per ogni tipo di scheda configurata.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PopulateIOCards()</code></td>
|
||||
<td>Crea e aggiunge i nodi scheda nel layout UI, sincronizzando l’ordine con un meccanismo di semafori.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h1 id="in-depth-funzioni-di-tppopulateiorack">🔍 In Depth: Funzioni di tpPopulateIORack</h1>
|
||||
<hr>
|
||||
<h3 id="populate"><code>Populate()</code></h3>
|
||||
<blockquote>
|
||||
<p><strong>Descrizione:</strong><br>
|
||||
Avvia il processo di popolamento della UI.<br>
|
||||
Esegue in background la lettura della configurazione, l’inizializzazione dei template e la creazione dinamica delle schede IO.</p>
|
||||
</blockquote>
|
||||
<hr>
|
||||
<h3 id="loadconfiguration"><code>LoadConfiguration()</code></h3>
|
||||
<blockquote>
|
||||
<p><strong>Descrizione:</strong><br>
|
||||
Legge il file YAML di configurazione (<code>io_card_config.yaml</code>) e lo deserializza in oggetti <a href="./IOCardConfig.md">IOCardConfig</a> per uso interno.</p>
|
||||
</blockquote>
|
||||
<hr>
|
||||
<h3 id="initializenodetypes"><code>InitializeNodeTypes()</code></h3>
|
||||
<blockquote>
|
||||
<p><strong>Descrizione:</strong><br>
|
||||
Carica i template grafici (<code>RectangleType</code>) associati a ciascun tipo di scheda definito nella configurazione YAML.</p>
|
||||
</blockquote>
|
||||
<hr>
|
||||
<h3 id="populateiocards"><code>PopulateIOCards()</code></h3>
|
||||
<blockquote>
|
||||
<p><strong>Descrizione:</strong><br>
|
||||
Per ogni slot del rack (da 1 a 64), verifica la presenza di dispositivi remoti e crea le schede IO normali o di sicurezza corrispondenti, aggiungendole al layout UI.</p>
|
||||
</blockquote>
|
||||
<hr>
|
||||
<h3 id="trycreateandaddnormalcard"><code>TryCreateAndAddNormalCard()</code></h3>
|
||||
<blockquote>
|
||||
<p><strong>Descrizione:</strong><br>
|
||||
Tenta di creare e aggiungere una scheda IO normale basata sulla configurazione e i dati trovati nel folder <code>CommDrivers</code>.</p>
|
||||
</blockquote>
|
||||
<hr>
|
||||
<h3 id="trycreateandaddsafetycard"><code>TryCreateAndAddSafetyCard()</code></h3>
|
||||
<blockquote>
|
||||
<p><strong>Descrizione:</strong><br>
|
||||
Tenta di creare e aggiungere una scheda IO di sicurezza, gestendo input e output associati.</p>
|
||||
</blockquote>
|
||||
<hr>
|
||||
<h3 id="makecardandaddtolayout"><code>MakeCardAndAddToLayout()</code></h3>
|
||||
<blockquote>
|
||||
<p><strong>Descrizione:</strong><br>
|
||||
Metodo interno che istanzia la scheda IO, imposta le proprietà comuni e la inserisce ordinatamente nel layout UI, rispettando la sincronizzazione con i semafori.</p>
|
||||
</blockquote>
|
||||
<hr>
|
||||
<h3 id="setcardcommonproperties"><code>SetCardCommonProperties()</code></h3>
|
||||
<blockquote>
|
||||
<p><strong>Descrizione:</strong><br>
|
||||
Imposta variabili comuni della scheda (come indice, nome, colori LED) per assicurare la corretta rappresentazione grafica e funzionale.</p>
|
||||
</blockquote>
|
||||
<hr>
|
||||
<h2 id="esempio-di-configurazione-yaml-io_card_configyaml">🗂️ Esempio di configurazione YAML (<code>io_card_config.yaml</code>)</h2>
|
||||
<pre class="hljs"><code><span class="hljs-attr">normalIoCards:</span>
|
||||
<span class="hljs-attr">AB:1734_DI8:C:0:</span>
|
||||
<span class="hljs-attr">type:</span> <span class="hljs-string">IB8</span>
|
||||
<span class="hljs-attr">nodeType:</span> <span class="hljs-string">IOCard_8B</span>
|
||||
<span class="hljs-attr">iODirection:</span> <span class="hljs-string">I</span>
|
||||
<span class="hljs-attr">colors:</span>
|
||||
<span class="hljs-attr">card:</span> <span class="hljs-number">0xff1b83df</span>
|
||||
<span class="hljs-attr">led_on:</span> <span class="hljs-number">0xff00fa7e</span>
|
||||
<span class="hljs-attr">led_off:</span> <span class="hljs-number">0xff0f4d29</span>
|
||||
|
||||
<span class="hljs-attr">AB:1734_DOB8:C:0:</span>
|
||||
<span class="hljs-attr">type:</span> <span class="hljs-string">OB8</span>
|
||||
<span class="hljs-attr">nodeType:</span> <span class="hljs-string">IOCard_8B</span>
|
||||
<span class="hljs-attr">iODirection:</span> <span class="hljs-string">O</span>
|
||||
<span class="hljs-attr">colors:</span>
|
||||
<span class="hljs-attr">card:</span> <span class="hljs-number">0xff40aa84</span>
|
||||
<span class="hljs-attr">led_on:</span> <span class="hljs-number">0xffea2e2e</span>
|
||||
<span class="hljs-attr">led_off:</span> <span class="hljs-number">0xff500f0f</span>
|
||||
|
||||
<span class="hljs-attr">safetyIoCards:</span>
|
||||
<span class="hljs-attr">AB:1734_IB8S_Safety2:I:0:</span>
|
||||
<span class="hljs-attr">outputType:</span> <span class="hljs-string">AB:1734_IB8S:O:0</span>
|
||||
<span class="hljs-attr">type:</span> <span class="hljs-string">IB8S</span>
|
||||
<span class="hljs-attr">nodeType:</span> <span class="hljs-string">IOCard_8BS</span>
|
||||
<span class="hljs-attr">iODirection:</span> <span class="hljs-string">I</span>
|
||||
<span class="hljs-attr">colors:</span>
|
||||
<span class="hljs-attr">card:</span> <span class="hljs-number">0xffe4564b</span>
|
||||
<span class="hljs-attr">led_on:</span> <span class="hljs-number">0xff00fa7e</span>
|
||||
<span class="hljs-attr">led_off:</span> <span class="hljs-number">0xff0f4d29</span>
|
||||
</code></pre>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":13} -->
|
||||
|
||||
<!-- 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="#funzionamento-principale" class="toc-link">🛠️ Funzionamento principale</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#populate" class="toc-link">Populate()</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#loadconfiguration" class="toc-link">LoadConfiguration()</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#initializenodetypes" class="toc-link">InitializeNodeTypes()</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#populateiocards" class="toc-link">PopulateIOCards()</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#trycreateandaddnormalcard" class="toc-link">TryCreateAndAddNormalCard()</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#trycreateandaddsafetycard" class="toc-link">TryCreateAndAddSafetyCard()</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#makecardandaddtolayout" class="toc-link">MakeCardAndAddToLayout()</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#setcardcommonproperties" class="toc-link">SetCardCommonProperties()</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#esempio-di-configurazione-yaml-io_card_configyaml" class="toc-link">🗂️ Esempio di configurazione YAML (io_card_config.yaml)</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>
|
||||
|
|
@ -0,0 +1,429 @@
|
|||
<!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/tpdAlarmManager/">
|
||||
<meta property="og:title" content="tpdAlarmManager | 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/tpdAlarmManager/">
|
||||
<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="tpdAlarmManager | 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>tpdAlarmManager : 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>tpdAlarmManager</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="tpdalarmmanager">⚙️ tpdAlarmManager</h1>
|
||||
<p>La classe <strong>tpdAlarmManager</strong> è una NetLogic che si occupa di importare traduzioni e allarmi da file Excel (<code>.xlsx</code>) presenti in una cartella specificata.</p>
|
||||
<p>Questo componente automatizza il caricamento di dizionari di allarmi, facilitando l’integrazione e la gestione centralizzata dei dati di allarme nel progetto.</p>
|
||||
<hr>
|
||||
<h2 id="panoramica-generale">🚦 Panoramica generale</h2>
|
||||
<p>Il metodo principale della classe è:</p>
|
||||
<ul>
|
||||
<li><code>ImportTranslationsAndAlarms()</code>: Importa i file Excel di allarmi e traduzioni dalla cartella configurata, permette all’utente di selezionare quali dizionari caricare, quindi importa i dati all’interno del progetto HMI.</li>
|
||||
</ul>
|
||||
<hr>
|
||||
<h2 id="funzionamento-principale">🛠️ Funzionamento principale</h2>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Metodo</th>
|
||||
<th>Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>ImportTranslationsAndAlarms()</code></td>
|
||||
<td>Esegue la scansione della cartella degli allarmi, filtra i file <code>.xlsx</code>, mostra una selezione all’utente e importa i dizionari scelti.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr>
|
||||
<h2 id="flusso-di-lavoro-del-metodo-importtranslationsandalarms">🔄 Flusso di lavoro del metodo ImportTranslationsAndAlarms</h2>
|
||||
<ol><li>Recupera il percorso completo della cartella allarmi tramite la variabile <code>AlarmFolder</code>.</li>
|
||||
<li>Controlla che la cartella esista; altrimenti lancia un’eccezione con messaggio in dialetto veneto.</li>
|
||||
<li>Cerca tutti i file <code>.xlsx</code> nella cartella specificata.</li>
|
||||
<li>Crea un dizionario che mappa il nome del file (senza estensione) al percorso completo.</li>
|
||||
<li>Invoca uno script che presenta una lista di opzioni all’utente per selezionare i dizionari da importare.</li>
|
||||
<li>Per ogni dizionario selezionato, richiama <code>Owner.ImportAlarmsInsideOwner</code> per importare i dati nel progetto.</li>
|
||||
</ol>
|
||||
<hr>
|
||||
<h2 id="dettagli-importanti">💡 Dettagli importanti</h2>
|
||||
<ul>
|
||||
<li>La funzione utilizza un metodo di utilità <code>Utils.GetFullPath()</code> per risolvere il percorso della cartella allarmi.</li>
|
||||
<li>Viene utilizzata una cartella temporanea tramite <code>Utils.GetTempFolder()</code> per eventuali operazioni intermedie.</li>
|
||||
<li>L’utente interagisce con uno script generato dinamicamente per scegliere i file da importare, tramite <code>ConsoleLauncher.Launch</code>.</li>
|
||||
<li>I nomi dei file senza estensione sono usati come chiavi per la selezione.</li>
|
||||
<li>L’eccezione lanciata in caso di cartella inesistente ha un tono molto colloquiale e colorito (dialetto veneto).</li>
|
||||
<li>È presente un codice commentato per una versione parallela di importazione (con <code>Parallel.ForEach</code>) che potrebbe essere abilitata per migliorare performance.</li>
|
||||
</ul>
|
||||
<hr>
|
||||
<h2 id="metodi-principali">🧰 Metodi principali</h2>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Metodo</th>
|
||||
<th>Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>ImportTranslationsAndAlarms()</code></td>
|
||||
<td>Metodo esportato che gestisce il processo completo di importazione degli allarmi e traduzioni da file Excel.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr>
|
||||
<h1 id="in-depth-funzioni-di-tpdalarmmanager">🔍 In Depth: Funzioni di tpdAlarmManager</h1>
|
||||
<hr>
|
||||
<h3 id="importtranslationsandalarms"><code>ImportTranslationsAndAlarms()</code></h3>
|
||||
<blockquote>
|
||||
<p><strong>Descrizione:</strong><br>
|
||||
Metodo che esegue l’importazione di dizionari di allarmi e traduzioni da file <code>.xlsx</code> presenti in una cartella specificata nel progetto.<br>
|
||||
Permette la selezione interattiva dei file da importare e li carica nel progetto tramite chiamata a <code>Owner.ImportAlarmsInsideOwner</code>.</p>
|
||||
</blockquote>
|
||||
<blockquote>
|
||||
<p><strong>Dettagli tecnici:</strong></p>
|
||||
<ul>
|
||||
<li>Risolve il percorso della cartella allarmi.</li>
|
||||
<li>Controlla l’esistenza della cartella (eccezione in caso negativo).</li>
|
||||
<li>Recupera i file Excel <code>.xlsx</code>.</li>
|
||||
<li>Presenta all’utente un menu di selezione.</li>
|
||||
<li>Importa i dizionari selezionati.</li>
|
||||
</ul>
|
||||
</blockquote>
|
||||
<blockquote>
|
||||
<p><strong>Eccezione:</strong><br>
|
||||
Lancia un’eccezione se la cartella degli allarmi non esiste, con messaggio in dialetto veneto.</p>
|
||||
</blockquote>
|
||||
<blockquote>
|
||||
<p><strong>Esempio d’uso:</strong></p>
|
||||
<pre class="hljs"><code>alarmManager.ImportTranslationsAndAlarms();
|
||||
</code></pre>
|
||||
</blockquote>
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":8} -->
|
||||
|
||||
<!-- 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="#funzionamento-principale" class="toc-link">🛠️ Funzionamento principale</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#flusso-di-lavoro-del-metodo-importtranslationsandalarms" class="toc-link">🔄 Flusso di lavoro del metodo ImportTranslationsAndAlarms</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#dettagli-importanti" class="toc-link">💡 Dettagli importanti</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-3">
|
||||
<a href="#importtranslationsandalarms" class="toc-link">ImportTranslationsAndAlarms()</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>
|
||||
|
|
@ -0,0 +1,638 @@
|
|||
<!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>
|
||||
|
|
@ -0,0 +1,323 @@
|
|||
<!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/OptixIntroduzione/">
|
||||
<meta property="og:title" content="Introduzione ad Optix | 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/OptixIntroduzione/">
|
||||
<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="Introduzione ad Optix | 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>Introduzione ad Optix : 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>Introduzione ad Optix</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">
|
||||
<p>import useBaseUrl from ‘@docusaurus/useBaseUrl’;</p>
|
||||
<div style={{ textAlign: 'center', padding: '3rem 1rem' }}>
|
||||
<p><img<br>
|
||||
src={useBaseUrl(‘/img/logos/optix-logo.png’)}<br>
|
||||
alt=“Logo Optix”<br>
|
||||
style={{ maxWidth: ‘220px’, marginBottom: ‘2rem’ }}<br>
|
||||
/></p>
|
||||
<h1>🌟Benvenuto su Optix🌟</h1>
|
||||
<p style={{ fontSize: '1.2rem', maxWidth: '800px', margin: '1rem auto' ,marginBottom: '2rem'}}>
|
||||
Questa guida ti spiegherà come usare al meglio il nuovo prototipo del pannello <strong>Optix</strong>.<br />
|
||||
Grandi cose ti aspettano, giovane Padawan!
|
||||
</p>
|
||||
<p><a className=‘pagination-nav__link’ style={{width: ‘300px’, margin: ‘0 auto’}} href={useBaseUrl(‘/docs/Rockwell/Optix/OverviewDelPannello’)}>🚀 Inizia Ora</a></p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":0} -->
|
||||
|
||||
<!-- TOC sidebar -->
|
||||
<div class="toc-sidebar">
|
||||
|
||||
|
||||
</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>
|
||||
|
|
@ -0,0 +1,443 @@
|
|||
<!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/OverviewDelPannello/">
|
||||
<meta property="og:title" content="Struttura dell'interfaccia HMI | 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/OverviewDelPannello/">
|
||||
<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="Struttura dell'interfaccia HMI | 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>Struttura dell'interfaccia HMI : 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>Struttura dell'interfaccia HMI</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">
|
||||
<p>import useBaseUrl from ‘@docusaurus/useBaseUrl’;</p>
|
||||
<h1 id="struttura-principale-della-gui-tecnopack-su-factorytalk-optix">🧭 Struttura Principale della GUI Tecnopack su FactoryTalk Optix</h1>
|
||||
<p>Questa sezione descrive la struttura dell’interfaccia grafica principale (GUI) adottata nei pannelli <strong>Tecnopack</strong>, sviluppata utilizzando <strong>FactoryTalk Optix</strong>.</p>
|
||||
<p>L’interfaccia è suddivisa in <strong>aree funzionali</strong> ben definite, ciascuna dedicata a una specifica categoria di interazione o informazione.</p>
|
||||
<hr>
|
||||
<h2 id="panoramica-generale">🖼️ Panoramica generale</h2>
|
||||
<p><img src={useBaseUrl(‘/img/screenshots/optix/main-gui-overview.jpg’)} alt=“Panoramica GUI Tecnopack” style={{ maxWidth: ‘100%’, borderRadius: ‘8px’, marginTop: ‘1rem’ }} /></p>
|
||||
<hr>
|
||||
<h2 id="composizione-dellinterfaccia">🧩 Composizione dell’interfaccia</h2>
|
||||
<h3 id="header-superiore">🔝 Header superiore</h3>
|
||||
<ul>
|
||||
<li><strong>Logo aziendale</strong>: posizionato in alto a sinistra, identifica il marchio (TECNOPACK GROUP).</li>
|
||||
<li><strong>Informazioni di pagina</strong>: accanto al logo si trovano due etichette:
|
||||
<ul>
|
||||
<li>Il <strong>numero pagina</strong>, utilizzato per riferimenti interni e logiche PLC.</li>
|
||||
<li>Il <strong>nome pagina</strong>, visualizzato come <strong>Localized Text</strong>, derivato dal dizionario traduzioni.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Utente attivo</strong>: un pulsante mostra l’utente attualmente connesso. Cliccandoci, si accede alla gestione utenti/login.</li>
|
||||
</ul>
|
||||
<hr>
|
||||
<h3 id="men-laterale-sinistro-navigazione-principale">📚 Menù laterale sinistro (navigazione principale)</h3>
|
||||
<p>Il pannello laterale sinistro ospita il <strong>menù di navigazione principale</strong>, sempre visibile, composto da pulsanti con <strong>icona + etichetta</strong>.</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Etichetta</th>
|
||||
<th>Funzione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>🏠 Home</td>
|
||||
<td>Dashboard principale</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>⚠️ Allarmi</td>
|
||||
<td>Visualizzazione e gestione degli allarmi</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>⚙️ Modalità operativa</td>
|
||||
<td>Selezione delle modalità macchina (es. manuale, automatico)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>♨️ Masse saldanti</td>
|
||||
<td>Configurazione delle temperature</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>🔑 Abilitazioni</td>
|
||||
<td>Gestione delle abilitazioni dei dispositivi collegati</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>🛠️ Mini-Setup</td>
|
||||
<td>Accesso ai parametri di ricetta della macchina</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>🧩 Menù avanzato</td>
|
||||
<td>Accesso all’<strong>explorer</strong> contenente funzionalità e sezioni avanzate</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<blockquote>
|
||||
<p>📌 <strong>Nota</strong>: Il menù laterale è sempre accessibile, garantendo una navigazione rapida e coerente.</p>
|
||||
</blockquote>
|
||||
<hr>
|
||||
<h3 id="area-centrale-contenuti-dinamici">🧾 Area centrale (contenuti dinamici)</h3>
|
||||
<p>La zona centrale dello schermo contiene un <strong>Panel Loader</strong>, ovvero un contenitore dinamico in cui vengono caricate tutte le schermate in base alla navigazione effettuata dall’utente.</p>
|
||||
<p>È il cuore operativo dell’HMI e varia in base al contesto selezionato nel menù laterale.</p>
|
||||
<hr>
|
||||
<h3 id="footer-inferiore">🔚 Footer inferiore</h3>
|
||||
<p>La barra inferiore include informazioni in tempo reale:</p>
|
||||
<ul>
|
||||
<li><strong>Stato macchina</strong></li>
|
||||
<li><strong>Ricetta attiva</strong>: con codice identificativo e nome</li>
|
||||
<li><strong>Data e ora</strong>: visualizzate in basso a destra in formato persistente</li>
|
||||
</ul>
|
||||
<hr>
|
||||
<h2 id="struttura-e-layout">📐 Struttura e layout</h2>
|
||||
<p>L’interfaccia adotta un <strong>layout a griglia rigida</strong>, conforme agli standard delle HMI industriali:</p>
|
||||
<ul>
|
||||
<li><strong>Colonna sinistra</strong>: fissa, destinata alla navigazione</li>
|
||||
<li><strong>Area centrale</strong>: strutturata a griglia (es. 3×2 o 3×3) per i contenuti dinamici</li>
|
||||
<li><strong>Header e footer</strong>: sempre visibili, garantendo continuità informativa</li>
|
||||
</ul>
|
||||
<hr>
|
||||
<h2 id="obiettivi-dellinterfaccia">✅ Obiettivi dell’interfaccia</h2>
|
||||
<p>L’interfaccia è progettata per:</p>
|
||||
<ul>
|
||||
<li>Garantire <strong>chiarezza visiva</strong> e semplicità d’uso</li>
|
||||
<li>Offrire un <strong>accesso rapido</strong> alle funzioni principali</li>
|
||||
<li>Visualizzare dati <strong>in tempo reale</strong> in modo affidabile</li>
|
||||
<li>Mantenere una <strong>struttura coerente</strong> tra le diverse schermate</li>
|
||||
</ul>
|
||||
<hr>
|
||||
<p>🎯 <em>Questo layout rappresenta lo standard base per le HMI Tecnopack su piattaforma Optix. Tutte le pagine sviluppate dovrebbero mantenere coerenza con questa struttura per garantire un’esperienza utente uniforme e professionale.</em></p>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":9} -->
|
||||
|
||||
<!-- 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="#composizione-dellinterfaccia" class="toc-link">🧩 Composizione dell’interfaccia</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#header-superiore" class="toc-link">🔝 Header superiore</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#men-laterale-sinistro-navigazione-principale" class="toc-link">📚 Menù laterale sinistro (navigazione principale)</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#area-centrale-contenuti-dinamici" class="toc-link">🧾 Area centrale (contenuti dinamici)</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#footer-inferiore" class="toc-link">🔚 Footer inferiore</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#struttura-e-layout" class="toc-link">📐 Struttura e layout</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#obiettivi-dellinterfaccia" class="toc-link">✅ Obiettivi dell’interfaccia</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>
|
||||
|
|
@ -0,0 +1,505 @@
|
|||
<!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/Prototipi/Flowpack/Flowpack/">
|
||||
<meta property="og:title" content="Introduzione al Prototipo Flowpack | 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/Prototipi/Flowpack/Flowpack/">
|
||||
<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="Introduzione al Prototipo Flowpack | 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>Introduzione al Prototipo Flowpack : 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>Introduzione al Prototipo Flowpack</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="prototipo-flowpack">🧩 Prototipo Flowpack</h1>
|
||||
<p>Benvenuto nel prototipo <strong>Flowpack</strong> per la piattaforma Rockwell.<br>
|
||||
Questo progetto rappresenta un <strong>template modulare e riutilizzabile</strong> per la realizzazione di macchine confezionatrici a film continuo.</p>
|
||||
<p>Il prototipo è pensato per essere <strong>scalabile</strong> e <strong>configurabile</strong>, con supporto a diverse varianti hardware e HMI.<br>
|
||||
Tutti i file sono organizzati in modo strutturato per facilitare manutenzione, personalizzazione e deployment.</p>
|
||||
<hr>
|
||||
<h2 id="repository-gitlab">📦 Repository GitLab</h2>
|
||||
<p>👉 <a href="https://gitlab.tecnopackspa.it/prototipi/rockwell/flowpack">Vai alla repository del prototipo Flowpack</a></p>
|
||||
<blockquote>
|
||||
<p>Assicurati di avere accesso alla rete interna o VPN aziendale per poter consultare il repository.</p>
|
||||
</blockquote>
|
||||
<hr>
|
||||
<h2 id="struttura-del-progetto">🧱 Struttura del Progetto</h2>
|
||||
<p>La repository è suddivisa in <strong>due sezioni principali</strong>:</p>
|
||||
<h3 id="docs-documentazione-tecnica"><code>Docs/</code> – Documentazione tecnica</h3>
|
||||
<p>Contiene materiali utili allo studio e alla configurazione della macchina:</p>
|
||||
<ul>
|
||||
<li><strong>001 - Report</strong>: documenti Word con analisi e report</li>
|
||||
<li><strong>002 - Commenti al software</strong>: fogli Excel per gerarchie, mappe di rete</li>
|
||||
<li><strong>003 - Schemi elettrici</strong>: wiring e connessioni (con <code>readme.md</code>)</li>
|
||||
<li><strong>004 - Pagine HMI</strong>: screenshot e layout dell’interfaccia operatore (con <code>readme.md</code>)</li>
|
||||
<li><strong>005 - Immagini</strong>: risorse grafiche di supporto (con <code>readme.md</code>)</li>
|
||||
<li><strong>006 - Dati tecnici</strong>: parametri e specifiche tecniche (con <code>readme.md</code>)</li>
|
||||
</ul>
|
||||
<hr>
|
||||
<h3 id="software-codice-e-template-modulari"><code>Software/</code> – Codice e template modulari</h3>
|
||||
<p>Organizzato per supportare <strong>diversi pannelli HMI</strong>, configurazioni PLC e soluzioni di sicurezza.</p>
|
||||
<h4 id="hmi-factorytalk-view-me">🔹 HMI (FactoryTalk View ME)</h4>
|
||||
<ul>
|
||||
<li>File progetto <code>.apa</code> per pannelli PanelView</li>
|
||||
<li><code>ChangeLog - V30.txt</code>: registro modifiche</li>
|
||||
<li>Supporto a layout multipli e componenti riutilizzabili</li>
|
||||
</ul>
|
||||
<blockquote>
|
||||
<p>⚠️ <strong>Nota</strong>: Il prototipo FactoryTalk View è in fase di <strong>deprecazione</strong>. Si consiglia di migrare a Optix Studio.</p>
|
||||
</blockquote>
|
||||
<h4 id="orientalmotor">🔹 OrientalMotor</h4>
|
||||
<ul>
|
||||
<li>File di configurazione <code>.mx2</code> per motori OrientalMotor</li>
|
||||
</ul>
|
||||
<h4 id="plc-rockwell-studio-5000">🔹 PLC (Rockwell Studio 5000)</h4>
|
||||
<ul>
|
||||
<li>File progetto <code>.ACD</code> con template aggiornati</li>
|
||||
<li><code>ChangeLog - V30.txt</code>: cronologia modifiche</li>
|
||||
<li>Progetti compatibili con CPU Allen-Bradley CompactLogix/ControlLogix</li>
|
||||
</ul>
|
||||
<h4 id="safety-unit-pilz">🔹 Safety Unit (Pilz)</h4>
|
||||
<ul>
|
||||
<li>File <code>.mpnoz</code> per configurazione moduli sicurezza Pilz</li>
|
||||
<li>Supporto a due topologie principali:
|
||||
<ul>
|
||||
<li>Flowpack <strong>Longitudinale (LTS)</strong></li>
|
||||
<li>Flowpack <strong>Rotativa (ROT)</strong></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<blockquote>
|
||||
<p>⚠️ <strong>DEPRECATO</strong>: Questa soluzione Safety non è più mantenuta. Si consiglia di adottare le nuove CPU con safety integrata.</p>
|
||||
</blockquote>
|
||||
<hr>
|
||||
<h2 id="modularit-del-prototipo">🛠 Modularità del Prototipo</h2>
|
||||
<p>Il progetto è costruito per essere <strong>modulare e adattabile</strong>.<br>
|
||||
Le principali varianti gestite includono:</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Componente</th>
|
||||
<th>Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>🧠 PLC</td>
|
||||
<td>Configurazioni differenziate per taglia macchina</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>🖥 HMI</td>
|
||||
<td>Supporto a più pannelli (PanelView, OptixPanel, ecc.)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>🦺 Sicurezza</td>
|
||||
<td>Pilz Safety con modelli rotativi o longitudinali</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>📋 Ricette</td>
|
||||
<td>Gestione centralizzata tramite file <code>Recipes.yaml</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>🔐 Accessi</td>
|
||||
<td>Sistema utenti, ruoli e sicurezza multilivello</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr>
|
||||
<h2 id="come-iniziare">🧭 Come iniziare</h2>
|
||||
<ol><li><strong>Clona la repository</strong></li>
|
||||
</ol>
|
||||
<pre class="hljs"><code>git <span class="hljs-built_in">clone</span> https://gitlab.tecnopackspa.it/prototipi/rockwell/flowpack.git
|
||||
</code></pre>
|
||||
<ol start="2"><li><strong>Apri il progetto desiderato</strong></li>
|
||||
</ol>
|
||||
<ul>
|
||||
<li><p><strong>HMI</strong></p>
|
||||
<ul>
|
||||
<li><em>FactoryTalk View</em>: utilizza i file <code>.apa</code> in <code>Software/HMI</code>
|
||||
<blockquote>
|
||||
<p>⚠️ In fase di deprecazione: preferire Optix Studio.</p>
|
||||
</blockquote>
|
||||
</li>
|
||||
<li><em>Optix Studio</em>: ancora da integrare, struttura basata su file <code>.optix</code>, <code>.yaml</code> e <code>.cs</code> (citato per futura disponibilità)</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p><strong>PLC</strong></p>
|
||||
<ul>
|
||||
<li>Usa i file <code>.ACD</code> in <code>Software/PLC</code></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p><strong>Safety Unit</strong></p>
|
||||
<ul>
|
||||
<li>Progetti Pilz nella cartella <code>Software/Safety Unit</code>
|
||||
<blockquote>
|
||||
<p>⚠️ <strong>DEPRECATO</strong>: progetto non più mantenuto. Valutare nuova soluzione safety integrata.</p>
|
||||
</blockquote>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<ol start="3"><li><strong>Consulta la documentazione in <code>Docs/</code></strong></li>
|
||||
</ol>
|
||||
<ul>
|
||||
<li><code>001 - Report</code>: analisi e documentazione generale, report modifiche e changelog della commessa</li>
|
||||
<li><code>002 - Commenti al software</code>: gerarchie assi e mappature rete</li>
|
||||
<li><code>003 - Schemi elettrici</code>: dettagli wiring e connessioni</li>
|
||||
<li><code>004 - Pagine HMI</code>: screenshot e dettagli UI</li>
|
||||
<li><code>005 - Immagini</code>: immagini della macchina utili per il pannello o la manualistica</li>
|
||||
<li><code>006 - Dati tecnici</code>: parametri macchina</li>
|
||||
</ul>
|
||||
<hr>
|
||||
<h2 id="documentazione-correlata">📚 Documentazione correlata</h2>
|
||||
<ul>
|
||||
<li><a href="../../">Introduzione Rockwell</a></li>
|
||||
<li><a href="../../Optix/OptixIntroduzione">Introduzione Optix</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
<p><em>Questo documento sarà aggiornato con l’evoluzione del prototipo e l’integrazione di Optix Studio.</em></p>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":12} -->
|
||||
|
||||
<!-- 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="#repository-gitlab" class="toc-link">📦 Repository GitLab</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#struttura-del-progetto" class="toc-link">🧱 Struttura del Progetto</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#docs-documentazione-tecnica" class="toc-link">Docs/ – Documentazione tecnica</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#software-codice-e-template-modulari" class="toc-link">Software/ – Codice e template modulari</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#hmi-factorytalk-view-me" class="toc-link">🔹 HMI (FactoryTalk View ME)</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#orientalmotor" class="toc-link">🔹 OrientalMotor</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#plc-rockwell-studio-5000" class="toc-link">🔹 PLC (Rockwell Studio 5000)</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-4">
|
||||
<a href="#safety-unit-pilz" class="toc-link">🔹 Safety Unit (Pilz)</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#modularit-del-prototipo" class="toc-link">🛠 Modularità del Prototipo</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#come-iniziare" class="toc-link">🧭 Come iniziare</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#documentazione-correlata" class="toc-link">📚 Documentazione correlata</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>
|
||||
|
|
@ -0,0 +1,309 @@
|
|||
<!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/Prototipi/Linea a moduli/Linea a moduli/">
|
||||
<meta property="og:title" content="Untitled | 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/Prototipi/Linea a moduli/Linea a moduli/">
|
||||
<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="Untitled | 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> : 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></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">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":0} -->
|
||||
|
||||
<!-- TOC sidebar -->
|
||||
<div class="toc-sidebar">
|
||||
|
||||
|
||||
</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>
|
||||
|
|
@ -0,0 +1,403 @@
|
|||
<!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/Rockwell/">
|
||||
<meta property="og:title" content="Rockwell | 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/Rockwell/">
|
||||
<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="Rockwell | 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>Rockwell : 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>Rockwell</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="benvenuto-nella-sezione-rockwell">👋 Benvenuto nella sezione Rockwell</h1>
|
||||
<p>Questa sezione raccoglie la documentazione tecnica e funzionale legata alle soluzioni sviluppate con <strong>tecnologie Rockwell Automation</strong>.</p>
|
||||
<p>Il nostro obiettivo?<br>
|
||||
🔧 <strong>Accelerare lo sviluppo delle applicazioni e degli impianti per macchine da packaging</strong>, fornendo componenti riutilizzabili, templates e best practices.</p>
|
||||
<hr>
|
||||
<h2 id="prototipi">🧪 <strong>Prototipi</strong></h2>
|
||||
<p>Raccolta di <strong>template di macchina</strong> per diverse tipologie di impianti.<br>
|
||||
Ogni prototipo rappresenta una base solida per lo sviluppo di applicazioni su piattaforma Rockwell.</p>
|
||||
<h3 id="prototipi-disponibili">📦 Prototipi disponibili:</h3>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Categoria</th>
|
||||
<th>Stato</th>
|
||||
<th>Link</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>🌀 Flowpack</td>
|
||||
<td>🚧 In sviluppo</td>
|
||||
<td><a href="./Prototipi/Flowpack">Vai ›</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>🧩 Linea a Moduli</td>
|
||||
<td>🚧 In sviluppo</td>
|
||||
<td><a href="./Prototipi/Linea%20a%20moduli">Vai ›</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>🤖 Isola Robotizzata</td>
|
||||
<td>🚧 In sviluppo</td>
|
||||
<td><em>(in arrivo)</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>🏗️ Formatrice</td>
|
||||
<td>🚧 In sviluppo</td>
|
||||
<td><em>(in arrivo)</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>🤏 Pick and Place</td>
|
||||
<td>🚧 In sviluppo</td>
|
||||
<td><em>(in arrivo)</em></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>Ogni template include:</p>
|
||||
<ul>
|
||||
<li>Struttura software</li>
|
||||
<li>Layout HMI</li>
|
||||
<li>Logiche base</li>
|
||||
<li>Integrazione con I/O e diagnostica</li>
|
||||
</ul>
|
||||
<hr>
|
||||
<h2 id="optixoptixoptixintroduzione">🔧 <a href="./Optix/OptixIntroduzione"><strong>Optix</strong></a></h2>
|
||||
<p>La piattaforma Rockwell per la creazione di interfacce HMI moderne, scalabili e completamente personalizzabili.</p>
|
||||
<p><strong>In questa sezione troverai:</strong></p>
|
||||
<ul>
|
||||
<li><a href="./Optix/CreareUnaNuovaPagina">Come creare una nuova pagina</a></li>
|
||||
<li><a href="./Optix/CreareUnPulsanteDiNavigazione">Gestione della navigazione</a></li>
|
||||
<li><a href="./Optix/OverviewDelPannello">Panoramica del pannello</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
<h2 id="perch-questa-documentazione">🚀 Perché questa documentazione</h2>
|
||||
<blockquote>
|
||||
<p><strong>Standardizzare, riutilizzare, innovare.</strong><br>
|
||||
Questa documentazione serve come punto di partenza per sviluppatori, tecnici e integratori che lavorano su impianti con tecnologia Rockwell.</p>
|
||||
</blockquote>
|
||||
<p>📘 Documentazione chiara<br>
|
||||
♻️ Componenti riutilizzabili<br>
|
||||
🤝 Condivisione tra team</p>
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":5} -->
|
||||
|
||||
<!-- 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="#prototipi" class="toc-link">🧪 Prototipi</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-3">
|
||||
<a href="#prototipi-disponibili" class="toc-link">📦 Prototipi disponibili:</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#optixoptixoptixintroduzione" class="toc-link">🔧 Optix</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#perch-questa-documentazione" class="toc-link">🚀 Perché questa documentazione</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>
|
||||
|
|
@ -0,0 +1,309 @@
|
|||
<!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="/Schneider/Schneider/">
|
||||
<meta property="og:title" content="Untitled | 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="/Schneider/Schneider/">
|
||||
<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="Untitled | 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> : 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></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">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":0} -->
|
||||
|
||||
<!-- TOC sidebar -->
|
||||
<div class="toc-sidebar">
|
||||
|
||||
|
||||
</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>
|
||||
|
|
@ -0,0 +1,375 @@
|
|||
<!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="/Secomea/setup-1549dev/">
|
||||
<meta property="og:title" content="Secomea SiteManager 1549 Dev Separation | 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="/Secomea/setup-1549dev/">
|
||||
<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="Secomea SiteManager 1549 Dev Separation | 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>Secomea SiteManager 1549 Dev Separation : 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>Secomea SiteManager 1549 Dev Separation</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">
|
||||
<dl>
|
||||
<dt>Term</dt>
|
||||
<dd>Definition for the term.</dd>
|
||||
<dd>Another definition for the same term.</dd>
|
||||
<dt>Another Term</dt>
|
||||
<dd>Definition of another term.</dd>
|
||||
</dl>
|
||||
<p>:::info Obiettivo<br>
|
||||
Avere due reti separate e sicure, accessibili in modo indipendente tramite GateManager.</p>
|
||||
<p>Questa guida è pensata per tecnici e amministratori di sistema che devono configurare un SiteManager per isolare la rete di una macchina (DEV2) dalla rete di impianto principale (DEV1).</p>
|
||||
<h3 id="1-accesso-allinterfaccia-di-configurazione"><strong>1️⃣ Accesso all’interfaccia di Configurazione</strong></h3>
|
||||
<p>1️</p>
|
||||
<ol><li>Prima di iniziare, accedi all’interfaccia web del SiteManager.</li>
|
||||
</ol>
|
||||
<p>Apri un browser e collegati all’indirizzo IP del SiteManager.</p>
|
||||
<p>Accedi tramite la rete locale (porta DEV1) o, se già configurato, attraverso il GateManager.</p>
|
||||
<p>Una volta dentro, naviga nel menu</p>
|
||||
<p>System per visualizzare tutte le interfacce di rete.</p>
|
||||
<p>2️⃣ Configurazione della Porta DEV2<br>
|
||||
Ora configuriamo la porta DEV2 per operare come una rete indipendente.</p>
|
||||
<p>Dal menu</p>
|
||||
<p>System, clicca sulla scheda DEV2.</p>
|
||||
<p>Imposta i seguenti parametri nella pagina di configurazione:</p>
|
||||
<p>Mode: Seleziona Separation dal menu a tendina.</p>
|
||||
<p>IP Address: Assegna l’indirizzo IP che farà da gateway per la nuova rete (es. 172.16.223.254).</p>
|
||||
<p>Subnet Mask: Inserisci la maschera di sottorete corrispondente (es. 255.255.240.0).</p>
|
||||
<p>Clicca su</p>
|
||||
<p>Save per memorizzare le impostazioni.</p>
|
||||
<p>Apparirà un avviso per il riavvio. Clicca sul pulsante</p>
|
||||
<p>Reboot per rendere effettive le modifiche.</p>
|
||||
<br/>
|
||||
<img src="/img/screenshots/sitemanager/dev2_separation.jpg" alt="Configurazione Porta DEV2 in Separation Mode" style={{ maxWidth: '70%', borderRadius: '8px' }} />
|
||||
<p>:::danger Attenzione<br>
|
||||
Il riavvio è un passaggio obbligatorio. Senza di esso, la porta DEV2 non funzionerà nella nuova modalità. Il riavvio cancella i log di sistema.</p>
|
||||
<p>3️⃣ Creazione dell’Agente Layer 2<br>
|
||||
Dopo il riavvio, la porta DEV2 è attiva sulla sua nuova rete. Ora dobbiamo creare un “Agente” per potervi accedere da remoto.</p>
|
||||
<p>Spostati nella sezione GateManager -> Agents.</p>
|
||||
<p>Crea un nuovo agente.</p>
|
||||
<p>Come</p>
|
||||
<p>Device Type, seleziona Layer2 (GENERIC).</p>
|
||||
<p>Una volta creato, clicca sull’icona</p>
|
||||
<p>Edit (matita) per configurarlo.</p>
|
||||
<p>4️⃣ Associazione Agente-Interfaccia<br>
|
||||
Questo è il passaggio cruciale per collegare l’agente software alla porta fisica corretta.</p>
|
||||
<p>All’interno delle impostazioni dell’agente, trova il menu a tendina Interface.</p>
|
||||
<p>Seleziona</p>
|
||||
<p>DEV2 dall’elenco.</p>
|
||||
<p>Clicca su</p>
|
||||
<p>Save e poi su Back per tornare alla lista agenti.</p>
|
||||
<br/>
|
||||
<img src="/img/screenshots/sitemanager/agent_interface_dev2.jpg" alt="Associazione Agente a Interfaccia DEV2" style={{ maxWidth: '70%', borderRadius: '8px' }} />
|
||||
<p>:::tip<br>
|
||||
Non è necessario compilare i campi “Device IP Address” o “Device MAC Address” a meno che tu non voglia limitare l’accesso a un singolo dispositivo specifico su quella rete.</p>
|
||||
<p>5️⃣ ✔️ Verifica Finale<br>
|
||||
Se la configurazione è andata a buon fine, il risultato sarà immediatamente visibile sul GateManager.</p>
|
||||
<p>Doppia Connessione: Vedrai due agenti Layer 2 attivi per lo stesso SiteManager:</p>
|
||||
<p>Un agente per la rete su</p>
|
||||
<p>DEV1.</p>
|
||||
<p>Un agente per la nuova rete su</p>
|
||||
<p>DEV2.</p>
|
||||
<p>Questo conferma che le reti sono isolate e accessibili in modo indipendente.</p>
|
||||
<p>:::info Nota Pratica<br>
|
||||
Per convenzione, su alcuni impianti (es. Rockwell) si preferisce usare le porte</p>
|
||||
<p>DEV1 e DEV3. La procedura per configurare la porta DEV3 è identica a quella descritta per la DEV2.</p>
|
||||
<p>🔗 Risorse Utili</p>
|
||||
<p>Help Online del SiteManager: L’interfaccia del dispositivo contiene una sezione di aiuto dettagliata per ogni parametro di configurazione.</p>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":1} -->
|
||||
|
||||
<!-- TOC sidebar -->
|
||||
<div class="toc-sidebar">
|
||||
|
||||
|
||||
</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>
|
||||
|
|
@ -0,0 +1,456 @@
|
|||
<!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="/VisualStudio/Comandi/">
|
||||
<meta property="og:title" content="Guida Visual Studio con Git | 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="/VisualStudio/Comandi/">
|
||||
<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="Guida Visual Studio con Git | 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>Guida Visual Studio con Git : 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>Guida Visual Studio con Git</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="guida-git-da-riga-di-comando-in-visual-studio">🧑💻 Guida Git da riga di comando in Visual Studio</h1>
|
||||
<p>Questa guida mostra tutti i comandi principali per usare <strong>Git</strong> direttamente dalla riga di comando in <strong>Visual Studio</strong> su un progetto.</p>
|
||||
<hr>
|
||||
<h2 id="1-inizializzare-un-repository">📂 1. Inizializzare un repository</h2>
|
||||
<pre class="hljs"><code>git init
|
||||
✅ Crea un nuovo repository Git nella cartella del progetto.
|
||||
|
||||
💡 Dopo questo comando, la cartella .git contiene tutte le informazioni di controllo versione.
|
||||
|
||||
🔗 2. Collegare un repository remoto
|
||||
bash
|
||||
Copy
|
||||
Edit
|
||||
git remote add origin <URL-del-repo>
|
||||
✅ Collega il repository locale a un repository remoto (ad esempio su GitHub o GitLab).
|
||||
|
||||
💡 origin è il nome predefinito per il repository remoto principale.
|
||||
|
||||
📊 3. Controllare lo stato del repository
|
||||
bash
|
||||
Copy
|
||||
Edit
|
||||
git status
|
||||
✅ Mostra i file modificati, aggiunti o eliminati.
|
||||
|
||||
💡 Utile per capire cosa è pronto per il commit.
|
||||
npm server
|
||||
➕ 4. Aggiungere file all’area di staging
|
||||
bash
|
||||
Copy
|
||||
Edit
|
||||
git add <nome-file>
|
||||
git add . <span class="hljs-comment"># aggiunge tutti i file modificati</span>
|
||||
✅ Sposta i file nello staging area pronti per il commit.
|
||||
|
||||
💡 Usa . per aggiungere tutti i file modificati.
|
||||
|
||||
✏️ 5. Creare un commit
|
||||
bash
|
||||
Copy
|
||||
Edit
|
||||
git commit -m <span class="hljs-string">"Messaggio del commit"</span>
|
||||
✅ Salva le modifiche nell’<span class="hljs-built_in">history</span> del repository.
|
||||
|
||||
💡 Il messaggio dovrebbe essere chiaro e descrivere le modifiche apportate.
|
||||
|
||||
🚀 6. Inviare le modifiche al repository remoto
|
||||
bash
|
||||
Copy
|
||||
Edit
|
||||
git push origin main
|
||||
✅ Carica i commit sul repository remoto.
|
||||
|
||||
💡 Sostituisci main con il branch corrente se diverso.
|
||||
|
||||
⬇️ 7. Scaricare modifiche dal repository remoto
|
||||
bash
|
||||
Copy
|
||||
Edit
|
||||
git pull origin main
|
||||
✅ Aggiorna il repository locale con le ultime modifiche dal remoto.
|
||||
|
||||
💡 Risolve automaticamente i cambiamenti se non ci sono conflitti.
|
||||
|
||||
🌿 8. Creare un nuovo branch
|
||||
bash
|
||||
Copy
|
||||
Edit
|
||||
git branch <nome-branch>
|
||||
git checkout <nome-branch> <span class="hljs-comment"># spostarsi sul branch</span>
|
||||
✅ Permette di lavorare su nuove funzionalità senza modificare il branch principale.
|
||||
|
||||
💡 Puoi combinare i due comandi con git checkout -b <nome-branch>.
|
||||
|
||||
🔄 9. Unire branch
|
||||
bash
|
||||
Copy
|
||||
Edit
|
||||
git merge <nome-branch>
|
||||
✅ Unisce le modifiche di un branch nel branch corrente.
|
||||
|
||||
💡 Risolvi eventuali conflitti prima di completare il merge.
|
||||
|
||||
📜 10. Visualizzare la cronologia dei commit
|
||||
bash
|
||||
Copy
|
||||
Edit
|
||||
git <span class="hljs-built_in">log</span>
|
||||
✅ Mostra la lista dei commit con autore, data e messaggio.
|
||||
|
||||
💡 git <span class="hljs-built_in">log</span> --oneline per una versione compatta.
|
||||
|
||||
🧹 11. Ignorare file
|
||||
Crea un file .gitignore nella root del progetto e aggiungi i file o le cartelle da ignorare:
|
||||
|
||||
text
|
||||
Copy
|
||||
Edit
|
||||
<span class="hljs-comment"># Esempio .gitignore</span>
|
||||
bin/
|
||||
obj/
|
||||
*.exe
|
||||
*.<span class="hljs-built_in">log</span>
|
||||
✅ Evita di aggiungere file temporanei o di build al repository.
|
||||
|
||||
⚙️ 12. Configurare Git
|
||||
bash
|
||||
Copy
|
||||
Edit
|
||||
git config --global user.name <span class="hljs-string">"Nome Cognome"</span>
|
||||
git config --global user.email <span class="hljs-string">"email@example.com"</span>
|
||||
✅ Imposta il nome e la mail per i commit.
|
||||
|
||||
💡 --global applica la configurazione a tutti i repository locali.
|
||||
|
||||
🔍 13. Controllare i remote
|
||||
bash
|
||||
Copy
|
||||
Edit
|
||||
git remote -v
|
||||
✅ Mostra gli URL dei repository remoti collegati.
|
||||
|
||||
🧩 14. Annullare modifiche
|
||||
Annullare modifiche non salvate:
|
||||
|
||||
bash
|
||||
Copy
|
||||
Edit
|
||||
git checkout -- <file>
|
||||
Rimuovere file dallo staging:
|
||||
|
||||
bash
|
||||
Copy
|
||||
Edit
|
||||
git reset <file>
|
||||
Annullare l’ultimo commit mantenendo le modifiche locali:
|
||||
|
||||
bash
|
||||
Copy
|
||||
Edit
|
||||
git reset --soft HEAD~1
|
||||
💡 Suggerimenti
|
||||
Usa il terminale integrato di Visual Studio (Ctrl + ) per eseguire tutti i comandi.
|
||||
|
||||
Tieni sempre aggiornato il branch principale prima di fare nuove modifiche (git pull).
|
||||
|
||||
Commit frequenti aiutano a tracciare meglio le modifiche.</code></pre>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":2} -->
|
||||
|
||||
<!-- TOC sidebar -->
|
||||
<div class="toc-sidebar">
|
||||
|
||||
|
||||
</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>
|
||||
|
|
@ -0,0 +1,481 @@
|
|||
<!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="/VisualStudio/c2/">
|
||||
<meta property="og:title" content="Git da riga di comando in Visual Studio | 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="/VisualStudio/c2/">
|
||||
<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="Git da riga di comando in Visual Studio | 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>Git da riga di comando in Visual Studio : 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>Git da riga di comando in Visual Studio</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="git-da-riga-di-comando-in-visual-studio">🖼️ Git da riga di comando in Visual Studio</h1>
|
||||
<hr>
|
||||
<h2 id="staging-commit">🟢 Staging & Commit</h2>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Comando</th>
|
||||
<th>Descrizione</th>
|
||||
<th>Esempio</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>➕ <code>git add <file></code></td>
|
||||
<td>Aggiunge file allo staging</td>
|
||||
<td><code>git add main.py</code><br /><code>git add .</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>✏️ <code>git commit -m "msg"</code></td>
|
||||
<td>Salva le modifiche nello storico</td>
|
||||
<td><code>git commit -m "Aggiunto modulo login"</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>🧹 <code>git reset <file></code></td>
|
||||
<td>Rimuove file dallo staging</td>
|
||||
<td><code>git reset main.py</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>🧩 <code>git checkout -- <file></code></td>
|
||||
<td>Annulla modifiche non committate</td>
|
||||
<td><code>git checkout -- main.py</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr>
|
||||
<h2 id="branch-merge">🔵 Branch & Merge</h2>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Comando</th>
|
||||
<th>Descrizione</th>
|
||||
<th>Esempio</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>🌿 <code>git branch <nome></code></td>
|
||||
<td>Crea un nuovo branch</td>
|
||||
<td><code>git branch feature/login</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>🌿 <code>git checkout <branch></code></td>
|
||||
<td>Passa a un branch esistente</td>
|
||||
<td><code>git checkout feature/login</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>🌿 <code>git checkout -b <branch></code></td>
|
||||
<td>Crea e passa a un nuovo branch</td>
|
||||
<td><code>git checkout -b feature/signup</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>🔄 <code>git merge <branch></code></td>
|
||||
<td>Unisce un branch nel branch corrente</td>
|
||||
<td><code>git merge feature/login</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr>
|
||||
<h2 id="remoto">🟠 Remoto</h2>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Comando</th>
|
||||
<th>Descrizione</th>
|
||||
<th>Esempio</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>🔗 <code>git remote add origin <URL></code></td>
|
||||
<td>Collega repository locale a remoto</td>
|
||||
<td><code>git remote add origin https://github.com/user/repo.git</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>🚀 <code>git push origin <branch></code></td>
|
||||
<td>Invia commit al repository remoto</td>
|
||||
<td><code>git push origin main</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>⬇️ <code>git pull origin <branch></code></td>
|
||||
<td>Scarica modifiche dal remoto</td>
|
||||
<td><code>git pull origin main</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>🔍 <code>git remote -v</code></td>
|
||||
<td>Mostra repository remoti collegati</td>
|
||||
<td><code>git remote -v</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr>
|
||||
<h2 id="info-config">🟣 Info & Config</h2>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Comando</th>
|
||||
<th>Descrizione</th>
|
||||
<th>Esempio</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>📜 <code>git log</code></td>
|
||||
<td>Mostra cronologia dei commit</td>
|
||||
<td><code>git log</code><br /><code>git log --oneline</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>⚙️ <code>git config --global user.name "Nome"</code></td>
|
||||
<td>Imposta nome autore</td>
|
||||
<td><code>git config --global user.name "Mario Rossi"</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>⚙️ <code>git config --global user.email "email"</code></td>
|
||||
<td>Imposta email autore</td>
|
||||
<td><code>git config --global user.email "mario@example.com"</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>📂 <code>git init</code></td>
|
||||
<td>Inizializza un repository locale</td>
|
||||
<td><code>git init</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr>
|
||||
<h2 id="suggerimenti-rapidi">💡 Suggerimenti rapidi</h2>
|
||||
<ul>
|
||||
<li>🟢 <strong>Staging / Commit</strong> → commit frequenti</li>
|
||||
<li>🔵 <strong>Branch / Merge</strong> → lavora sempre su branch separati</li>
|
||||
<li>🟠 <strong>Remoto</strong> → pull prima di push</li>
|
||||
<li>🟣 <strong>Info / Config</strong> → controlla sempre lo stato con <code>git status</code></li>
|
||||
</ul>
|
||||
<hr>
|
||||
<blockquote>
|
||||
<p>🔗 Risorse utili: <a href="https://git-scm.com/doc">Git Documentation</a></p>
|
||||
</blockquote>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":6} -->
|
||||
|
||||
<!-- 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="#staging-commit" class="toc-link">🟢 Staging & Commit</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#branch-merge" class="toc-link">🔵 Branch & Merge</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#remoto" class="toc-link">🟠 Remoto</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#info-config" class="toc-link">🟣 Info & Config</a>
|
||||
</li>
|
||||
|
||||
<li class="toc-item toc-level-2">
|
||||
<a href="#suggerimenti-rapidi" class="toc-link">💡 Suggerimenti rapidi</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>
|
||||
|
|
@ -0,0 +1,368 @@
|
|||
<!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="/VisualStudio/c3/">
|
||||
<meta property="og:title" content="Git Passo-Passo per Principianti | 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="/VisualStudio/c3/">
|
||||
<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="Git Passo-Passo per Principianti | 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>Git Passo-Passo per Principianti : 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>Git Passo-Passo per Principianti</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="git-passo-passo-per-principianti">🐣 Git Passo-Passo per Principianti</h1>
|
||||
<blockquote>
|
||||
<p>🎨 Versione guidata per chi parte da zero<br>
|
||||
💡 L’obiettivo: lavorare sempre su branch separati e non rompere il repository principale</p>
|
||||
</blockquote>
|
||||
<hr>
|
||||
<h2 id="1-clona-il-repository-se-non-lhai-gi">1️⃣ Clona il repository (se non l’hai già)</h2>
|
||||
<p>Prima di iniziare a modificare, devi avere il repository sul tuo computer.</p>
|
||||
<pre class="hljs"><code>git clone [URL-DEL-REPOSITORY]
|
||||
cd [NOME-REPO]
|
||||
</code></pre>
|
||||
<p>🔹 [URL-DEL-REPOSITORY] → indirizzo del repository remoto<br>
|
||||
🔹 [NOME-REPO] → la cartella del progetto</p>
|
||||
<p>2️⃣ Controlla lo stato del repository</p>
|
||||
<pre class="hljs"><code>git status
|
||||
</code></pre>
|
||||
<p>Ti mostra quali file sono stati modificati e se ci sono modifiche non salvate.</p>
|
||||
<p>3️⃣ Crea un nuovo branch<br>
|
||||
Sempre creare un branch nuovo per ogni modifica!<br>
|
||||
Così il branch principale (main o master) rimane sicuro.</p>
|
||||
<pre class="hljs"><code>git checkout -b feature/nome-modifica
|
||||
</code></pre>
|
||||
<p>🔹 Usa un nome chiaro, es: feature/login</p>
|
||||
<p>4️⃣ Modifica i file<br>
|
||||
Fai le modifiche necessarie nei file del progetto.</p>
|
||||
<p>5️⃣ Aggiungi i file allo staging</p>
|
||||
<pre class="hljs"><code>git <span class="hljs-keyword">add</span> <<span class="hljs-keyword">file</span>>
|
||||
</code></pre>
|
||||
<p>🔹 [file] → il file specifico che vuoi salvare<br>
|
||||
🔹 Usa . per aggiungere tutti i file modificati</p>
|
||||
<p>6️⃣ Salva le modifiche con un commit</p>
|
||||
<pre class="hljs"><code>git commit -m <span class="hljs-string">"Messaggio chiaro sulla modifica"</span>
|
||||
</code></pre>
|
||||
<p>🔹 Usa un messaggio chiaro: es. Aggiunto modulo login o Corretto bug funzione X</p>
|
||||
<p>7️⃣ Aggiorna il branch remoto<br>
|
||||
Prima di inviare le modifiche, assicurati di avere l’ultima versione del repository remoto:</p>
|
||||
<pre class="hljs"><code>git pull origin main
|
||||
</code></pre>
|
||||
<p>Poi invia il tuo branch:</p>
|
||||
<pre class="hljs"><code>git push origin feature/nome-modifica
|
||||
</code></pre>
|
||||
<p>8️⃣ Apri una Pull Request (PR)<br>
|
||||
🔹 Vai sul repository remoto (GitHub, GitLab, ecc.)<br>
|
||||
🔹 Apri una PR dal tuo branch verso main<br>
|
||||
🔹 Descrivi cosa hai fatto e richiedi revisione</p>
|
||||
<p>9️⃣ Dopo che la PR è approvata<br>
|
||||
Torna sul branch principale aggiornato:</p>
|
||||
<pre class="hljs"><code>git checkout main
|
||||
git pull origin main
|
||||
</code></pre>
|
||||
<p>Puoi cancellare il branch locale se non serve più:</p>
|
||||
<pre class="hljs"><code>git branch -d feature/nome-modifica
|
||||
</code></pre>
|
||||
<p>💡 Suggerimenti rapidi<br>
|
||||
✅ Sempre lavorare su un branch nuovo<br>
|
||||
✅ Commit frequenti e chiari<br>
|
||||
✅ Pull prima di push<br>
|
||||
✅ Controlla sempre git status</p>
|
||||
<p>🔗 Risorse utili: <a href="https://git-scm.com/doc">Git Documentation</a></p>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":2} -->
|
||||
|
||||
<!-- TOC sidebar -->
|
||||
<div class="toc-sidebar">
|
||||
|
||||
|
||||
</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>
|
||||
|
|
@ -0,0 +1 @@
|
|||
pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#c678dd}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#98c379}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#d19a66}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}
|
||||
|
|
@ -0,0 +1 @@
|
|||
pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#383a42;background:#fafafa}.hljs-comment,.hljs-quote{color:#a0a1a7;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#a626a4}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e45649}.hljs-literal{color:#0184bb}.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#50a14f}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#986801}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#4078f2}.hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_{color:#c18401}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 6.7 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 9.0 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 111 KiB |
|
|
@ -0,0 +1,74 @@
|
|||
// Source file from the docmd project — https://github.com/mgks/docmd
|
||||
|
||||
/*
|
||||
* A simple lightbox implementation for docmd images
|
||||
*/
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
// Create lightbox elements
|
||||
const lightbox = document.createElement('div');
|
||||
lightbox.className = 'docmd-lightbox';
|
||||
lightbox.innerHTML = `
|
||||
<div class="docmd-lightbox-content">
|
||||
<img src="" alt="">
|
||||
<div class="docmd-lightbox-caption"></div>
|
||||
</div>
|
||||
<div class="docmd-lightbox-close">×</div>
|
||||
`;
|
||||
document.body.appendChild(lightbox);
|
||||
|
||||
const lightboxImg = lightbox.querySelector('img');
|
||||
const lightboxCaption = lightbox.querySelector('.docmd-lightbox-caption');
|
||||
const lightboxClose = lightbox.querySelector('.docmd-lightbox-close');
|
||||
|
||||
// Find all images with lightbox class or in image galleries
|
||||
const lightboxImages = document.querySelectorAll('img.lightbox, .image-gallery img');
|
||||
|
||||
// Add click event to each image
|
||||
lightboxImages.forEach(function(img) {
|
||||
img.style.cursor = 'zoom-in';
|
||||
|
||||
img.addEventListener('click', function() {
|
||||
// Get the image source and caption
|
||||
const src = this.getAttribute('src');
|
||||
let caption = this.getAttribute('alt') || '';
|
||||
|
||||
// If image is inside a figure with figcaption, use that caption
|
||||
const figure = this.closest('figure');
|
||||
if (figure) {
|
||||
const figcaption = figure.querySelector('figcaption');
|
||||
if (figcaption) {
|
||||
caption = figcaption.textContent;
|
||||
}
|
||||
}
|
||||
|
||||
// Set the lightbox content
|
||||
lightboxImg.setAttribute('src', src);
|
||||
lightboxCaption.textContent = caption;
|
||||
|
||||
// Show the lightbox
|
||||
lightbox.style.display = 'flex';
|
||||
document.body.style.overflow = 'hidden'; // Prevent scrolling
|
||||
});
|
||||
});
|
||||
|
||||
// Close lightbox when clicking the close button or outside the image
|
||||
lightboxClose.addEventListener('click', closeLightbox);
|
||||
lightbox.addEventListener('click', function(e) {
|
||||
if (e.target === lightbox) {
|
||||
closeLightbox();
|
||||
}
|
||||
});
|
||||
|
||||
// Close lightbox when pressing Escape key
|
||||
document.addEventListener('keydown', function(e) {
|
||||
if (e.key === 'Escape' && lightbox.style.display === 'flex') {
|
||||
closeLightbox();
|
||||
}
|
||||
});
|
||||
|
||||
function closeLightbox() {
|
||||
lightbox.style.display = 'none';
|
||||
document.body.style.overflow = ''; // Restore scrolling
|
||||
}
|
||||
});
|
||||
|
|
@ -0,0 +1,232 @@
|
|||
// Source file from the docmd project — https://github.com/mgks/docmd
|
||||
|
||||
/*
|
||||
* Main client-side script for docmd UI interactions
|
||||
*/
|
||||
// --- Collapsible Navigation Logic ---
|
||||
function initializeCollapsibleNav() {
|
||||
const nav = document.querySelector('.sidebar-nav');
|
||||
if (!nav) return;
|
||||
|
||||
let navStates = {};
|
||||
try {
|
||||
// Use sessionStorage to remember state only for the current session
|
||||
navStates = JSON.parse(sessionStorage.getItem('docmd-nav-states')) || {};
|
||||
} catch (e) { /* silent fail */ }
|
||||
|
||||
nav.querySelectorAll('li.collapsible').forEach(item => {
|
||||
const navId = item.dataset.navId;
|
||||
const anchor = item.querySelector('a');
|
||||
const submenu = item.querySelector('.submenu');
|
||||
|
||||
if (!navId || !anchor || !submenu) return;
|
||||
|
||||
const isParentActive = item.classList.contains('active-parent');
|
||||
// Default to expanded if it's a parent of the active page, otherwise check stored state.
|
||||
let isExpanded = isParentActive || (navStates[navId] === true);
|
||||
|
||||
const toggleSubmenu = (expand) => {
|
||||
item.setAttribute('aria-expanded', expand);
|
||||
submenu.style.display = expand ? 'block' : 'none';
|
||||
navStates[navId] = expand;
|
||||
sessionStorage.setItem('docmd-nav-states', JSON.stringify(navStates));
|
||||
};
|
||||
|
||||
// Set initial state on page load
|
||||
toggleSubmenu(isExpanded);
|
||||
|
||||
anchor.addEventListener('click', (e) => {
|
||||
// If the click target is the icon, ALWAYS prevent navigation and toggle.
|
||||
if (e.target.closest('.collapse-icon')) {
|
||||
e.preventDefault();
|
||||
toggleSubmenu(item.getAttribute('aria-expanded') !== 'true');
|
||||
}
|
||||
// If the link is just a placeholder, also prevent navigation and toggle.
|
||||
else if (anchor.getAttribute('href') === '#') {
|
||||
e.preventDefault();
|
||||
toggleSubmenu(item.getAttribute('aria-expanded') !== 'true');
|
||||
}
|
||||
// Otherwise, let the click proceed to navigate to the link.
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// --- Sidebar Scroll Preservation ---
|
||||
function initializeSidebarScroll() {
|
||||
const sidebar = document.querySelector('.sidebar');
|
||||
if (!sidebar) return;
|
||||
|
||||
setTimeout(() => {
|
||||
const activeElement = sidebar.querySelector('a.active') || sidebar.querySelector('.active-parent > a');
|
||||
|
||||
if (activeElement) {
|
||||
const sidebarRect = sidebar.getBoundingClientRect();
|
||||
const elementRect = activeElement.getBoundingClientRect();
|
||||
|
||||
// Check if the element's top or bottom is outside the sidebar's visible area
|
||||
const isNotInView = elementRect.top < sidebarRect.top || elementRect.bottom > sidebarRect.bottom;
|
||||
|
||||
if (isNotInView) {
|
||||
activeElement.scrollIntoView({
|
||||
behavior: 'auto',
|
||||
block: 'center',
|
||||
inline: 'nearest'
|
||||
});
|
||||
}
|
||||
}
|
||||
}, 10);
|
||||
}
|
||||
|
||||
// --- Theme Toggle Logic ---
|
||||
function setupThemeToggleListener() {
|
||||
const themeToggleButton = document.getElementById('theme-toggle-button');
|
||||
|
||||
function applyTheme(theme) {
|
||||
document.documentElement.setAttribute('data-theme', theme);
|
||||
document.body.setAttribute('data-theme', theme);
|
||||
localStorage.setItem('docmd-theme', theme);
|
||||
|
||||
// Switch highlight.js theme
|
||||
const highlightThemeLink = document.getElementById('highlight-theme');
|
||||
if (highlightThemeLink) {
|
||||
const newHref = highlightThemeLink.getAttribute('data-base-href') + `docmd-highlight-${theme}.css`;
|
||||
highlightThemeLink.setAttribute('href', newHref);
|
||||
}
|
||||
}
|
||||
|
||||
// Add click listener to the toggle button
|
||||
if (themeToggleButton) {
|
||||
themeToggleButton.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'light' ? 'dark' : 'light';
|
||||
applyTheme(newTheme);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// --- Sidebar Collapse Logic ---
|
||||
function initializeSidebarToggle() {
|
||||
const toggleButton = document.getElementById('sidebar-toggle-button');
|
||||
const body = document.body;
|
||||
|
||||
if (!body.classList.contains('sidebar-collapsible') || !toggleButton) {
|
||||
return;
|
||||
}
|
||||
|
||||
const defaultConfigCollapsed = body.dataset.defaultCollapsed === 'true';
|
||||
let isCollapsed = localStorage.getItem('docmd-sidebar-collapsed');
|
||||
|
||||
if (isCollapsed === null) {
|
||||
isCollapsed = defaultConfigCollapsed;
|
||||
} else {
|
||||
isCollapsed = isCollapsed === 'true';
|
||||
}
|
||||
|
||||
if (isCollapsed) {
|
||||
body.classList.add('sidebar-collapsed');
|
||||
}
|
||||
|
||||
toggleButton.addEventListener('click', () => {
|
||||
body.classList.toggle('sidebar-collapsed');
|
||||
const currentlyCollapsed = body.classList.contains('sidebar-collapsed');
|
||||
localStorage.setItem('docmd-sidebar-collapsed', currentlyCollapsed);
|
||||
});
|
||||
}
|
||||
|
||||
// --- Tabs Container Logic ---
|
||||
function initializeTabs() {
|
||||
document.querySelectorAll('.docmd-tabs').forEach(tabsContainer => {
|
||||
const navItems = tabsContainer.querySelectorAll('.docmd-tabs-nav-item');
|
||||
const tabPanes = tabsContainer.querySelectorAll('.docmd-tab-pane');
|
||||
|
||||
navItems.forEach((navItem, index) => {
|
||||
navItem.addEventListener('click', () => {
|
||||
navItems.forEach(item => item.classList.remove('active'));
|
||||
tabPanes.forEach(pane => pane.classList.remove('active'));
|
||||
|
||||
navItem.classList.add('active');
|
||||
if(tabPanes[index]) {
|
||||
tabPanes[index].classList.add('active');
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// --- Copy Code Button Logic ---
|
||||
function initializeCopyCodeButtons() {
|
||||
if (document.body.dataset.copyCodeEnabled !== 'true') {
|
||||
return;
|
||||
}
|
||||
|
||||
const copyIconSvg = `<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg>`;
|
||||
const checkIconSvg = `<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check"><polyline points="20 6 9 17 4 12"></polyline></svg>`;
|
||||
|
||||
document.querySelectorAll('pre').forEach(preElement => {
|
||||
const codeElement = preElement.querySelector('code');
|
||||
if (!codeElement) return;
|
||||
|
||||
// Create a wrapper div around the pre element
|
||||
const wrapper = document.createElement('div');
|
||||
wrapper.style.position = 'relative';
|
||||
wrapper.style.display = 'block';
|
||||
|
||||
// Insert the wrapper before the pre element
|
||||
preElement.parentNode.insertBefore(wrapper, preElement);
|
||||
|
||||
// Move the pre element into the wrapper
|
||||
wrapper.appendChild(preElement);
|
||||
|
||||
// Remove the relative positioning from pre since wrapper handles it
|
||||
preElement.style.position = 'static';
|
||||
|
||||
const copyButton = document.createElement('button');
|
||||
copyButton.className = 'copy-code-button';
|
||||
copyButton.innerHTML = copyIconSvg;
|
||||
copyButton.setAttribute('aria-label', 'Copy code to clipboard');
|
||||
wrapper.appendChild(copyButton);
|
||||
|
||||
copyButton.addEventListener('click', () => {
|
||||
navigator.clipboard.writeText(codeElement.innerText).then(() => {
|
||||
copyButton.innerHTML = checkIconSvg;
|
||||
copyButton.classList.add('copied');
|
||||
setTimeout(() => {
|
||||
copyButton.innerHTML = copyIconSvg;
|
||||
copyButton.classList.remove('copied');
|
||||
}, 2000);
|
||||
}).catch(err => {
|
||||
console.error('Failed to copy text: ', err);
|
||||
copyButton.innerText = 'Error';
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// --- Theme Sync Function ---
|
||||
function syncBodyTheme() {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
if (currentTheme && document.body) {
|
||||
document.body.setAttribute('data-theme', currentTheme);
|
||||
}
|
||||
|
||||
// Also ensure highlight CSS matches the current theme
|
||||
const highlightThemeLink = document.getElementById('highlight-theme');
|
||||
if (highlightThemeLink && currentTheme) {
|
||||
const baseHref = highlightThemeLink.getAttribute('data-base-href');
|
||||
if (baseHref) {
|
||||
const newHref = baseHref + `docmd-highlight-${currentTheme}.css`;
|
||||
highlightThemeLink.setAttribute('href', newHref);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// --- Main Execution ---
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
syncBodyTheme(); // Sync body theme with html theme
|
||||
setupThemeToggleListener();
|
||||
initializeSidebarToggle();
|
||||
initializeTabs();
|
||||
initializeCopyCodeButtons();
|
||||
initializeCollapsibleNav();
|
||||
initializeSidebarScroll();
|
||||
});
|
||||
|
|
@ -0,0 +1,330 @@
|
|||
<!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="Your documentation starts here.">
|
||||
<link rel="canonical" href="/">
|
||||
<meta property="og:title" content="Welcome | docmd">
|
||||
<meta property="og:description" content="Your documentation starts here.">
|
||||
<meta property="og:url" content="/">
|
||||
<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="Welcome | docmd">
|
||||
<meta name="twitter:description" content="Your documentation starts here.">
|
||||
<meta name="twitter:image" content="/assets/images/docmd-preview.png">
|
||||
|
||||
|
||||
<title>Welcome : 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="active" >
|
||||
<a href="./" class="active" >
|
||||
<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>Welcome</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="hello-docmd">Hello, docmd!</h1>
|
||||
<p>Start writing your Markdown content here.</p>
|
||||
|
||||
|
||||
|
||||
<div class="page-navigation">
|
||||
|
||||
<div class="prev-page-placeholder"></div>
|
||||
|
||||
|
||||
|
||||
<a href="./#/" class="next-page">
|
||||
<span>
|
||||
<small>Next</small>
|
||||
<strong>Getting Started</strong>
|
||||
</span>
|
||||
<svg class="lucide-icon icon-arrow-right page-nav-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="M5 12h14" />
|
||||
<path d="m12 5 7 7-7 7" />
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":1} -->
|
||||
|
||||
<!-- TOC sidebar -->
|
||||
<div class="toc-sidebar">
|
||||
|
||||
|
||||
</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>
|
||||
|
|
@ -0,0 +1,329 @@
|
|||
<!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="/intro/">
|
||||
<meta property="og:title" content="Benvenuto | 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="/intro/">
|
||||
<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="Benvenuto | 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>Benvenuto : 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>Benvenuto</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">
|
||||
<p>import useBaseUrl from ‘@docusaurus/useBaseUrl’;<br>
|
||||
import styles from ‘./intro.module.css’;</p>
|
||||
<div className={styles.landingContainer}>
|
||||
<h1>🤖 Benvenuto nel Portale Automazione DFFM.it</h1>
|
||||
<p style={{ fontSize: '1.2rem' }}>
|
||||
Scopri la documentazione tecnica per tre delle principali piattaforme di automazione:
|
||||
<strong> Omron</strong>, <strong>Rockwell</strong> e <strong>Schneider Electric</strong>.
|
||||
</p>
|
||||
<div className={styles.buttonGrid}>
|
||||
<a className='pagination-nav__link' href={useBaseUrl('/docs/Omron')}>
|
||||
<img src={useBaseUrl('/img/logos/omron.png')} alt="omron logo" style={{ width: '200px', height: '60px', objectFit: 'contain' }} />
|
||||
</a>
|
||||
<a className='pagination-nav__link' href={useBaseUrl('/docs/Rockwell')}>
|
||||
<img src={useBaseUrl('/img/logos/rockwellautomation.png')} alt="omron logo" style={{ width: '200px', height: '60px', objectFit: 'contain'}} />
|
||||
</a>
|
||||
<a className='pagination-nav__link' href={useBaseUrl('/docs/Schneider')}>
|
||||
<img src={useBaseUrl('img/logos/schneider.png')} alt="omron logo" style={{ width: '200px', height: '60px', objectFit: 'contain'}} />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- DEBUG: {"headingsLength":0} -->
|
||||
|
||||
<!-- TOC sidebar -->
|
||||
<div class="toc-sidebar">
|
||||
|
||||
|
||||
</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>
|
||||
Loading…
Reference in New Issue