У меня есть программируемый электропневматический регулятор, и мне нужно общаться с ним через последовательный порт, я никогда не делал ничего подобного.В руководстве по эксплуатации приведены некоторые инструкции для связи с ним.Это следующее:
Specification
==============
Comm. type
Master/slave type
Synchronous type
Asynchronous type
Comm. speed
9,600[bps]
Start bit
1[bit]
Data length
8[bit]
Stop bit
1[bit]
Parity bit
N/A
Flow control
N/A
Command end code
CR・LF
Character-code
ASCII
Я успешно подключил его к компьютеру, но когда я пытаюсь управлять им и отправить команду, светодиод связи горит, но он не устанавливает давление.Я думаю, что проблема будет с кодом конца команды или кодом символа.Пример команды: send "SET 614"
(рабочий диапазон 0-1023).Я использую рекомендованные спецификации (скорость связи, стартовый бит и т. Д.) В переменных (просто для того, чтобы быть многофункциональным).Программа закрывает порт при закрытии формы пользовательского интерфейса.
private void ComunicateComport()
{
comtimer.Stop();
Global.Refreshtime = Global.Refreshrate;
comtimer.Start();
SerialPort ComPort = new SerialPort(Global.COMPort,Global.Baudrate,Parity.None,Global.Databits,StopBits.One);
if (ComPort.IsOpen == false)
{
ComPort.Open();
}
Global.Error = 0;
ComPort.DiscardOutBuffer();
ComPort.WriteLine("SET 100");
}