вот как то так адаптируйте код сами для перебора я условно написал трудно с паскаля резко перейти на с# я зам его не так давно изучать стал т.к. другой альтернативы нет.Код:_serialPort = new SerialPort(); _serialPort.PortName = SetPortName("COM6"); _serialPort.BaudRate = SetPortBaudRate(9600); _serialPort.Parity = SetPortParity(Parity.None); _serialPort.DataBits = SetPortDataBits(8); _serialPort.StopBits = SetPortStopBits(StopBits.One); _serialPort.ReadTimeout = 500; _serialPort.WriteTimeout = 500; _serialPort.Open(); if (! _serialPort.IsOpen) MessageBox.Show("Порт не открыт"); else var mbus = ModbusSerialMaster.CreateRtu(port); short i:=0 // это будет адрес регистра while (i < 10000) // количство запросов для теста. { if (i= mbus.ReadHoldingRegisters(1, i, 1)) /// или как там в библиотеке прицесли к целочисленному значению MessageBox.Show(i); i++; }
Надеюсь мысль уловили
Сейчас только пришло в голову. а адрес регистра может не 1 а 40001 быть для 2 - 40002 и так же далее по аналогии


Ответить с цитированием
