Question Comment pouvez-vous tester la communication sur un port COM / Serial?


Nous avons une balance OHAUAS Defender série 5000 modèle T51P avec un port COM. Si nous connectons cela à un PC, nous devrions pouvoir le faire peser sur l'ordinateur en lui envoyant une commande.

Est-il possible de tester cela? J'ai essayé la ligne de commande echo "LP"> com1 mais cela ne fait rien. Une petite application C # qui écoute ce port semble recevoir en permanence des nombres hexadécimaux (2 chiffres puis une entrée), cependant l'envoi d'une commande via cette application ne donne pas de résultats lisibles.

Quand j'écoute sur le port cependant, la commande echo "LP"> com1 donne une erreur non disponible, donc l'envoi de la commande fonctionne en cmd.

Quelqu'un at-il des connaissances sur un moyen simple de tester un envoi et une réception sur un port de communication?

MODIFIER:

Le modèle est OHAUAS defender série 5000 - T51P

Utiliser Hyper terminal me donne le résultat ci-dessous. La même chose se produit avec arduino, et l'envoi de la commande "P" ne renvoie aucune donnée.

edit2:

J'ai trouvé que le "bouton d'impression" sur la balance a la même fonctionnalité que la commande "P". Si j'appuie sur le bouton, j'obtiens des "données aléatoires" si j'utilise un mode texte sur une application, ces données se traduisent par des points d'interrogation et des parties du poids. J'ai appuyé sur le bouton 6 fois de suite, obtenant des résultats comme ?????????? ou 2 ??????? ou ???. 04 ??? A? ou ?????????? KG ces résultats combinés me montrent qu'il essaie d'envoyer 2,04KG, le poids. Maintenant, y aurait-il une raison logique pour laquelle seule une partie de ces données est envoyée (ou reçue)?

hyper terminal


3
2017-09-11 14:12


origine


