.NET e ambiente elettronico

lunedì 08 ottobre 2007 - 06.24

Anonimo Profilo | Senior Member

Ciao a tutti, è la prima volta che scrivo in questo sito, quindi spero di non sbagliare sezione, volevo chiedervi:

qualcuno sa se .NET è affidabile nelle applicazioni elettroniche e nelle comunicazioni seriali?

Un'azienda di testing elettronico mi ha posto questa domanda, attualmente sviluppavano tutto con VB6, perchè a detta loro ha una risposta immediata sul sistema e pieno controllo sul sistema operativo, è così? Oppure in .net esistono librerie apposite che migliorano il dialogo con componenti elettroniche. Il principale compito è il pilotaggio di relè dove anche i millesimi di secondo hanno un'importanza vitale.

Grazie a chiunque risponderà.

alextyx Profilo | Expert

>Ciao a tutti, è la prima volta che scrivo in questo sito, quindi
>spero di non sbagliare sezione, volevo chiedervi:
>
>qualcuno sa se .NET è affidabile nelle applicazioni elettroniche
>e nelle comunicazioni seriali?
>
>Un'azienda di testing elettronico mi ha posto questa domanda,
>attualmente sviluppavano tutto con VB6, perchè a detta loro ha
>una risposta immediata sul sistema e pieno controllo sul sistema
>operativo, è così? Oppure in .net esistono librerie apposite
>che migliorano il dialogo con componenti elettroniche. Il principale
>compito è il pilotaggio di relè dove anche i millesimi di secondo
>hanno un'importanza vitale.
>
>Grazie a chiunque risponderà.

Io ho usato VB.Net per un'applicazione dove manovro diverse seriali, col compito di eseguire dei test su un sistema complesso.
Mi avevano proposto di implementare un certo tipo di funzionalità dove i tempi critici erano nell'ordine dei 2-3 ms. e gli ho detto che se lo dovevano scordare!
Anche utilizzando dei multimediatimer, credo si riesca ad avere controllo fino ai 10ms, non meglio, quindi un ordine di grandezza sopra al millisecondo che sembra essere importante nelle applicazioni di quei signori.
Non posso essere certo di quanto sto x affermare, ma dubito FORTEMENTE che anche VB6 possa fare molto di meglio. Credo che per certe tempistiche ci si debba rivolgere al 'C' o a linguaggi specializzati per controllo di processo (labView, ecc...).
Secondo me, parlano di millisecondi, ma intendono alcune decine, e più verosimilmente: cinquantine!
Un relè estremamente veloce (escludendo i reed e i relè a stato solido) vuole comunque la sua decina di millisecondi per effettuare una commutazione, includendo i rimbalzi. Un relè di una certa potenza, eccede di molto questi tempi, ma il suo compito non è quello di essere veloce, ma di resistere a tremende sfiaccolate.
Se in VB6 sono appagati, probabilmente lo sarebbero anche in VB.net, benchè, in generale, quest'ultimo sia più pesante e lento, almeno a detta di chi ha lavorato con entrambi (io ho appena intravisto VB6).
Sarei curioso di sapere, inoltre, cosa intendono su 'pieno controllo sul sistema operativo'. A prescindere dal fatto che lo stesso SO, non ha pieno controllo su tutte le sue componenti, altrimenti non ci sarebbero 'crash', immagino si riferiscano all'utilizzo di API, che, guardacaso, si possono utilizzare benissimo anche da VB.Net!
Laddove ho avuto bisogno di tempi stretti, mi sono interfacciato con una applicazione sviluppata in LabView (non da me) che provvedeva a lavorare a velocità impensabili sia per VB.Net che per VB6!

Anonimo Profilo | Senior Member

Intanto grazie per la risposta, ma quindi secondo te, (non conosco labView) è possibile creare una dll in labview o un eseguibile con questo e lanciarlo quando serve con .net?

Il problema è nello stroncare il processo in corso in caso di crash o alzamento di una leva. In quanto alla chiusura di un relè devo interrompere qualsiasi cosa stia girando lanciata dall'applicativo.
Sommariamente esiste un applicativo gestionale e un piccolo programma che sta in polling ed esegue test di tipo elettronico. Se uno o più test falliscono o si riscontrano corto circuiti bisogna subito interrompere l'alimentazione facendo scattare dei relè e ritornare al gestionale un errore o qualcosa per comunicargli che i test sono falliti.
Al di là del fatto che si possa ottimizzare l'intero processo di test tutto con il c o con labview . è possibile gestire quello che ti ho scritto prima in .net?

Grazie per le eventuali risposte


Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5