J'essaie de faire communiquer mon application C# avec la balance numérique via rs232 en utilisant la classe SerialPort dans .net. Malheureusement, je ne peux obtenir aucun retour de l'échelle.Comment communiquer avec la balance via rs232
Il s'agit d'une échelle TSCALE TSQSP et elle utilise le protocole de communication CAS. De ma compréhension dans le protocole CAS je dois envoyer "ENQ" attendre "ACK" et ensuite envoyer "DC1" pour obtenir des informations, mais après avoir envoyé "ENQ" je ne reçois aucune réponse. Voici mon code. Est-ce que quelqu'un a de l'expérience avec l'échelle avec le même protocole de communication?
Merci beaucoup pour toute aide
public partial class Form1 : Form
{
private SerialPort port = new SerialPort("COM6", 4800, Parity.None, 8, StopBits.One);
public Form1()
{
InitializeComponent();
port.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);
port.Open();
}
private void button1_Click(object sender, EventArgs e)
{
port.Write("ENQ");
}
private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
this.textBox1.Text = port.ReadExisting();
}
}
Merci tout le monde pour l'aide, toutes les réponses ont été utiles, j'ai enfin pu le faire fonctionner. D'abord, j'ai découvert que je n'avais pas l'échelle mis en place correctement et aussi vous avez raison que je suis supposé envoyer 05H. Tout fonctionne maintenant, merci.
Avez-vous connecté via mastic au port COM et testé pour vous assurer que la manipulation de l'entrée/sortie que vous attendez? Sinon, je le ferais - au moins de cette façon, vous pouvez vous assurer que vous savez comment fonctionne l'appareil, puis écrivez le code autour de cela. – Prisoner