/// <summary> /// Отправить команду ТУ /// </summary> /// <remarks>Метод выполняется в потоке линии связи при появлении команды ТУ</remarks> public virtual void SendCmd(Command cmd) { LastCmdDT = DateTime.Now; lastCommSucc = CanSendCmd; if (sendCmdText == "") { StringBuilder sb = new StringBuilder(Localization.UseRussian ? " Команда " : " Command to the "); AppendKPDescr(sb); sendCmdText = sb.ToString(); } WriteToLog(""); WriteToLog(LastSessDT.ToString(CommUtils.CommLineDTFormat) + sendCmdText); if (CanSendCmd) { // добавление команды в список последних команд lastCmdList.Add(cmd); while (lastCmdList.Count > LastCmdListSize) { lastCmdList.RemoveAt(0); } } else { WriteToLog(Localization.UseRussian ? "КП не поддерживает отправку команд" : "The device does not support sending commands"); } }
/// <summary> /// Выполнить сеанс опроса КП /// </summary> /// <remarks>Метод выполняется в потоке линии связи циклически или по времени</remarks> public virtual void Session() { LastSessDT = DateTime.Now; lastCommSucc = true; if (sessText == "") { StringBuilder sb = new StringBuilder(Localization.UseRussian ? " Сеанс связи с " : " Communication session with the "); AppendKPDescr(sb); sessText = sb.ToString(); } WriteToLog(""); WriteToLog(LastSessDT.ToString(CommUtils.CommLineDTFormat) + sessText); }