public void CarThreadFunc(object o) { try { CGKcar lastCar = null; int CarId = Convert.ToInt16(o); int[] CarXmlIndex = getCarXmlIndex(CarId); while (true) { if (IsStart) { CGKcar thisCar = CGKBll.GetCGKcarModel(CarId); if (thisCar != null) { setCarData(lastCar, thisCar, CarXmlIndex); lastCar = thisCar; } } Thread.Sleep(sleepTime); } } catch (Exception ex) { throw ex; } }
public static List <CGKcar> DataTableToCGKcar(DataTable dt) { List <CGKcar> modelList = new List <CGKcar>(); int rowsCount = dt.Rows.Count; if (rowsCount > 0) { CGKcar model; for (int n = 0; n < rowsCount; n++) { model = new CGKcar(); if (dt.Rows[n]["id"].ToString() != "") { model.CGKcar_id = uint.Parse(dt.Rows[n]["id"].ToString()); } if (dt.Rows[n]["Carstate"].ToString() != "") { model.CGKcar_state = uint.Parse(dt.Rows[n]["Carstate"].ToString()); } if (dt.Rows[n]["target"].ToString() != "") { model.CGKcar_tgt = uint.Parse(dt.Rows[n]["target"].ToString()); } if (dt.Rows[n]["source"].ToString() != "") { model.CGKcar_source = uint.Parse(dt.Rows[n]["source"].ToString()); } if (dt.Rows[n]["currentlocation"].ToString() != "") { model.CGKcar_current = uint.Parse(dt.Rows[n]["currentlocation"].ToString()); } if (dt.Rows[n]["palletstate"].ToString() != "") { model.CGKcar_pallertstate = uint.Parse(dt.Rows[n]["palletstate"].ToString()); } if (dt.Rows[n]["action"].ToString() != "") { model.CGKcar_action = uint.Parse(dt.Rows[n]["action"].ToString()); } if (dt.Rows[n]["target_z"].ToString() != "") { model.target_z = uint.Parse(dt.Rows[n]["target_z"].ToString()); } modelList.Add(model); } } return(modelList); }
private void setCarData(CGKcar lastData, CGKcar thisData, int[] xmlIndex) { int CarXmlIndex_state = xmlIndex[0]; int CarXmlIndex_tgt = xmlIndex[1]; int CarXmlIndex_source = xmlIndex[2]; int CarXmlIndex_pallertstate = xmlIndex[3]; //0 HIDE 1 SHOW 左出 2左入 3右出 4右入 5 //0空 1 取货 2 放货 if (lastData == null) { ComTCPLib.SetOutputAsREAL32(1, CarXmlIndex_source, (thisData.CGKcar_source - 1) * unitLength); ComTCPLib.SetOutputAsUINT(1, CarXmlIndex_state, thisData.CGKcar_state); ComTCPLib.SetOutputAsREAL32(1, CarXmlIndex_tgt, (thisData.CGKcar_tgt - 1) * unitLength); UInt16 outPalletState = getOutPalletState(thisData); ComTCPLib.SetOutputAsUINT(1, CarXmlIndex_pallertstate, outPalletState); } else if (!thisData.Equals(lastData)) { if (thisData.CGKcar_source != lastData.CGKcar_source) { ComTCPLib.SetOutputAsREAL32(1, CarXmlIndex_source, (thisData.CGKcar_source - 1) * unitLength); } if (thisData.CGKcar_state != lastData.CGKcar_state) { ComTCPLib.SetOutputAsUINT(1, CarXmlIndex_state, thisData.CGKcar_state); } if (thisData.CGKcar_tgt != lastData.CGKcar_tgt) { ComTCPLib.SetOutputAsREAL32(1, CarXmlIndex_tgt, (thisData.CGKcar_tgt - 1) * unitLength); } if (thisData.CGKcar_action != lastData.CGKcar_action) { UInt16 outPalletState = getOutPalletState(thisData); ComTCPLib.SetOutputAsUINT(1, CarXmlIndex_pallertstate, outPalletState); } } }
private UInt16 getOutPalletState(CGKcar thisData) { UInt16 outPalletState = 0; if (thisData.CGKcar_id == 1) { return((UInt16)thisData.CGKcar_pallertstate); } if (thisData.CGKcar_action == 0) { outPalletState = (UInt16)thisData.CGKcar_pallertstate; } else if (thisData.CGKcar_action == 1) { if (thisData.target_z == 1) { outPalletState = 3; } else if (thisData.target_z == 2) { outPalletState = 5; } } else if (thisData.CGKcar_action == 2) { if (thisData.target_z == 1) { outPalletState = 2; } else if (thisData.target_z == 2) { outPalletState = 4; } } return(outPalletState); }