Проблема с закрытием COM-порта при использовании EasyModbusTCP.

Я использую код, найденный в следующем репозитории:

https://github.com/Festo-se/PGVA-1/blob/main/examples/c%23/src/driver/PgvaDriver.cs

Я использую следующую строку кода для подключения через последовательный порт:

              pgva = new PgvaDriver("serial", comboBoxPort.Text, 8502, "192.168.0.199", 115200, 16);

И я могу подключиться к последовательному порту, выбранному в ComboBoxPort. Как мне закрыть порт? Если я просто попробую

      port.Close();

Я получаю ряд сообщений об ошибках:

      Read Error: System.InvalidOperationException: The port is closed.
   at System.IO.Ports.SerialPort.DiscardInBuffer()
   at Modbus.Serial.SerialPortAdapter.DiscardInBuffer()
   at Modbus.IO.ModbusSerialTransport.Write(IModbusMessage message)
   at Modbus.IO.ModbusTransport.UnicastMessage[T](IModbusMessage message)
   at Modbus.Device.ModbusMaster.PerformReadRegisters(ReadHoldingInputRegistersRequest request)
   at Modbus.Device.ModbusMaster.ReadInputRegisters(Byte slaveAddress, UInt16 startAddress, UInt16 numberOfPoints)
   at driver.PgvaDriver.ReadData(Int32 register) in C:\Users\PgvaDriver.cs:line 157

Как мне успешно закрыть порт, когда это необходимо, а затем снова открыть последовательный порт?

Спасибо!

0 ответов

Другие вопросы по тегам