2010-04-28 6 views
0

J'ai un logiciel WinForms .Net HMI qui parle au matériel via USB. Je vérifie la communication avec le matériel au moment du chargement et si la communication est active, exécutez-le (le fabricant du matériel a fourni une bibliothèque de communication pour parler via USB). Je veux construire un émulateur pour les cas où la communication avec le matériel n'est pas possible (non connecté) et je veux que le logiciel fonctionne en mode simulé en fournissant des valeurs factices pour différents états du matériel.Emulateur/Simulateur matériel pour Winforms Application .Net

Est-ce que quelqu'un a implémenté quelque chose de similaire? Tous les pointeurs seront utiles. Existe-t-il des modèles de conception pour gérer ces implémentations?

TIA

Répondre

1

Oui, je l'ai fait. Utilisé pour écrire des contrôleurs pour l'équipement industriel. Les interfaces importantes étaient un PLC, un contrôleur de mouvement 32 axes, des stations opérateur personnalisées. J'ai écrit des simulateurs pour chacun d'entre eux, faisant en sorte que le simulateur se comporte aussi près que possible du matériel que je n'avais pas dans mon bureau. Cela a bien fonctionné, les simulateurs ont été faits avant que le matériel personnalisé ne soit prêt à fonctionner. Ce qui m'a permis d'écrire, de déboguer et de finir mon code à l'avance. Devenir un instrument de débogage du matériel. Les simulateurs étaient une joie pour toujours, ils étaient toujours là quand j'étais dans un endroit différent (et plus préférable) pour travailler sur le prochain projet. Faire fonctionner un moulin à cylindres dans ma baignoire.

Recommandé. Clouer le protocole au début.

+0

Merci pour votre réponse. Je cherche à faire quelque chose de similaire. J'ai un contrôleur de mouvement 8 axes pour lequel je veux construire un émulateur. Avez-vous des exemples ou des ressources qui donnent plus d'informations sur ce sujet. – Suneet

+0

Aucune ressource de ce type n'existe. Commencez avec le contrôleur de mouvement, il faudra des commandes pour interroger l'état du moteur et pour les faire bouger. Écrivez votre simulateur pour accepter exactement les mêmes commandes. Vous voudrez simuler le mouvement du moteur, la position devrait changer et le bit d'état "en position" devrait être faux. Vous n'avez pas besoin d'aller plus loin que cela, comme simuler acc/dec, à moins que cela ne soit critique dans votre application. Vous aurez besoin d'un booléen de config qui indique que le mouvement est simulé, passez les commandes au simulateur au lieu du contrôleur s'il est défini. –

Questions connexes