Question

Je dois développer un logiciel pour une balance USB qui, lorsque vous appuyez sur un bouton de celle-ci, envoie les communications série via USB. Je peux voir les valeurs dans HyperTerminal.

Je vais utiliser les classes .NET pour la communication série afin d'intercepter les données.

Le problème est que je n’ai pas l’échelle. La balance est connectée à un ordinateur distant sur lequel je peux utiliser RDP. Lorsque 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, il me faut un moyen de développer avec une idée assez précise de ce que va rapporter la balance et de ne tester que lorsque je pense avoir une solution.

Je cherche quelque chose localement qui puisse imiter la balance et envoyer à mes classes série .NET le même résultat que la balance. Idéalement, si je pouvais enregistrer les données de la balance, puis les lire sur une autre machine, ce serait parfait.

Comment ferais-je cela?

Était-ce utile?

La solution

1) Résumez 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 ordinateurs), configurez une application d'émulateur de balance qui communique via un port et branchez-le sur l'autre port sur lequel votre logiciel est exécuté.

Autres conseils

Si vous prenez la route d'émulation de port série, consultez com0com . Je l'utilise tout le temps pour simuler des communications avec des instruments de laboratoire et cela fonctionne bien. Très utile lorsque votre ordinateur portable manque de ports série.

Vous avez deux problèmes:

  1. Testez vos classes série .NET pour vous assurer qu'elles peuvent gérer la réception des données (toutes les données) via un port série
  2. Testez votre application pour vous assurer qu'elle peut gérer le type de données spécifique que vous obtenez de la balance

Vous pouvez tester 1. en connectant 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. en remplaçant (à des fins de test) vos classes de série par un logiciel qui agit comme un "objet fictif". pour la combinaison 'classes sérielles + balance' (c'est-à-dire qui alimente votre programme en utilisant l'API que vos classes en série utiliseraient, les données que vous attendez de la balance).

Vous pouvez également tester 1 et 2, par:

  • Ecriture d'un programme prétendant être la balance en envoyant le type de données que la balance enverrait
  • Exécution de ce programme pour envoyer des données par d'un port série
  • Utilisation d'un modem null pour connecter vos deux ports série l'un à la suite de l'autre (afin que les données envoyées par l'un des ports soient reçues par un autre dans votre logiciel).
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top