Member 13430881 Ответов: 0

Как читать непрерывные значения, отображаемые на устройстве (motioncontroller) в графическом интерфейсе с помощью C#


Как читать непрерывные значения, которые отображаются на устройстве (ESP 301 Motion Controller) в графическом интерфейсе с помощью C# (WFA).

У меня есть подключенный кабель RS232.

Поправьте меня, если я ошибаюсь .Разве я не добавляю файл .dll устройства в качестве ссылки на файл, а затем использую команды ASCII листа данных для чтения (отображения), который находится на панели устройства?..

Что я уже пробовал:

using System;
using System.Drawing;
using System.Windows.Forms;
using System.IO.Ports;


namespace MotionController
{
    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();
            getavailableports();
        }
        void getavailableports()
        {
            String[] ports = SerialPort.GetPortNames();
            comboBox1.Items.AddRange(ports);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (comboBox1.Text == "") 
               {
                MessageBox.Show("Select the COM Port", "Error" ,
                                 MessageBoxButtons.OKCancel,
                                 MessageBoxIcon.Error);
               }
            else
            {
                SerialPort SerialPort1 = new SerialPort("COM1", 9600);
                SerialPort1.Open();
                button1.BackColor = Color.Green;
                button2.BackColor = Color.Transparent;
                if (SerialPort1.IsOpen)//if the serialport is open
                {
                    button1.Enabled = false;//disable the start button
                    button2.Enabled = true;//enable the stop button
                                      
                }
            }
        }
            

        private void button2_Click(object sender, EventArgs e)
        {
            SerialPort SerialPort1 = new SerialPort("COM1", 9600);
            SerialPort1.Close();
            button2.BackColor = Color.Red;
            button1.BackColor = Color.Transparent;
            button1.Enabled = false;//disable the start button
            button2.Enabled = true;//enable the stop button
       }
  

// Uncomplete Code - Displaying Values..?

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            SerialPort SerialPort1 = new SerialPort("COM1", 9600);
            SerialPort1.Open();
            if (SerialPort1.IsOpen == true)
            {
                int OpenInstrument(string strCOM1,int 9600);
                string strCOMPort: SerialPort.Port(); 
                int baudrate: 9600;
                SerialPort1.ReadLine(3MD?);
                return;
            }


        }
    }
    }

Richard MacCutchan

Все зависит от формы информации, которую вы получаете от устройства. Вам нужно изучить документацию к устройству, чтобы решить, как его обрабатывать и отображать.

Member 13430881

Спасибо.

0 Ответов