← Ritorno agli studi di caso Caso software per strumenti scientifici

Software di controllo degli strumenti di ricerca dei semiconduttori e di acquisizione dei dati: ingegneria di affidabilità per un sistema di computer superiore Windows

Un caso Sinovanta anonimo che copre un'applicazione Qt / C ++ Windows, controllo della temperatura Modbus multi-dispositivo, acquisizione e archiviazione di fotocamere industriali, registri SQLite, dispositivo verificato scrive, e consegna di installazione ripetibile.

L'impegno
Audit del sistema esistente e aggiornamento mirato del software
Portata di applicazione
Software per Windows, comunicazione dei dispositivi, fotocamera industriale, archiviazione dei dati e imballaggio
Piattaforma
Windows 10/11 x64, Qt 5.12, C++/MSVC, Modbus RTU e SQLite
Versione di prova
1.0.3.20260728 Installazione a prova del cliente
01

Context del progetto

L'attuale applicazione del computer superiore ha coordinato dieci controllori di temperatura, dispositivi di chiusura, una fotocamera industriale, script di processo e registrazioni di esperimenti. La diagnostica sul campo ha identificato registrazioni di temperatura discontinue, lacune silenziose nel magazzino della fotocamera e ritardo di anteprima, scrive che sembrano avere successo senza cambiare il dispositivo bersaglio, un valore Ramp Rate mostrato prima della lettura hardware e una scalazione della temperatura incoerente.

02

Obiettivo di ingegneria

Ritenere comprovate le integrazioni dei dispositivi, isolando i percorsi di rischio più elevato: rendere le scritture di controllo tracciabili, sincronizzare i parametri del dispositivo in entrambe le direzioni, recuperare l'acquisizione e lo stoccaggio quando i fotogrammi si fermano, mantenere le unità coerenti, produrre un installatore di rilascio ripetibile, e definire il restante lavoro di accettazione dell'hardware del cliente.

Lavoro di affidabilità nel percorso di controllo e dati

L'aggiornamento ha trattato la comunicazione seriale, l'acquisizione della fotocamera, la persistenza, lo stato dell'interfaccia utente e l'imballaggio come una catena osservabile. Ogni modifica era legata a una modalità di fallimento e a un risultato verificabile.

  1. 01

    La raccolta delle linee di base e delle prove

    Congelare la linea di base di sorgente e di installazione, rivedere i registri e le registrazioni SQLite, identificare i confini del dispositivo e separare gli errori di campo osservati dalle ipotesi.

  2. 02

    Acquisizione in serie e riproduzione dei parametri

    Tenere stabile il sondaggio PV/SP ad alta frequenza mentre si legge il registro Ramp Rate 0x0023 su un programma a bassa frequenza, un controller ogni tre secondi.

  3. 03

    Controllo verificato del dispositivo

    Accettare una scrittura solo dopo che l'esatta risposta Modbus 0x06 corrisponde allo schiavo, al registro e al valore e il target SP viene riletto; riprovare o segnalare il fallimento altrimenti.

  4. 04

    Recuperazione del tubo della telecamera

    Monitorare in modo indipendente l'arrivo e la persistenza del quadro grezzo, riaprire l'acquisizione dopo un ritardo di tre secondi e riprogrammare lo stoccaggio quando arrivano i fotogrammi ma non viene salvata alcuna immagine.

  5. 05

    Consistenza dei dati e delle unità

    Utilizzare un singolo percorso di unità di temperatura, rimuovere l'inadeguatezza del fattore di dieci, preservare i timestamp reali di cattura e mantenere disponibili le diagnosi per ulteriore revisione.

  6. 06

    Controllo di rilascio e di accettazione

    Costruire il pacchetto di rilascio x64, verificare le dipendenze del tempo di esecuzione, le versioni di file di registrazione e i valori SHA-256, conservare il materiale di rollback e rilasciare una lista di controllo di accettazione hardware.

03

Consegnazioni controllate

