Проблема с закрытием 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
Как мне успешно закрыть порт, когда это необходимо, а затем снова открыть последовательный порт?
Спасибо!