2009-01-19 17 views
2

Je dois développer un logiciel pour une balance USB qui, lorsque vous appuyez sur un bouton, envoie des communications série via USB. Je peux voir les valeurs dans HyperTerminal.Comment tester l'intégration série/Hyperterminal avec C#?

Je vais utiliser les classes .NET pour la communication série pour piéger les données.

Le problème est, je n'ai pas l'échelle. La balance est connectée à un ordinateur distant dans lequel je peux RDP. Quand je veux tester, je peux demander au client d'appuyer sur le bouton de la balance.

Je ne peux pas demander au client d'appuyer sur le bouton 100 fois par jour, je dois avoir un moyen de développer avec une assez bonne idée de ce que la balance rapportera, et tester seulement quand je pense avoir une solution .

Je cherche quelque chose localement, qui peut imiter l'échelle et envoyer à mes classes .NET Serial, la même sortie que l'échelle. Idéalement, si je pouvais enregistrer les données de la balance, puis la lire sur une autre machine, ce serait parfait.

Comment est-ce que je ferais ceci?

Répondre

2

1) Résolvez votre code de communication. En mode test, alimentez votre fonction logique à partir d'un flux de fichiers de données plutôt que du flux série.

ou

2) Si vous avez 2 ports série (ou deux pièces), puis configurer une application émulateur échelle qui parle à travers un port, et la fiche dans l'autre port où votre logiciel est en cours d'exécution.

1

Vous avez deux problèmes:

  1. Test d'cours de série .NET pour vérifier qu'ils peuvent gérer la réception de données (les données) via un port série
  2. Testez votre application pour vérifier qu'il peut gérer le type spécifique de données que vous obtenez de l'échelle

Vous pouvez tester 1. en attachant tout ce qui peut générer des données (par exemple un autre PC avec Hyperterminal) au port série local de votre PC. Vous pouvez tester 2. par (à des fins de test) en remplaçant vos classes en série par un logiciel qui agit comme un «objet fantaisie» pour la combinaison «classes + échelle» (c'est-à-dire qui alimente votre programme, en utilisant l'API). vos classes en série utiliseraient, les données que vous attendez de recevoir de l'échelle).

Vous pouvez également tester 1 et 2, par:

  • L'écriture d'un programme, qui prétend être l'échelle en envoyant le type de données que l'échelle enverrait
  • L'exécution de ce programme pour envoyer des données sur d'un port série
  • l'utilisation d'un null modem à CONNCT vos deux ports série dos à dos (de sorte que les données envoyées sur un port est reçu par un autre dans votre logiciel).
2

Si vous prenez la route d'émulation de port série, jetez un oeil à com0com. Je l'utilise tout le temps pour truquer des communications avec des instruments de laboratoire et ça marche bien. Très utile lorsque votre ordinateur portable manque de ports série.