2010-04-07 4 views
0

J'ai un vieux RM-1501 digital tachometer que j'utilise pour essayer d'identifier la vitesse d'un objet.Sortie attendue d'une interface RM-1501 RS232?

Selon the manual Je devrais être capable de lire les données sur une liaison série. Malheureusement, je ne semble pas être en mesure d'obtenir une sortie sensible de l'appareil (ne donne jamais une vitesse valide). Je pense que cela pourrait être un problème de signalisation parce que la déconnexion de la ligne CTS commence à obtenir des données.

Est-ce que quelqu'un a déjà développé quelque chose pour l'un de ces/a eu du succès?

+0

Vous avez bien sûr configuré votre socket série. Avez-vous les bons paramètres de port, vitesse de transmission, bit d'arrêt, etc.? – ChrisBD

+0

Cela ressemble à un problème matériel, alors attendez-vous à ce que cette question se ferme, mais pour éviter cela, vous devriez inclure peut-être quelques détails du code que vous utilisez; le marquer C++ mais en n'incluant pas C++ ou même des informations spécifiques au logiciel est susceptible d'accélérer la fermeture. Il existe un certain nombre de façons de s'interfacer avec le port série, beaucoup sont spécifiques au système d'exploitation ou s'appuient sur des API tierces; cette information peut être utile. – Clifford

+0

J'arrive rapidement à la même conclusion (c'est une cnofiguration matérielle) alors peut-être que c'est mieux de le fermer. –

Répondre

0

J'ai essayé toutes les combinaisons de contrôle matériel (à la fois activé et désactivé) que je pouvais penser, donc je pense que cela doit être un problème matériel. Removnig le lien CLS entre le PC et l'appareil a résolu le problème.

1

Le manuel ne spécifie pas que le contrôle de flux est utilisé. Ouvrez le port avec le contrôle de flux matériel/logiciel désactivé.

Le manuel ne spécifie pas la connexion - que ce soit le DTE < -> DCE ou Null Modem; utilisez-vous le câble fourni avec l'appareil?

0

Est-ce qu'il envoie réellement des données pour indiquer la vitesse, ou est-ce qu'il fournit un "make/break" sur l'une des broches?

1

Je ne sais pas si cette information est toujours utilisée. mais j'ai essayé avec la parité égale et ai obtenu les données. Le protocole dans le document est incorrect je pense (au moins pour la version que j'utilise maintenant) c'est un affichage de 5 caractères (9999) nous avons seulement besoin de 3 octets pour obtenir l'information requise le 4ème octet devrait toujours être zéro. Par conséquent, avec 0x0D comme début et après 6 octets fait le paquet entier, c'est-à-dire 0xD0 B1 B2 B3 D1 D2 D3. Les octets B1, B2 et B3 contiennent le diviseur, l'état, les unités, les fonctions et les drapeaux d'erreur. Où les trois derniers octets (D1, D2, D3) sont les données, avec D1 comme LSB et D3 comme MSB. Je voudrais aussi ajouter que peut-être la fabrication a changé le firmware sans changer le mode d'emploi :). donc ma version du protocole peut être vraie et incorrecte pour d'autres

Questions connexes