Patch di sorgente mirato
Un patch di 12 file che copre la lettura Ramp Rate, le scritture verificate, il recupero della fotocamera, la pianificazione della persistenza e la coerenza dell'unità di temperatura.
Installazione dei test del cliente
Versione 1.0.3.20260728 per Windows x64 con Qt Runtime, driver SQLite, SDK della fotocamera, configurazione del dispositivo e VC Runtime.
Architettura e revisione del codice
Una revisione della struttura delle applicazioni esistenti, dei percorsi di comunicazione, della gestione dei dati e dei rischi P0/P1 prioritari.
Registrazione della costruzione e dell'imballaggio
Release output di build, inventario di dipendenze, metadati di versione, conteggio di pacchetti e somma di controllo SHA-256.
Lista di controllo di accettazione del campo
La lettura laterale del dispositivo, la verifica ripetuta della scrittura, la resistenza della fotocamera, la riconnessione, la continuità di archiviazione e i controlli di coerenza dell'unità.
04

Evidenza tecnica

Le prove di seguito identificano l'artefatto, la portata dei test e la limitazione. Non sostituisce l'accettazione hardware del cliente.

Recensione architettonica

83 file sorgenti e intestazioni C++; circa 36.200 righe fisiche esaminate.

La revisione ha identificato rischi concreti P0/P1 e confini di proprietà. Si tratta di una revisione di ingegneria statica, non di certificazione software.

Diagnosi di campo di rilascio precedente

Intervallo mediano di fotogramma della fotocamera circa 125 ms; 99% a 130 ms o inferiore; un intervallo di 562,921 secondi e un intervallo di 17,306 secondi; 1.486 immagini salvate senza duplicati consecutivi.

Queste misurazioni stabiliscono la linea di base di errore precedente. Non dimostrano resistenza alla versione 1.0.3.

Edizione di rilascio

Composizione approvata; dimensione eseguibile 1,727,488 byte; SHA-256 CB4A11624F97BABC892399DF0975059408AA62CA4502622BBEE84D058D2FD5FD.

Ciò conferma solo un artefatto di costruzione riproducibile e le affermazioni statiche ispezionate.

Audit dell'installatore

78 file in fase per un totale di 66.292.772 byte; zero Qt Debug DLL; Qt, SQLite, camera-SDK, VC Runtime e file di dispositivo richiesti presenti.

Il sistema di installazione SHA-256 è 6908988BF48670AC25A9F004BC77070960AE55D19D35AB51212EBDD64B4321A9. Il pacchetto non è firmato.

05

Statuto di convalida

  • Asserzioni statiche passate per il percorso di lettura Ramp Rate, il flusso di scrittura/rilettura verificato, il controllo acquisizione, il controllo di stoccaggio e la rimozione della scalazione della temperatura ereditaria.
  • Il CTest è uscito con successo, ma ha riferito che non sono stati trovati test; non si tratta di prove di test funzionali.
  • Sono stati verificati ProductVersion, FileVersion, contenuti del pacchetto, le dipendenze richieste dal tempo di esecuzione e i valori SHA-256.
  • La versione 1.0.3 non era stata installata o eseguita sul dispositivo del cliente alla data di prova; l'accettazione del dispositivo e della resistenza restano in attesa.
06

Scopo e limitazioni

Il risultato pubblicato è un installatore di Windows testato dal cliente, oltre a prove di sorgente, build, pacchetto e revisione statica. Non richiede l'accettazione del sito completata, la firma di produzione, l'accuratezza di misura certificata, la conservazione ininterrotta di telecamere a lungo termine o il funzionamento verificato su ogni combinazione di controller e telecamere. L'accettazione finale richiede la lettura reale del Ramp Rate, l'accordo tra dispositivo e pannello per le scritture ripetute, almeno una fotocamera di due ore in esecuzione senza lacune inspiegabili, il disconnesso e la riconnessione di ripristino, controlli dell'unità di temperatura dello strumento bersaglio.

Discutere software per strumenti scientifici

Fornire la topologia degli strumenti, i protocolli dei dispositivi, il modello della fotocamera, le regole di conservazione dei dati, la sequenza operativa, la fonte esistente o eseguibile, l'ambiente di distribuzione e i criteri di accettazione.

Presentate le vostre richieste →