Question

Nous travaillons avec des nouveaux outils de coupe qui peuvent avoir ses paramètres matériels modifiés via le port série au lieu d'un panneau de commande.

Lorsque les paramètres matériels sont modifiés le matériel prendra quelques secondes pour se reconfigurer et alors le signal qu'il est prêt à être utilisé.

Notre configuration avant cela impliquait l'opérateur en cliquant sur une plaque de coupe ou commande partie. Le logiciel affiche une boîte de dialogue permettant quoi que ce soit le changement de l'opérateur qui est le mouvement lié (vitesse, retards, etc.) ainsi que l'affichage quelle configuration le matériel doit être. Une fois l'opérateur vérifie tout ce qu'il cliquez sur OK et la machine commence à couper.

Pour le nouveau matériel que nous retirons la configuration actuelle s'il y a un changement que nous transmettons et jeter une boîte de dialogue montrant ce que la nouvelle configuration est ainsi un indicateur indiquant si le matériel est prêt. Pas tout est automatisé via le port série donc quelque temps la boîte de dialogue doit rester là-bas jusqu'à ce que l'opérateur clique sur OK. D'autres fois, il peut se déchargent lorsque les signaux matériels il est juste.

Mon problème (et question) est que ce faisant à travers les ports série est tout douloureusement lent. Il a également la première fois que nous fait ce type de travail. Je crains que je manque une solution pour rendre plus réactive toute la chose. Il n'est pas une possibilité d'utiliser une alternative à la série que nous achetons le matériel de coupe d'un tiers.

Une autre chose que je voudrais faire est d'avoir la possibilité d'afficher une boîte de dialogue d'état et de le laisser fonctionner sans la communication série embourber le reste du système.

Conseils pour l'API Win32 ou .NET sont ce que je cherche.

Était-ce utile?

La solution

Il dépend de la façon interactive le contrôle de la machine est - vous pouvez simplement envoyer un moveTo xy, xy Couperpour ou avez-vous besoin de surveiller en permanence la machine et démarrer et arrêter les moteurs

Si la machine est relativement intelligent alors je le traiter comme un traceur. Construire une liste de commandes dans votre IUG puis les soumettre. De cette façon, il est facile de tester l'indépendant IUG de la machine.

Vous pouvez également avoir une application de test qui prend la liste des commandes et trace sur un écran comme une vérification avant de couper des matériaux coûteux. Il pourrait même être possible de convertir les commandes en quelque chose comme HPGL ou SVG et les afficher directement.

Autres conseils

L'une des options serait de lancer la communication du port série dans un thread séparé et avoir ce rapport de fil, il est état au fil de IUG. (Invoke)

Voici comment j'ai récemment codé une carte HID système de glisser le doigt. Un fil carte enregistre swipes à une liste. Un autre thread écrit ce à un système de base de données. Chaque rapport au fil de l'interface graphique.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top