Lorsque vous posez une question sur un périphérique, il est utile de publier le numéro de modèle spécifique. Facilite l'accès des utilisateurs à Google pour les informations associées. - Isaac Rabinovitch
@IsaacRabinovitch J'ai ajouté le modèle dans la question et dans l'édition. merci pour cette astuce. - Andy
êtes-vous sûr que les bases de données sont identiques? (ils devraient l'être si vous utilisez les paramètres par défaut, mais peut-être que quelqu'un l'a modifié)? Ÿ (10011111) correspond au motif pour 7E (7 bits, même parité). Peut-être une coïncidence si - wmz
@wmz Je viens de vérifier le réglage sur la balance. (Vitesse de transmission = 9600, 8 bits sans parité, pas de prise de contact, 1 bit d'arrêt). L'utilisation du bouton d'impression sur la balance envoie une partie apparemment aléatoire du poids au port de communication. - Andy
alors je soupçonnerais un câble, des connecteurs, des problèmes de mise à la terre défectueux ou des problèmes matériels similaires. Avez-vous un autre câble à essayer? De préférence connu pour fonctionner correctement? - wmz


Réponses:


Vous pouvez télécharger ce pour votre plate-forme et ouvrez l'application et accédez à outils série moniteur. qui écoutera le port série configuré. (Vous n'avez pas besoin d'un arduino pour que cela fonctionne.)

De leur site web:

Q: Comment utiliser Hyperterminal pour vérifier les communications?

A: Hyper Terminal est un programme Terminal fourni avec Windows.

Pour configurer Hyper Terminal pour une utilisation avec une balance Ohaus, procédez comme suit. Les hypothèses suivantes sont faites à des fins d'explication. 1. L'ordinateur utilise Com1 2. La vitesse de transmission est réglée sur 2400 3. Les bits de données de solde sont définis sur 7 4. Les bits d'arrêt de la balance sont réglés sur 2 5. Le bit de parité de la balance est défini sur Aucun 6. Le handshaking dans la balance est désactivé

Ouvrez le programme et entrez un nom pour la connexion. Vous voudrez probablement enregistrer la configuration pour une utilisation ultérieure. appuyer sur OK Dans l'écran suivant, cliquez sur le bouton pour la boîte "Connect using" et sélectionnez le port COM que votre ordinateur utilise.

Cliquez sur OK et la boîte de propriétés COMx sera affichée. (Le port COM qui apparaît dépendra du paramètre de l’étape précédente.)

Définissez les paramètres pour faire correspondre les paramètres dans la balance. Voir le manuel d'instructions pour la balance. Les valeurs par défaut habituelles sont 2400 bauds, 7 bits de données, pas de parité, 2 bits d'arrêt et pas de prise de contact. Lorsque vous avez terminé, appuyez sur Appliquer, puis sur OK.

L'écran du terminal sera affiché.

Sélectionnez APPEL dans la barre de menus et sélectionnez Déconnecter. Le "Connected" en bas à gauche de l'écran deviendra "Disconnected".

Sélectionnez FICHIER dans la barre de menus et sélectionnez Propriétés.

Sélectionnez l'onglet Paramètres.

Vérifiez les clés Windows et Del.

En bas de la boîte, cliquez sur Configuration ASCII.

Cochez les deux premières cases et mettez 11 dans les 2 suivantes.

Cliquez deux fois sur OK.

Dans le menu Appel, sélectionnez Appeler.

"Appeler" sera affiché en bas à gauche de l'écran du terminal.

Vous êtes maintenant prêt à communiquer avec la balance. La meilleure façon de tester la connexion consiste à appuyer sur Imprimer sur la balance. D'autres commandes sont répertoriées dans le manuel d'instructions de la balance.

Et quelques informations supplémentaires sur ce site:

Comment puis-je imprimer mon indicateur Defender 5000 (T51P ou T51XW) sans insérer un saut de ligne supplémentaire? J'utilise une imprimante d'étiquettes avec des étiquettes préimprimées et chaque autre étiquette est perdue. R: Vous pouvez le faire en allant dans le menu sous Print1 ou Print2 et en définissant le format sur Single. Q: Ok maintenant, j'imprime une seule étiquette mais il y a trop d'informations. J'utilise toujours un T51P. A: Encore une fois, allez dans le menu Print1 ou Print2. Vous pouvez également désactiver toutes les informations de titre et de BPL dont vous avez besoin. Vous pouvez également désactiver l’impression brute, nette et tare et laisser le résultat. Vous avez également la possibilité d'imprimer le résultat sous forme de nombre uniquement en le définissant sur NUM. Cela éliminera l'unité de mesure. Q: J'utilise un indicateur Defender série 7000 (T17P) et je ne peux pas effacer l'accumulateur. J'ai suivi les instructions du manuel mais cela ne disparaît pas. A: Appuyez et maintenez le bouton "info" jusqu'à ce que l'écran affiche "StatS". Appuyez ensuite sur le bouton "CLR" pour effacer l'accumulateur.

pris à partir de: http://us.ohaus.com/us/en/home/support/faq.aspx#S16


2
2017-09-11 14:23



Merci, en utilisant Arduino, tout ce que j'ai besoin de mettre en place semble être le taux de bauds. Je les ai tous essayés (le bon est 9600 selon les paramètres de la balance) et tous ont en fait donné un spam de caractères différent. 9600 était principalement un Y avec des doubles points combinés avec un carré. Avez-vous une idée de ce qui pourrait arriver? ou est-ce purement un problème avec les balances envoyant ces données? - Andy
Il semble que votre balance produise plus que des données de poids: GLP / GMP - poids, données d'étalonnage, identifiant de balance, numéro de série, date et heure - d4v3y0rk


Vérifiez que vous avez les bons paramètres de port série configurés.

J'ai récemment fait une application pour lire la valeur de poids d'un OHAUS Defender 3000, et ce sont les bons paramètres:

//OHAUS Defender 3000                        
_serialPort = new SerialPort(cbxPorts.Text);                        
_serialPort.BaudRate = 9600;                        
_serialPort.Parity = Parity.None;                        
_serialPort.DataBits = 7;                        
_serialPort.StopBits = StopBits.One;                        
_serialPort.Handshake = Handshake.XOnXOff;

2
2017-10-09 19:32



La question concerne le fonctionnement en ligne de commande. Votre réponse semble être du code C ++. Comment un utilisateur peut-il examiner et modifier ces paramètres à partir de l'invite de commandes Windows? (Ou même à partir de l'interface graphique de Windows?) - G-Man


Un moyen pratique de tester com les ports sont à utiliser terminal emulator. Vous pouvez utiliser l'un des nombreux disponibles (putty et TeraTerm sont largement utilisés). Vous devrez le configurer pour utiliser une connexion série, puis définir les paramètres de connexion: com nombre; vitesse (vitesse de transmission), parité, bits de données, bits d'arrêt - ceux-ci doivent correspondre à la configuration de votre appareil (vous devez obtenir cette information à partir du manuel). Une fois connecté, vous pourrez entrer des commandes et voir les sorties de l'appareil.
Vous pouvez également envoyer des commandes depuis cmd, mais vous ne verrez pas de réponse (dans la fenêtre cmd, bien sûr, le périphérique peut / devrait réagir), et vous devez également vous assurer que baud / data / parity / stop (au minimum) est défini correctement - ceci est fait via mode commander.

Recommencer: les paramètres série (vitesse, bits de données, parité, stop, éventuellement handshake) doivent être les mêmes aux deux extrémités (scale et PC) sinon ils ne se comprendront pas


1
2017-09-11 16:11





Il y a un manuel disponible en ligne. (En général, googler pour "xyzzy manuel "où xyzzy est le numéro de modèle est un bon moyen de trouver un manuel du produit.) Il documente la ligne de commande et les données fournies par la balance. Il explique également comment configurer le port COM des périphériques. Vous souhaitez utiliser les paramètres correspondant aux paramètres de communication de votre programme de terminal.


1
2017-09-11 15:26