private string BytesToString(byte[] bytes) { string s = string.Format("[{0}] {1}", bytes.Length.ToString("00"), CT.BytesToString(bytes)); return(s); }
//private string getlogstring( int commport, task task ) private string GetLogString(string remoteIP, Task task) { CommCmdBase cmd = task.CommCmd; CommResultState commResultState = task.LastCommResultState; string sLastReceive = string.Empty; if (task.LastReceived != null) { sLastReceive = CT.BytesToString(task.LastReceived); } string s = string.Format("Send\t\t: {0}, {1}\r\nReceived\t: {2}, {3}\r\nCommResult\t: {4}\r\nCmdType\t\t: {5}\r\nRemoteIP\t: {6}\r\n", task.LastSendDateTime, CT.BytesToString(task.LastSendDatas), //task.LastReceivedDateTime, CT.BytesToString( task.LastReceived), task.LastReceivedDateTime, sLastReceive, commResultState.ToString(), cmd.GetType().Name, remoteIP); return(s); }
//private string GetArdLogString( int commPort, byte[] bs ) private string GetArdLogString(string remoteIP, byte[] bs) { string sData; if (bs == null || bs.Length <= 0) { sData = string.Empty; } else { sData = CT.BytesToString(bs); } //string s = string.Format("ArdTime\t: {0}\r\nArdData\t: {1}\r\nCommPort: {2}\r\n", string s = string.Format("ArdTime\t: {0}\r\nArdData\t: {1}\r\nRemoteIP: {2}\r\n", DateTime.Now, sData, remoteIP); return(s); }
//private void CollRealData() //{ // GRRealDataCommand realCmd = new GRRealDataCommand(_defGrStation); // Task realTask = new Task(realCmd, new ImmediateTaskStrategy() ); // _grTaskSch.Tasks.Add( realTask ); //} //private void SetTemp() //{ // GRSetOutSideTempCommand c = new GRSetOutSideTempCommand( _defGrStation, 21.9F ); // Task t = new Task( c, new ImmediateTaskStrategy() ); // _grTaskSch.Tasks.Add( t ); //} //private void SetOutSideMode() //{ // GRSetOutSideTempModeCommand c = new GRSetOutSideTempModeCommand( _defGrStation, OutSideTempWorkMode.SetByComputer ); // Task t = new Task( c, new ImmediateTaskStrategy() ); // _grTaskSch.Tasks.Add( t ); //} private void CommPortProxy_ReceiveAutoReport(object sender, EventArgs e) { //try //{ CommPortProxy cpp = (CommPortProxy)sender; byte[] bs = cpp.AutoReportData; string s = CT.BytesToString(bs) + Environment.NewLine + bs.Length; //MsgBox.Show (s );o AddLog(s); GRAlarmData ad; if (GRAlarmData.ProcessAutoReport(bs, out ad) == CommResultState.Correct) { frmPropertiesGrid f = new frmPropertiesGrid(); f.ShowMe(ad, ""); } //} //catch(Exception ex) //{ // MsgBox.Show( ex.ToString() ); //} }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void Process(object sender, EventArgs e) { ArgumentChecker.CheckNotNull(sender); TaskScheduler sch = (TaskScheduler)sender; Task task = sch.ActiveTask; ArgumentChecker.CheckNotNull(task); CommCmdBase cmd = task.CommCmd; CommResultState commResultState = task.LastCommResultState; if (commResultState != CommResultState.Correct) { if (XGConfig.Default.LogCommFail) { string s = string.Format("Send\t\t: {0}, {1}\r\nReceived\t: {2}, {3}\r\nCommResult\t: {4}\r\nCmdType\t\t: {5}\r\n", task.LastSendDateTime, CT.BytesToString(task.LastSendDatas), task.LastReceivedDateTime, CT.BytesToString(task.LastReceived), commResultState.ToString(), cmd.GetType().Name); FileLog.CommFail.Add(s); } return; } if (cmd is ReadRecordCommand) { ReadRecordCommand readRecordCmd = cmd as ReadRecordCommand; ProcessReadRecordCmd(readRecordCmd); } if (cmd is ReadTotalCountCommand) { ReadTotalCountCommand readCountCmd = cmd as ReadTotalCountCommand; ProcessReadTotalCountCmd(readCountCmd, task); } }
/// <summary> /// 处理执行完毕的命令 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void TaskScheduler_Executed(object sender, EventArgs e) { TaskScheduler sch = sender as TaskScheduler; if (sch == null) { Debug.Fail("TaskScheduler_Executed(), sender == null"); } AddLog("TC: " + sch.Tasks.Count); Task at = sch.ActiveTask; string s = string.Format("send: {0}, {1}\r\nrece: {2}, {3}", at.LastSendDateTime, CT.BytesToString(at.LastSendDatas), at.LastReceivedDateTime, CT.BytesToString(at.LastReceived)); AddLog(s); s = at.LastCommResultState.ToString(); AddLog(s); CommCmdBase cmd = sch.ActiveTask.CommCmd; // read total count cmd // if (cmd is ReadTotalCountCommand) { ReadTotalCountCommand c = cmd as ReadTotalCountCommand; AddLog("LocalTotalCount: " + c.TotalCount); AddLog(c.Station.StationName + c.Station.Address); // need read all record and clear xg ctrler data // if (at.Tag != null) {//&& // (string)at.Tag == TagType.OP_ReadAndClearXgData.ToString() ) //{ object[] tags = (object[])at.Tag; TagType tagType = (TagType)tags[0]; XGTask xgtask = (XGTask)tags[1]; RemoveAllCommand clearCmd = new RemoveAllCommand(c.Station as XGStation); Task clearTask = new Task(clearCmd, new ImmediateTaskStrategy()); Singles.S.TaskScheduler.Tasks.Add(clearTask); for (int i = 0; i < c.TotalCount; i++) { ReadRecordCommand rdcmd = new ReadRecordCommand(c.Station as XGStation, i + 1); Task t = new Task(rdcmd, new ImmediateTaskStrategy()); Singles.S.TaskScheduler.Tasks.Add(t); } // ??? // //RemoveAllCommand rac = new RemoveAllCommand( c.Station as XGStation ); //Task trac = new Task( "rdall", rac, new ImmediateTaskStrategy() ); //trac.Tag = xgtask; //trac.BeforeExecuteTask +=new EventHandler(trac_BeforeExecuteTask); //Singles.S.TaskScheduler.Tasks.Add( trac ); } } // read record cmd // if (cmd is ReadRecordCommand) { ReadRecordCommand rdcmd = cmd as ReadRecordCommand; AddLog("record index: " + rdcmd.RecordIndex); if (rdcmd.XGData != null) { // 2007.03.11 Modify // //XGDB.InsertXGData( rdcmd.XGData ); XGDB.InsertXGData(cmd.Station.DestinationIP, rdcmd.XGData); } XGTask[] tasks = Singles.S.XGScheduler.Tasks.MatchXGData(rdcmd.XGData); foreach (XGTask task in tasks) { task.IsComplete = true; } } }