/// <summary> /// /// </summary> /// <param name="task"></param> /// <param name="pr"></param> public void ProcessExecutedTask(Task task, ParseResult pr) { int instantFlux = Convert.ToInt32(pr.NameObjects.GetObject("IF")); // remain amount out int32 range // int remainAmount = 0; object remainAmountObject = pr.NameObjects.GetObject("RemainAmount"); Debug.Assert(remainAmountObject != null, "remianAmountObject == null"); try { remainAmount = Convert.ToInt32(remainAmountObject); } catch (Exception ) { } //int remainAmount = 0; int beforeWL = Convert.ToInt32(pr.NameObjects.GetObject("WL1")); int behindWL = Convert.ToInt32(pr.NameObjects.GetObject("WL2")); int height = Convert.ToInt32(pr.NameObjects.GetObject("Height")); XD202Data data = new XD202Data(instantFlux, remainAmount, height, beforeWL, behindWL); XD202Device d = task.Device as XD202Device; d.XD202Data = data; // TODO: // DB.MeasureSluiceData.Insert(d, data); }
public frmTaskDetail(Task task) { if (task == null) throw new ArgumentNullException("task"); this._task = task; InitializeComponent(); }
/// <summary> /// /// </summary> /// <param name="task"></param> /// <param name="pr"></param> public void ProcessExecutedTask(Task task, ParseResult pr) { if (StringHelper.Equal(task.Opera.Name, OperaNames.ReadReal)) { // // 功能码: 0x10 // 数据数: 0位 // 成功后返回: 0x21+0x58+0x44+地址+0x80+功能码+0x12+日期+时间+已用水量+瞬时流量+闸前水位+闸后水位+CRC16 // 日期(3字节BCD码 年+月+日) // 时间(3字节BCD码 时+分+秒) // 已用水量(4字节)(无符号整型)带一位小数点 m3 <b> // 瞬时流量(4字节)(无符号整型)带一位小数点 m3/h <c> // 闸前水位(2字节)带两位小数点 m <a> // 闸后水位(2字节)带两位小数点 m // // 供电电压 (2Byte) 两位小数点 <d> // 水位, 单位CM, <a> // int wl1 = (Int16)pr.NameObjects.GetObject("WL1"); int wl2 = (Int16)pr.NameObjects.GetObject("WL2"); uint instantFlux = (UInt32)pr.NameObjects.GetObject("IF"); uint usedAmount = (uint)pr.NameObjects.GetObject("usedAmount"); object objTemp = pr.NameObjects.GetObject("voltage"); int voltage = Convert.ToInt32(objTemp); // <c> // instantFlux = (uint)(instantFlux / 10); // <b> // usedAmount = (uint)(usedAmount / 10); // <d> // voltage = voltage / 100; if (Config.Default.IsUseFluxFormula) { instantFlux = (uint)YeHeCommuniServerApp.Default.DevieFormaulCollectionMapCollection.CalcInstantFlux( task.Device.ID, DateTime.Now, wl1, wl2); } DitchDevice ditchDevice = task.Device as DitchDevice; ditchDevice.DitchData = new DitchData(wl1, wl2, instantFlux, usedAmount, voltage); DB.DitchDataDBI.Insert(ditchDevice, DateTime.Now, instantFlux, wl1, wl2, usedAmount, voltage); } //if (StringHelper.Equal(task.Opera.Name, OperaNames.ReadParams)) //{ // XD221Params p = ProcessParams(pr); // XD221Device xd221Device = task.Device as XD221Device; // xd221Device.Xd221Params = p; //} }
/// <summary> /// /// </summary> public static void ProduceExecutedTask( Task t , ParseResult pr ) { if (pr.Success) { ProcessSuccess(t, pr); } else { ProcessFail(t, pr); } }
/// <summary> /// /// </summary> /// <param name="task"></param> /// <param name="pr"></param> public void ProcessExecutedTask(Task task, ParseResult pr) { // xd221 modbus // //if (StringHelper.Equal(task.Device.DeviceDefine.DeviceType, // DeviceDefineConst.DDT_XD221Modbus) // && if (StringHelper.Equal(task.Opera.Name, OperaNames.ReadReal)) { object objTemp = pr.NameObjects.GetObject("WL1"); Int16 wl1 = Convert.ToInt16(objTemp); wl1 = MMToCM(wl1); objTemp = pr.NameObjects.GetObject("WL2"); Int16 wl2 = Convert.ToInt16(objTemp); wl2 = MMToCM(wl2); objTemp = pr.NameObjects.GetObject("IF"); uint instantFlux = Convert.ToUInt32(objTemp); objTemp = pr.NameObjects.GetObject("Voltage"); int voltage = Convert.ToInt32(objTemp); voltage = voltage / 100; DitchDevice ditchDevice = task.Device as DitchDevice; DitchDataCache cache = ditchDevice.DitchDataCache; cache.SetWLInstantFlux(wl1, wl2, instantFlux, voltage); if (cache.IsComplete()) { ditchDevice.DitchData = new DitchData(cache); DB.DitchDataDBI.Insert(ditchDevice, cache); cache.Clear(); } } if (StringHelper.Equal(task.Opera.Name, XD221ModbusOperaNames.ReadUsedAmount)) { object objTemp = pr.NameObjects.GetObject("usedAmount"); UInt32 usedAmount = Convert.ToUInt32(objTemp); DitchDevice ditchDevice = task.Device as DitchDevice; DitchDataCache cache = ditchDevice.DitchDataCache; cache.SetUsedAmount(usedAmount); if (cache.IsComplete()) { ditchDevice.DitchData = new DitchData(cache); DB.DitchDataDBI.Insert(ditchDevice, cache); cache.Clear(); } } }
/// <summary> /// /// </summary> private void AddTaskToListView(Task task) { string stationName = task.Device.Devices.Station.Name; string deviceType = task.Device.Text; string taskName = task.Opera.Text; string taskType = task.Strategy.ToString(); string lastExecute = task.LastExecute.ToString(); string[] items = new string[] { stationName, deviceType, taskName, taskType, lastExecute }; ListViewItem lvi = new ListViewItem(items); lvi.Tag = task; this.lvTask.Items.Add(lvi); }
/// <summary> /// /// </summary> /// <param name="t"></param> /// <param name="pr"></param> private static void ProcessFail(Task task, ParseResult pr) { XD2402Device xd2402 = task.Device as XD2402Device; if (StringHelper.Equal(task.Opera.Name, XD2402OperaNames.ReadRecord)) { int recordIndex = Convert.ToInt32(task.Opera.SendPart["RecordIndex"]); if (recordIndex >= xd2402.LastRecordIndex) { AddDownTask(xd2402); } } }
/// <summary> /// /// </summary> /// <param name="task"></param> /// <param name="pr"></param> public void ProcessExecutedTask(Task task, ParseResult pr) { int instantFlux = Convert.ToInt32(pr.NameObjects.GetObject("IF")); int remainAmount = Convert.ToInt32(pr.NameObjects.GetObject("RemainAmount")); int beforeWL = Convert.ToInt32(pr.NameObjects.GetObject ("WL1")); int behindWL = Convert.ToInt32(pr.NameObjects.GetObject("WL2")); int height = Convert.ToInt32(pr.NameObjects.GetObject("Height")); XD202Data data = new XD202Data(instantFlux, remainAmount, height, beforeWL, behindWL); XD202Device d = task.Device as XD202Device; d.XD202Data = data; // TODO: // DB.MeasureSluiceData.Insert(d, data); }
public static void ProcessExecutedTask(Task task, ParseResult pr) { byte recordCount = Convert.ToByte(pr.NameObjects.GetObject("RecordCount")); byte[] bs = (byte[])pr.NameObjects.GetObject("Record"); DateTime[] dts; int[] rains; bool b = LXRainCommon.RainResponse.Parse(bs, recordCount, out dts, out rains); if (b) { for (int i = 0; i < recordCount; i++) { LXRainData rainData = new LXRainData(); rainData.DT = dts[i]; rainData.Rain = rains[i]; LXRainDevice rainDevice = task.Device as LXRainDevice; rainDevice.LXRainData = rainData; } } }
public NotFindCommuniPortEventArgs(Task task) { if (task == null) throw new ArgumentNullException("task"); this._task = task; }
/// <summary> /// /// </summary> /// <param name="soft"></param> /// <param name="task"></param> private void AddTask(CommuniSoft soft, Device device, Opera op) { Task task = new Task(device, op, new ImmediateStrategy()); soft.TaskManager.Tasks.AddToHead(task); NUnit.UiKit.UserMessage.DisplayInfo(strings.CommandSubmit); }
/// <summary> /// /// </summary> /// <param name="xd2402"></param> private static void AddDownTask(XD2402Device xd2402) { Opera downOP = xd2402.DeviceDefine.CreateOpera(XD2402OperaNames.Down); Task downTask = new Task(xd2402, downOP, new ImmediateStrategy()); YeHeCommuniServerApp.Default.CommuniSoft.TaskManager.Tasks.Add(downTask); }
/// <summary> /// /// </summary> /// <param name="stationCollection"></param> /// <returns></returns> public TaskCollection Create(StationCollection stationCollection) { if (stationCollection == null) { throw new ArgumentNullException("stationCollection"); } TaskCollection taskCollection = new TaskCollection(); foreach( Station st in stationCollection ) { foreach (Device device in st.Devices) { if (StringHelper.Equal(device.DeviceDefine.DeviceType, this.DeviceType)) { Opera opera = device.DeviceDefine.CreateOpera(this.OperaName); Strategy strategy = this.StrategyDefine.Create(); Task task = new Task(device, opera, strategy, TimeOut); taskCollection.Add(task); } } } return taskCollection; }
/// <summary> /// /// </summary> /// <param name="task"></param> /// <param name="pr"></param> private static void ProcessSucess(Task task, ParseResult pr) { XD2300Device xd2300 = task.Device as XD2300Device; if (StringHelper.Equal(task.Opera.Name, OperaNames.ReadReal)) { ProcessReadReal(xd2300, pr); } else if (StringHelper.Equal(task.Opera.Name, XD2300OperaNames.ReadRecordIndex)) { ProcessReadRecordIndex(xd2300, pr); } else if (StringHelper.Equal(task.Opera.Name, XD2300OperaNames.ReadRecord)) { ProcessReadRecord(pr, xd2300); } }
/// <summary> /// /// </summary> /// <param name="task"></param> private static void AddDownTask(XD2300Device xd2300) { log.Debug("add xd2300 down task"); // add down command // Opera downOP = xd2300.DeviceDefine.CreateOpera(XD2300OperaNames.Down); Task downTask = new Task(xd2300, downOP, new ImmediateStrategy()); YeHeCommuniServerApp.Default.CommuniSoft.TaskManager.Tasks.Add(downTask); }
/// <summary> /// /// </summary> /// <param name="task"></param> /// <param name="pr"></param> public void ProcessExecutedTask(Task task, ParseResult pr) { //AddReadRecordTestTask(task.Device as XD2300Device); string logMsg = string.Format("process task {0} {1}", task.Opera.Name, pr.Success ); log.Debug(logMsg); if (pr.Success) { ProcessSucess(task, pr); } else { // task fail // ProcessFail(task); } }
public void ProcessExecutedTask(Task task, ParseResult pr) { throw new NotImplementedException(); }
public void ProcessExecutingTask(Task task) { throw new NotImplementedException(); }
public TaskExecutedEventArgs(Task task, ParseResult parseResult) { if (task == null) throw new ArgumentNullException("task"); this._task = task; if (parseResult == null) throw new ArgumentNullException("parseResult"); this._parseResult = parseResult; }
/// <summary> /// /// </summary> /// <param name="task"></param> internal void ProcessExecutingTask(Task task) { //if (StringHelper.Equal(task.Opera.Name, "WriteRecordSaveTimeSpan")) //{ // Opera op = task.Opera; // //object obj = op.SendPart["RecordTimeSpan"]; // op.SendPart["RecordSaveTimespan"] = new byte[] { 0x00, 0x0B}; //} }
public TaskExecutingEventArgs(Task task) { if (task == null) throw new ArgumentNullException("task"); this._task = task; }
/// <summary> /// /// </summary> /// <param name="pr"></param> /// <param name="xd2300"></param> private static void ProcessReadRecordIndex(XD2300Device xd2300, ParseResult pr) { // process read record index // UInt16 index = Convert.ToUInt16(pr.NameObjects.GetObject("RecordIndex")); // create new read record task // if (xd2300.IsLastRecordIndexValid()) { int readedIndex = xd2300.LastRecordIndex; for (int i = readedIndex + 1; i <= index; i++) { Opera readRecordOpera = xd2300.DeviceDefine.CreateOpera(XD2300OperaNames.ReadRecord); readRecordOpera.SendPart["RecordIndex"] = i; Task t = new Task(xd2300, readRecordOpera, new ImmediateStrategy()); YeHeCommuniServerApp.Default.CommuniSoft.TaskManager.Tasks.Add(t); } } else { // down // AddDownTask(xd2300); } // set new record index // xd2300.LastRecordIndex = index; }
/// <summary> /// /// </summary> /// <param name="t"></param> /// <param name="pr"></param> private static void ProcessSuccess(Task task, ParseResult pr) { XD2402Device xd2402 = task.Device as XD2402Device; //if (StringHelper.Equal(task.Opera.Name, XD2402OperaNames.ReadReal)) //{ // ProcessReadReal(xd2402, pr); //} //else if (StringHelper.Equal(task.Opera.Name, XD2402OperaNames.ReadRecordIndex)) { ProcessReadRecordIndex(xd2402, pr); } else if (StringHelper.Equal(task.Opera.Name, XD2402OperaNames.ReadRecord)) { ProcessReadRecord(pr, xd2402); } }
/// <summary> /// /// </summary> /// <param name="task"></param> private void ProcessFail(Task task) { XD2300Device xd2300 = task.Device as XD2300Device; if (StringHelper.Equal(task.Opera.Name, XD2300OperaNames.ReadRecord)) { int recordIndex = Convert.ToInt32(task.Opera.SendPart["RecordIndex"]); if (recordIndex >= xd2300.LastRecordIndex) { AddDownTask(xd2300); } } }
/// <summary> /// /// </summary> public void AddTestTask() { TestDevice td = this.Soft.HardwareManager.Stations[0].Devices[0] as TestDevice; Task t = new Task(td, td.TestOpera, Strategy.CreateCycleStrategy( 1 )); this.Soft.TaskManager.Tasks.AddToTail(t); }