как управлять MODBUS? [закрыт]

138
14 февраля 2022, 01:20
Закрыт. Данный вопрос необходимо конкретизировать. Ответы на него в данный момент не принимаются.

Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы он был сосредоточен только на одной проблеме.

Закрыт 2 года назад.

Улучшить вопрос

Есть прибор. Связь с ним идет по MODBUS. как можно связаться с ним? написал код что б посылать что команду в com port, но ничего не приходит обратно.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
using System.Windows.Forms;
using System.IO.Ports;
namespace FTnew
{
    public partial class Form1 : Form
    {
        public string name,speed,text,readT=null;

        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
           string[] port = SerialPort.GetPortNames();
            comboBox1.Items.AddRange(port);
         name= comboBox1.Text = comboBox1.Items[0].ToString();
          speed=  comboBox2.Text = comboBox2.Items[6].ToString();


        }
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
        }
        private void button2_Click(object sender, EventArgs e)
        {

            Thread kol = new Thread(check);
            kol.Start();
        }

        private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
        }
        private void button1_Click(object sender, EventArgs e)
        {
            if (!serialPort1.IsOpen)
            {
                serialPort1.PortName = name;
                serialPort1.Open();
                serialPort1.BaudRate = Convert.ToInt32(speed);

            }
            text = richTextBox1.Text;
        serialPort1.WriteLine(text);
        }

        void check()
        {
            while (true) { 
                if (serialPort1.IsOpen)
                {

                    readT = serialPort1.ReadExisting().ToString();

                    foreach (var tt in readT)
                    {
                        if (tt != null) MessageBox.Show("lol");
                        Invoke((MethodInvoker)(() => richTextBox2.Text += tt));
                    }
                }

            }
        }
    }
}
READ ALSO
Как сделать переход между background-color двух divов

Как сделать переход между background-color двух divов

Нужно сделать плавный переход между двумя блоками, но не знаю как это можно реализоватьс #C4C4C4 к #000000

120
При просмотре кода появился длинный прямоугольник, это нормально и что делать?

При просмотре кода появился длинный прямоугольник, это нормально и что делать?

Вобщем делаю я меню и просмотрел код элемента появился вот этот длинный прямоугольникМеню находиться в теге section

89
Блокируется свойство "background"

Блокируется свойство "background"

В браузерах Chrome и Firefox перестали отображаться логотип и другие иконки - блокируется свойство "background"В других браузерах все нормально отображается

81
Не работает корзина (EasyNetShop) в Google Sites

Не работает корзина (EasyNetShop) в Google Sites

Не работает кнопка "Купить" с сайта EasyNetShopЯ создаю сайт одежды в Google Sites

244