Exemplo n.º 1
0
        private Task GetDuiShiTask(ITaskManage iTaskManage)
        {
            Task task = new Task();

            task.MeterMac  = this.MAC;
            task.TaskDate  = DateTime.Now;
            task.TaskID    = Guid.NewGuid().ToString(); //用于和指令进行进行关联
            task.TaskState = TaskState.Waitting;
            task.TaskType  = TaskType.TaskType_校时;      //点火任务(DH),换表登记(HB)、开阀(KF)、关阀(GF)、充值(CZ)、调整价格(TJ)

            Command cmd = new Command();
            //1.校时
            byte          ser       = this.meter.LastTopUpSer; // Convert.ToByte(new Random().Next(0, 255));
            DataItem_A015 item_A015 = new DataItem_A015(ser);  //

            cmd.TaskID         = task.TaskID;
            cmd.Identification = ((UInt16)item_A015.IdentityCode).ToString("X2");
            cmd.ControlCode    = (byte)ControlCode.WriteData;//写操作
            cmd.DataLength     = Convert.ToByte(item_A015.Length);
            cmd.DataCommand    = MyDataConvert.BytesToHexStr(item_A015.GetBytes());
            cmd.Order          = 1;
            task.CommandList.Add(cmd);
            iTaskManage.SetDuiShiTask(task, cmd);
            return(task);
        }
Exemplo n.º 2
0
 public ExecuteCommand(Command cmd, Task task, ITaskManage iTaskManage)
 {
     this._cmd         = cmd;
     this._task        = task;
     this._iTaskManage = iTaskManage;
 }